PythonはWeChat飛行機ゲームを実装しています

この記事の例では、参考のためにWeChat飛行機ゲームを実現するためのpythonの特定のコードを共有しています。具体的な内容は次のとおりです。

import pygame
import random
import sys
# 初期化
pygame.init()
pygame.display.set_caption('プレーンラッシュ')#ウィンドウタイトルを設定する
screen= pygame.display.set_mode((320,570),0,32)
pygame.mouse.set_visible(False)#カーソルを隠す
# 画像を読み込む
boom1=pygame.image.load('../Game/fly/src/boom1.png')
boom2=pygame.image.load("../Game/fly/src/boom2.png")
bullet=pygame.image.load('../Game/fly/src/bullet.png')
plane=pygame.image.load("../Game/fly/src/plane.png").convert_alpha()
enemy=pygame.image.load('../Game/fly/src/enemy.png')
# ウィンドウアイコンを設定
pygame.display.set_icon(plane)
background=pygame.image.load("../Game/fly/src/bg_01.png")
start=pygame.image.load('../Game/fly/src/start.png')
pause=pygame.image.load("../Game/fly/src/pause.png")
# pygame.mixer.init()
# Xexplosion=pygame.mixer.Sound("explosion.mp3")
# Xbullet=pygame.mixer.Sound("../Game/fly/sound/bullet.mp3")
# XgameOver=pygame.mixer.Sound("../Game/fly/sound/game_over.mp3")
# Xexplosion.set_volume(1)
# pygame.mixer.music.load("../Game/fly/sound/game_music.mp3")
# pygame.mixer.music.play(-1,0.0)
# pygame.mixer.music.set_volume(0.25)
i=0
# 分数
score=0
font=pygame.font.SysFont('Microsoft Yahei',36)
# 弾丸
bullets=[]
# 敵機
enemies=[]
# 敵機の爆発位置を記録する
boomplace=[]
# ゲームオーバー
gameover=False
pygame.mouse.set_pos(200,200)while True:
i +=1if i   200:
i =0
screen.blit(background,(0,0))
# マウスで航空機を制御する
x, y=pygame.mouse.get_pos()
# print(x, y)
x -= plane.get_width()/2
y -= plane.get_height()/2
screen.blit(plane,(x, y))
# 25フレームごとに呼び出されます
if i%25==0:
# 戻る、左ボタン、中央ボタン、右ボタンを押す
l,m,r=pygame.mouse.get_pressed()if l ==True:
# 弾丸の位置を追加
bullets.append([x+plane.get_width()/2, y])
# Xshoot.play()for place in bullets:
# 弾丸の位置が範囲外です
if place[1]<=0:
bullets.remove(place)
# 弾丸の位置を移動します
for place in bullets:
place[1]-=55
# 弾丸を描く
for place in bullets:
screen.blit(bullet,(place[0],place[1]))
# 盗賊が出現して消える
if i%199==0:
enemies.append([random.randint(0,320-enemy.get_width()),-enemy.get_width()/2])for place in enemies:if place[1]=600:
enemies.remove(place)for place in enemies:
place[1]+=35for place in enemies:
screen.blit(enemy,(place[0],place[1]))
# 敵の飛行機の爆発
for place in boomplace:if place[2]0:
screen.blit(boom1,(place[0],place[1]))
place[2]-=1
# 弾丸衝突検出
for bulletplace in bullets:for enemyplace in enemies:if(bulletplace[0]   enemyplace[0] and bulletplace[0]< enemyplace[0]+ enemy.get_width()) and \
( bulletplace[1]   enemyplace[1] and bulletplace[1]< enemyplace[1]+ enemy.get_height()):
boomflag =75
enemyplace.append(boomflag)
boomplace.append(enemyplace)
enemies.remove(enemyplace)
bullets.remove(bulletplace)
# Sexplosion.play()
score +=1
# 航空機の衝突検出
for enemyplace in enemies:if(x +0.7*plane.get_width()   enemyplace[0])and(x +0.3*plane.get_width()<enemyplace[0]+ enemy.get_width())\
and(y +0.7*plane.get_height()   enemyplace[1])and(y +0.3*plane.get_height()<enemyplace[1]+ enemy.get_height()):
enemies.remove(enemyplace)
screen.blit(pause,(0,0))
screen.blit(boom2,(x, y))
# for place in bullets:
# screen.blit(bullet,(place[0], place[1]))
# for place in enemies:
# screen.blit(enemy,(place[0], place[1]))
text=font.render('Score%d'%score,True,(0,0,0))
screen.blit(text,(200,270))
text=font.render("Right ReStart",True,(0,0,0))
screen.blit(text,(30,310))
pygame.display.update()#ウィンドウを再描画します
gameover=True
while gameover == True and r == False :
l, m, r = pygame.mouse.get_pressed()for event in pygame.event.get():if event.type == pygame.QUIT:
pygame.quit()exit()
# ゲームをリセット
i=0
score=0
bullets=[]
enemies=[]
boomplace=[]
x, y=185-plane.get_width()/2,550- plane.get_height()/2
# テストの一時停止と続行
l,m,r=pygame.mouse.get_pressed()if r == True:
screen.blit(background,(0,0))
screen.blit(start,(0,0))
screen.blit(plane,(x,y))for place in bullets:
screen.blit(bullet,(place[0],place[1]))for place in enemies:
screen.blit(enemy,(place[0],place[1]))for place in boomplace:if place[2]0:
screen.blit(boom1,(place[0],place[1]))
place[2]-=1
text=font.render(u'Score %d'%score,1,(0,0,0))
screen.blit(text,(50,0))if gameover == True:
x,y =185,550
gameover =False
text =font.render(' left to start',True,(0,0,0))
screen.blit(text,(35,300))else:
x,y=pygame.mouse.get_pos()
text=font.render(' left to continue ',True,(0,0,0))
screen.blit(text,(10,300))
pygame.display.update()while True :for event in pygame.event.get():if event.type == pygame.QUIT:
pygame.quit()exit()
l, m, r = pygame.mouse.get_pressed()if l == True:
pygame.mouse.set_pos(x,y)break
text=font.render(u"%d"%score, True,(0,0,0))
screen.blit(text,(50,0))for event in pygame.event.get():if event.type == pygame.QUIT:
pygame.quit()exit()

