예제 #1
0
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
예제 #3
0
파일: main.py 프로젝트: vtarasovaaa/factory
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)
예제 #4
0
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()
예제 #5
0
        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)
예제 #6
0
import view

view.draw()
예제 #7
0
파일: main.py 프로젝트: lvlingxiao1/danmaku
            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)