Pythonは釣りマスターのゲーム実装を書きます

今日最も人気のあることは、Pythonで釣りの達人の効果を書くことです。言うまでもなく、明るいコード~~~

# coding:utf-8
# インポートモジュール
import pygame,sys,time,random
from pygame.locals import*
# pygame環境を初期化します
pygame.init()
# 800の長さと幅を作成します/480ウィンドウ
canvas = pygame.display.set_mode((800,480))
canvas.fill((255,255,255))
# ウィンドウタイトルを設定する
pygame.display.set_caption('釣りの専門家')
# 画像を読み込む
bg = pygame.image.load("./images/bg.jpg")
fish1 = pygame.image.load("./images/fish1_0.png")
fish2 = pygame.image.load("./images/fish2_0.png")
fish3 = pygame.image.load("./images/fish3_0.png")
fish4 = pygame.image.load("./images/fish4_0.png")
fish5 = pygame.image.load("./images/fish5_0.png")
fish6 = pygame.image.load("./images/fish6_0.png")
fish7 = pygame.image.load("./images/fish7_0.png")
fish8 = pygame.image.load("./images/fish8_0.png")
fish9 = pygame.image.load("./images/fish9_0.png")
fish10 = pygame.image.load("./images/fish10_0.png")
fish11 = pygame.image.load("./images/fish11_0.png")
net = pygame.image.load("./images/net.png")
gameover = pygame.image.load("./images/gameover.jpg")
# イベントリスナー関数を定義する
def handleEvent():for event in pygame.event.get():if event.type == QUIT:
pygame.quit()
sys.exit()
# マウスの動きのイベントを追加し、マウスにネットの動きを制御させます
if event.type == MOUSEMOTION:
Game.net.x = event.pos[0]- Game.net.width/2
Game.net.y = event.pos[1]- Game.net.height/2
# 時間間隔判定機能を定義する
def isActionTime(lastTime,interval):if lastTime ==0:return True
currentTime = time.time()return currentTime - lastTime  = interval
# 魚を定義する
classFish():
def __init__(self,width,height,y,img):
self.width = width
self.height = height
self.x =800- self.width
self.y = y
self.img = img
def paint(self):
canvas.blit(self.img,(self.x,self.y))
def step(self):
self.x -=10
# ネットクラスを定義する
classNet():
def __init__(self,x,y):
self.x = x
self.y = y
self.width =160
self.height =160
self.img = net
def paint(self):
canvas.blit(self.img,(self.x,self.y))
# 範囲外関数を定義する
def outOfBounds(self):if self.x <=0:
self.x =0
elif self.x  =800- self.width:
self.x =800- self.width
elif self.y <=0:
self.y =0
elif self.y  =480- self.height:
self.y =480- self.height
# 衝突関数を定義する
def hit(self,c):return c.x   self.x - c.width and c.x < self.x + self.width and c.y   self.y - c.height and c.y < self.y + self.height
# ゲームデータを保存するためのクラスを定義します
classGame():
# ゲームの状態
state ='RUNNING'
# 魚のリスト
fish =[]
# ネットオブジェクト
net =Net(100,100)
# 分数
score =0
# 時間
t =60
n =1
# 前回
lastTime =0
# 時間間隔
interval =0.5
# すべての魚の幅と高さ
fish_pos =[[22,13],[50,48],[55,55],[73,73],[104,80],[60,60],[93,93],[94,81],[99,103],[180,140],[320,206],[100,96]]
# 魚を生産する機能を定義する
def conEnter():if not isActionTime(Game.lastTime,Game.interval):return
Game.lastTime = time.time()
r = random.randint(1,11)if Game.t <=60:
Game.fish.append(Fish(Game.fish_pos[r][0],Game.fish_pos[r][1],random.randint(0,480- Game.fish_pos[r][1]),pygame.image.load("./images/fish"+str(r)+"_0.png")))
elif Game.t <=30:
Game.fish.append(Fish(Game.fish_pos[r][0],Game.fish_pos[r][1],random.randint(0,480- Game.fish_pos[r][1]),pygame.image.load("./images/fish"+str(r)+"_0.png")))
Game.fish.append(Fish(Game.fish_pos[r][0],Game.fish_pos[r][1],random.randint(0,480- Game.fish_pos[r][1]),pygame.image.load("./images/fish"+str(r)+"_0.png")))
elif Game.t <=10:
Game.fish.append(Fish(Game.fish_pos[r][0],Game.fish_pos[r][1],random.randint(0,480- Game.fish_pos[r][1]),pygame.image.load("./images/fish"+str(r)+"_0.png")))
Game.fish.append(Fish(Game.fish_pos[r][0],Game.fish_pos[r][1],random.randint(0,480- Game.fish_pos[r][1]),pygame.image.load("./images/fish"+str(r)+"_0.png")))
Game.fish.append(Fish(Game.fish_pos[r][0],Game.fish_pos[r][1],random.randint(0,480- Game.fish_pos[r][1]),pygame.image.load("./images/fish"+str(r)+"_0.png")))
# 描画コンポーネント関数を定義する
def conPaint():
canvas.blit(bg,(0,0))
Game.net.paint()showScore()showTime()for fish in Game.fish:
fish.paint()
# コンポーネント移動関数を定義する
def conStep():
Game.net.outOfBounds()for fish in Game.fish:
fish.step()
# 衝突検出機能を定義する
def checkHit():for fish in Game.fish:if Game.net.hit(fish) and len(Game.fish)!=0:
Game.fish.remove(fish)
Game.score +=1
# プロットスコア関数を定義する
def showScore():
TextFont = pygame.font.SysFont('SimHei',40)
TextScore = TextFont.render('スコア:'+str(Game.score),True,(255,255,255))
canvas.blit(TextScore,(20,20))
# 描画時間関数を定義する
def showTime():
TextFont = pygame.font.SysFont('SimHei',40)
TextScore = TextFont.render('残り時間:'+str(Game.t),True,(255,255,255))
canvas.blit(TextScore,(550,20))if Game.n %50==1:
Game.t -=1
Game.n +=1if Game.t ==0:
Game.state ='END'
# 主な制御機能を定義する
def control():if Game.state =='RUNNING':conEnter()conPaint()conStep()checkHit()
elif Game.state =='END':
canvas.blit(gameover,(0,0))
TextFont = pygame.font.SysFont('SimHei',40)
TextScore = TextFont.render('最終スコア:'+str(Game.score),True,(0,0,0))
canvas.blit(TextScore,(50,50))while True:
# メインコントロール機能を呼び出す
control()
# 画面の内容を更新する
pygame.display.update()
# 10ミリ秒の遅延
pygame.time.delay(10)
# イベントを聞く
handleEvent()

