<canvas width="600" height="400"></canvas>
<meta charset = "UTF-8">
<script>
var tela = document.querySelector('canvas');
var pincel = tela.getContext('2d');
var x = 20
var y = 20
var raio = 10
var qCor = 0
function mudaCor()
{
if(qCor < 15)
{
qCor++
}
if(qCor == 15)
{
qCor = 0
}
}
function desenhaCirculo(x, y, raio,cores)
{
var cores = ["#FF1603","#FF7104","#FFF107","#ACFF08","#50FF08","#0AFF6F","#0BFFE5","#0ED3FF","#0E9AFF","#0C41FF","#400CFF","#9C0EFF","#E80FFF","#FF10B8","#FF136F","#FF1321"]
pincel.fillStyle = "black";
pincel.fillRect(0, 0, 600, 400);
pincel.fillStyle = cores[qCor];
pincel.beginPath();
pincel.arc(x, y,raio, 0, 2 * Math.PI);
pincel.fill();
}
function limpaTela()
{
pincel.clearRect(0, 0, 600, 400);
}
function atualizaTela()
{
limpaTela()
desenhaCirculo(x,y,raio)
if(x <= 580 && y == 20)
{
x++
}
if(x == 580 && y >= 20)
{
y++
}
if(x <= 580 && y == 380)
{
x = x - 1
}
if(x == 20 && y >= 20)
{
y = y - 1
}
}
var pulso = false
function pulse()
{
if(raio == 10)
{pulso = true}
if(pulso == true)
{
if(raio <= 15)
{raio++}
}
if(raio == 15)
{pulso = false}
if(pulso == false)
{
if(raio >= 10)
{raio = raio - 1}
}
}
setInterval(mudaCor, 100)
setInterval(atualizaTela, 10)
setInterval(pulse,50)
</script>