Geschreven door studenten die geslaagd zijn Direct beschikbaar na je betaling Online lezen of als PDF Verkeerd document? Gratis ruilen 4,6 TrustPilot
logo-home
Tentamen (uitwerkingen)

CPSC110 Pset4 solution

Beoordeling
-
Verkocht
-
Pagina's
11
Cijfer
A
Geüpload op
16-11-2025
Geschreven in
2025/2026

This is the correct and the latest solution for pset 4.

Instelling
Vak

Voorbeeld van de inhoud

;​; DO NOT PUT ANYTHING PERSONALLY IDENTIFYING BEYOND YOUR CWL IN THIS​
​FILE.​
​;; YOUR CWLs WILL BE SUFFICIENT TO IDENTIFY YOU.​
​(require 2htdp/universe)​
​(require 2htdp/image)​
​(require spd/tags)​

​(@assignment psets/pset-04);Do not edit or remove this tag​

(​ @problem 1)​
​(@htdw ListOfBall)​

;​; Constants:​
​(define WIDTH 605)​
​(define HEIGHT 535)​

​(define BALL-RADIUS 10)​

(​ define TOP (+ 0 BALL-RADIUS));these constants define the "inner box"​
​(define BOT (- HEIGHT 1 BALL-RADIUS));that constrain the center of the ball​
​(define LEF (+ 0 BALL-RADIUS));​
​(define RIG (- WIDTH 1 BALL-RADIUS));​

​(define BALL (circle BALL-RADIUS "solid" "white"))​

​(define MTS (rectangle WIDTH HEIGHT "solid" "green"))​


;​;​
​======================================================================​
​=====​
​;;​
​======================================================================​
​=====​
​;; Data definitions:​

(​ @htdd Ball)​
​(define-struct ball (x y dx dy))​
​;; Ball is (make-ball Number Number Number Number)​
​;; interp. (make-ball x y dx dy) is ball​
​;; - position x, y in screen coordinates​
​;; - velocity dx, dy in pixels/tick​
​;; CONSTRAINT: x is in [LEF, RIG]; y is in [TOP, BOT]​
​(define B1 (make-ball (/ WIDTH 2) (/ HEIGHT 2) 4 -3))​

​(@dd-template-rules compound)​

​(define (fn-for-ball b)​

, ​(... (ball-x b)​
​(ball-y b)​
​(ball-dx b)​
​(ball-dy b)))​

(​ @htdd ListOfBall)​
​;; ListOfBall is one of:​
​;; - empty​
​;; - (cons Ball ListOfBall)​
​;; interp. a list of balls​
​(define LOB1 empty)​
​(define LOB2 (cons B1 empty))​

​(@dd-template-rules one-of​
​atomic-distinct​
​compound​
​ref​
​self-ref)​

​(define (fn-for-lob lob)​
​(cond [(empty? lob) (...)]​
​[else​
​(... (fn-for-ball (first lob))​
​(fn-for-lob (rest lob)))]))​




;​;​
​======================================================================​
​=====​
​;;​
​======================================================================​
​=====​
​;; Functions:​

(​ @htdf main)​
​(@signature ListOfBall -> ListOfBall)​
​;; start the game, call with (main LOB1)​
​;; no tests for main functions​

​(@template-origin htdw-main)​

​(define (main lob)​
​(big-bang lob​
​(to-draw render-balls) ;ListOfBall -> Image​
​(on-tick next-balls) ;ListOfBall -> ListOfBall​
​(on-key handle-key) ;ListOfBall KeyEvent -> ListOfBall​
​(on-mouse handle-mouse))) ;ListOfBall MouseEvent Integer Integer​

Geschreven voor

Instelling
Studie
Vak

Documentinformatie

Geüpload op
16 november 2025
Aantal pagina's
11
Geschreven in
2025/2026
Type
Tentamen (uitwerkingen)
Bevat
Vragen en antwoorden

Onderwerpen

$10.32
Krijg toegang tot het volledige document:

Verkeerd document? Gratis ruilen Binnen 14 dagen na aankoop en voor het downloaden kan je een ander document kiezen. Je kan het bedrag gewoon opnieuw besteden.
Geschreven door studenten die geslaagd zijn
Direct beschikbaar na je betaling
Online lezen of als PDF

Maak kennis met de verkoper
Seller avatar
06shyun1211

Maak kennis met de verkoper

Seller avatar
06shyun1211 University of British Columbia
Volgen Je moet ingelogd zijn om studenten of vakken te kunnen volgen
Verkocht
1
Lid sinds
4 maanden
Aantal volgers
0
Documenten
8
Laatst verkocht
3 weken geleden

0.0

0 beoordelingen

5
0
4
0
3
0
2
0
1
0

Populaire documenten

Recent door jou bekeken

Waarom studenten kiezen voor Stuvia

Gemaakt door medestudenten, geverifieerd door reviews

Kwaliteit die je kunt vertrouwen: geschreven door studenten die slaagden en beoordeeld door anderen die dit document gebruikten.

Niet tevreden? Kies een ander document

Geen zorgen! Je kunt voor hetzelfde geld direct een ander document kiezen dat beter past bij wat je zoekt.

Betaal zoals je wilt, start meteen met leren

Geen abonnement, geen verplichtingen. Betaal zoals je gewend bent via Bancontact, iDeal of creditcard en download je PDF-document meteen.

Student with book image

“Gekocht, gedownload en geslaagd. Zo eenvoudig kan het zijn.”

Alisha Student

Veelgestelde vragen