効果画像:

pythonゲームに関するよりエキサイティングな記事については、クリックして次のトピックを表示してください。

pythontetrisゲームコレクション

Pythonクラシックゲームの概要

PythonWeChatジャンプジャンプゲームコレクション

以上が本稿の内容ですので、皆様のご勉強に役立てていただければ幸いです。

Recommended Posts

PythonはWeChat飛行機ゲームを実装しています
Pythonはtic-tac-toeゲームを実装しています
Pythonはtic-tac-toeゲームを実装しています
PythonはTetrisゲームを実装しています
Pythonはminesweeperゲームを実装しています
Pythonは推測ゲームを実装しています
Python3は飛行機戦争ゲームを実現します
Pythonは単語推測ゲームを実装しています
Pythonは推測ゲームを実装しています
Pythonはデジタル爆弾ゲームを実装しています
Pythonは単純なtic-tac-toeゲームを実装しています
Pythonは実店舗のゲームを実装しています
Pythonは単にスネークゲームを実装します
Pythonはデジタル爆弾ゲームプログラムを実装しています
Pythonはスネークゲームのソースコードを実装しています
Pythonはスーパーマリオを実装しています
PythonでWeChatを再生する
Pythonはマンマシンゴバンを実装します
Python、PyGameゲームプロジェクト
Pythonは画像スティッチングを実装しています
Pythonはスキャンツールを実装しています
Pythonはしきい値回帰を実装します
Pythonは地雷除去ゲームを実装しています
Pythonは電子辞書を実装しています
Pythonは単純なタンクバトルを実装します
Pythonはudpチャットウィンドウを実装します
pythonはゲームという言葉を推測します
Pythonは駐車場管理システムを実現
Pythonはリンゴを食べるゲームを実現します
PythonはTCPファイル転送を実装します
Pythonは推測ゲームを実現します
Pythonnumpyはローリングケースを実装します
OpenCVPythonはパズルゲームを実装しています
Pythonはパスワード強度検証を実装します
Pythonは車の管理システムを実装しています
Pythonはコードブロックフォールディングを実装します
Pythonはパノラマ画像スティッチングを実装しています
PythonはSMTPメール送信を実装します
Pythonは多次元配列ソートを実装しています
PythonがFTP機能を実装する方法
Pythonは平均シフトクラスタリングアルゴリズムを実装しています
Pythonは検証コード認識を実装します
Pythonは勾配降下法を実装しています
Pythonはテキストバージョンのminesweeperを実装しています
Pythonは画像スティッチング機能を実装しています
Pythonは学生のパフォーマンス評価システムを実装しています
Pythonがメール機能を実装する方法
Python3はシングルトンデザインパターンを実装しています
Pythonは為替レート変換操作を実装します
Pythonは文字列と数値のスプライシングを実装します
Pythonは10の古典的なソートアルゴリズムを実装しています
PythonはユニバーサルWebフレームワークを実装しています
Pythonは、メールを送信するために126のメールボックスを実装しています
PythonはAIフェイスチェンジ機能を実装しています
Pythonは最も急な降下方法を実装します
Pythonは実際の銀行システムを実装しています
Pythonはftpファイル転送機能を実装しています
Pythonはユーザー名とパスワードの検証を実装しています
Pythonがタイマー機能を実装する方法
Pythonは航空機戦争プロジェクトを実装します
Pythonは写真の水平ステッチを実装しています