世界盃太精彩了,帶大家用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遊戲
- 邊寫 Javascript 程式碼邊玩遊戲 – WarriorJSJavaScript遊戲JS
- 8年時間橫跨三屆世界盃,國內足球遊戲從“百款盛景”到“邊緣人物”遊戲
- 重製遊戲主導了遊戲半邊天?遊戲
- 四大遊戲程式設計網站,邊玩遊戲,邊學Python,拒絕枯燥快樂程式設計遊戲程式設計網站Python
- Minecraft 從入門到入坑(邊玩遊戲邊學程式設計)Raft遊戲程式設計
- win10系統玩CSGO遊戲4比3有黑邊如何解決Win10Go遊戲
- 世界盃正規買球app 卡達世界盃足球比賽押注平臺推薦APP
- 從零開始做一個SLG遊戲(一):六邊形網格遊戲
- 卡達世界盃直播在哪看 2022世界盃哪個平臺直播比賽
- 從做擦邊球遊戲到玩明白了恐怖解密賽道,這家僅20人的廠商是如何抓住機遇的?遊戲解密
- 2022世界盃彩票怎麼買 卡達世界盃足球比賽押注平臺推薦
- UGC遊戲浪潮(三)做一個UGC遊戲與在UGC做一個遊戲GC遊戲
- 足球分析軟體app排行榜 世界盃足球比賽押球平臺推薦APP
- 原神周邊文字遊戲 拿去玩!遊戲
- 微信小程式-測試遊戲生成六邊多邊形微信小程式遊戲
- 體育比賽押注的軟體有哪些 世界盃足球比賽押注平臺推薦
- 左邊敲打IDE!右邊出現了一個世界!!!IDE
- 2022世界盃官方押注平臺有哪些?世界盃足球比賽押注app官網推薦APP
- 邊做遊戲邊划水: 基於淺水方程的水面互動、河道互動模擬方法遊戲
- win10遊戲全屏有黑邊怎麼辦_win10遊戲全屏有黑邊怎麼去掉Win10遊戲
- 羊了個羊在哪玩?微信小遊戲羊了個羊和抖音遊戲入口地址遊戲
- 玩女性向遊戲的男生,到底做錯了什麼?遊戲
- 我看位元組跳動做遊戲,有戲!遊戲
- 2022世界盃彩票怎麼買 足球比賽押注平臺推薦
- 什麼網可以買世界盃 世界盃足球在哪個網站買網站
- 世界盃2022競技規則 2022年足球世界盃賽程規則圖解圖解
- Unity遊戲示例來了,用Unity開源遊戲資源做遊戲,遊戲開發不再難!Unity遊戲開發
- H5 六邊形消除遊戲開發H5遊戲開發
- 衝破邊界:遊戲為現實的切片遊戲
- 遊戲如何帶給那些邊緣人士足夠的溫暖與關懷?遊戲
- 雲遊戲,玩什麼比怎麼玩更重要遊戲
- 完美世界王雨蘊:虛實共振 擴充套件遊戲行業新邊界套件遊戲行業
- 小白這樣玩遊戲,離入門遊戲運營不遠了遊戲
- 直播遊戲的合理使用與侵權邊界在哪?遊戲
- 遊戲中最邊緣化的物件——梯子進化史遊戲物件
- 一家遊戲周邊公司的發展史遊戲
- 每個都想要!盛趣遊戲2019ChinaJoy限定周邊大公開遊戲