Esempio n. 1
0
	def get(self):      		        
		user = users.get_current_user()
		if not user:
			self.redirect("/")
			
		player = dbfunctions.getCurrentPlayer()
		game = dbfunctions.getGame()
		if game == None:
			self.redirect("/")

		civilization = dbfunctions.getCivilizationByPlayer(player)
		#navmap = helpers.drawNavMap(planet = planet)

		if civilization == None:
			civilization = helpers.startNewCivilization(player = player, game = game)
			planet = (db.get(civilization.hives[0])).planet
			game_dialogs = """<div id="newname_dialog" class="dialog" title="Name Your Home Planet">
				<form id="newname_form" action="/process-utilities" method="post"> 
					<label for="new_planet_name">Name</label>
					<input id="new_planet_name" maxlength="15" minlength="3" class="inputstuff required lettersonly" type="text" name="new_planet_name" /> 
					<input type="hidden" name="planet_key" value="%s" />
					<input id="submitButton" class="button" type="submit" value="Submit" /> 
				</form>
				</div>
				
				<script>
				$(document).ready(function() {
					$("#newname_dialog").dialog({ closeOnEscape: false, autoOpen: true, draggable: true, modal: true,  position: 'top', maxHeight: 515, maxWidth: 400, width: 400 });
				});
				</script>
			""" % planet.key()
		else:
			game_dialogs = ''
			planet = (db.get(civilization.hives[0])).planet
		
		import dashboard
		navmap, zoombar, sidebar, bottombar, dialogs = dashboard.draw(player, civilization, planet)
		
		import hivesoutposts
		hivesoutposts_tab = hivesoutposts.draw(player, civilization)
		
		import modules
		modules_tab = modules.draw(player, civilization)
		
		import fleets
		fleets_tab = fleets.draw(player, civilization)
		
		template_values = {
			'navmap': navmap,
			'sidebar': sidebar,
			'zoombar': zoombar,
			'bottombar': bottombar,
			'hivesoutposts': hivesoutposts_tab,
			'modules': modules_tab,
			'fleets': fleets_tab,
			'dialogs': game_dialogs
		      }

		path = os.path.join(os.path.dirname(__file__), 'game.html')
		self.response.out.write(template.render(path, template_values))
Esempio n. 2
0
	def getAge(self):
		#starttime = float(dbfunctions.convertToGameTime(time.mktime(self.start_time.timetuple())))
		#logging.error(time.mktime(dbfunctions.getGame().start_time.timetuple()))
#		currenttime = float(dbfunctions.convertToGameTime(dbfunctions.getGame().getTime()))
		currenttime = float(dbfunctions.getGame().getTime())
		diff_min = (currenttime - self.start_time)
		
		return '%.3f' % diff_min
Esempio n. 3
0
from google.appengine.ext import db
import dbfunctions, datamodel
import logging

old_time = dbfunctions.getGame().getTime()
dbfunctions.getGame().updateTime()
time = dbfunctions.getGame().getTime()
diff = time - old_time
logging.error('diff: ' + str(diff))

query = datamodel.Player.all()

class UpdateGame():
	def	updateHives(self, player, diff, hives):
		for hive in hives:
			# population
			total_pop = hive.rabbit_pop + hive.food_workers + hive.water_workers + hive.minerals_workers + hive.wood_workers + hive.solar_workers + hive.gas_workers + hive.wind_workers
			hive.rabbit_pop += float(hive.rabbit_pop * diff * hive.moral * hive.growth_rate)
	
			# psychic energy
			hive.psychic_energy += float(round(diff * 100 * 10)) # 10 units per 0.001 game time
	
			add_food = self.getHiveFoodProjection(hive, diff)
			hive.food += add_food
			hive.food -= (total_pop * 0.01)
			hive.energy -= (add_food * 0.01)
			hive.water -= (add_food * 0.01)
			hive.wood -= (add_food * 0.001)
			hive.minerals -= (add_food * 0.0001)
	
			add_water = self.getHiveWaterProjection(hive, diff)