Pygame Python의 탁구 게임
가져오기
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

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

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

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

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

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

Python은 데이터 과학, 웹 개발 및 자동화 작업에 적합한 반면 C는 시스템 프로그래밍, 게임 개발 및 임베디드 시스템에 적합합니다. Python은 단순성과 강력한 생태계로 유명하며 C는 고성능 및 기본 제어 기능으로 유명합니다.

2 시간 이내에 Python의 기본 프로그래밍 개념과 기술을 배울 수 있습니다. 1. 변수 및 데이터 유형을 배우기, 2. 마스터 제어 흐름 (조건부 명세서 및 루프), 3. 기능의 정의 및 사용을 이해하십시오. 4. 간단한 예제 및 코드 스 니펫을 통해 Python 프로그래밍을 신속하게 시작하십시오.

Python은 게임 및 GUI 개발에서 탁월합니다. 1) 게임 개발은 Pygame을 사용하여 드로잉, 오디오 및 기타 기능을 제공하며 2D 게임을 만드는 데 적합합니다. 2) GUI 개발은 Tkinter 또는 PYQT를 선택할 수 있습니다. Tkinter는 간단하고 사용하기 쉽고 PYQT는 풍부한 기능을 가지고 있으며 전문 개발에 적합합니다.

Python은 배우고 사용하기 쉽고 C는 더 강력하지만 복잡합니다. 1. Python Syntax는 간결하며 초보자에게 적합합니다. 동적 타이핑 및 자동 메모리 관리를 사용하면 사용하기 쉽지만 런타임 오류가 발생할 수 있습니다. 2.C는 고성능 응용 프로그램에 적합한 저수준 제어 및 고급 기능을 제공하지만 학습 임계 값이 높고 수동 메모리 및 유형 안전 관리가 필요합니다.

2 시간 이내에 파이썬의 기본 사항을 배울 수 있습니다. 1. 변수 및 데이터 유형을 배우십시오. 이를 통해 간단한 파이썬 프로그램 작성을 시작하는 데 도움이됩니다.

제한된 시간에 Python 학습 효율을 극대화하려면 Python의 DateTime, Time 및 Schedule 모듈을 사용할 수 있습니다. 1. DateTime 모듈은 학습 시간을 기록하고 계획하는 데 사용됩니다. 2. 시간 모듈은 학습과 휴식 시간을 설정하는 데 도움이됩니다. 3. 일정 모듈은 주간 학습 작업을 자동으로 배열합니다.

Python은 웹 개발, 데이터 과학, 기계 학습, 자동화 및 스크립팅 분야에서 널리 사용됩니다. 1) 웹 개발에서 Django 및 Flask 프레임 워크는 개발 프로세스를 단순화합니다. 2) 데이터 과학 및 기계 학습 분야에서 Numpy, Pandas, Scikit-Learn 및 Tensorflow 라이브러리는 강력한 지원을 제공합니다. 3) 자동화 및 스크립팅 측면에서 Python은 자동화 된 테스트 및 시스템 관리와 같은 작업에 적합합니다.

파이썬은 자동화, 스크립팅 및 작업 관리가 탁월합니다. 1) 자동화 : 파일 백업은 OS 및 Shutil과 같은 표준 라이브러리를 통해 실현됩니다. 2) 스크립트 쓰기 : PSUTIL 라이브러리를 사용하여 시스템 리소스를 모니터링합니다. 3) 작업 관리 : 일정 라이브러리를 사용하여 작업을 예약하십시오. Python의 사용 편의성과 풍부한 라이브러리 지원으로 인해 이러한 영역에서 선호하는 도구가됩니다.
