Les 8a

Nog eens kijken naar de quizcode

Hier staat het programma zonder functies:

import pygame
import time

pygame.init()
breedte = 800
hoogte = 600
background_color = 0, 0, 0
font = pygame.font.SysFont(None, 40)
screen = pygame.display.set_mode((breedte, hoogte))

A = pygame.image.load("A.png")
A_rechthoek = A.get_rect()
B = pygame.image.load("B.png")
B_rechthoek = B.get_rect()
C = pygame.image.load("C.png")
C_rechthoek = C.get_rect()
D = pygame.image.load("D.png")
D_rechthoek = D.get_rect()


vraagtekst = "Wat is de hoofdstad van Nederland?"
vraagblok = font.render(vraagtekst, True, (255,255,255))
optiestekst = "A) Haarlem B) Rotterdam C) Amsterdam D) Eindhoven"
optiesblok = font.render(optiestekst, True, (255,255,255))
goede_antwoord = 'C'

antwoord = 'geen'
vorige_antwoord = 'geen'

while not antwoord == goede_antwoord:
  pygame.display.flip()
  screen.fill(background_color)

  screen.blit(vraagblok, (0, 275))
  screen.blit(optiesblok, (0, 310))

  A_rechthoek.center = (100, 100)
  screen.blit(A, A_rechthoek)

  B_rechthoek.center = (600, 100)
  screen.blit(B, B_rechthoek)

  C_rechthoek.center = (100, 500)
  screen.blit(C, C_rechthoek)

  D_rechthoek.center = (600, 500)
  screen.blit(D, D_rechthoek)

  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A_rechthoek.collidepoint(locatie_muis):
      antwoord = 'A'
    if B_rechthoek.collidepoint(locatie_muis):
      antwoord = 'B'
    if C_rechthoek.collidepoint(locatie_muis):
      antwoord = 'C'
    if D_rechthoek.collidepoint(locatie_muis):
      antwoord = 'D'

    if antwoord == vorige_antwoord:
      print('Dat probeerde je net ook al')
    else:

      if antwoord == goede_antwoord:
        print('Goedzo!')
      else:
        print('Helaas,', antwoord, 'is niet goed')
        vorige_antwoord = antwoord
        antwoord = 'geen' #reset het antwoord zodat de speler nog een keer kan proberen 


    time.sleep(0.5) #even wachten op de volgende klik!


vraagtekst = "Wat is de hoofdstad van Belgie?"
vraagblok = font.render(vraagtekst, True, (255,255,255))
optiestekst = "A) Gent B) Brussel C) Antwerpen D) Brugge"
optiesblok = font.render(optiestekst, True, (255,255,255))
goede_antwoord = 'B'

antwoord = 'geen'
vorige_antwoord = 'geen'

while not antwoord == goede_antwoord:
  pygame.display.flip()
  screen.fill(background_color)

  screen.blit(vraagblok, (0, 275))
  screen.blit(optiesblok, (0, 310))

  A_rechthoek.center = (100, 100)
  screen.blit(A, A_rechthoek)

  B_rechthoek.center = (600, 100)
  screen.blit(B, B_rechthoek)

  C_rechthoek.center = (100, 500)
  screen.blit(C, C_rechthoek)

  D_rechthoek.center = (600, 500)
  screen.blit(D, D_rechthoek)

  pygame.event.get()
  locatie_muis = pygame.mouse.get_pos()
  knoppen = pygame.mouse.get_pressed()

  if knoppen[0] == 1:
    if A_rechthoek.collidepoint(locatie_muis):
      antwoord = 'A'
    if B_rechthoek.collidepoint(locatie_muis):
      antwoord = 'B'
    if C_rechthoek.collidepoint(locatie_muis):
      antwoord = 'C'
    if D_rechthoek.collidepoint(locatie_muis):
      antwoord = 'D'

    if antwoord == vorige_antwoord:
      print('Dat probeerde je net ook al')
    else:

      if antwoord == goede_antwoord:
        print('Goedzo!')
      else:
        print('Helaas,', antwoord, 'is niet goed')
        vorige_antwoord = antwoord
        antwoord = 'geen' #reset het antwoord zodat de speler nog een keer kan proberen 

    time.sleep(0.5) #even wachten op de volgende klik!

Kijk nog eens goed naar de code. Welke stukjes zijn hetzelfde? Omcirkel die stukken.

In deel b van de les gaan we de functie zelf ook maken

Last updated