[ create a new paste ] login | about

Link: http://codepad.org/VbpdnYtf    [ raw code | output | fork ]

hurracane - Scheme, pasted on Dec 6:
(#%require "Canvas.rkt")
(load "println.rkt")
(load "colours.rkt")
(load "rectangle.rkt")
(load "origins.rkt")

(define (spawn-rect x y width height)
  (define obj (make-rect))
  obj)

;takes a list of 
;things that can be directly accessed in the object
(define (getType obj)
  (obj 'get-type))

(define (getName obj)
  (obj 'get-name))
(define (setName! obj newname)
  ((obj 'set-name) newname))

(define (getSpeed obj)
  (obj 'get-speed))
(define (setSpeed! obj s)
  ((obj 'set-speed) s))

(define (getStatus obj)
  (obj 'get-status))
(define (setStatus! obj s)
  ((obj 'set-status) s))

(define (applyPhysics? obj)
  (obj 'apply-physics?))
(define (setPhysics! obj bool)
  ((obj 'set-physics) bool))


;things that access the secondary object which holds the appearance of the object

(define (getDrawProcedure obj)
  ((obj 'get-appearance) 'get-drawprocedure))
(define (setDrawProcedure! obj dp)
  (((obj 'get-appearance) 'set-drawprocedure) dp))

(define (getWidth obj)
  ((obj 'get-appearance) 'get-width))
(define (setWidth! obj w)
  (((obj 'get-appearance) 'set-width) w))

(define (getHeight obj)
  ((obj 'get-appearance) 'get-height))
(define (setHeight! obj h)
  (((obj 'get-appearance)'set-height) h))

(define (getRadius obj)
  ((obj 'get-appearance) 'get-radius))
(define (setRadius! obj r)
  (((obj 'get-appearance) 'set-radius) r)
  (setWidth! obj (* r 2))
  (setHeight! obj (* r 2)))

(define (getColour obj)
  ((obj 'get-appearance) 'get-colour))
(define (setColour! obj c)
  (((obj 'get-appearance) 'set-colour) c))


;andere abstracties
(define (isRectangle? obj)
  (eq? (getType obj) 'rectangle))
(define (isCircle? obj)
  (eq? (getType obj) 'circle))
(define (isProjectile? obj)
  (or (isRectangle? obj)
      (isCircle? obj)))
(define (isAlive? obj)
  (eq? (getStatus obj) 'dead))


;Procedures that work with a list of objects.
;Mainly here so it gets imported into draw.rkt
(define (getFirstObject lst)
  (car lst))
(define (getOtherObjects lst)
  (cdr lst))


Output:
1
reference to undefined identifier: #%require


Create a new paste based on this one


Comments: