def main(): #initialize pygame pygame.init() screen = pygame.display.set_mode(SCREEN_SIZE) bounds = screen.get_rect() #initialize game player = Player(bounds.center, bounds) #sets starting position fir player robot = Robot((randrange(0,800),randrange(0,600)), bounds) player_grp = GroupSingle(player) #robot_grp = GroupSingle(robot) robot_grp = Group() robot_grp.add(Robot((randrange(0,800),randrange(0,600)), bounds)) robot_grp.add(Robot((randrange(0,800),randrange(0,600)), bounds)) robot_grp.add(Robot((randrange(0,800),randrange(0,600)), bounds)) meteors = Group() impacts = Group() score = 0 spawntime = 10 spawnticker = 0 font = pygame.font.Font(None,35) #game loop done = False clock = pygame.time.Clock() print "Loop Started" while not done: for event in pygame.event.get(): if event.type == QUIT: done = True elif event.type == KEYDOWN and event.key == K_ESCAPE: done = True elif event.type == KEYDOWN and event.key == K_SPACE: if player.carrying: player.drop() else: for robot in groupcollide(robot_grp, player_grp, False, False): player.grab(robot) score += 5 print "robot picked up" break #input #spawn meteors spawnticker += 1 if spawnticker >= spawntime: #print "spawned!" meteors.add(Meteor((randrange(0,800),randrange(0,600)),bounds, 90, "rock")) spawnticker = 0 #update meteors.update() ImpactGroup.impacts.update() player.update() #collisions coll = groupcollide(player_grp, ImpactGroup.impacts, False, False) for robot in coll: robot.damage(coll[robot][0]) coll = groupcollide(robot_grp, ImpactGroup.impacts, False, False) for robot in coll: robot.damage(coll[robot][0]) #draw screen.fill(BG_COLOR) robot_grp.draw(screen) ImpactGroup.impacts.draw(screen) meteors.draw(screen) player_grp.draw(screen) robot_grp.draw(screen) clock.tick(30) score_text = font.render("Score: %05d"%score, False, (255,255,255)) screen.blit(score_text, (5,5)) pygame.display.flip()