[python-nl] tot 3 tellen?

Geert Stappers stappers at stappers.nl
Tue Nov 25 18:54:11 CET 2014


On Tue, Nov 25, 2014 at 06:34:26PM +0100, Marc Stevens wrote:
> Hoi, Marc hier nog eens.

   :-)

>
> Ik heb mijn code nog eens aangepast. De kip moet nu aangeklikt worden
> met de linker muisknop om op te tellen tot 3.
> Maar hij springt bij de eerste klik al naar het eindscherm
> ???kerstdiner??? terwijl dat pas moet na 3 klikken.
> Ik heb geprobeerd een loop te maken dmv              while z<=3
> enz. Maar dat haalt niets uit. Het scherm springt dan op zwart, dan
> kan ik het programma beter een opnieuw schrijven.
> Hebben jullie een korte effectieve oplossing hiervoor? (vooral de
> tel funtie).
> 
> 
> 
> 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
>     
>     screen.fill((0,0,0))
>     screen.blit(plofkip,(100,100))
>     screen.blit(plofkip,(600,100))
>     screen.blit(plofkip,(400,600))
>     mouse=pygame.mouse.get_pos()
>     click=pygame.mouse.get_pressed()

De array 'click' wordt gevuld door een functie die ik verder niet ken.
(en misschien wordt 'click' wel aangevuld door die functie)


>     screen.blit(lucifer, (mouse))
>     x=mouse[0]
>     y=mouse[1]
>     if x<100 and y<100 and click[0]==1:

Er wordt naar het nulste element van de array 'click' gekeken.


>         screen.blit(aangebrandekip,(100,100))
>         z=z+1
>     elif x>600 and y<100 and click[0]==1:
>         screen.blit(aangebrandekip,(600,100))
>         z=z+1
>     elif 100<x<550 and 350<y<650 and click[0]==1:
>         screen.blit(aangebrandekip,(400,600))
>         z=z+1

Nergens is iets wat elementen uit de array 'click' haalt.


>     elif z>=3:
>         screen.blit(kerstdiner,(0,0))
>     pygame.display.update()
> 
> pygame.quit()


Ik hoop dat je er wat mee kunt.

Mijn echte boodschap: Dank je wel voor het wegblazen van de stof
die op deze mailinglist ligt   :-)


Groeten
Geert Stappers

P.S.

Ja, ik weet dat deze ML, helaas, is geconfigureerd met "Reply-To-List".
( Reply-To: Dutch Python developers and users <python-nl op python.org> 
  wordt namelijk (onnodig) gezet)

-- 
Leven en laten leven


More information about the Python-nl mailing list