✏️
Codasium
  • Welkom bij Codasium!
  • Handleiding
  • Moduleoverzicht
  • Module 1.1 - Hedy
  • Module 1.2 Van Hedy naar Python
    • Opdracht 1
    • Opdracht 2
  • Module 2.1 - Geschiedenis quiz
    • Les 1
      • Les 1a
      • Les 1b
    • Les 2
      • Les 2a
      • Les 2b
    • Les 3
      • Les 3a
      • Les 3b
    • Les 4
      • Les 4a
      • Les 4b
    • Les 5
      • Les 5a
      • Les 5b
    • Les 6
      • Les 6b
    • Les 7
      • Les 7a
      • Les 7b
  • Module 2.2 - PyGame Quiz
    • Les 1
      • Les 1b
    • Les 2
      • Les 2a
      • Les 2b
    • Les 3
      • Les 3a
      • Les 3b
    • Les 4
      • Les 4a
      • Les 4b
    • Les 5
      • Les 5a
      • Les 5b
    • Les 6
      • Les 6a
      • Les 6b
    • Les 7
      • Les 7a
      • Les 7b
    • Les 8
      • Les 8a
      • Les 8b
    • TODOs
  • Module 2.3 - Pygame Biologie
    • Les 1
      • Les 1a
      • Les 1b
    • Les 2
      • Les 2a
      • Les 2b
    • Les 3
      • Les 3a
      • Les 3b
    • Les 4
      • Les 4b
    • Les 5
      • Les 5b
  • Module 2.4 - Rekenmachine
    • Les 1
      • Les 1a
      • Les 1b
    • Les 2
      • Les 2a
      • Les 2b
    • Les 3
      • Les 3a
      • Les 3b
    • Les 4
      • Les 4a
      • Les 4b
    • Les 5
      • Les 5a
      • Les 5b
    • Les 6
      • Les 6a
      • Les 6b
    • Les 7 (extra)
      • Les 7a
      • Les 7b
  • Module 2.5 - Microbit
  • Module 2.6 - Creative Coding
    • Les 1a
    • Les 1b
    • Les 2a
    • Les 2b
  • Module 3.1 - Spreadsheets
    • Les 1
      • Les 1b
    • Les 2
      • Les 2b
    • Les 3
      • Les 3b
    • Les 4
      • Les 4b
    • Les 5
      • Les 5b
    • Les 6 en 7
      • Les 6b
    • Les 8 - Eindopdracht
      • Les 8b
  • Module 3.2 - Databases
    • Les 1
      • Les 1b
    • Les 2
      • Les 2b
    • Les 3
      • Les 3b
    • Les 4
      • Les 4b
    • Les 5
      • Les 5b
    • Les 6
      • Les 6b
    • Les 7
      • Les 7b
    • Les 8
      • Les 8b
  • Module 3.3 - TkInter Rekenmachine
    • Les 1
      • Les 1a
      • Les 1b
    • Les 2
      • Les 2a
      • Les 2b
    • Les 3
      • Les 3b
    • Les 4
      • Les 4b
    • Les 5
      • Les 5b
    • Les 6
      • Les 6b
    • Les 7
      • Les 7b
    • Les 8
      • Les 8b
  • Module 3.4 - TKinter Woordenoefenapp
    • Les 1
      • Les 1b
    • Les 2
      • Les 2b
    • Les 3
      • Les 3b
    • Les 4
      • Les 4b
    • Les 5
      • Les 5b
    • Les 6
      • Les 6b
    • Les 7
      • Les 7b
    • Les 8
      • Les 8b
  • Module 3.5 - Arduino
    • Les 1
      • Les 1b
    • Les 2
      • Les 2b
    • Les 3
      • Les 3b
    • Les 4
      • Les 4b
    • Les 5
      • Les 5b
    • Les 6
      • Les 6b
    • Les 7
      • Les 7b
    • Les 8
      • Les 8b
  • Module 4.1 - JavaScript
    • Les 1
      • Les 1b
    • Les 2
      • Les 2b
    • Les 3
      • Les 3b
    • Les 4
      • Les 4b
    • Les 5
      • Les 5b
    • Les 6
      • Les 6b
    • Les 7
      • Les 7b
    • Les 8
      • Les 8b
  • Module 4.2 - Game maken
  • Module 4.3 - EU app (TODO)
  • Module 5.1 - Eigen project
  • Module 5.2 - Generatieve AI
    • Les 1
      • Les 1a
      • Les 1b
    • Les 2
      • Les 2a
      • Les 2b
    • Les 3
      • Les 3a
      • Les 3b
    • Les 4
      • Les 4a
      • Les 4b
  • Module 6.1 - Boekenproject
    • Les 1 - Leeswijzer - Basis
    • Les 2 - Leeswijzer - Verdieping
    • Les 3 - Opdrachten
    • Les 4 - Opdrachten
  • Module 6.2 - Algoritmiek
  • 💤Archief
    • Module 1.1 - Nederlands
      • Spiekbrief
        • Spiekbrief - in te vullen
        • Spiekbrief - ingevuld
      • Les 1
        • Les 1a
        • Les 1b
      • Les 2
        • Les 2a
        • Les 2b
      • Les 3
        • Les 3a
        • Les 3b
      • Les 4
        • Les 4a
        • Les 4b
      • Les 5
        • Les 5a
        • Les 5b
      • Eindopdracht
        • Eindopdracht
      • Nakijkbladen
        • Les 1
        • Les 2
        • Les 3
        • Les 4
        • Les 5
    • Module 1.2 - Kunst
      • Les 1
        • Les 1a
        • Les 1b
      • Les 2
        • Les 2a
        • Les 2b
      • Les 3
        • Les 3a
        • Les 3b
      • Les 4
        • Les 4a
        • Les 4b
      • Les 5
        • Les 5a
        • Les 5b
      • Eindopdracht
        • Les 6b
      • Nakijkbladen
        • Les 1
        • Les 2
        • Les 3
        • Les 4
        • Les 5
    • Module 4.1 - Flask
      • Les 1
        • Les 1b
      • Les 2
        • Les 2b
      • Les 3
        • Les 3b
      • Les 4
        • Les 4b
      • Les 5
        • Les 5b
Powered by GitBook
On this page

Was this helpful?

  1. Module 2.2 - PyGame Quiz
  2. Les 8

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

PreviousLes 8NextLes 8b

Last updated 4 years ago

Was this helpful?