Mercurial > atc
view atcgame/maps.py @ 47:d2efdc4ff196
Initial reorganization of the code
author | Josef "Jeff" Sipek <jeffpc@josefsipek.net> |
---|---|
date | Fri, 01 Jun 2007 02:32:48 -0400 |
parents | |
children | 955cd24d7a05 |
line wrap: on
line source
#/* # * ATC - Air Traffic Controller simulation game # * # * Copyright (C) 2004-2007 Josef "Jeff" Sipek <jeffpc@josefsipek.net> # * # * This program is free software; you can redistribute it and/or modify # * it under the terms of the GNU General Public License version 2 as # * published by the Free Software Foundation. # * # * This program is distributed in the hope that it will be useful, # * but WITHOUT ANY WARRANTY; without even the implied warranty of # * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # * GNU General Public License for more details. # */ import os import sys import config import beacon def get_map_info(file): fd = open(file, 'r') s = fd.read() fd.close() s = s.split("\n") return Map( float(s[0]), # centerx float(s[1]), # centery float(s[2]), # mperpix float(s[3]), # atcx float(s[4])) # atcy def get_navaids(file, m): fd = open(file, 'r') s = fd.read() fd.close() s = s.split("\n") for line in s: if (line.__len__() == 0): continue line = line.split(" ") m.ninfo.append({ "xoff": float(line[0]), "yoff": float(line[1]), "freq": float(line[2]), "name": line[3], "type": line[4], "output": float(line[5])}) class Map: def __init__(self, centerx, centery, mperpix, atcx, atcy): self.centerx = centerx self.centery = centery self.mperpix = mperpix self.atcx = atcx self.atcy = atcy self.ninfo = [] self.navs = [] self.image = "" def bootstrap(self): for nav in self.ninfo: if nav["type"] == "VOR": self.navs.append(beacon.VOR_Beacon(nav["name"], nav["freq"], (nav["xoff"], nav["yoff"]))) elif nav["type"] == "ILS": pass # FIXME: ILS beacons are little complicated def cleanup(self): while self.navs.__len__(): self.navs.pop() MAPS = [] maps_dir = os.listdir(config.maps_dir) for map_dir in maps_dir: files = os.listdir(config.maps_dir + "/" + map_dir) if (files.count("map.info") == 0): print "Missing " + config.maps_dir + "/" + map_dir + "/map.info" sys.exit(1) if (files.count("map.png") == 0): print "Missing " + config.maps_dir + "/" + map_dir + "/map.png" sys.exit(1) if (files.count("navaid.info") == 0): print "Missing " + config.maps_dir + "/" + map_dir + "/navaid.info" sys.exit(1) map_info = get_map_info(config.maps_dir + "/" + map_dir + "/map.info") get_navaids(config.maps_dir + "/" + map_dir + "/navaid.info", map_info) map_info.image = config.maps_dir + "/" + map_dir + "/map.png" MAPS.append(map_info) print "Parsed and added '" + map_dir + "' map (" + str(map_info.ninfo.__len__()) + " navaids)" print "Added " + str(MAPS.__len__()) + " maps"