extremely claude-assisted go game based on atproto! working on cleaning up and giving a more unique design, still has a bit of a slop vibe to it.
at master 52 lines 1.2 kB view raw
1declare module 'tenuki' { 2 interface GameOptions { 3 element?: HTMLElement; 4 boardSize?: number; 5 handicapStones?: number; 6 freeHandicapPlacement?: boolean; 7 fuzzyStonePlacement?: boolean; 8 scoring?: 'area' | 'territory' | 'equivalence'; 9 komi?: number; 10 koRule?: 'simple' | 'positional-superko' | 'situational-superko' | 'natural-situational-superko'; 11 renderer?: 'svg' | 'dom'; 12 } 13 14 interface Intersection { 15 value: 'empty' | 'black' | 'white'; 16 y: number; 17 x: number; 18 } 19 20 interface GameState { 21 pass: boolean; 22 color: 'black' | 'white'; 23 playedPoint: { y: number; x: number } | null; 24 } 25 26 interface Score { 27 black: number; 28 white: number; 29 } 30 31 class Game { 32 constructor(options?: GameOptions); 33 playAt(y: number, x: number): boolean; 34 pass(): void; 35 undo(): void; 36 currentPlayer(): 'black' | 'white'; 37 intersectionAt(y: number, x: number): Intersection; 38 isOver(): boolean; 39 currentState(): GameState; 40 score(): Score; 41 markDeadAt(y: number, x: number): void; 42 unmarkDeadAt(y: number, x: number): void; 43 toggleDeadAt(y: number, x: number): void; 44 } 45 46 const tenuki: { 47 Game: typeof Game; 48 }; 49 50 export default tenuki; 51 export { Game }; 52}