probleeemje

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

probleeemje

Marc Stevens
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()

_______________________________________________
Python-nl mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/python-nl
Reply | Threaded
Open this post in threaded view
|

Re: probleeemje

Reinoud van Leeuwen
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 <[hidden email]> 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
 
 
 
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()
_______________________________________________
Python-nl mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/python-nl


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

signature.asc (507 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: probleeemje

Marc Stevens
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()
 
Sent: Friday, November 28, 2014 12:44 AM
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 <[hidden email]> 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
[hidden email]
https://mail.python.org/mailman/listinfo/python-nl
 


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

_______________________________________________
Python-nl mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/python-nl
Reply | Threaded
Open this post in threaded view
|

Re: probleeemje

Bart Post
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 <[hidden email]> 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()
 
Sent: Friday, November 28, 2014 12:44 AM
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 <[hidden email]> 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
[hidden email]
https://mail.python.org/mailman/listinfo/python-nl


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

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

_______________________________________________
Python-nl mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/python-nl
Reply | Threaded
Open this post in threaded view
|

Re: probleeemje

Bart Post
Voorbeeldcode:
Ik zou bovenaan nog toevoegen:

kipNogNietAangebrand = [True, True, True]

Dan zou de andere code veranderen naar:

    if x<100 and y<100 and click[0]==1 and kipNogNietAangebrand[0]:
        screen.blit(aangebrandekip,(100,100))
        z=z+1
        kipNogNietAangebrand[0] = False
    elif x>800 and y<100 and click[0]==1 and kipNogNietAangebrand[1]:
        screen.blit(aangebrandekip,(800,100))
        z=z+1
        kipNogNietAangebrand[1] = False
    elif 350<x<450 and 550<y<650 and click[0]==1 and kipNogNietAangebrand[2]:
        screen.blit(aangebrandekip,(400,600))
        z=z+1
        kipNogNietAangebrand[2] = False
    elif z>3:
        screen.blit(kerstdiner,(0,0))

Dan hoeft het scherm niet 15 tikken te wachten.

Disclaimer: ik heb de code niet uitgeprobeerd, ik heb geen python bij de hand. Anders zou ik ook de z weglaten, en in plaats van testen of z>3, testen of alle kippen aangebrand zijn.

Overigens, zorgt die test er niet voor dat je nu nog een keer extra moet klikken op een kip als alle kippen zijn aangebrand?

Grts,
Bart

On Fri Nov 28 2014 at 11:21:15 AM Bart Post <[hidden email]> wrote:
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 <[hidden email]> 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()
 
Sent: Friday, November 28, 2014 12:44 AM
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 <[hidden email]> 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
[hidden email]
https://mail.python.org/mailman/listinfo/python-nl


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

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

_______________________________________________
Python-nl mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/python-nl
Reply | Threaded
Open this post in threaded view
|

Re: probleeemje

Floris van Manen
In reply to this post by Bart Post
inderdaad, maak een kip-class en vervolgens zoveel instances van kippen als nodig.
Elke kip heeft dan een eigen status.
De main loop controleert telkens de status van elke kip.

Overigens zou ik nooit numerieke constanten her en der in de code plaatsen.
Geeft de grenzen een naam en definieer die ergens aan het begin.
Xmin = 0
Xmax = 800
Ymin = 0
Ymax = 400

of

Xrange = (0, 800)
Yrange = (0, 400)

Dan kun je ook nog eens het hok verplaatsen als het nodig is ;-)



.F



> On 28 Nov 2014, at 11:21, Bart Post <[hidden email]> wrote:
>
> 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 <[hidden email]> 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
> 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 <[hidden email]> 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
>> [hidden email]
>> https://mail.python.org/mailman/listinfo/python-nl
>
> _______________________________________________
> Python-nl mailing list
> [hidden email]
> https://mail.python.org/mailman/listinfo/python-nl
>
> _______________________________________________
> Python-nl mailing list
> [hidden email]
> https://mail.python.org/mailman/listinfo/python-nl
> _______________________________________________
> Python-nl mailing list
> [hidden email]
> https://mail.python.org/mailman/listinfo/python-nl

_______________________________________________
Python-nl mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/python-nl
Reply | Threaded
Open this post in threaded view
|

Re: probleeemje

Geert Stappers
In reply to this post by Marc Stevens
On Fri, Nov 28, 2014 at 01:21:26AM +0100, Marc Stevens wrote:
> Hierbij is het probleem voorzover verholpen. Deze laatste bijgevoegde
> code is de juiste. eind goed al goed.

Ik denk dat er nog genoeg te leren is.

Zo is er het probleempje van slecht gekozen Subject: lines.

Een ander verbeterpunt is completer aanleveren van het Python programma.
Voorbeeld: Als ik een regel

   lucifer = pygame.image.load("lucifer.png")

lees, dan is het "Oh, dat wordt 'Error: lucifers not found'"
Dat is te voorkomen door de PNGs ergens beschikbaar te stellen.


> Alsnog bedankt voor de moeite,
> Marc Stevens


Groeten
Geert Stappers

Hieronder waar het echt om gaat: Python!



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()
_______________________________________________
Python-nl mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/python-nl