Olá pessoal, seguindo o curso de lógica II, eu resolvi colocar todos os exercícios (até o 07) do jogo das bolinhas em um único código para ter um joguinho mais completo (acrescentei um botão para limpar a tela também), segue ele abaixo :)
Aceito sugestões para deixar ele melhor :D
<canvas width="600" height="400"></canvas>
<button>Limpar</button>
<script>
var tela = document.querySelector('canvas');
var pincel = tela.getContext('2d');
var botao = document.querySelector('button');
pincel.fillStyle = 'grey';
pincel.fillRect(0, 0, 600, 400);
var cores = ['blue', 'red', 'green'];
var corAtual = 0;
var raioCirculo = 10
function desenhaCirculo(evento) {
var x = evento.pageX - tela.offsetLeft;
var y = evento.pageY - tela.offsetTop;
var apertouShift = evento.shiftKey;
var apertouAlt = evento.altKey;
if (apertouShift == true){
if (raioCirculo >= 40) {
raioCirculo = 40;
} else {
raioCirculo = raioCirculo + 10;
}
}
if (apertouAlt == true) {
if (raioCirculo <= 10) {
raioCirculo = 10;
} else {
raioCirculo = raioCirculo - 5;
}
}
pincel.fillStyle = cores[corAtual];
pincel.beginPath();
pincel.arc(x, y, raioCirculo, 0, 2 * 3.14);
pincel.fill();
console.log(x + ',' + y);
}
function limpaTela() {
pincel.fillStyle = 'grey';
pincel.fillRect(0, 0, 600, 400);
}
function mudaCor() {
corAtual++;
if(corAtual >= cores.length) {
corAtual = 0;
}
alert('Funcionou!, agora a cor é: ' + cores[corAtual]);
return false;
}
tela.onclick = desenhaCirculo;
botao.onclick = limpaTela;
tela.oncontextmenu = mudaCor;
</script>