scoring
This commit is contained in:
parent
dc22b86f1d
commit
bc9da21be1
@ -11,7 +11,10 @@
|
|||||||
<body>
|
<body>
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div id="score" class="first">
|
<div id="score" class="first">
|
||||||
<p>Score: <span id="score-value">0</span></p>
|
<p>
|
||||||
|
Score:
|
||||||
|
<span id="score-value">0</span>
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div id="tetris" class="tetris">
|
<div id="tetris" class="tetris">
|
||||||
<canvas id="tetris-canvas" width="200" height="400"></canvas>
|
<canvas id="tetris-canvas" width="200" height="400"></canvas>
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
const board = document.getElementById('tetris-canvas');
|
const board = document.getElementById('tetris-canvas');
|
||||||
|
const scoreElement = document.getElementById('score-value');
|
||||||
|
|
||||||
const boardContext = board.getContext('2d');
|
const boardContext = board.getContext('2d');
|
||||||
|
|
||||||
@ -20,6 +21,11 @@ let leftInterval;
|
|||||||
|
|
||||||
let keyPress = [];
|
let keyPress = [];
|
||||||
|
|
||||||
|
let score = 0;
|
||||||
|
let level = 1;
|
||||||
|
let lines = 0;
|
||||||
|
let speed = 1000;
|
||||||
|
|
||||||
const templatePiece = [
|
const templatePiece = [
|
||||||
[ // ok
|
[ // ok
|
||||||
[3, 0],
|
[3, 0],
|
||||||
@ -279,8 +285,11 @@ function rotate() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function checkLine() {
|
function checkLine() {
|
||||||
|
let lineFilled = 0;
|
||||||
|
|
||||||
for (let i = 0; i < 20; i++) {
|
for (let i = 0; i < 20; i++) {
|
||||||
let check = true;
|
let check = true;
|
||||||
|
|
||||||
for (let j = 0; j < 10; j++) {
|
for (let j = 0; j < 10; j++) {
|
||||||
if (boardData[j][i][0] == 0 && boardData[j][i][1] == 0 && boardData[j][i][2] == 0) {
|
if (boardData[j][i][0] == 0 && boardData[j][i][1] == 0 && boardData[j][i][2] == 0) {
|
||||||
check = false;
|
check = false;
|
||||||
@ -294,8 +303,25 @@ function checkLine() {
|
|||||||
boardData[k][j] = boardData[k][j - 1];
|
boardData[k][j] = boardData[k][j - 1];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
lineFilled++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (lineFilled == 1) {
|
||||||
|
score += 40;
|
||||||
|
}
|
||||||
|
else if (lineFilled == 2) {
|
||||||
|
score += 100;
|
||||||
|
}
|
||||||
|
else if (lineFilled == 3) {
|
||||||
|
score += 300;
|
||||||
|
}
|
||||||
|
else if (lineFilled == 4) {
|
||||||
|
score += 1200;
|
||||||
|
}
|
||||||
|
|
||||||
|
scoreElement.innerText = score;
|
||||||
}
|
}
|
||||||
|
|
||||||
function moveTo(x, y) {
|
function moveTo(x, y) {
|
||||||
@ -355,9 +381,7 @@ function fasteDrop() {
|
|||||||
|
|
||||||
img.onload = () => {
|
img.onload = () => {
|
||||||
loadTetris();
|
loadTetris();
|
||||||
drawCurrentPiece();
|
refresh();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
document.addEventListener('keydown', (event) => {
|
document.addEventListener('keydown', (event) => {
|
||||||
if (event.key == 'ArrowUp' && !keyPress.includes('ArrowUp')) {
|
if (event.key == 'ArrowUp' && !keyPress.includes('ArrowUp')) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user