annotate atc @ 46:ca661c5a267b

Renamed atc.py to just atc
author Josef "Jeff" Sipek <jeffpc@josefsipek.net>
date Fri, 01 Jun 2007 02:08:43 -0400
parents
children d2efdc4ff196
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
46
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
1 #!/usr/bin/python
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
2
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
3 #/*
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
4 # * ATC - Air Traffic Controller simulation game
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
5 # *
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
6 # * Copyright (C) 2004-2007 Josef "Jeff" Sipek <jeffpc@josefsipek.net>
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
7 # *
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
8 # * This program is free software; you can redistribute it and/or modify
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
9 # * it under the terms of the GNU General Public License version 2 as
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
10 # * published by the Free Software Foundation.
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
11 # *
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
12 # * This program is distributed in the hope that it will be useful,
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
13 # * but WITHOUT ANY WARRANTY; without even the implied warranty of
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
14 # * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
15 # * GNU General Public License for more details.
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
16 # */
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
17
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
18 version = "0.10-pre2"
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
19
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
20 try:
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
21 import sys
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
22 import threading
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
23 import pygame
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
24
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
25 import atc_config
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
26
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
27 import atc_colors
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
28 import atc_utils
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
29 import atc_plane
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
30 import atc_message
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
31
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
32 import atc_single
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
33 except ImportError, err:
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
34 print "Couldn't load module %s" % (err)
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
35 sys.exit()
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
36
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
37 size = width, height = 1024, 768
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
38
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
39 def main():
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
40 """ Main fn to run the main thread """
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
41
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
42 # Init
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
43 pygame.init()
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
44 screen = pygame.display.set_mode(size)
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
45 pygame.display.set_caption('Air Traffic Controller (' + version + ')')
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
46
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
47 # background music
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
48 try:
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
49 pygame.mixer.init()
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
50 except pygame.error:
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
51 print "Could not init sound"
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
52 sys.exit(1)
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
53 #atc_utils.playmusic("some.mp3");
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
54
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
55 # Set background
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
56 background = pygame.Surface(screen.get_size()).convert()
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
57 background.fill(atc_colors.black)
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
58
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
59 (splash_image, splash_rect) = atc_utils.load_png('data/image/splash.png')
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
60 background.blit(splash_image, (0, 0))
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
61
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
62 #blit!
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
63 screen.blit(background, (0, 0))
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
64 pygame.display.flip()
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
65
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
66 optsel = 0
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
67 menustr = ('single', 'multi', 'quit')
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
68
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
69 while 1:
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
70 event = pygame.event.wait()
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
71 if event.type == pygame.QUIT:
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
72 sys.exit()
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
73 if event.type == pygame.KEYDOWN:
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
74 if event.key == pygame.K_UP:
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
75 optsel = (optsel + 2) % 3
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
76 if event.key == pygame.K_DOWN:
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
77 optsel = (optsel + 1) % 3
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
78 if event.key == pygame.K_RETURN:
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
79 optsel = optsel | 0x10
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
80 if optsel == 0x12:
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
81 sys.exit()
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
82
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
83 screen.blit(background, (0, 0))
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
84
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
85 (menu_img, menu_rect) = atc_utils.load_png('data/image/menu_' + menustr[optsel & 3] + '.png')
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
86 screen.blit(menu_img, ((width - 334)/2.0, (height - 225)/2.0))
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
87
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
88 pygame.display.flip()
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
89
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
90 if (optsel & 0x10):
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
91 optsel = optsel & 3
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
92 if (optsel == 0): # single player
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
93 atc_single.startgame(screen)
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
94 if (optsel == 1): # multi player
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
95 pass # FIXME: implement
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
96
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
97 if (__name__ == '__main__'):
ca661c5a267b Renamed atc.py to just atc
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
diff changeset
98 main()