본문 바로가기

파이썬

키보드로 그림 이동하기

반응형

1. 제목 및 설명:


제목: 키보드로 그림 이동하기
설명: 이 프로그램은 파이썬을 사용하여 키보드 입력을 받아 사진을 그리는 예제입니다.

2. 코딩시 주의 할 점:

사용자로부터 입력을 받고 그림을 그리기 위해 필요한 라이브러리를 사용해야 합니다.
그림 그리기의 좌표와 색상을 정확히 설정해야 합니다.


3. 코딩에 나오는 명령어 설명:

pygame: 게임 개발을 위한 파이썬 라이브러리로, 그림 그리기와 사용자 입력 처리에 사용됩니다.
pygame.init(): pygame 라이브러리를 초기화합니다.
pygame.display.set_mode(): 화면을 생성합니다.
pygame.draw.circle(): 원을 그리는 함수입니다.
pygame.draw.rect(): 직사각형을 그리는 함수입니다.
pygame.display.update(): 화면을 업데이트합니다.
pygame.event.get(): 이벤트를 가져옵니다.
pygame.quit(): pygame 라이브러리를 종료합니다.


4. 실행 방법:

파이썬을 설치하지 않았다면 Python 공식 웹 사이트에서 다운로드하고 설치하세요.
파이썬 라이브러리 pygame을 설치합니다. 명령 프롬프트 또는 터미널에서 다음 명령을 실행하세요: pip install pygame
아래의 파이썬 코드를 텍스트 편집기에 복사하여 .py 파일로 저장하세요.
명령 프롬프트 또는 터미널을 열고 해당 디렉토리로 이동한 후, 다음 명령을 실행하세요:
python 파일이름.py


5. 파이썬 코드:

import pygame
import sys

try:
    # pygame 초기화
    pygame.init()
    
    # 화면 생성
    screen = pygame.display.set_mode((800, 600))
    pygame.display.set_caption("키보드 입력으로 사진 그리기")
    
    # 초기 위치와 색상 설정
    x, y = 400, 300
    color = (255, 0, 0)
    
    # 움직임 흔적을 저장할 리스트 생성
    trace = []
    
    # 게임 루프
    running = True
    while running:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                running = False
            elif event.type == pygame.KEYDOWN:
                # 키보드 입력 처리
                if event.key == pygame.K_UP:
                    y -= 10
                elif event.key == pygame.K_DOWN:
                    y += 10
                elif event.key == pygame.K_LEFT:
                    x -= 10
                elif event.key == pygame.K_RIGHT:
                    x += 10
                elif event.key == pygame.K_SPACE:
                    color = (255, 0, 0)  # 빨간색
                elif event.key == pygame.K_c:
                    color = (0, 0, 255)  # 파란색
        
        # 원의 중심 좌표를 trace 리스트에 추가
        trace.append((x, y))
        
        # 화면 지우기
        screen.fill((255, 255, 255))
        
        # 움직임 흔적 그리기
        for pos in trace:
            pygame.draw.circle(screen, color, pos, 20)
        
        # 화면 업데이트
        pygame.display.update()
    
    # pygame 종료
    pygame.quit()
except Exception as e:
    print("오류 발생:", e)

반응형