Skip to content

Instantly share code, notes, and snippets.

@soegaard
Created August 26, 2012 21:12
Show Gist options
  • Save soegaard/3483621 to your computer and use it in GitHub Desktop.
Save soegaard/3483621 to your computer and use it in GitHub Desktop.
Pacman and Pinky
;; The first three lines of this file were inserted by DrRacket. They record metadata
;; about the language level of this file in a form that our tools can easily process.
#reader(lib "htdp-beginner-reader.ss" "lang")((modname pacman) (read-case-sensitive #t) (teachpacks ((lib "image.ss" "teachpack" "2htdp") (lib "universe.ss" "teachpack" "2htdp"))) (htdp-settings #(#t constructor repeating-decimal #f #t none #f ((lib "image.ss" "teachpack" "2htdp") (lib "universe.ss" "teachpack" "2htdp")))))
;;; Inspired by http://www.khanacademy.org/cs/chompy-and-friends/882986876
(define PACMAN-RADIUS 50)
(define pacman
(overlay/offset
(rotate 210 (triangle PACMAN-RADIUS "solid" "black"))
(- (* 2/3 PACMAN-RADIUS)) 0
(circle PACMAN-RADIUS "solid" "yellow")))
(define ghost-bredde 80)
(define fod-bredde (/ ghost-bredde 3)) ; 3 fødder !
; Pinky
(define fod (circle (* 1/2 fod-bredde) "solid" "pink"))
(define krop (overlay/offset
(ellipse ghost-bredde (+ ghost-bredde 10) "solid" "pink")
0 (+ (* 1/4 ghost-bredde) 5)
(rectangle ghost-bredde (* 1/2 ghost-bredde) "solid" "pink")))
(define øje (overlay/offset
(ellipse 12 20 "solid" (color 92 179 255))
-4 0
(ellipse 20 30 "solid" "white")))
(define øjne (beside øje (rectangle 4 0 0 "black") øje)) ; mode = 0 er gennemsigtig
(define pinky (overlay øjne
(overlay/offset krop 0 40 (beside fod fod fod))))
; Pacman
(define (tegn t)
(overlay/offset
(beside pinky (rectangle ghost-bredde 0 0 "black") pacman)
(- 200 t) 0
(empty-scene 800 400 "black")))
(animate tegn)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment