PyPoiceは、SDLマルチメディアライブラリのPythonラッパーモジュールです。これには、SDLがCDROM、オーディオおよびビデオ出力、キーボード、マウス、およびジョイスティック入力をサポートできるようにするPython関数とクラスが含まれています。
Pygameは、SDLライブラリを使用して作成されたゲームライブラリであり、ゲームソフトウェアの開発に使用されるPythonプログラムモジュールのセットです。 Simple DirectMedia LayerのフルネームであるSDLはCで記述されていますが、C ++で開発することもできます。もちろん、他にも多くの言語があります。PygameはPythonで使用するライブラリです。 pygameを使用すると、Pythonプログラムで機能豊富なゲームやマルチメディアプログラムを作成できます。これは、複数のオペレーティングシステムをサポートできる、移植性の高いモジュールです。小さなゲームの開発に非常に適しています。
コマンドラインピップのインストール、国内ソースの変更
pip install pygame -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
pythonのpygameサードパーティライブラリとオブジェクト指向のプログラミングメソッドを使用して、単純なスネークゲームを実装します。また、pyinstallerを使用してexeにパッケージ化して、プレイしたいときに開いたり、他の人と共有したりすることもできます。
import pygame
import sys
import random
from pygame.locals import*classSnake(object):
# ヘビと果物の背景と色を作る,0-255,0,0,0,黒用、255、255、255白用
def __init__(self):
self.black = pygame.Color(0,0,0)
self.red = pygame.Color(255,0,0)
self.white = pygame.Color(255,255,255)
def gameover(self):
pygame.quit()
sys.exit()
def initialize(self):
pygame.init()
# ヘビの動きの速度を定義する
clock = pygame.time.Clock()
# ゲームインターフェイスを定義する
playSurface = pygame.display.set_mode((800,600))
# インターフェイス名を設定する
pygame.display.set_caption('パイソン貪欲なヘビゲーム')
# 変数を初期化する
snakePosition =[80,80] #貪欲なヘビの開始位置、最初のパラメータは水平方向の距離、後者のパラメータは垂直方向の距離です
# 蛇の長さは300マスに設定されており、各マスの長さは25です。
snakebody =[[80,80],[60,80],[40,80]]
targetPosition =[200,400] #ブロックの初期位置
targetflag =1 #果物が食べられたかどうかを判断するためのマークを定義します
direction ='right' #移動方向を初期化する
changeDirection = direction #方向変数を変更します
self.main(snakebody, targetPosition, targetflag, direction, changeDirection, snakePosition, playSurface, clock)
def main(self, snakebody, targetPosition, targetflag, direction, changeDirection, snakePosition, playSurface, clock):while True:
# ループを使用して、pygameのすべてのイベントを取得します
for event in pygame.event.get():if event.type == QUIT:
pygame.quit()
sys.exit()
# キーボードイベントを作成する
elif event.type == KEYDOWN:
# キーボードの方向を決定します
if event.key == K_RIGHT:
changeDirection ='right'print('右の方へ')if event.key == K_LEFT:
changeDirection ='left'print("左")if event.key == K_DOWN:print('ダウン')
changeDirection ='down'if event.key == K_UP:print('アップ')
changeDirection ='up'
# escキーが押されているかどうかを確認します
if event.key == K_ESCAPE:
pygame.event.post(pygame.event.Event(QUIT))
# ヘビの方向を決定します
if changeDirection =='left' and not direction =='right':
direction = changeDirection
if changeDirection =='right' and not direction =='left':
direction = changeDirection
if changeDirection =='down' and not direction =='up':
direction = changeDirection
if changeDirection =='up' and not direction =='down':
direction = changeDirection
# 方向に従ってスネークヘッドの位置を移動します
if direction =='right':
snakePosition[0]+=20if direction =='left':
snakePosition[0]-=20if direction =='up':
snakePosition[1]-=20if direction =='down':
snakePosition[1]+=20
# ヘビの長さを増やす
# ヘビが果物を食べたかどうかを判断する
snakebody.insert(0,list(snakePosition))if snakePosition[0]== targetPosition[0] and snakePosition[1]== targetPosition[1]:
targetflag =0else:
snakebody.pop()
# 新しい正方形をランダムに生成します
if targetflag ==0:
x = random.randrange(1,40) #水平方向
y = random.randrange(1,30) #垂直方向
targetPosition =[int(x *20),int(y *20)]
targetflag =1
# ディスプレイを描く
playSurface.fill(self.black) #バックグラウンド
for position in snakebody:
pygame.draw.rect(playSurface, self.white,Rect(position[0], position[1],20,20)) #スネークボディ
pygame.draw.rect(playSurface, self.red,Rect(targetPosition[0], targetPosition[1],20,20)) #フルーツ
# ゲームオーバー
pygame.display.flip()if snakePosition[0]>900 or snakePosition[0]<0:
snake.gameover()
elif snakePosition[1]>800 or snakePosition[1]<0:
snake.gameover()for i in snakebody[1:]:if snakePosition[0]== i[0] and snakePosition[1]== i[1]:
snake.gameover()
# ゲームの速度を制御します。値が大きいほど、速度が速くなります。
clock.tick(5)
snake =Snake()
snake.initialize()
PyInstallerは、Windows / Linux / MacOSの3つの主流プラットフォームをサポートするクロスプラットフォームのPythonアプリケーションパッケージツールです。PythonスクリプトとそのPythonインタープリターを実行可能ファイルにパッケージ化できるため、エンドユーザーはPythonをインストールしなくてもPythonをインストールできます。アプリケーションを実行します。
pyinstallerのインストール
pip install pyinstaller -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
pyinstallerパッケージpythonプログラム
PyInstallerの最も簡単な使用法は、プログラムエントリとしてスクリプトファイルを指定するだけです。 PyInstallerがパッケージングプログラムを実行すると、次のファイルとディレクトリが現在のディレクトリに作成されます:main.specファイル、そのプレフィックスはスクリプト名と同じであり、パッケージングに必要なさまざまなパラメータを指定します;ビルドサブディレクトリ、パッケージング中に生成されたファイルを保存します一時ファイル。 warnxxxx.txtファイルは、生成プロセス中の警告/エラー情報を記録します。 PyInstallerの実行に問題がある場合は、warnxxxx.txtファイルをチェックしてエラーの詳細を取得する必要があります。 xref-xxxx.htmlファイルは、PyInstaller分析スクリプトによって取得されたモジュール依存関係グラフを出力します。 distサブディレクトリには、生成された最終ファイルが格納されます。シングルファイルモードを使用する場合、実行可能ファイルは1つだけになります。ディレクトリモードを使用する場合、スクリプトと同じ名前のサブディレクトリがあり、実際の実行可能ファイルと補助ファイルがあります。
コマンドラインに次のコードを入力します。
pyinstaller -F -iアイコンファイルパス.pyファイルパス
distフォルダー内のアイコンでexeプログラムを見つけ、ダブルクリックして実行し、正常に実行されたらゲームに入り、パッケージングプログラムが成功したことを示します。
Recommended Posts