世界盃太精彩了,帶大家用Python做個足球遊戲,邊玩遊戲邊看比賽
from __future__ import unicode_literals
import sys, time, random, math, pygame
from pygame.locals import *
from math import pow
class ball(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
self.image_list = []
self.image = None
self.frame = 0
self.old_frame = 0
self.first_frame = 0
self.last_frame = 2
self.direction = list([0,0])
self.speed = 0;
self.fetch = False;
self.f = 1.7
self.last_time = 0;
self.player = None
self.cal = 0
def _getx(self): return self.rect.x
def _setx(self,value):self.rect.x = value
X = property(_getx,_setx)
#Y property
def _gety(self):return self.rect.y
def _sety(self,value):self.rect.y = value
Y = property(_gety,_sety)
#position property
def _getpos(self): return self.rect.topleft
def _setpos(self,pos): self.rect.topleft = pos
position = property(_getpos,_setpos)
def load(self):
filename = 'ball1.png','ball2.png','ball3.png'
for x in filename:
ball = pygame.image.load(x).convert_alpha()
self.image_list.append(ball)
self.frame = 0;
self.old_frame = 2;
self.image = self.image_list[0];
self.frame_height = self.image_list[0].get_rect().height
self.frame_width = self.image_list[0].get_rect().width
self.rect = Rect(0,0,self.frame_width,self.frame_height);
def update(self,current_time,rate =30):
if self.fetch and self.player.moving:
self.speed =外匯跟單gendan5.com (self.player.velocity.x **2 + self.player.velocity.y **2)**(1/2)
if self.speed == 0 or (self.fetch and self.player.moving == False):
return
if current_time > self.last_time + (4-self.speed//4)*20:
self.frame += 1
self.frame %= 3
self.last_time = current_time
if self.frame != self.old_frame:
self.image = self.image_list[self.frame]
self.old_frame = self.frame
def run(self):
self.speed -= self.f*0.05;
self.speed = max(0,self.speed)
if(self.direction==[0,0]):return;
# print(self.direction)
# print(self.speed)
self.X += ((self.direction[0]*self.speed)/pow((self.direction[1]**2 + self.direction[0]**2),(1/2)))
self.Y += ((self.direction[1]*self.speed)/pow((self.direction[0]**2 + self.direction[1]**2),(1/2)))
def fetched(self,player_):
self.fetch = True;
if player_ != None:
self.player = player_
player = self.player
if(player.direction[1] >0):
self.X = self.player.X + self.player.frame_width*3/4
else :
self.X = self.player.X - self.player.frame_width/3
self.Y = self.player.Y + self.player.frame_height -self.frame_height;
def kick_off(self):
self.speed = 12
self.direction[0] = self.player.direction[1]
self.direction[1] =self.player.direction[0]
self.player = None
self.fetch =False
self.cal = 0
def check_bound(self,width,height):
temp = self.X,self.Y
if self.X < 0:
self.X =0
self.direction[0] = abs(self.direction[0])
if self.Y < 0:
self.Y = 0
self.direction[1] = abs(self.direction[1])
if self.X >width-34:
self.X= width-34
self.direction[0] = -1*abs(self.direction[0])
if self.Y > height-14:
self.Y = height-14;
self.direction[1] = -1*abs(self.direction[1])
if self.X >=0 and self.X <72 and self.Y >300 - 17 and self.Y <315 - 17:
self.Y = 300-17
self.direction[1] = -1*abs(self.direction[1])
if self.X >1110 and self.X <1200 and self.Y >300 - 17 and self.Y <315 - 17:
self.Y = 300-17
self.direction[1] = -1*abs(self.direction[1])
if self.X >=0 and self.X <72 and self.Y >495 and self.Y <510:
self.Y = 510
self.direction[1] = -1*abs(self.direction[1])
if self.X >1110 and self.X <1200 and self.Y >495 and self.Y <510:
self.Y = 510
self.direction[1] = -1*abs(self.direction[1])
if((self.X,self.Y) != temp):
self.speed *= 0.8
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946337/viewspace-2929508/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 邊學邊做的第一個Unity小遊戲Unity遊戲
- 世界盃正規買球app 卡達世界盃足球比賽押注平臺推薦APP
- 8年時間橫跨三屆世界盃,國內足球遊戲從“百款盛景”到“邊緣人物”遊戲
- 邊寫 Javascript 程式碼邊玩遊戲 – WarriorJSJavaScript遊戲JS
- 卡達世界盃直播在哪看 2022世界盃哪個平臺直播比賽
- Innov8-邊玩遊戲,邊學業務流程管理遊戲
- 足球分析軟體app排行榜 世界盃足球比賽押球平臺推薦APP
- 體育比賽押注的軟體有哪些 世界盃足球比賽押注平臺推薦
- 2022世界盃彩票怎麼買 卡達世界盃足球比賽押注平臺推薦
- 2022世界盃官方押注平臺有哪些?世界盃足球比賽押注app官網推薦APP
- 左邊敲打IDE!右邊出現了一個世界!!!IDE
- 什麼網可以買世界盃 世界盃足球在哪個網站買網站
- STEALTH智慧健腹板:讓你邊和朋友玩遊戲邊練腹肌遊戲
- 重製遊戲主導了遊戲半邊天?遊戲
- 四大遊戲程式設計網站,邊玩遊戲,邊學Python,拒絕枯燥快樂程式設計遊戲程式設計網站Python
- Minecraft 從入門到入坑(邊玩遊戲邊學程式設計)Raft遊戲程式設計
- 2022世界盃彩票怎麼買 足球比賽押注平臺推薦
- 從做擦邊球遊戲到玩明白了恐怖解密賽道,這家僅20人的廠商是如何抓住機遇的?遊戲解密
- 足球比賽押注平臺推薦 哪個app可以買足球比賽APP
- win10系統玩CSGO遊戲4比3有黑邊如何解決Win10Go遊戲
- 當專案經理看世界盃決賽時…
- 2022世界盃彩票怎麼買 正規足球比賽押注平臺推薦
- 從零開始做一個SLG遊戲(一):六邊形網格遊戲
- 世界盃2022競技規則 2022年足球世界盃賽程規則圖解圖解
- 邊學邊玩CSS GridCSS
- 金山WPS南非賽程表助你玩轉世界盃
- 足球壓球軟體app 世界盃可以玩滾球的正規appAPP
- 卡達世界盃買比賽用哪個軟體?2022卡達世界盃買彩票網站入口網站
- 世界盃比賽押注平臺 2022世界盃買球app推薦APP
- 競彩足球直播平臺 免費觀看足球比賽直播的軟體
- 2022世界盃彩票怎麼買 卡達世界盃正規買比賽appAPP
- 邊做遊戲邊划水: 基於淺水方程的水面互動、河道互動模擬方法遊戲
- AI預測世界盃比賽結果,驚掉下巴!AI
- 微信小程式-測試遊戲生成六邊多邊形微信小程式遊戲
- 邊聊邊複製,邊修改邊測試,利用chatgpt用laravel框架做一個部落格應用ChatGPTLaravel框架
- Unity 利用Cache實現邊下邊玩Unity
- 2022世界盃FIFA買比賽軟體 世界盃靠譜買彩票平臺
- 博弈論進階之樹的刪邊遊戲與無向圖的刪邊遊戲遊戲