Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
196 changes: 98 additions & 98 deletions lib/utils/checkout_helper.dart
Original file line number Diff line number Diff line change
Expand Up @@ -28,40 +28,40 @@ abstract final class CheckoutHelper {
16: ['D8'],
17: ['S1', 'D8'],
18: ['D9'],
19: ['S3', 'D8'],
19: ['S1', 'D9'],
20: ['D10'],
21: ['S1', 'D10'],
22: ['D11'],
23: ['S7', 'D8'],
23: ['S1', 'D11'],
24: ['D12'],
25: ['S9', 'D8'],
25: ['S1', 'D12'],
26: ['D13'],
27: ['S3', 'D12'],
27: ['S1', 'D13'],
28: ['D14'],
29: ['S1', 'D14'],
30: ['D15'],
31: ['S7', 'D12'],
31: ['S1', 'D15'],
32: ['D16'],
33: ['S1', 'D16'],
34: ['D17'],
35: ['S3', 'D16'],
35: ['S1', 'D17'],
36: ['D18'],
37: ['S1', 'D18'],
38: ['D19'],
39: ['S7', 'D16'],
39: ['S1', 'D19'],
40: ['D20'],
41: ['S1', 'D20'],
42: ['D21'], // outer bull D21 doesn't exist — S10, D16
42: ['S2', 'D20'],
43: ['S3', 'D20'],
44: ['D22'], // S4, D20
44: ['S4', 'D20'],
45: ['S5', 'D20'],
46: ['S6', 'D20'],
47: ['S7', 'D20'],
48: ['D24'],
48: ['S8', 'D20'],
49: ['S9', 'D20'],
50: ['Bull'],
51: ['S11', 'D20'],
52: ['D16', 'D10'], // S12, D20
52: ['S12', 'D20'],
53: ['S13', 'D20'],
54: ['S14', 'D20'],
55: ['S15', 'D20'],
Expand All @@ -70,108 +70,108 @@ abstract final class CheckoutHelper {
58: ['S18', 'D20'],
59: ['S19', 'D20'],
60: ['S20', 'D20'],
61: ['S1', 'Bull'], // or T15, D8
62: ['S2', 'Bull'],
63: ['S3', 'Bull'], // or T13, D12
64: ['T16', 'D8'],
65: ['T15', 'D10'],
66: ['T10', 'D18'],
67: ['T17', 'D8'],
68: ['T12', 'D16'], // or T20, D4
69: ['T19', 'D6'], // or T15, D12
70: ['T18', 'D8'], // or T10, D20
71: ['T13', 'D16'],
72: ['T12', 'D18'], // or T16, D12
73: ['T19', 'D8'],
74: ['T14', 'D16'],
75: ['T17', 'D12'], // or T15, D15
76: ['T20', 'D8'],
77: ['T19', 'D10'], // or T7, D28 (not valid) — T15, D16
78: ['T18', 'D12'],
61: ['T7', 'D20'],
62: ['D11', 'D20'],
63: ['S13', 'Bull'],
64: ['T8', 'D20'],
65: ['Outer', 'D20'],
66: ['D13', 'D20'],
67: ['T9', 'D20'],
68: ['D14', 'D20'],
69: ['T11', 'D18'],
70: ['D15', 'D20'],
71: ['T11', 'D19'],
72: ['D16', 'D20'],
73: ['T11', 'D20'],
74: ['D17', 'D20'],
75: ['T13', 'D18'],
76: ['D18', 'D20'],
77: ['T13', 'D19'],
78: ['D19', 'D20'],
79: ['T13', 'D20'],
80: ['T20', 'D10'],
81: ['T19', 'D12'], // or T15, D18
80: ['D20', 'D20'],
81: ['T15', 'D18'],
82: ['T14', 'D20'],
83: ['T17', 'D16'],
84: ['T20', 'D12'],
83: ['T15', 'D19'],
84: ['T16', 'D18'],
85: ['T15', 'D20'],
86: ['T18', 'D16'],
86: ['T16', 'D19'],
87: ['T17', 'D18'],
88: ['T20', 'D14'],
89: ['T19', 'D16'],
90: ['T20', 'D15'],
88: ['T16', 'D20'],
89: ['T17', 'D19'],
90: ['Bull', 'D20'],
91: ['T17', 'D20'],
92: ['T20', 'D16'],
92: ['T18', 'D19'],
93: ['T19', 'D18'],
94: ['T18', 'D20'],
95: ['T19', 'D19'],
96: ['T20', 'D18'],
97: ['T19', 'D20'],
98: ['T20', 'D19'],
99: ['T19', 'D21'], // T19, S10, D16 — use T19, Bull
99: ['S19', 'D20', 'D20'],
100: ['T20', 'D20'],
101: ['T17', 'D25'], // T17, Bull
102: ['T20', 'D21'], // T20, S2, D20
103: ['T19', 'D23'], // T19, S6, D20
104: ['T18', 'D25'], // T18, Bull
105: ['T20', 'D22'], // T20, S5, D20
106: ['T20', 'D23'], // T20, S6, D20
107: ['T19', 'D25'], // T19, Bull
108: ['T20', 'D24'], // T20, S8, D20
109: ['T20', 'D24'], // T19, S12, D20
110: ['T20', 'D25'], // T20, Bull
111: ['T20', 'S11', 'D20'],
112: ['T20', 'S12', 'D20'],
113: ['T20', 'S13', 'D20'],
114: ['T20', 'S14', 'D20'],
115: ['T20', 'S15', 'D20'],
116: ['T20', 'S16', 'D20'],
117: ['T20', 'S17', 'D20'],
118: ['T20', 'S18', 'D20'],
119: ['T20', 'S19', 'D20'],
120: ['T20', 'S20', 'D20'],
121: ['T20', 'S11', 'Bull'],
122: ['T18', 'T16', 'D14'], // T18, S14, D20 — simplified
123: ['T19', 'S6', 'Bull'],
124: ['T20', 'T4', 'D20'], // T20, S4 = not quite right
125: ['T20', 'S5', 'Bull'], // T25 doesn't exist
126: ['T19', 'S9', 'Bull'],
127: ['T20', 'S7', 'Bull'],
128: ['T18', 'T14', 'D16'],
129: ['T19', 'T12', 'D12'],
130: ['T20', 'T10', 'D20'],
131: ['T20', 'S11', 'Bull'], // duplicate of 121 — T19, T14, D12
132: ['T20', 'T16', 'D12'],
133: ['T20', 'T7', 'D24'], // T20, T19, D8
134: ['T20', 'T14', 'D16'],
135: ['T20', 'T15', 'D15'],
136: ['T20', 'T16', 'D14'],
137: ['T20', 'T19', 'D10'], // T20, T15, D16
138: ['T20', 'T18', 'D12'],
139: ['T19', 'T14', 'D20'],
140: ['T20', 'T20', 'D20'],
141: ['T20', 'T19', 'D12'],
142: ['T20', 'T18', 'D14'],
143: ['T20', 'T17', 'D16'],
144: ['T20', 'T20', 'D12'],
145: ['T20', 'T19', 'D14'],
146: ['T20', 'T18', 'D16'],
147: ['T20', 'T17', 'D18'],
148: ['T20', 'T20', 'D14'],
149: ['T20', 'T19', 'D16'],
150: ['T20', 'T18', 'D18'],
151: ['T20', 'T17', 'D20'],
152: ['T20', 'T20', 'D16'],
153: ['T20', 'T19', 'D18'],
154: ['T20', 'T18', 'D20'],
155: ['T20', 'T19', 'D19'],
101: ['S1', 'T20', 'D20'],
102: ['D11', 'D20', 'D20'],
103: ['S3', 'T20', 'D20'],
104: ['D12', 'D20', 'D20'],
105: ['S5', 'T20', 'D20'],
106: ['D13', 'D20', 'D20'],
107: ['S7', 'T20', 'D20'],
108: ['D14', 'D20', 'D20'],
109: ['S9', 'T20', 'D20'],
110: ['T20', 'Bull'],
111: ['S11', 'T20', 'D20'],
112: ['D16', 'D20', 'D20'],
113: ['S13', 'T20', 'D20'],
114: ['D17', 'D20', 'D20'],
115: ['S15', 'T20', 'D20'],
116: ['D18', 'D20', 'D20'],
117: ['S17', 'T20', 'D20'],
118: ['D19', 'D20', 'D20'],
119: ['S19', 'T20', 'D20'],
120: ['D20', 'D20', 'D20'],
121: ['D12', 'T19', 'D20'],
122: ['D11', 'T20', 'D20'],
123: ['D13', 'T19', 'D20'],
124: ['D12', 'T20', 'D20'],
125: ['D14', 'T19', 'D20'],
126: ['D13', 'T20', 'D20'],
127: ['D15', 'T19', 'D20'],
128: ['D14', 'T20', 'D20'],
129: ['D16', 'T19', 'D20'],
130: ['D15', 'T20', 'D20'],
131: ['D17', 'T19', 'D20'],
132: ['D16', 'T20', 'D20'],
133: ['D18', 'T19', 'D20'],
134: ['D17', 'T20', 'D20'],
135: ['D19', 'T19', 'D20'],
136: ['D18', 'T20', 'D20'],
137: ['D20', 'T19', 'D20'],
138: ['D19', 'T20', 'D20'],
139: ['T13', 'T20', 'D20'],
140: ['D20', 'T20', 'D20'],
141: ['T15', 'T20', 'D18'],
142: ['T14', 'T20', 'D20'],
143: ['T15', 'T20', 'D19'],
144: ['T16', 'T20', 'D18'],
145: ['T15', 'T20', 'D20'],
146: ['T16', 'T20', 'D19'],
147: ['T17', 'T20', 'D18'],
148: ['T16', 'T20', 'D20'],
149: ['T17', 'T20', 'D19'],
150: ['T18', 'T20', 'D18'],
151: ['T17', 'T20', 'D20'],
152: ['T18', 'T20', 'D19'],
153: ['T19', 'T20', 'D18'],
154: ['T18', 'T20', 'D20'],
155: ['T19', 'T20', 'D19'],
156: ['T20', 'T20', 'D18'],
157: ['T20', 'T19', 'D20'],
157: ['T19', 'T20', 'D20'],
158: ['T20', 'T20', 'D19'],
160: ['T20', 'T20', 'D20'],
161: ['T20', 'T17', 'Bull'],
164: ['T20', 'T18', 'Bull'],
167: ['T20', 'T19', 'Bull'],
161: ['T17', 'T20', 'Bull'],
164: ['T18', 'T20', 'Bull'],
167: ['T19', 'T20', 'Bull'],
170: ['T20', 'T20', 'Bull'],
};
}
1 change: 0 additions & 1 deletion lib/utils/score_validator.dart
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ abstract final class ScoreValidator {
if (multiplierType == MultiplierType.outerBull) return 25;
if (multiplierType == MultiplierType.miss) return 0;
if (!isValidSector(rawValue)) return null;
if (multiplierType == MultiplierType.triple && rawValue == 25) return null; // no triple bull
return MultiplierType.computeScore(rawValue, multiplierType);
}

Expand Down
Loading