def main(): global gb, sides, winner, loser, seconds_left, slowdown, simulatedtime b1, b2, b3, b4 = placeBoarders(boarder, wood_dark) b1.on_collision(delete_ball) place_matchboxes() gb = placeBall(gold, 0.19, 0.8, 0.05).mass(1.25).on_collision_with(sides, delete_it) sb = placeBall(steel, 0.57, 0.75, 0.05).mass(1).on_collision_with(sides, delete_it) cb = placeBall(copper, 0.81, 0.7, 0.05).mass(.75).on_collision_with(sides, delete_it) placeSilos() print "before run" pge.gravity() # pge.dump_world () pge.draw_collision(True, False) pge.slow_down(slowdown) # slows down real time by a factor of pge.register_handler(myquit, [QUIT]) pge.register_handler(key_pressed, [KEYDOWN]) pge.register_handler(mouse_hit, [MOUSEBUTTONDOWN]) pge.display_set_mode([800, 800]) # pge.display_fullscreen (True) seconds_left = simulatedtime * slowdown timer() pge.run(simulatedtime) if not winner: loser = True pge.text(0.2, 0.3, "Loser", white, 100, 1) pge.at_time(4.0, finish_game) pge.run(4.0) pge.finish_record()
def delete_me(o, e): global blocks, winner, loser blocks.remove(o) o.rm() if blocks == []: if not loser: winner = True pge.text(0.2, 0.3, "Winner", white, 100, 1) pge.at_time(4.0, finish_game)
def delete_ball (o, e): global winner, loser, captured for b in e.collision_between (): if b in captured: b.rm () captured.remove (b) if captured == []: if not loser: winner = True pge.text (0.2, 0.3, "Winner", white, 100, 1) pge.at_time (4.0, finish_game)
def placeSilos(): for x in [0.3, 0.6]: s = pge.poly4(x, 0.0, x, 0.07, x + 0.01, 0.07, x + 0.01, 0.0, wood_dark).fix() pge.text(0.15, 0.05, "+10", blue, 50, 1) pge.text(0.40, 0.05, "+5", blue, 50, 1) pge.text(0.65, 0.05, "+15", blue, 50, 1) pge.text(0.90, 0.05, "-20", red, 50, 1)
def timer(a=None, b=None): global seconds_left, previous if seconds_left >= 0: pge.at_time(1.0, timer) s = "%d" % seconds_left if previous != None: previous.rm() previous = pge.text(0.8, 0.9, s, white, 100, 1) seconds_left -= 1
def update_fps (e, o): global last_fps, fps_text fn = pge.get_frame_no () s = "fps %d" % (fn - last_fps) if fps_text != None: fps_text.rm () fps_text = pge.text (0.8, 0.1, s, white, 50, 1) last_fps = fn local_fps ()
def main(): global g, blue, steel, slowdown, seconds_left print "about to create white text" t1 = placeTriangle([0.2, 0.4], [0.4, 0.4], [0.3, 0.5], white) t2 = placeTriangle([0.6, 0.4], [0.8, 0.4], [0.7, 0.5], white) r = placeBall(copper, 0.5, 0.7, 0.07).fix().on_collision(boost) placeBall(steel, 0.95, 0.95, 0.01).fix() for b in range(4): placeBall(steel, b * 2 / 10.0 + 0.1, 0.25, 0.01).fix() placeSilos() print "completed white text" n, e, s, w = placeBoarders(boarder, wood_dark) s.on_collision(delete_ball) placeShoot() print "before run" pge.gravity() pge.dump_world() pge.draw_collision(True, False) # pge.collision_colour (green) pge.slow_down(6.0) # slows down real time by a factor of pge.fps(200) pge.display_set_mode([800, 800]) pge.register_handler(key_pressed, [KEYDOWN]) pge.register_handler(mouse_press, [MOUSEBUTTONDOWN]) pge.register_handler(myquit, [QUIT]) seconds_left = simulatedtime * slowdown timer() pge.run(simulatedtime) if not winner: loser = True pge.text(0.2, 0.3, "Loser", white, 100, 1) pge.at_time(4.0, finish_game) pge.run(4.0) pge.finish_record()
def out_of_time(): global loser, winner if not winner: loser = True pge.text(0.3, 0.7, "Loser", white, 100, 1) pge.at_time(4.0, finish_game)