python不適合游戲編程。
其原因有幾點:
第一點,游戲引擎限制了實現的技術方案。現代游戲的開發,絕大多數情況下都要藉助於游戲引擎和編輯器。而流旁鬧尺行的游戲引擎非常有限,它們採用的編程語言自然也就被限制在那幾種,如目前開發游戲經常使用的語言主要有c++、c#、c、java語言等等。
第二點,python在執行效率、多線程、內存管理方面確實存在一些瑕疵,而這些瑕疵是高性能游戲客戶端很介意的,所以Python很難運高成為首選方案。
第三點,python執行速度慢。python是解釋型語言,而解釋型語言的缺點就是速度慢,功耗大。解釋型語言和編譯型語言的區別。使用編譯器對編譯語言編譯後生成elf或者bin文件是計算機可以直接執行的,而解釋型語言不需要編譯器,它是通過解釋器在程序運行時實時解釋執行。
python不適合游戲編程
按照一般理解,Python主要適合寫小程序,用少量的代碼,快速解決一些小問題。不適合編寫比較大的程序,即便連Python的創造者Guido也是這么認為的。
而幾乎任何游戲彎正,都是大程序。即便是《鬥地主》《連連看》這種"小游戲」。代碼量也至少在5,6千行以上。
2. python做游戲好用嗎
Python做游戲是完全可以的,而且也非常簡單,有一個專門針對游戲開發的平台(模塊)—pygame,允許開發人員快速設計游戲而又擺脫了低級語言的束縛,下面我簡單介紹一下這個模塊的安裝和使用:
1、首先,安裝pygame模塊,這個直接在cmd窗口中輸入命令「pip install pygame」就行,如下,很快就能安裝成功:
2、安裝成功後,我們就可以在Python的site-packages裡面找到剛才安裝的pygame模塊,下面就有pygame自帶的游戲示例examples,如下:
相關推薦:《Python入門教程》
3、這里我們測試幾個小示例,非常簡單,類似於運行普通Python腳本一樣,直接Python+腳本名運行就行:
第一個示例—alien.py,類似於打飛機的小游戲,可以左右移動,發射子彈:
效果如下,玩起來還不錯:
第二個示例—liquid.py,類似於滾動的波紋一樣,可以來回滾動:
效果如下,看著還不錯:
當然,還有其他游戲腳本,像OpenGL 3D立體效果等,這里就不多說了,可以自行測試,命令都是一樣的。
4、pygame官網也有許多豐富的游戲示例,都有對應的源碼可供開發者學習和參考,感興趣的朋友可以自己下載嘗試一下:
至此,我們就完成了pygame模塊的安裝和簡單使用。總的來說,這個模塊非常不錯,對於開發小型游戲來說,非常快速也非常容易,當然,你也可以把它當做Python桌面GUI庫來使用,也非常不錯,但是如果你想開發大型游戲,追求游戲性能和體驗的話,建議還是使用Unity3D或者C++,效果更好,網上也有相關資料和教程可供參考,感興趣的話,可以搜一下。
3. 求個Python小游戲
Python3X\Lib\turtledemo\nim.py自帶的尼姆游戲
4. python能做什麼游戲
Python是一門高級且有趣的編程語言,除了網路爬蟲、人工智慧、數據分析之外,Python還可以進行游戲開發,為大家介紹五個支持Python的2D、3D游戲開發庫。
1、Cocos2d:是一系列開源軟體框架,用於構建跨平台2D游戲和應用程序,由cocos2d-x、cocos2d-js、cocos2d-xna和cocos2d多種框架組成,像大魚賭場、城堡沖突等小游戲,就是用此框架開發出來的。
2、Panda3D:是由迪士尼開發的3D游戲引擎,一個用於Python和C++程序的3D渲染和游戲開發框架,並由卡內基梅隴娛樂技術中心負責維護,使用C++編寫的,針對Python進行了完全的封裝。
3、Pygame:它是一組Python模塊,用來編寫游戲,可支持Python3.7,游戲例子有:紙牌游戲、超級馬里奧、擊球等多種游戲。
4、Pyogre:ogre 3D渲染引擎的Python綁定,可以用來開發游戲和模擬程序等任何3D應用,它的API更加穩定,也非常快速靈活。
5、RenPy:一個視覺小說引擎,被世界各地的成千萬的創造者所使用,它可以幫助你使用文字、圖像和聲音來講述電腦和移動設備上的故事。RenPy是開放源碼的,可免費的商業用途,易於學習的腳本語言任何人都能有效地編寫大型視覺小說,它的Python腳本足以用來模擬游戲。
5. python 怎麼寫雙人彈球游戲
用python tkinter模塊做一個擊打反彈球和球拍的游戲。球在屏幕上飛,玩家需要把它擊打回去,只要球落到屏幕底部,游戲就結束。
首先我們做一個在屏幕上到處移動的小球:
#coding:utf-8
fromtkinterimport*
importrandom
importtime
classBall:
#創建一個球類
def__init__(self,canvas,color):
self.canvas=canvas
self.id=canvas.create_oval(10,10,25,25,fill=color)
#返回剛好劃小球的id,create_oval創建一個橢圓
self.canvas.move(self.id,245,100)
#把橢圓移動到畫布
starts=[-3,-2,-1,1,2,3]
random.shuffle(starts)
#隨機排列
self.x=starts[0]
self.y=-3
self.canvas_height=self.canvas.winfo_height()
#獲取畫布當前高度
self.canvas_width=self.canvas.winfo_width()
#獲取畫布當前寬度
defdraw(self):
self.canvas.move(self.id,self.x,self.y)
#讓小球水平和垂直移動
pos=self.canvas.coords(self.id)
#coords返回畫布上畫好的x和y坐標
#判斷小球是否撞到畫布頂部或者底部,保證小球反彈回去,不消失
ifpos[1]<=0:
self.y=3
ifpos[3]>=self.canvas_height:
self.y=-3
ifpos[0]<=0:
self.x=3
ifpos[2]>=self.canvas_width:
self.x=-3
tk=Tk()
tk.title("Game")
tk.resizable(0,0)
#窗口大小不可調整
tk.wm_attributes("-topmost",1)
#使畫布窗口置於所有窗口之前
canvas=Canvas(tk,width=500,height=400,bd=0,highlightthickness=0)
#bd和highlighttthickness是為了保證畫布沒有邊框
canvas.pack()
tk.update()
#動畫初始化
ball=Ball(canvas,'red')
while1:
#畫布一出現會馬上消失,為了防止畫布消失,用tkinter一直重畫
ball.draw()
tk.update_idletasks()
tk.update()
time.sleep(0.01)
一個會動的小球就做好啦
效果圖如下,只是它會動<( ̄3 ̄)> !