Ich mache ein Spiel von Tic Tac Toe 5 in einer Reihe. Ich habe das Raster, in dem, wenn Sie auf ein Quadrat klicken, es eine "Koordinate" von [Reihe, Spalte] in der bestimmten Farbe des Punktes aufzeichnet. Ich bin momentan nicht sicher, wie man die "Koordinaten" benutzt, um eine fünf in einer Reihe jeder Farbe zu ermitteln und nur eine Nachricht auszudrucken.Detecting 5 in einer Reihe
Hinweis: Wenn 5 in einer Zeile mühsam mit dem Kopieren und Einfügen von vorherigen Code oder so wird, wird eine 3 in einer Reihe auch für mich arbeiten, und ich werde es nur in eine 5 in einer Zeile ändern. Verwenden Sie auch den Vollbildmodus, wenn Sie das unten stehende Code-Snippet anzeigen.
Code I bisher haben:
var white=true;
function generateGrid(rows, cols) {
var grid = "<table>";
for (row = 1; row <= rows; row++) {
grid += "<tr>";
for (col = 1; col <= cols; col++) {
grid += "<td></td>";
}
grid += "</tr>";
}
return grid;
}
$("#tableContainer").append(generateGrid(10, 10));
$("td").click(function() {
$(this).css('cursor','default');
var index = $("td").index(this);
var row = Math.floor((index)/10) + 1;
var col = (index % 10) + 1;
var $td = $(this);
if ($td.data('clicked'))
return;
if (white===true){
var whi=[row,col];
console.log("white coord is "+whi);
} else {
var bla=[row,col];
console.log("black coord is "+bla);
}
$td.data('clicked', true);
$td.css('background-color', white ? 'white' : 'black');
white = !white;
});
html{
background-color:#7189ea;
}
td {
border: 1px solid;
width: 25px;
height: 25px;
border-radius:100%;
}
table {
border-collapse: collapse;
}
<link type="text/css" rel="stylesheet" href="stylesheet.css"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<div id="tableContainer"></div>
Speichern Sie die Standorte als 2D-Array. Wenn ein Benutzer auf ein Quadrat klickt, überprüfen Sie die Indizes im Array der Zeile (x + N)/Spalte (y + N)/Diagonale (x + N, y + N) für 5 übereinstimmende Farben. –