- update deploy script
- random +x stuff because I switched directories - change heart stones to use inline svgs
This commit is contained in:
parent
cacc530f35
commit
79ae2c5d2b
28 changed files with 41 additions and 45 deletions
0
src/game/game-instance.test.ts
Normal file → Executable file
0
src/game/game-instance.test.ts
Normal file → Executable file
0
src/game/game-instance.ts
Normal file → Executable file
0
src/game/game-instance.ts
Normal file → Executable file
0
src/index.ts
Normal file → Executable file
0
src/index.ts
Normal file → Executable file
0
src/messages.ts
Normal file → Executable file
0
src/messages.ts
Normal file → Executable file
26
src/view/board-renderer.ts → src/view/board-renderer.tsx
Normal file → Executable file
26
src/view/board-renderer.ts → src/view/board-renderer.tsx
Normal file → Executable file
|
|
@ -1,3 +1,4 @@
|
|||
import { Html } from '@elysiajs/html';
|
||||
import { GomokuGame } from '../game/game-instance';
|
||||
|
||||
export function renderGameBoardHtml(
|
||||
|
|
@ -12,13 +13,32 @@ export function renderGameBoardHtml(
|
|||
for (let col = 0; col < game.board[row].length; col++) {
|
||||
const stone = game.board[row][col];
|
||||
const intersectionId = `intersection-${row}-${col}`;
|
||||
let stoneHtml = '';
|
||||
let stoneHtml: JSX.Element | null;
|
||||
if (stone) {
|
||||
const colorClass =
|
||||
stone === 'black' ? 'stone-black-heart' : 'stone-white-heart';
|
||||
const lastMoveClass =
|
||||
col == lastMove.col && row == lastMove.row ? 'last-move' : '';
|
||||
stoneHtml = `<div class="${colorClass} ${lastMoveClass}"></div>`;
|
||||
stoneHtml = (
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class={`${colorClass} ${lastMoveClass}`}
|
||||
viewBox="0 0 24 24"
|
||||
width="24"
|
||||
height="24"
|
||||
>
|
||||
<path d="m11.645 20.91-.007-.003-.022-.012a15.247 15.247 0 0 1-.383-.218 25.18 25.18 0 0 1-4.244-3.17C4.688 15.36 2.25 12.174 2.25 8.25 2.25 5.322 4.714 3 7.688 3A5.5 5.5 0 0 1 12 5.052 5.5 5.5 0 0 1 16.313 3c2.973 0 5.437 2.322 5.437 5.25 0 3.925-2.438 7.111-4.739 9.256a25.175 25.175 0 0 1-4.244 3.17 15.247 15.247 0 0 1-.383.219l-.022.012-.007.004-.003.001a.752.752 0 0 1-.704 0l-.003-.001Z" />
|
||||
<path
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
d="M21 8.25c0-2.485-2.099-4.5-4.688-4.5-1.935 0-3.597 1.126-4.312 2.733-.715-1.607-2.377-2.733-4.313-2.733C5.1 3.75 3 5.765 3 8.25c0 7.22 9 12 9 12s9-4.78 9-12Z"
|
||||
fill="none"
|
||||
stroke-width="1.5"
|
||||
/>
|
||||
</svg>
|
||||
);
|
||||
} else {
|
||||
stoneHtml = null;
|
||||
}
|
||||
|
||||
// Calculate top and left for absolute positioning, offset by half the intersection div size
|
||||
|
|
@ -37,7 +57,7 @@ export function renderGameBoardHtml(
|
|||
style="top: ${top}%; left: ${left}%;"
|
||||
${wsAttrs}
|
||||
>
|
||||
${stoneHtml}
|
||||
${stoneHtml ? stoneHtml : ''}
|
||||
</div>`;
|
||||
}
|
||||
}
|
||||
0
src/web-socket-handler.tsx
Normal file → Executable file
0
src/web-socket-handler.tsx
Normal file → Executable file
Loading…
Add table
Add a link
Reference in a new issue