From 976ac3a00d4425e2b8b0e1cc36cadaec3a4d530c Mon Sep 17 00:00:00 2001 From: Alice Date: Fri, 5 Jun 2026 14:23:43 +0300 Subject: [PATCH] new repo --- Project/index.html | 17 ++++++ Project/mainGame.js | 137 ++++++++++++++++++++++++++++++++++++++++++++ Project/style.css | 17 ++++++ 3 files changed, 171 insertions(+) create mode 100644 Project/index.html create mode 100644 Project/mainGame.js create mode 100644 Project/style.css diff --git a/Project/index.html b/Project/index.html new file mode 100644 index 0000000..2c5e564 --- /dev/null +++ b/Project/index.html @@ -0,0 +1,17 @@ + + + + + + + + + +

RECORD: -

+

SHOTS: 0 / 35

+ +
+ + + + \ No newline at end of file diff --git a/Project/mainGame.js b/Project/mainGame.js new file mode 100644 index 0000000..31b5615 --- /dev/null +++ b/Project/mainGame.js @@ -0,0 +1,137 @@ +window.onload = function () { + + var shots = 0; + var hits = 0; + var maxShots = 35; + var gameOver = false; + + var x1 = Math.floor(Math.random() * 5) + 1; + var x2 = x1 + 1; + var x3 = x1 + 2; + var guess; + var hits = 0; + var guesses = 0; + var isSunk = false; + var y1 = Math.floor(Math.random() * 7) + 1; + var sea = [ + [null, null, null, null, null, null, null, null], + [null, 0, 0, 0, 0, 0, 0, 0], + [null, 0, 0, 0, 0, 0, 0, 0], + [null, 0, 0, 0, 0, 0, 0, 0], + [null, 0, 0, 0, 0, 0, 0, 0], + [null, 0, 0, 0, 0, 0, 0, 0], + [null, 0, 0, 0, 0, 0, 0, 0], + [null, 0, 0, 0, 0, 0, 0, 0], + ]; + + var record = localStorage.getItem("record") || "-"; + document.getElementById("record").innerHTML = "RECORD: " + record; + + var sea = []; + + var sea = [ + [null, null, null, null, null, null, null, null], + [null, 0, 0, 0, 0, 0, 0, 0], + [null, 0, 0, 0, 0, 0, 0, 0], + [null, 0, 0, 0, 0, 0, 0, 0], + [null, 0, 0, 0, 0, 0, 0, 0], + [null, 0, 0, 0, 0, 0, 0, 0], + [null, 0, 0, 0, 0, 0, 0, 0], + [null, 0, 0, 0, 0, 0, 0, 0] + ]; + + function createShip() { + + var x, y; + + do { + x = Math.floor(Math.random() * 5) + 1; + y = Math.floor(Math.random() * 7) + 1; + + } while ( + sea[y][x] == 1 || + sea[y][x + 1] == 1 || + sea[y][x + 2] == 1 + ); + + sea[y][x] = 1; + sea[y][x + 1] = 1; + sea[y][x + 2] = 1; + } + + for (var i = 0; i < 5; i++) { + createShip(); + } + + console.log("FIELD:"); + console.log(sea); + + var table = document.getElementById("board"); + + for (var i = 1; i <= 7; i++) { + + var row = document.createElement("tr"); + + for (var j = 1; j <= 7; j++) { + + var cell = document.createElement("td"); + + cell.dataset.y = i; + cell.dataset.x = j; + + cell.onclick = function () { + + if (gameOver || this.innerHTML != "") return; + + var y = this.dataset.y; + var x = this.dataset.x; + + shots++; + document.getElementById("shots").innerHTML = + "SHOTS: " + shots + " / " + maxShots; + + if (sea[y][x] == 1) { + + this.innerHTML = "X"; + sea[y][x] = 0; + hits++; + + if (hits == 15) { + + alert("ВЫ ВЫИГРАЛИ"); + + if (record == "-" || shots < record) { + localStorage.setItem("record", shots); + } + + gameOver = true; + location.reload(); + } + + } else { + this.innerHTML = "O"; + } + + if (shots > maxShots && hits < 15) { + alert("ВЫ ПРОИГРАЛИ"); + gameOver = true; + location.reload(); + } + }; + + row.appendChild(cell); + } + + table.appendChild(row); + } +}; +console.log(sea[1]); +console.log(sea[2]); +console.log(sea[3]); +console.log(sea[4]); +console.log(sea[5]); +console.log(sea[6]); +console.log(sea[7]); +console.log(sea); +console.log(x1, x2, x3); +console.log(y1); diff --git a/Project/style.css b/Project/style.css new file mode 100644 index 0000000..e0749be --- /dev/null +++ b/Project/style.css @@ -0,0 +1,17 @@ +body { + text-align: center; + font-family: Arial; +} + +table { + margin: auto; + border-collapse: collapse; +} + +td { + width: 50px; + height: 50px; + border: 1px solid black; + font-size: 24px; + cursor: pointer; +} \ No newline at end of file