J'écris un petit programme qui est destiné à dessiner une ligne de 25 pixels où le randrange lui donnera ses points. J'ai également 4 boîtes rouges qui agissent comme des bombes ou des mines. Lorsque le x, y de la ligne est rouge avec la fonction getColor, la var 'color' sera == en rouge. Arrêtant ainsi la boucle while, ce qui empêchera la ligne de continuer. C'est également la même fonction désirée pour les points bleus que j'ai dessinés sur le terrain de jeu. J'ai trouvé que mon programme ne fonctionnait pas de cette manière malheureusement. Toutes les suggestions sur comment je pourrais résoudre ceci?Alors que la boucle ne s'arrête pas correctement comme il se doit
from random import *
def main():
#draw
pic = makeEmptyPicture(600, 600, white)
show(pic)
#for the 4 boxes
boxCount = 0
#while statement to draw
while boxCount < 4:
addRectFilled(pic, randrange(0,576), randrange(0,576), 25, 25, red)
addArcFilled(pic, randrange(0,576), randrange(0,576), 10, 10, 0, 360, blue)
boxCount = boxCount + 1
repaint(pic)
#vars for while statement
newX = 0
newY = 0
oldX = 0
oldY = 0
robotcount = 0
finished = 0
safe = 0
triggered = 0
#while loop, stops @ step 750, or when a px == red/blue
while robotcount < 750 or color == red or color == blue:
oldX = newX
oldY = newY
#how to generate a new line poing +25/-25
newX = newX + randrange(-25, 26)
newY = newY + randrange(-25, 26)
#if statements to ensure no x or y goes over 599 or under 0
if newX > 599 or newX < 0:
newX = 0
if newY > 599 or newY < 0:
newY = 0
#functions to get pixel color of x,y
px = getPixel(pic, newX, newY)
color = getColor(px)
#draw the line from old to new, and also add +1 count for robot's steps
addLine(pic, oldX, oldY, newX, newY, black)
robotcount = robotcount + 1
#if statement to determine why the while loop stops
if color == red:
triggered = 1
printNow("trig")
if color == blue:
safe = 1
printNow("safe")
if robotcount == 750:
finished = 1
printNow("Fin")
Comment '' red' et blue' définis? – Iguananaut
Avez-vous essayé de résoudre vous-même ce problème? Je parie un peu de temps avec un débogage de printf. https://ericlippert.com/2014/03/05/how-to-debug-small-programs/ – jdv
@Iguananaut plus comme où 'color' est défini ... –