fix clear line draw & theme select

This commit is contained in:
Adrien MALINGREY 2019-11-04 19:59:35 +01:00
parent 12080960f4
commit 1dcd33b2e8
6 changed files with 37 additions and 26 deletions

View File

@ -30,7 +30,7 @@ body {
h1 { h1 {
font-size: 5vmin; font-size: 5vmin;
margin: 2vmin 5vmin 5vmin 5vmin; margin: 1vmin auto;
text-shadow: 3px 2px rgba(153, 145, 175, 0.5); text-shadow: 3px 2px rgba(153, 145, 175, 0.5);
text-align: center; text-align: center;
} }
@ -41,18 +41,17 @@ div {
flex-wrap: wrap; flex-wrap: wrap;
justify-content: center; justify-content: center;
align-content: center; align-content: center;
margin: 2vmin auto; margin: 1vmin auto;
text-align: center; text-align: center;
column-gap: 2vmin; column-gap: 2vmin;
} }
fieldset { fieldset {
display: grid; display: grid;
grid-template-columns: 25vmin 17vmin 25vmin 17vmin; grid-template-columns: 3fr 2fr 3fr 2fr;
grid-gap: 1vmin; grid-gap: 1vmin;
margin: 2vmin auto; margin: 1vmin auto;
width: 80vmin; justify-items: center;
justify-items: right;
align-items: baseline; align-items: baseline;
} }
@ -207,6 +206,10 @@ th, td {
height: 18vmin; height: 18vmin;
} }
#settingsButton {
display: none;
}
#leaderboard { #leaderboard {
min-width: 25%; min-width: 25%;
margin: auto; margin: auto;

View File

@ -1,10 +1,12 @@
.invisible-grid > .empty-cell { .empty-cell {
background: transparent; background: transparent;
}
.invisible-grid > .empty-cell {
border: 1px solid transparent; border: 1px solid transparent;
} }
.visible-grid > .empty-cell { .visible-grid > .empty-cell {
background: transparent;
border: 1px inset rgba(128, 128, 128, 0.3); border: 1px inset rgba(128, 128, 128, 0.3);
} }

View File

