#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)))))