Playlist NUMWORKS de ma chaine Youtube
Version en JavaScript de Maxime Richard
Vous pouvez effacer la dernière ligne “sleep(0.01)” pour que l’animation aille beaucoup plus vite sur votre calculatrice.
from kandinsky import * from random import randint from time import sleep bricks = [] def drawBricks(): for c in range(20): bricks.append([]) for r in range(14): bricks[c].append('purple' if c < 10 else 'orange') fill_rect(c * 16, r * 16, 16, 16, bricks[c][r]) class balle: def __init__(self,x,y,coul): self.x,self.y = x,y self.coul = coul self.xSpeed = 4 self.ySpeed = 4 def drawBall(self): for c in [-1,0,1]: x = self.x // 16 + c if 20 > x >= 0: for r in [-1,0,1]: y = self.y // 16 + r if 14 > y >= 0: fill_rect(x * 16, y * 16, 16, 16, bricks[x][y]) fill_rect(self.x, self.y, 16, 16, self.coul) def avance(self): self.x += self.xSpeed self.y += self.ySpeed if self.x > 304 or self.x < 0: self.xSpeed *= -1 if self.y > 208 or self.y < 0: self.ySpeed *= -1 def collision(self): for c in range(20): for r in range(14): currentBrick = bricks[c][r] x, y = c * 16, r * 16 if x + 8 > self.x > x - 8 and y + 8 > self.y > y - 8 and currentBrick == self.coul: bricks[c][r] = 'purple' if currentBrick == 'orange' else 'orange' self.xSpeed *= -1 ball1 = balle(180, 4 * randint(1, 50), 'purple') ball2 = balle(32, 4 * randint(1, 50), 'orange') drawBricks() while True: ball1.drawBall() ball2.drawBall() ball1.collision() ball2.collision() ball1.avance() ball2.avance() sleep(.01)