Mercurial > atc
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 |
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() |