@ -49,7 +49,6 @@
.cleared-line { .cleared-line {
background: white; background: white;
transition: background 1s;
} }
.trail { .trail {

7
db_connect.php.example Normal file
View File

@ -0,0 +1,7 @@
// Complete and rename to db_connect.php
<?php
$DB_NAME = "webtris";
$DB_USER = XXX;
$DB_PASSWORD = XXX;
$DB_HOST = "localhost";
?>

View File

@ -70,7 +70,7 @@
<fieldset> <fieldset>
<legend>Répétition automatique</legend> <legend>Répétition automatique</legend>
<label id="autorepeatDelayRangeLabel" for="autorepeatDelayRange"></label> <label id="autorepeatDelayRangeLabel" for="autorepeatDelayRange"></label>
<input id="autorepeatDelayRange" type="range" oninput="autorepeatDelayChanged()" min="100" max="1000" step="50" /> <input id="autorepeatDelayRange" type="range" oninput="autorepeatDelayChanged()" min="100" max="1000" step="10" />
<label id="autorepeatPeriodRangeLabel" for="autorepeatPeriodRange"></label> <label id="autorepeatPeriodRangeLabel" for="autorepeatPeriodRange"></label>
<input id="autorepeatPeriodRange" type="range" id="autorepeatPeriodRange" oninput="autorepeatPeriodChanged()" min="2" max="50" step="2" /> <input id="autorepeatPeriodRange" type="range" id="autorepeatPeriodRange" oninput="autorepeatPeriodChanged()" min="2" max="50" step="2" />
</fieldset> </fieldset>
@ -100,6 +100,7 @@
<label for="startLevel">Niveau</label> <label for="startLevel">Niveau</label>
<input type="number" id="startLevel" min="1" max="15" step="1"> <input type="number" id="startLevel" min="1" max="15" step="1">
<button id="startButton" type="button" onclick="newGame()" disabled>JOUER</button> <button id="startButton" type="button" onclick="newGame()" disabled>JOUER</button>
<button id="settingsStartButton" type="button" onclick="showSettings()" disabled>OPTIONS</button>
</fieldset> </fieldset>
<div> <div>
<button id="settingsButton" type="button" onclick="showSettings()" disabled>OPTIONS</button> <button id="settingsButton" type="button" onclick="showSettings()" disabled>OPTIONS</button>

View File

@ -291,13 +291,10 @@ class Matrix extends MinoesTable {
} else { } else {
for (var y = 0; y < this.rows; y++) { for (var y = 0; y < this.rows; y++) {
for (var x = 0; x < this.columns; x++) { for (var x = 0; x < this.columns; x++) {
var className = this.lockedMinoes[y][x] if (this.clearedLines.includes(y))
if (!className) { var className = CLASSNAME.CLEARED_LINE
if (this.clearedLines.includes(y)) else
className = CLASSNAME.CLEARED_LINE var className = this.lockedMinoes[y][x] || CLASSNAME.EMPTY_CELL
else
className = CLASSNAME.EMPTY_CELL
}
this.drawMino(x, y, className) this.drawMino(x, y, className)
} }
} }
@ -651,7 +648,7 @@ function gameOver() {
document.getElementById("game").style.display = "grid" document.getElementById("game").style.display = "grid"
document.getElementById("settings").style.display = "none" document.getElementById("settings").style.display = "none"
document.getElementById("start").style.display = "flex" document.getElementById("start").style.display = "flex"
document.getElementById("settingsButton").style.display = "flex" document.getElementById("settingsButton").style.display = "none"
document.getElementById("leaderboardLink").style.display = "flex" document.getElementById("leaderboardLink").style.display = "flex"
} }
@ -842,20 +839,21 @@ function showSettings() {
if (state == STATE.PLAYING) if (state == STATE.PLAYING)
pause() pause()
document.getElementById("set-moveLeft-key").innerHTML = replaceSpace(getKeyName("moveLeft")) document.getElementById("set-moveLeft-key" ).innerHTML = replaceSpace(getKeyName("moveLeft"))
document.getElementById("set-moveRight-key").innerHTML = replaceSpace(getKeyName("moveRight")) document.getElementById("set-moveRight-key").innerHTML = replaceSpace(getKeyName("moveRight"))
document.getElementById("set-softDrop-key").innerHTML = replaceSpace(getKeyName("softDrop")) document.getElementById("set-softDrop-key" ).innerHTML = replaceSpace(getKeyName("softDrop"))
document.getElementById("set-hardDrop-key").innerHTML = replaceSpace(getKeyName("hardDrop")) document.getElementById("set-hardDrop-key" ).innerHTML = replaceSpace(getKeyName("hardDrop"))
document.getElementById("set-rotateCW-key").innerHTML = replaceSpace(getKeyName("rotateCW")) document.getElementById("set-rotateCW-key" ).innerHTML = replaceSpace(getKeyName("rotateCW"))
document.getElementById("set-rotateCCW-key").innerHTML = replaceSpace(getKeyName("rotateCCW")) document.getElementById("set-rotateCCW-key").innerHTML = replaceSpace(getKeyName("rotateCCW"))
document.getElementById("set-hold-key").innerHTML = replaceSpace(getKeyName("hold")) document.getElementById("set-hold-key" ).innerHTML = replaceSpace(getKeyName("hold"))
document.getElementById("set-pause-key").innerHTML = replaceSpace(getKeyName("pause")) document.getElementById("set-pause-key" ).innerHTML = replaceSpace(getKeyName("pause"))
document.getElementById("autorepeatDelayRange").value = autorepeatDelay document.getElementById("autorepeatDelayRange").value = autorepeatDelay
document.getElementById("autorepeatDelayRangeLabel").innerText = `Délai : ${autorepeatDelay}ms` document.getElementById("autorepeatDelayRangeLabel").innerText = `Délai : ${autorepeatDelay}ms`
document.getElementById("autorepeatPeriodRange").value = autorepeatPeriod document.getElementById("autorepeatPeriodRange").value = autorepeatPeriod
document.getElementById("autorepeatPeriodRangeLabel").innerText = `Période : ${autorepeatPeriod}ms` document.getElementById("autorepeatPeriodRangeLabel").innerText = `Période : ${autorepeatPeriod}ms`
document.getElementById("themeSelect").value=theme;
themePreview.drawPiece(themePreview.piece) themePreview.drawPiece(themePreview.piece)
document.getElementById("showGhostCheckbox").checked = showGhost document.getElementById("showGhostCheckbox").checked = showGhost
@ -874,14 +872,14 @@ function hideSettings() {
document.getElementById("game").style.display = "none" document.getElementById("game").style.display = "none"
document.getElementById("settings").style.display = "none" document.getElementById("settings").style.display = "none"
document.getElementById("start").style.display = "flex" document.getElementById("start").style.display = "flex"
document.getElementById("settingsButton").style.display = "flex" document.getElementById("settingsButton").style.display = "none"
document.getElementById("leaderboardLink").style.display = "flex" document.getElementById("leaderboardLink").style.display = "flex"
break break
case STATE.GAME_OVER: case STATE.GAME_OVER:
document.getElementById("game").style.display = "grid" document.getElementById("game").style.display = "grid"
document.getElementById("settings").style.display = "none" document.getElementById("settings").style.display = "none"
document.getElementById("start").style.display = "flex" document.getElementById("start").style.display = "flex"
document.getElementById("settingsButton").style.display = "flex" document.getElementById("settingsButton").style.display = "none"
document.getElementById("leaderboardLink").style.display = "flex" document.getElementById("leaderboardLink").style.display = "flex"
break break
case STATE.PAUSED: case STATE.PAUSED:
@ -965,6 +963,7 @@ window.onload = function() {
document.getElementById("startButton").disabled = false document.getElementById("startButton").disabled = false
document.getElementById("startButton").focus(); document.getElementById("startButton").focus();
document.getElementById("settingsButton").disabled = false document.getElementById("settingsButton").disabled = false
document.getElementById("settingsStartButton").disabled = false
messageDiv = document.getElementById("message") messageDiv = document.getElementById("message")
scheduler = new Scheduler() scheduler = new Scheduler()