Olá!
Depois de assistir a aula 04 ("Como eu amo esse tal de loop!") e experimentar o código com dados diferentes, decidi tentar fazer um tabuleiro de xadrez, porém veio uma dúvida hahaha.. Como eu faço para usar o Y como uma variável nesse caso? Eu tentei de diversos jeitos e nenhum acabou funcionando, o único jeito que funcionou foi esse primeiro código, onde eu teria que copiar e colar as funções e ir alterando todos os Y's para preencher todas as linhas, porém eu gostaria de fazer isso de um jeito mais prático.
Esse é o código até agora:
<canvas width="400" height="400"></canvas>
<script>
var tela = document.querySelector('canvas');
var pincel = tela.getContext('2d');
pincel.fillStroke = 'black';
pincel.strokeRect(0, 0, 400, 400);
function linhaPreta(){
function casaPreta(x) {
pincel.fillStyle = 'black';
pincel.fillRect(x, 0, 50, 50);
pincel.strokeRect(x, 0, 50, 50);
}
x = 0;
for (x = 0; x < 400; x = x + 50){
casaPreta(x);
x = x + 50;
}
function casaBranca(x) {
pincel.fillStyle = 'white';
pincel.fillRect(x, 0, 50, 50);
pincel.strokeRect(x, 0, 50, 50);
}
x = 50;
for (x = 50; x < 400; x = x + 50){
casaBranca(x);
x = x + 50;
}
}
function linhaBranca(){
function casaBranca(x) {
pincel.fillStyle = 'white';
pincel.fillRect(x, 50, 50, 50);
pincel.strokeRect(x, 50, 50, 50);
}
x = 0;
for (x = 0; x < 400; x = x + 50){
casaBranca(x);
x = x + 50;
}
function casaPreta(x) {
pincel.fillStyle = 'black';
pincel.fillRect(x, 50, 50, 50);
pincel.strokeRect(x, 50, 50, 50);
}
x = 50;
for (x = 50; x < 400; x = x + 50){
casaPreta(x);
x = x + 50;
}
}
linhaPreta();
linhaBranca();
</script>
E esse é um exemplo dos códigos com a variável Y que não funcionou:
function casaPreta(x, y) {
pincel.fillStyle = 'black';
pincel.fillRect(x, y, 50, 50);
pincel.strokeRect(x, y, 50, 50);
x = 0;
for (x = 0; x < 400; x = x + 50){
casaPreta(x, y);
x = x + 50;
}
y = 50;
for (y = 50; y < 400; y = y + 100) {
casaPreta(x, y);
y = y + 100;
}
}