2016-04-23 10 views

Antwort

2

Sie können ein mehrdimensionales Array (ein Array von Arrays) verwenden.

var gridWidth = 10; 
var gridHeight = 10; 
var grid = []; 
for(var y = 0; y < gridHeight; y++) 
{ 
    grid.push([]); 
    for(var x = 0; x < gridWidth; x++) 
    { 
     grid[y].push(0); 
    } 
} 

Sie haben jetzt ein 10x10 Raster, die Sie über Grid zugreifen können [x] [y]

das Darstellen auf der Seite, in HTML, hängt von den Rahmenbedingungen Sie verwenden. Wenn Sie es mit rohen Javascript tun möchten, könnten Sie vielleicht eine Tabelle ausgeben.

document.write('<table>'); 
var gridWidth = 10; 
var gridHeight = 10; 
var grid = []; 
for(var y = 0; y < gridHeight; y++) 
{ 
    document.write('<tr>'); 
    grid.push([]); 
    for(var x = 0; x < gridWidth; x++) 
    { 
     document.write('<td onclick="alert(\'clicked\');">'); 
     grid[y].push(0); 
     document.write('</td>'); 
    } 
    document.write('</tr>'); 
} 
document.write('</table>'); 
+0

Das ist genau das, was ich suche. Gibt es irgendetwas bestimmtes, das ich im HTML tun muss? Ich benutze Chrome, das sollte kein Problem sein. – Mkz

+0

Nun, offensichtlich müssen Sie alle Ihre Spiellogik hinzufügen. StackOverflow wird es nicht für Sie schreiben, aber wenn Sie stecken bleiben, zögern Sie nicht zu fragen :) –

+0

Danke! Ich meine neben der grundlegenden HTML-Struktur, muss ich eine Tabelle bereits in der HTML geschrieben haben? – Mkz

1

Dadurch erhalten Sie einige Klickereignisse, die Spalte und Zeile rückmelden.

css:

td { 
    border: black solid 1px; 
} 

html:

<table class="table"></table> 

javascript:

$('.table').on('click', 'td', function() { 
    console.log($(this).attr('data-row')); 
    console.log($(this).attr('data-column')); 
}) 

var columns = 10, rows = 10 

function createGrid(columns, rows) { 
    var table = $('.table'); 

    for (var i = 0; i < rows; i++) { 
     var row = $('<tr>'); 
     table.append(row) 
     for (var j = 0; j < columns; j++) { 
      var cell = $('<td>') 
      cell.attr('data-row', i); 
      cell.attr('data-column', j) 
      row.append(cell); 
     } 
    } 
} 
createGrid(columns, rows);