このコードは、イベント、関数の定義、残りの取得、ループ、判断、クラスの定義、オブジェクトの作成など、Pythonの基本的な知識を使用しています。これについては何も言うことはありません。インポートされたライブラリも非常に一般的に使用されるライブラリであり、基本的にプログラマに必要です。コードは主に参照用にここに配置されています。書けないのなら、Pythonを書き続けるのが恥ずかしいです...

私のコードを使用できます。イベントの監視やその他の機能を実行するときに便利です。

下の写真を投稿しましたので、手に取ってください。

ソースダウンロード

これまでに、Pythonでフィッシングマスターを書くゲームの実装に関するこの記事を紹介しました。Pythonでフィッシングマスターを作成するための関連コンテンツについては、ZaLou.Cnの以前の記事を検索するか、以下の関連記事を引き続き参照してください。 ZaLou.Cnをサポートしてください!

Recommended Posts

Pythonは釣りマスターのゲーム実装を書きます
PythonはTowerofHanoiゲームを解決します
Pythonインターフェース開発の実装手順の詳細な説明
Pythonの基盤を統合する(4)
pythonはゲームという言葉を推測します
Python(6)の基盤を統合する
Pythonは推測ゲームを実現します
Python(5)の基盤を統合する
gomokuプログラムのPython実装
Pythonの基盤を統合する(3)
Pythonは実店舗のゲームを実装しています
pythonでのwheelの使用法
Pythonプラグインメカニズムの詳細な実装
pythonリストの逆トラバーサルの実装
IOU計算ケースのPython実装
word2vec操作のPython予備実装
Pythonは中国語の4つの車輪を処理します
pythonselenium操作cookieの実装
地主取引のPythonシミュレーション
Pythonの用途は何ですか
python3登録グローバルホットキーの実装
python学生管理システムの実装
Python文字列プーリングの前提
Python3.8の新機能の秘密
python勾配降下アルゴリズムの実装
Pythonの父がMicrosoftに加わる
python accesshdfsの操作
pythonでのタプルの使用法
pythonを実行するメソッドを終了します
Pythonタートルライブラリ実装の基本的な分析
pythonでのrbの意味を理解する
Pythonはスタックの構造を実装できますか?
pythonインタラクティブモードの基本を学ぶ
pythonの必須パラメーターは何ですか
pythonでのJWTユーザー認証の実装
pythonの下部にあるロジスティック回帰
Python3クローラーでのAjaxの使用
交差点のPython実装とIOUチュートリアル
pythonの複数のバージョンの競合を解決します
python変数の範囲は何ですか
Pythonは分数シーケンスの合計を実装します
Pythonの基礎を学ぶ2日間
pythonのid関数は何ですか
Pythonの基本的な実際の戦闘-年齢ゲームを推測する
Pythonクラスの動的バインディングの実装原則
Ubuntu18.04インストールPycharmチュートリアルの実装
python3のピップパスはどこにありますか
Python言語の本質:Itertoolsライブラリ
python言語の利点は何ですか
pythonインスタンス化オブジェクトの特定のメソッド
python3はマスク描画の機能を実現します
python開発の見通しは何ですか
pythonの関数本体は何ですか
pythonインポートライブラリの特定の方法
pythonの複数のバージョンの競合を解決します
pythonでのadbの機能は何ですか
Python super()メソッドの原理の詳細な説明
javaとpythonの構文の違い
Pythonは学生管理システムの開発を実現します
PythonはDoudizhuでカードのシャッフルを実装します
起動エラーを実行しているpythonの問題を解決します