Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/local/racket/bin/racket
- #lang racket
- (require racket/class)
- (define tribe%
- (class object%
- ; Object initialization
- (init name)
- (define tribe-name name)
- ; Initialize superclass
- (super-new)
- ; Traits list
- (define traits-all (list
- ; Food-gathering traits, tied to terrain
- 'Fishermen ; Good on coastal starts, river
- ; starts, lake starts. Can be
- ; overdone.
- 'Hunting ; Killing local wildlife and
- ; feeding tribe. Can be overdone.
- 'Scavenging ; Steal kills from local
- ; predators. Dangerous at low skill.
- 'Gathering ; Berries, fruits, etc. Women's
- ; work.
- ))
- (define traits empty)
- ; Get/set methods for name
- (define/public (name-get)
- tribe-name)
- (define/public (name-set name)
- (set! tribe-name name))
- ; Trait management
- ; TODO Make this stuff safe
- (define/public (trait-add trait)
- (set! traits
- (append traits
- (list trait))))
- (define/public (trait-remove trait)
- (set! traits
- (remove trait traits)))
- (define/public (trait-list)
- traits)))
- (provide tribe%)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement