Sections
Timeline
Sub-Sections
Download
Unified Diff
Zip Archive
Metanav
Preferences
About Trac
Links
Slowchop Studios
Gerald Kaszuba
Advertisement

Changeset 38

Show
Ignore:
Timestamp:
24/03/08 00:12:50 (10 months ago)
Author:
gak
Message:
 
Location:
muckaround/freetower
Files:
4 modified

Legend:

Unmodified
Added
Removed
  • muckaround/freetower/source/game.py

    r37 r38  
    1717    def think(self, dt): 
    1818        self.current_time += dt 
     19        self.level.think(dt) 
    1920 
    2021    def input(self): 
  • muckaround/freetower/source/level.py

    r37 r38  
    55 
    66from structures import * 
     7from transports import TransportExit 
    78 
    89 
     
    4849        self.transport_exits = [] 
    4950 
     51    def think(self, dt): 
     52 
     53#        for transport in self.transports: 
     54#            transport.think(dt) 
     55 
     56        for person in self.people: 
     57            person.think(dt) 
     58 
    5059    def set_section(self, level, section, struct, *args, **kwargs): 
    5160 
     
    6978        if not person_type: 
    7079            person_type = NormalPerson 
    71         person = person_type(self, level=0, section=0, *args, **kwargs) 
     80        person = person_type(self, *args, **kwargs) 
    7281        self.people.append(person) 
     82        return person 
    7383 
    7484    def add_transport(self, transport, *args, **kwargs): 
     
    186196            transport.render() 
    187197 
     198        for person in self.people: 
     199            person.render() 
     200 
    188201    def render_path(self, p): 
    189202        glColor3f(0.2, 0.7, 0.2) 
  • muckaround/freetower/source/people.py

    r37 r38  
     1import random 
     2 
     3from pyglet.gl import * 
     4 
     5from transports import TransportExit 
     6 
    17class Person(object): 
    28 
     
    1622        self.state = None 
    1723 
    18     def think(self): 
    19         if not self.state: 
    20             self.think_of_something() 
     24    def think(self, dt): 
     25        #if not self.state: 
     26        #    self.think_of_something() 
     27        if self.destination: 
     28            assert(self.path) 
     29            if self.destination.dst.section > self.section: 
     30                direction = 1 
     31            else: 
     32                direction - 1 
     33            self.section += direction 
     34            print 'zing' 
    2135 
    2236    def think_of_something(self): 
    2337        pass 
     38 
     39    def find_path(self, level, section): 
     40        target = TransportExit(None, level, section) 
     41        self.path = self.levelobj.find_path( 
     42            TransportExit(None, self.level, self.section), 
     43            target, 
     44            maxcost=100, 
     45            ) 
     46        self.target = target 
     47        self.destination = self.path[0] 
     48 
     49 
     50    def render(self): 
     51        glBegin(GL_LINES) 
     52        glVertex2f(self.section + random.random(), self.level + 0.3) 
     53        glVertex2f(self.section + random.random(), self.level + 0.5) 
     54        glEnd() 
     55 
    2456 
    2557class NormalPerson(Person): 
  • muckaround/freetower/test.py

    r37 r38  
    1010from source.transports import * 
    1111from source.game import Game 
     12from source.people import * 
    1213 
    1314def main(): 
     
    2829    level.add_transport(Stairs, 0, 30, direction=1) 
    2930    level.add_transport(Lift, 0, 20, height=6) 
     31    p = level.add_person(person_type=Person, level=0, section=0) 
     32    p.find_path(0, 10) 
    3033 
    3134    t = time.time() 
     
    4043            print frames / (time.time() - t) 
    4144 
    42  
    4345if __name__ == '__main__': 
    4446    sys.exit(main())