| HomeTortue graphiqueGPanelRobotique WebTigerPython |
| Python - Online |
![]()
DESCRIPTION DU JEU |
Une grenouille doit traverser deux routes sans se faire écraser par les voitures. Dans notre version du jeu, lorsqu'elle entre en collision avec une voiture, elle n'est pas réellement écrasée, mais elle est replacée à sa position de départ, au bord inférieur de la fenêtre, où elle peut recommencer sa traversée. Lorsque la grenouille atteint la bande verte située en haut de la fenêtre, elle a atteint son objectif.
La grenouille peut être déplacée en cliquant sur le bouton gauche de la souris. À chaque clic, elle avance un peu. La vitesse des voitures peut être modifiée en changeant la période de simulation à l'aide de setSimulationPeriod(). Programme: from gamegrid import * import random from soundsystem import * # ------------- class Car ------------------------------- class Car(Actor): def __init__(self, carNb): Actor.__init__(self, ["sprites/car" + str(carNb) + ".gif"]) def act(self): self.move() if self.getLocation().x < -100: self.setLocation(Location(1650, self.getLocation().y)) if self.getLocation().x > 1650: self.setLocation(Location(-100, self.getLocation().y)) # --------------------- class Frogg --------------------- class Frog(Actor): def __init__(self): Actor.__init__(self, True, "sprites/frog.gif") def act(self): if self.getY() > 10 and self.getY() < 25: play() def collide(self, actor1, actor2): play() actor1.setLocation(Location(400, 560)) return 0 # ------------- mouse ------------------------------- def pressCallback(e): frog.setLocation(Location(frog.getLocation().x, frog.getLocation().y - 10)) # ------------- main ------------------------------- makeGameGrid(800, 600, 1, None,"sprites/lane.gif", False, mousePressed = pressCallback) frog = Frog() addActor(frog, Location(400, 560)) cars = [] for i in range(20): cars.append(Car(i)) for i in range(1, 5): cars[i].setHorzMirror(True) frog.addCollisionActor(cars[i]) addActor(cars[i], Location(350 * i, 90), Location.WEST) for i in range(5, 10): frog.addCollisionActor(cars[i]) addActor(cars[i], Location(350 * (i - 5), 350), Location.WEST) for i in range(10, 15): frog.addCollisionActor(cars[i]) addActor(cars[i], Location(350 * (i - 10), 220), Location.EAST) for i in range(15, 20): cars[i].setHorzMirror(True) frog.addCollisionActor(cars[i]) addActor(cars[i], Location(350 * (i - 15), 480), Location.EAST) show() setSimulationPeriod(60) openSoundPlayer("wav/frog.wav") doRun() |
Explications du code |
|
Exercises |
|
![]()