Files
Pacman-Project/pacman-project/test.rkt
2026-03-23 10:28:54 +01:00

60 lines
1.9 KiB
Racket

#lang r7rs
;;; Tests voor de spelinteracties van het Pac-Man project.
(define-library (pacman-project tests)
(import (scheme base)
(scheme write)
(pp1 graphics)
(pacman-project screen)
(pacman-project maze)
(pacman-project coin)
(pacman-project key)
(pacman-project pacman)
(pacman-project score)
(pacman-project time-limit)
(pacman-project pause-menu)
(pacman-project game-logic))
(begin
;test of pacman door de muur kan of niet
(set-pacman-x! (* 1 cell-size))
(set-pacman-y! (+ (* 1 cell-size) maze-offset-y))
(display "Pac-Man kan niet door de muur: ")
(display (= (pacman-x) (begin (move-pacman! (- cell-size) 0) (pacman-x))))
(newline)
;test of pacman een muntje opeet
(set-pacman-x! (* 4 cell-size))
(set-pacman-y! (+ (* 5 cell-size) maze-offset-y))
(move-pacman! cell-size 0)
(display "Muntje wordt opgegeten: ")
(display (cell-empty? 5 5))
(newline)
(cell-set! 5 5 0)
(remove-coin! 5 5)
;test of de score verhoogd wordt of niet
(display "Score is verhoogd: ")
(display (>= (get-score) 10))
(newline)
;check of de teleportatie werkt
(set-pacman-x! (* 0 cell-size))
(set-pacman-y! (+ (* 14 cell-size) maze-offset-y))
(move-pacman! (- cell-size) 0)
(display "Teleportatie links naar rechts: ")
(display (= (pacman-x) (* (- maze-cols 1) cell-size)))
(newline)
;test of een deur pas open gaat als de sleutel opgepakt werd.
(set-pacman-x! (* 2 cell-size))
(set-pacman-y! (+ (* 4 cell-size) maze-offset-y))
(let ((x-voor (pacman-x)))
(move-pacman! cell-size 0)
(display "Deur blokkeert zonder sleutel: ")
(display (= (pacman-x) x-voor))
(newline)
(set-pacman-x! (* 2 cell-size))
(set-pacman-y! (+ (* 5 cell-size) maze-offset-y)))))