git.fiddlerwoaroof.com
main.py
3d5a515d
 import libs.patch_random
 import random
86f3fea2
 #random.seed(2)
3d5a515d
 
6728b112
 import libtcodpy as tc
 import numpy as np
 
dff12016
 from libs import overlay
 from libs import combat
54cb1995
 from src import events
 from src import player
 from src import console
 from src import map
6728b112
 
def7cb88
 import random
86f3fea2
 import bisect
6728b112
 
 
b3d5fa82
 WIDTH = 79
 HEIGHT = 46
6728b112
 class Application(object):
 	def __init__(self):
b3d5fa82
 		self.screen = console.Screen(WIDTH, HEIGHT)
d7409888
 		self.terrain_registry = map.TerrainRegistry()
 		self.terrain_registry.load_from_file('data/terrain.yml')
b3d5fa82
 		self.map = map.Map(WIDTH,HEIGHT, self.terrain_registry)
dff12016
 		self.player = player.Player(4,5, self.map, combat.Adventurer.randomize())
54cb1995
 		self.events = events.EventHandler()
 		player.ArrowHandler(self.player, self.events)
6728b112
 
3d5a515d
 		self.actors = []
 		for x in range(40):
b3d5fa82
 			self.actors.append(overlay.Actor(random.randrange(WIDTH), random.randrange(HEIGHT), self.map))
5f75058b
 
 		self.objects = []
 		for x in range(50):
b3d5fa82
 			self.objects.append(overlay.Potion(random.randrange(WIDTH), random.randrange(HEIGHT), self.map))
def7cb88
 
6728b112
 		tc.sys_set_fps(60)
 
86f3fea2
 	def update_actors(self):
 		to_pop = []
 		for idx,actor in enumerate(self.actors):
 			if not actor.tick():
 				bisect.insort(to_pop, idx)
 		for pop in reversed(to_pop):
 			self.actors.pop(pop)
 
6728b112
 	def init(self):
 		self.screen.init("test")
01357f3e
 		self.player.draw()
86f3fea2
 		self.update_actors()
 		for overlay in self.actors + self.objects:
 			overlay.draw()
6728b112
 
 	def run(self):
 		while not tc.console_is_window_closed():
 			self.events.tick()
86f3fea2
 			self.update_actors()
6728b112
 			self.map.draw(self.screen)
01357f3e
 			tc.console_print(0, 0,1, '%d' % tc.sys_get_fps())
6728b112
 			tc.console_flush()
 
 
 if __name__ == '__main__':
 	app = Application()
 	app.init()
 	app.run()