Een andere oplossing is om bij te houden welke kippen al aangebrand zijn, en dat aan elke if/elif toe te voegen, zodat je ze maar één keer kunt aansteken. Dan kan de loop blijven lopen, maar z wordt maar één keer per kip opgehoogd.
Voorbeeldcode als ik niet op mijn mobiel ben. Grts, Bart On Fri, Nov 28, 2014, 01:21 Marc Stevens <[email protected]> wrote: > 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 <[email protected]> > *Sent:* Friday, November 28, 2014 12:44 AM > *To:* Dutch Python developers and users <[email protected]> > *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 >
_______________________________________________ Python-nl mailing list [email protected] https://mail.python.org/mailman/listinfo/python-nl
