ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 인공지능을 활용한 파이썬 게임만들기
    취미, 유용한 정보 2024. 2. 26. 11:49
    728x90
    반응형

     

     

    명령어 :

     

    파이썬 프로그래밍 언어 + pygame 라이브러리를 사용하여 비행기 게임 소스코드를 제작해줘

     

     

    답변 :

     

    import pygame
    import sys

    # 게임 초기화
    pygame.init()

    # 화면 설정
    screen_width = 480
    screen_height = 640
    screen = pygame.display.set_mode((screen_width, screen_height))

    # 비행기 설정
    player_size = 50
    player_pos = [screen_width / 2, screen_height - player_size - 10]

    # 적 설정
    enemy_size = 50
    enemy_pos = [random.randrange(0, screen_width - enemy_size), 0]

    # 게임 속도
    clock = pygame.time.Clock()
    FPS = 30

    def draw_object(obj, x, y):
        screen.blit(obj, (x, y))

    def runGame():
        global screen, clock, player_pos, enemy_pos

        # 비행기 이미지
        player = pygame.image.load('player.png')
        player = pygame.transform.scale(player, (player_size, player_size))

        # 적 이미지
        enemy = pygame.image.load('enemy.png')
        enemy = pygame.transform.scale(enemy, (enemy_size, enemy_size))

        game_over = False
        while not game_over:
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    pygame.quit()
                    sys.exit()

            keys = pygame.key.get_pressed()
            if keys[pygame.K_LEFT]:
                if player_pos[0] > 0:
                    player_pos[0] -= 5
            if keys[pygame.K_RIGHT]:
                if player_pos[0] < screen_width - player_size:
                    player_pos[0] += 5

            if enemy_pos[1] >= 0 and enemy_pos[1] < screen_height:
                enemy_pos[1] += 10
            else:
                enemy_pos[0] = random.randrange(0, screen_width - enemy_size)
                enemy_pos[1] = 0

            screen.fill((0, 0, 0))
            draw_object(player, player_pos[0], player_pos[1])
            draw_object(enemy, enemy_pos[0], enemy_pos[1])

            if (player_pos[0] < enemy_pos[0] < player_pos[0] + player_size) and (player_pos[1] < enemy_pos[1] < player_pos[1] + player_size):
                game_over = True

            pygame.display.update()
            clock.tick(FPS)

    runGame()
    pygame.quit()

     

     

    주의해야 할 점은 'player.png'와 'enemy.png'라는 이미지 파일이 필요하다는 점입니다. 이 두 이미지 파일은 게임에 등장하는 플레이어의 비행기와 적 비행기를 나타내는 이미지입니다. 이 두 이미지 파일을 본인이 원하는 이미지로 준비하시는 것을 잊지 마세요.

    또한, 이 코드는 매우 기본적인 수준의 게임 코드로, 실제 게임 제작에는 더 많은 기능들이 추가되어야 합니다. 예를 들어, 점수 시스템, 여러 적의 등장, 아이템 등의 요소들을 추가하면 더 완성도 높은 게임을 만들 수 있습니다.

     

     

     

     

    728x90
    반응형
Designed by Tistory.