Skip to content

Commit 7d80e22

Browse files
committed
cleaned up 23
1 parent 74c6797 commit 7d80e22

File tree

1 file changed

+0
-101
lines changed

1 file changed

+0
-101
lines changed

23.ts

-101
Original file line numberDiff line numberDiff line change
@@ -54,19 +54,6 @@ type NSC<B extends GameState, N extends Columns, R extends Rows, C extends Colum
5454
: B['board'][R][C]
5555
: B['board'][R][C];
5656

57-
type NextState<B extends GameState, N extends Columns> =
58-
[B['state']] extends [Connect4Chips]
59-
? [NextBoard<B, N>] extends [infer NB extends Board]
60-
? [HasWon<NB, B['state']>] extends [false]
61-
? B['board'][number][number] extends Connect4Chips
62-
? 'Draw'
63-
: B['state'] extends '🔴'
64-
? '🟡'
65-
: '🔴'
66-
: `${B['state']} Won`
67-
: B['state']
68-
: never;
69-
7057
type NextStateN<NB extends Board, C extends Connect4Chips> =
7158
HasWon<NB, C> extends false
7259
? NB[number][number] extends Connect4Chips
@@ -76,40 +63,6 @@ type NextStateN<NB extends Board, C extends Connect4Chips> =
7663
: '🔴'
7764
: `${C} Won`
7865

79-
80-
type NextStateXX<B extends GameState, N extends Columns> =
81-
// [B['state']] extends [Connect4Chips]
82-
HasWon<NextBoard<B, N>, '🔴'>;
83-
// : B['state']
84-
// : never;
85-
86-
type NextStateXXX<B extends Board> =
87-
// [B['state']] extends [Connect4Chips]
88-
HasWon<B, '🔴'>;
89-
90-
91-
type NextStateX<B extends GameState, N extends Columns> =
92-
[B['state']] extends [Connect4Chips]
93-
? [NextBoard<B, N>] extends [infer NB extends Board]
94-
? HasWon<NB, B['state']>
95-
: B['state']
96-
: never;
97-
98-
type NextStateXZ<B extends [GameState, Columns]> =
99-
[B[0]['state']] extends [Connect4Chips]
100-
? [NextBoard<B[0], B[1]>] extends [infer NB extends Board]
101-
? HasWon<NB, B[0]['state']>
102-
: B[0]['state']
103-
: never;
104-
105-
type NextStateY<B extends GameState, N extends Columns> =
106-
[B['state']] extends [Connect4Chips]
107-
? [NextBoard<B, N>] extends [infer NB extends Board]
108-
? [NB, B['state']]
109-
: B['state']
110-
: never;
111-
112-
11366
type Connect4<B extends GameState, N extends Columns> =
11467
NextBoard<B, N> extends infer NB extends Board
11568
? B['state'] extends Connect4Chips
@@ -120,25 +73,6 @@ type Connect4<B extends GameState, N extends Columns> =
12073
: never
12174
: never;
12275

123-
type x = [1,1,1,any] extends [1,1,1,2] ? true : false;
124-
// ^?
125-
type y = [1,1,1,2] extends ([1,1,1,any] | [any, 1,1,1, any]) ? true : false;
126-
// ^?
127-
128-
type test_move1_actual1 = NextBoard<{
129-
board: [
130-
[" ", " ", " ", " ", " ", " ", " "],
131-
[" ", " ", " ", " ", " ", " ", " "],
132-
[" ", " ", " ", " ", " ", " ", " "],
133-
["🟡", " ", " ", " ", " ", " ", " "],
134-
["🔴", " ", " ", " ", " ", " ", " "],
135-
["🟡", " ", " ", " ", " ", " ", " "],
136-
];
137-
state: "🔴";
138-
}, 0>;
139-
140-
// ^?
141-
14276
// Longest line including diagonals is 7.
14377
type Connected4Sets<T extends Connect4Chips> =
14478
| [T, T, T, T]
@@ -194,38 +128,3 @@ type HasWon<B extends Board, C extends Connect4Chips> = IsTuple<(
194128
| [B[0][3], B[1][2], B[2][1], B[3][0]]
195129

196130
) & Connected4Sets<C>)>;
197-
198-
199-
import { Expect, Equal } from "type-testing";
200-
201-
type test_move1_actual = Connect4<NewGame, 0>;
202-
// ^?
203-
type test_move1_expected = {
204-
board: [
205-
[" ", " ", " ", " ", " ", " ", " "],
206-
[" ", " ", " ", " ", " ", " ", " "],
207-
[" ", " ", " ", " ", " ", " ", " "],
208-
[" ", " ", " ", " ", " ", " ", " "],
209-
[" ", " ", " ", " ", " ", " ", " "],
210-
["🟡", " ", " ", " ", " ", " ", " "],
211-
];
212-
state: "🔴";
213-
};
214-
215-
type test_move1 = Expect<Equal<test_move1_actual, test_move1_expected>>;
216-
type testmove1b = HasWon<test_move1_actual['board'], '🟡'>
217-
type testmove1bc = IsTuple<HasWon<test_move1_actual['board'], '🟡'>>
218-
type testmove1c = NextState<NewGame, 0>
219-
type testmove1cx = NextStateX<NewGame, 0>
220-
type testmove1cxx = NextStateXX<NewGame, 0>
221-
type testmove1cxxx = NextStateXXX<NextBoard<NewGame, 0>>
222-
type testmove1cxyzx = NextStateXZ<[NewGame, 0]>
223-
type testmove1cxy = NextStateY<NewGame, 0>
224-
type testmove1cxyz = HasWon<testmove1cxy[0], testmove1cxy[1]>
225-
// type testmove1cxyzx = NextStateXZ<[testmove1cxy[0], 0]>
226-
type testmove1cde = IsNever<NextState<NewGame, 0>>
227-
type testmove1cdef = IsTuple<NextState<NewGame, 0>>
228-
type testmove1cd = HasWon<NextBoard<NewGame, 0>, '🟡'>
229-
type testmove1cdx = HasWon<NextBoard<NewGame, 0>, '🟡'> extends false ? 'yay' : 'nay'
230-
231-
type testmove11 = test_move1_actual['board'][3]

0 commit comments

Comments
 (0)