Renamed files: constanten→constants, adt-positie→adt-position, adt-doolhof→adt-maze, adt-sleutel→adt-key, adt-tijdslimiet→adt-timer, adt-teken→adt-draw, adt-spel→adt-game. All message names, variables, comments, and tests converted to English. Also fixed counter location bug (time-label x/y were swapped). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
34 lines
1.2 KiB
Racket
34 lines
1.2 KiB
Racket
#lang r7rs
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;; Slang Stuk ADT ;;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
(define-library ()
|
|
(import (scheme base))
|
|
(export maak-slang-stuk)
|
|
|
|
(begin
|
|
|
|
|
|
;; We willen een slang voorstellen. Dit doen we natuurlijk door meerdere
|
|
;; lichaamsdelen te tekenen. We hebben een hoofd en de rest van de staart die
|
|
;; bestaat uit verschillende blokjes. Om het gemakkelijk te maken stellen we het
|
|
;; hoofd hetzelfde voor als het lichaam. Dit wil zeggen dat de slang
|
|
;; uiteindelijk zal bestaan uit een lijst van objectjes van het Slang Stuk ADT.
|
|
|
|
;; maak-slang-stuk :: positie -> slang-stuk
|
|
(define (maak-slang-stuk positie)
|
|
|
|
;; positie! :: positie -> /
|
|
(define (positie! nieuwe-positie)
|
|
(set! positie nieuwe-positie))
|
|
|
|
;; Dispatch functie
|
|
(define (dispatch-slang-stuk msg)
|
|
(cond ((eq? msg 'positie) positie)
|
|
((eq? msg 'positie!) positie!)
|
|
(else (error "Slang Stuk ADT -- Onbekend bericht:" msg))))
|
|
|
|
dispatch-slang-stuk)))
|