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>
40 lines
1.8 KiB
Racket
40 lines
1.8 KiB
Racket
#lang r7rs
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;; Hulp Procedures ;;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
;; Het schrijven van algemene hulpprocedures die niet specifiek bij een ADT
|
|
;; horen kan vaak nuttig zijn. Dit kan gaan van procedures voor het eenvoudiger
|
|
;; om iets te debuggen, of om een bepaald patroon op standaard datatypes van
|
|
;; Scheme te voorzien dat niet standaard aanwezig is. E.g., als je in je
|
|
;; implementatie regelmatig, en op verschillende plaatsen, de som van een lijst
|
|
;; getallen nodig hebt kan je in de globale omgeving daar een procedure voor
|
|
;; voorzien. De juiste hulpprocedures ondersteunen hierbij de rest van je
|
|
;; implementatie.
|
|
|
|
(define-library ()
|
|
(import (scheme base)
|
|
(scheme write))
|
|
(export debug random)
|
|
|
|
(begin
|
|
|
|
;; We bieden de `random` van Racket simpel opnieuw aan.
|
|
;; De `#%require`-syntax is speciaal aan de Racket-implementatie van R7RS en
|
|
;; is gelijkaardig aan de `import` van R7RS (maar mag ook elders gebruikt
|
|
;; worden).
|
|
;; Voor je eigen project is het gebruiken van `random` op deze manier
|
|
;; uiteraard ook toegestaan. Het importeren van andere procedures uit
|
|
;; Racket, die niet beschikbaar zijn in R7RS, is ook toegelaten, maar
|
|
;; sommige procedures kunnen niet toegepast worden op enkele datastructuren
|
|
;; die R7RS gebruikt (bv. lijsten). Gebruik `#%require` dus op eigen risico.
|
|
(#%require (only racket random))
|
|
|
|
;; Een hulpprocedure om eenvoudig mee te debuggen (door de boolean op `#f` te zetten wordt er niets meer geprint).
|
|
(define debugging? #t)
|
|
(define (debug . msg)
|
|
(if debugging?
|
|
(begin (display msg)
|
|
(newline))))))
|