diff --git a/src/components/Tetris.tsx b/src/components/Tetris.tsx index 2570891..9796f96 100644 --- a/src/components/Tetris.tsx +++ b/src/components/Tetris.tsx @@ -1,4 +1,4 @@ -import {createEffect, onCleanup, onMount} from "solid-js"; +import {createEffect, createSignal, onCleanup, onMount} from "solid-js"; import styles from "./Tetris.module.css"; import {randomItem} from "~/utils"; import {Array2d} from "~/components/tetris/tetris-utils"; @@ -229,6 +229,8 @@ export interface TetrisProps { } export default function(props: TetrisProps) { + const [score, setScore] = createSignal(0); + let gameObject = Shape.newInstance(randomItem(Object.keys(shapes)), Color.RED); let gameArea: Array2d; let canvas: HTMLCanvasElement; @@ -328,6 +330,7 @@ export default function(props: TetrisProps) { for (const point of gameObject.getPoints()) { gameArea.set(point.x, point.y, gameObject.getColor()); } + setScore(score() + 10); } function removeFullRows() { @@ -347,6 +350,7 @@ export default function(props: TetrisProps) { }); if (blocks == w) { gameArea.collapseRow(y); + setScore(score() + 100); y++; // process same row twice } } @@ -450,12 +454,15 @@ export default function(props: TetrisProps) {
- -
- - +
Pisteet:
{score()}
+
+ +
+ + +
+
-
)