Pygame Python의 탁구 게임
Nov 27, 2024 am 01:51 AM가져오기
import pygame import sys
Pygame은 우리가 게임을 만드는 데 사용하는 모듈입니다. 그래픽, 사운드 등을 위한 도구를 제공했습니다.
sys는 Python 인터프리터와 상호 작용하는 데 도움이 되는 Python 모듈입니다.
초기화
pygame.init()
모든 Pygame 모듈을 초기화하고 사용할 수 있도록 준비합니다.
상수
#dimensions WIDTH, HEIGHT=800,600 #frame rate FPS=60 #the paddles at the side of ping pong PADDLE_WIDTH, PADDLE_HEIGHT=15,90 #the balls radius BALL_RADIUS=15 #the color of the ball and paddle WHITE=(255, 255, 255)
- WIDTH 및 HEIGHT: 게임 창의 크기입니다. 너비가 800px이고 높이가 600px입니다
- FPS: 초당 프레임 수로 게임 속도와 부드러움을 제어합니다.
- PADDLE_WIDTH, PADDLE_HEIGHT: 패들의 크기.
- BALL_RADIUS: 공의 반경
- WHITE: 흰색에 대한 RGB 값으로 패들, 공, 텍스트에 사용됩니다.
화면 만들기
screen=pygame.display.set_mode((WIDTH,HEIGHT)) pygame.display.set_caption("Ping Pong")
WIDTH와 HEIGHT가 할당된 Ping Pong이라는 이름의 창이 나타납니다
패들과 공 설정
left_paddle=pygame.Rect(50, HEIGHT//2 - PADDLE_HEIGHT //2, PADDLE_WIDTH, PADDLE_HEIGHT) right_paddle=pygame.Rect(WIDTH - 50 - PADDLE_WIDTH, HEIGHT //2- PADDLE_HEIGHT //2, PADDLE_WIDTH, PADDLE_HEIGHT) ball=pygame.Rect(WIDTH //2 - BALL_RADIUS, HEIGHT //2 - BALL_RADIUS, BALL_RADUIS *2, BALL_RADIUS *2)
Pygame에서 화면의 왼쪽 상단은 (0,0) 좌표를 나타냅니다.
- pygame.Rect: 파이게임에서 직사각형을 만드는 데 사용됩니다(여기에서는 패들과 공에 사용됨).
pygame.Rect(x, y, width, height)
- left_paddle: 화면 왼쪽 근처에 위치하며 수직 중앙에 위치합니다.
pygame.Rect(50, HEIGHT//2 - PADDLE_HEIGHT //2, PADDLE_WIDTH, PADDLE_HEIGHT)
먼저 왼쪽 패들을 왼쪽에서 오른쪽으로 50px 위치시킵니다.
그런 다음 HEIGHT//2 - PADDLE_HEIGHT //2를 수행합니다. 방금 HEIGHT//2를 수행하면 사진과 같이 보일 것이기 때문입니다. 화면 아래로 내려갑니다. 중앙에 위치시키려면 - PADDLE_HEIGHT //2
이것이 바로 올바른 패들을 중앙에 배치하기 위해 수행한 작업입니다.
- right_paddle: 화면 오른쪽 근처에 위치하며 수직 중앙에 위치합니다.
right_paddle=pygame.Rect(WIDTH - 50 - PADDLE_WIDTH, HEIGHT //2- PADDLE_HEIGHT //2, PADDLE_WIDTH, PADDLE_HEIGHT)
- 공: 처음에는 화면 중앙에 위치합니다.
ball=pygame.Rect(WIDTH //2 - BALL_RADIUS, HEIGHT //2 - BALL_RADIUS, BALL_RADUIS *2, BALL_RADIUS *2)
공이 중심에 오도록 하려면 반경을 뺍니다.
속도
ball_speed_x=7 ball_speed_y=7 paddle_speed=10
ball_speed_x와 ball_speed_y는 공의 수평 및 수직 속도를 제어합니다.
paddle_speed: 패들의 이동 속도를 제어합니다.
점수 변수
import pygame import sys
- left_score 및 right_score: 플레이어의 점수를 추적합니다.
- 글꼴: 점수 화면에 텍스트를 렌더링하는 데 사용됩니다. None은 기본 글꼴을 사용하며, 글꼴 크기는 55입니다.
모든 것을 그리는 기능
pygame.init()
- fill((0, 0, 0)): 화면을 검정색(RGB: 0, 0, 0)으로 채웁니다.
- pygame.draw.lect: 직사각형 패들을 그립니다.
- pygame.draw.ellipse: 공을 원으로 그립니다(사각형 공으로 둘러싸인).
중심선을 그립니다
#dimensions WIDTH, HEIGHT=800,600 #frame rate FPS=60 #the paddles at the side of ping pong PADDLE_WIDTH, PADDLE_HEIGHT=15,90 #the balls radius BALL_RADIUS=15 #the color of the ball and paddle WHITE=(255, 255, 255)
- 경기장을 구분하기 위해 수직 중앙선을 그립니다.
점수 추첨
screen=pygame.display.set_mode((WIDTH,HEIGHT)) pygame.display.set_caption("Ping Pong")
두 플레이어의 점수를 렌더링하고 화면에 배치합니다.
화면 업데이트
left_paddle=pygame.Rect(50, HEIGHT//2 - PADDLE_HEIGHT //2, PADDLE_WIDTH, PADDLE_HEIGHT) right_paddle=pygame.Rect(WIDTH - 50 - PADDLE_WIDTH, HEIGHT //2- PADDLE_HEIGHT //2, PADDLE_WIDTH, PADDLE_HEIGHT) ball=pygame.Rect(WIDTH //2 - BALL_RADIUS, HEIGHT //2 - BALL_RADIUS, BALL_RADUIS *2, BALL_RADIUS *2)
최신 변경 사항으로 디스플레이를 업데이트합니다.
pygame.Rect(x, y, width, height)
게임을 무기한으로 실행합니다.
pygame.Rect(50, HEIGHT//2 - PADDLE_HEIGHT //2, PADDLE_WIDTH, PADDLE_HEIGHT)
파이게임에서 발생할 수 있는 모든 이벤트를 살펴보고 그 중 하나가 창을 닫고 있으면 파이게임을 종료하고 창을 닫으세요.
패들 컨트롤
right_paddle=pygame.Rect(WIDTH - 50 - PADDLE_WIDTH, HEIGHT //2- PADDLE_HEIGHT //2, PADDLE_WIDTH, PADDLE_HEIGHT)
키 누름 감지:
-
W 및 S: 왼쪽 패들을 위아래로 움직입니다.
- pygame.K_w는 w 키 입니다.
- pygame.K_s는 s 키 입니다
-
UP 및 DOWN: 오른쪽 패들을 위아래로 움직입니다.
- pygame.K_UP은 위쪽 키입니다
- pygame.K_DOWN은 아래쪽 키입니다
- 패들이 화면에서 벗어나는 것을 방지하기 위한 검사가 포함되어 있습니다.
- left_paddle.top > 0은 패들 좌표의 상단이 0보다 큰지 확인합니다. W를 클릭할 때 화면 상단에 닿는지 확인합니다.
- left_paddle.bottom < HEIGHT는 패들 좌표의 하단이 화면 높이보다 큰지 확인합니다. K를 클릭했을 때 화면 하단에 닿는지 확인하려면
- right_paddle.top > 0은 패들 좌표의 상단이 0보다 큰지 확인합니다. Up 키를 클릭할 때 화면 상단에 닿는지 확인합니다.
- right_paddle.bottom < HEIGHT는 패들 좌표의 하단이 화면 높이보다 큰지 확인합니다. 아래쪽 키를 눌렀을 때 화면 하단에 닿는지 확인하려면
공의 움직임
ball=pygame.Rect(WIDTH //2 - BALL_RADIUS, HEIGHT //2 - BALL_RADIUS, BALL_RADUIS *2, BALL_RADIUS *2)
현재 위치에 공의 속도를 더해 공을 움직입니다
상단 및 하단 벽과 공 충돌
ball_speed_x=7 ball_speed_y=7 paddle_speed=10
공이 화면 상단이나 하단에 닿으면 공의 수직 방향이 반전됩니다
패들과 공 충돌
import pygame import sys
공이 패들과 충돌하면 공의 수평 방향이 반전됩니다.
채점
pygame.init()
- 공이 범위를 벗어나면 점수를 업데이트합니다.
- 공을 중앙으로 재설정하고 방향을 반대로 바꿉니다.
타이밍
#dimensions WIDTH, HEIGHT=800,600 #frame rate FPS=60 #the paddles at the side of ping pong PADDLE_WIDTH, PADDLE_HEIGHT=15,90 #the balls radius BALL_RADIUS=15 #the color of the ball and paddle WHITE=(255, 255, 255)
게임 실행을 초당 최대 60프레임으로 제한하여 원활한 게임 플레이를 보장합니다.
전체 코드
screen=pygame.display.set_mode((WIDTH,HEIGHT)) pygame.display.set_caption("Ping Pong")
위 내용은 Pygame Python의 탁구 게임의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

인기 기사

인기 기사

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Tensorflow 또는 Pytorch로 딥 러닝을 수행하는 방법은 무엇입니까?
