60 lines
1.9 KiB
Racket
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))))) |