Beste Reinoud,

Het probleem is al opgelost.
Ik had het ‘print z’  commando ingegeven en had niet in de gaten dat de muis op 
gebied stond (100,100) waar de z met een werd opgehoog en dit uitprintte.
Dat heb ik verholpen door de voorwaarden uit te breiden met  ‘and click[0]==1’ 
. Dan moet je eerst klikken met de muis als je op dat specifieke gebied staat.
Alleen wordt de lus zo vaak ververst dat z al meteen na 1 muis klik naar waarde 
6 springt en het na het eindscherm. Dit is waarschijnlijk te verhelpen door na 
de pygame lus het commando ‘clock.tick(15)’ bij te voegen.
Hierbij is het probleem voorzover verholpen. Deze laatste bijgevoegde code is 
de juiste. eind goed al goed.

Alsnog bedankt voor de moeite, 
                                        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 and click[0]==1:
        screen.blit(aangebrandekip,(100,100))
        z=z+1
    elif x>800 and y<100 and click[0]==1:
        screen.blit(aangebrandekip,(800,100))
        z=z+1
    elif 350<x<450 and 550<y<650 and click[0]==1:
        screen.blit(aangebrandekip,(400,600))
        z=z+1
    elif z>3:
        screen.blit(kerstdiner,(0,0))
        
    pygame.display.update()

pygame.quit()

From: Reinoud van Leeuwen 
Sent: Friday, November 28, 2014 12:44 AM
To: Dutch Python developers and users 
Subject: Re: [python-nl] probleeemje

Wat je wilt is erg onduidelijk, maar ik vermoed dat je 'elif z>3' wilt 
vervangen door 'if z>3' 

Reinoud

On 28 Nov 2014, at 00:00, Marc Stevens <[email protected]> wrote:


  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



  __________________________________________
  Python-nl mailing list
  [email protected]
  https://mail.python.org/mailman/listinfo/python-nl




--------------------------------------------------------------------------------
_______________________________________________
Python-nl mailing list
[email protected]
https://mail.python.org/mailman/listinfo/python-nl
_______________________________________________
Python-nl mailing list
[email protected]
https://mail.python.org/mailman/listinfo/python-nl

Antwoord per e-mail aan