[python-nl] probleeemje

Marc Stevens marcs at ziggo.nl
Fri Nov 28 00:00:36 CET 2014


Beste lui,

Ik  mail voor de zoveelste keer over dit programmaatje dat ik heb geschreven, maar ik geef niet op.
Na verschillende keren de code aan te passen blijkt dit het beste te werken. En ik heb de clou!
In de while loop heb ik  ‘print z’ voor de gein ingevoegd en wat blijkt: Hij doorloopt de lus telkens en telt  van nul op naar oneindig hoever je maar kunt tellen!
Vandaar dat ‘elif z>3’ of ‘while z>3’ niet werkt. Hoe kan ik dat een halt toe roepen?
Ik heb al verschillende mail verstuurd en heb de code verscheidende malen herzien. Maar ben door jullie telkens op de verkeerde been gezet. (Al dan niet opzettelijk)
Nu zou ik hieraan eindelijk  een einde  willen breien, zodat ik hier een punt achter kan zetten.
Waarschijnlijk wordt de lus van pygame telkens opnieuw gelezen en tel hij dan 1 bij z op, terwijl niet aan de if of elif voorwaarde wordt voldaan! 
De vraag is : hoe doorbreek ik dat probleem?

                                              In afwachting op uw reactie,

                                                                                Groetjes Marc Stevens



import pygame
from pygame.locals import *

pygame.init()
screen = pygame.display.set_mode((1200,1000))
lucifer = pygame.image.load("lucifer.png")
plofkip=pygame.image.load("plofkip.png")
aangebrandekip=pygame.image.load("aangebrande-kip.png")
kerstdiner=pygame.image.load("kerstdiner.png")
x = y = z = 0
    
running = True
while running:
    for event in pygame.event.get():
        if event.type == QUIT:
            running = False
    mouse=pygame.mouse.get_pos()
    click=pygame.mouse.get_pressed()
    print (z)
    screen.fill((0,0,0))
    screen.blit(plofkip,(100,100))
    screen.blit(plofkip,(800,100))
    screen.blit(plofkip,(400,600))
    screen.blit(lucifer, (mouse))
    if x<100 and y<100:
        screen.blit(aangebrandekip,(100,100))
        z=z+1
    elif x>800 and y<100:
        screen.blit(aangebrandekip,(800,100))
        z=z+1
    elif 350<x<450 and 550<y<650:
        screen.blit(aangebrandekip,(400,600))
        z=z+1
    elif z>3: 
        screen.blit(kerstdiner,(0,0))
        
    pygame.display.update()

pygame.quit()
------------- volgend deel ------------
Een HTML-bijlage is gescrubt...
URL: <http://mail.python.org/pipermail/python-nl/attachments/20141128/ea551206/attachment.html>


More information about the Python-nl mailing list