def main(): pygame.init() displayWidth = 640 displayHeight = 640 screen = pygame.display.set_mode((displayWidth, displayHeight)) grid = model.Grid(40, 40, model.EMPTY, 20, 20) bgGrid = model.Grid(40, 40, model.EMPTY, 20, 20) view.loadSprites() grid.entityList = model.initialEntities(grid) model.placeEntities(grid) persistance.load(grid, bgGrid) #Loads on startup of file. pygame.time.set_timer(pygame.USEREVENT, 1000) pendingActionList = entities.OrderedList() controller.initializeActions(pendingActionList, grid.entityList) #must be placed elsewhere gatherer = grid.entityList[0] gatherer.aim = grid.entityList[2] for entity in grid.entityList: if isinstance(entity, entities.MonsterEnergy): gatherer.aim = entity break print (gatherer.aim) resetCopy = controller.returnCopiesOf(grid.entityList) while 1: for event in pygame.event.get(): keys = pygame.key.get_pressed() mouse = pygame.mouse.get_pressed() x, y = pygame.mouse.get_pos() p = controller.clickToPoint(grid, x, y) if event.type == QUIT: pygame.quit() sys.exit() if event.type.type == pygame.USEREVENT: controller.handleTicks(pendingActionList, pygame.time.get_ticks()) if mouse[0]: controller.handleLeftClicks(grid, keys, p, bgGrid) if mouse[2]: controller.handleRightClicks(grid, p) if keys[K_0]: grid.keyPressed = 0 print("Key pressed 0") grid = model.resetGrid(resetCopy, bgGrid) grid.entityList = controller.returnCopiesOf(resetCopy) gatherer = grid.entityList[0] grid.spacePressed = False if keys[K_s]: persistance.save(grid, bgGrid) if keys[K_l]: persistance.load(grid, bgGrid) controller.handleHover(grid, x, y) controller.handleKeys(grid, keys, gatherer) #controller.takeAction(grid, grid.spacePressed, grid.keyPressed, gatherer) if grid.spacePressed: controller.updateGatherers(grid) view.draw(screen, grid, bgGrid, grid.screenW, grid.screenH) #view.handleSprites(screen, entityList) controller.cleanUp(grid.entityList) pygame.display.flip() model.placeEntities(grid)
board.board[7][6] = EmptyPiece() # board.board[3][2] = KingPiece(3, 2, human_player)""" # name = input("Enter your name: ") # name = "guz" name = view.choosename() human_player = Player(True, name, game_pieces.RED_PIECE, game_pieces.RED_KING_PIECE) ai_player = Player(False, "AI", game_pieces.BLACK_PIECE, game_pieces.BLACK_KING_PIECE) board = Board(human_player, ai_player) # algorithm = Algorithm() algorithm = MTDf() print(name + ", you will be playing as X\n") view.draw(board) print_board(board) print("\n") while board.get_winner() is None: selected_piece = input_piece(board, human_player) possible_move_directions = board.possible_move_directions(selected_piece) while not possible_move_directions: print("The selected piece is not able to move anywhere.") selected_piece = input_piece(board, human_player) possible_move_directions = board.possible_move_directions( selected_piece) direction_string = None direction = None
from view import draw from factory.game import Game from factory.factory import Factory if __name__ == "__main__": game = Game([ Factory(), Factory(100), Factory(200), Factory(300), Factory(400) ], 5) draw(game)
def main(): pygame.init() displayWidth = 640 displayHeight = 640 screen = pygame.display.set_mode((displayWidth, displayHeight)) grid = model.Grid(40, 40, model.EMPTY, 20, 20) bgGrid = model.Grid(40, 40, model.EMPTY, 20, 20) #view.loadSprites() img = entities.Images() view.imgLoad(img) grid.entityList = model.initialEntities(grid) model.placeEntities(grid) persistance.load(grid, bgGrid) #Loads on startup of file. pygame.time.set_timer(pygame.USEREVENT, 1000) pendingActionList = entities.OrderedList() controller.initializeActions(pendingActionList, grid.entityList) #must be placed elsewhere gatherer = grid.entityList[0] gatherer.aim = grid.entityList[0] for entity in grid.entityList: if isinstance(entity, entities.MonsterEnergy): gatherer.aim = entity break resetCopy = controller.returnCopiesOf(grid.entityList) while 1: for event in pygame.event.get(): keys = pygame.key.get_pressed() mouse = pygame.mouse.get_pressed() x, y = pygame.mouse.get_pos() p = controller.clickToPoint(grid, x, y) if event.type == QUIT: pygame.quit() sys.exit() if mouse[0]: controller.handleLeftClicks(pendingActionList, grid, keys, p, bgGrid) if mouse[2]: controller.handleRightClicks(grid, p) if keys[K_0]: grid.keyPressed = 0 grid = model.resetGrid(resetCopy, bgGrid) grid.entityList = controller.returnCopiesOf(resetCopy) gatherer = grid.entityList[0] pendingActionList = entities.OrderedList() controller.initializeActions(pendingActionList, grid.entityList) grid.spacePressed = False print("World reset.") if keys[K_s]: persistance.save(grid, bgGrid) if keys[K_l]: persistance.load(grid, bgGrid) pendingActionList.list = [] controller.initializeActions(pendingActionList, grid.entityList) grid.spacePressed = False controller.handleHover(grid, x, y) controller.handleKeys(grid, keys, gatherer) if grid.spacePressed: controller.ensureMovement(grid, pendingActionList) controller.updateGatherers(grid) controller.handleTicks(grid, pendingActionList, pygame.time.get_ticks()) model.placeEntities(grid) view.draw(img, screen, grid, bgGrid, grid.screenW, grid.screenH) controller.cleanUp(grid.entityList) pygame.display.flip()
return 3 if pressed_key[pygame.K_RIGHT] and direction != 3: return 1 return direction head_direction = 0 board = initialize_board() snake = initialize_snake(board) apple = create_apple(board) while True: for event in pygame.event.get(): if event.type == pygame.QUIT: exit(1) head_direction = turn(head_direction) apple = eat_apple(board, snake, apple) snake = set_new_position(head_direction, snake, board) # create_apple(apple) screen.fill((255, 255, 255)) draw(board, screen, get_score(snake)) print(board) pygame.display.flip() counter = clock.tick(12)
import view view.draw()
for i in player_bullets.copy(): if not i.rect.colliderect(screenRect): player_bullets.remove(i) for i in enemy_bullets.copy(): if not i.rect.colliderect(screenRect): enemy_bullets.remove(i) # collision detection for i in enemy_bullets: if i.collide(player.x, player.y, PLAYER_RADIUS) and not player.invulnerable: game_state.player_died() player.die() enemy_bullets.empty() break for i in player_bullets: for j in enemy_group: if i.collide(j.x, j.y, j.radius): game_state.score += HIT_SCORE game_state.score += TIME_SCORE if game_state.score > game_state.highscore: game_state.highscore = game_state.score draw(screen, bg, player, player_bullets, enemy_group, enemy_bullets, play_button, game_state, scoreboard) # print(clock.get_fps()) clock.tick(FPS)