Ⅰ python有3d游戲框架嗎
python本身就有支持它的3D游戲開發庫。
Panda3D:(推薦學習:Python視頻教程)
Panda3D是由迪士尼開發的 3D 游戲引擎,一個用於Python和C+程序的3D渲染和游戲開發框架,並由卡內基梅隴娛樂技術中心負責維護。使用C++編寫, 針對 Python 進行了完全的封裝。
Pygame:
Pygame 是一組 Python 模塊,用來編寫游戲,可支持python3.7。有《紙牌游戲》《超級馬里奧》《擊球》等多種游戲。
PyOgre:
Ogre 3D 渲染引擎的 Python 綁定,可以用來開發游戲和模擬程序等任何 3D 應用。它的API更加穩定,非常快速靈活。
而且一款非常精美的3D炸彈人游戲就是有Python開發的。
Ⅱ 怎麼用python做游戲
能,但不適合。
用錘子能造汽車嗎? 誰也沒法說不能吧?地球上也有很多汽車,是用錘子造出來的。。。。但一般來說,還是用工業機器人更合適對嗎?
比較大型的,使用Python的游戲有兩個,一個是《EVE》,還有一個是文明。但這僅僅是個例,沒有廣泛意義。
一般來說,用來做游戲的語言,有兩種。一是C++。。一是C#。。
Python理論上,不僅不適合做游戲,而是只要大型的程序,都不適合。只適合寫比較小型的東西,比如一個計算器,一個小爬蟲等。
主要有2個方面,一是速度慢,二是語法缺陷。
也許你一定覺得,Python的語法又干凈,又優雅,怎麼還有缺陷?但仔細想想,為什麼別的語言沒有這么干凈?沒有這么優雅?明明可以直接a=123 幹嘛非要寫成 int a=123;呢?難道是其他語言的設計者,都有強迫症嗎?道理很簡單,有得必有失。
如果數據類型,只有字元串和數字,省略掉聲明變數的過程,當然不是問題。但只要邏輯一復雜,情況就完全不同了。。。游戲中,你用C#或C++寫起來,大概會是這樣。
Ⅲ 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腳本足以用來模擬游戲。
Ⅳ 如何用python寫Hangman game
本文實例講述了Python實現的簡單hangman游戲。分享給大家供大家參考。具體如下:#!/usr/bin/env pythonimport randomimport cPickleclass Hangman(object): '''A simple hangman game that tries to improve your vocabulary a bit ''' def __init__(self): # the variables used, this is not necessary self.mpfile = '' #the dictionary file self.dictionary = {} #the pickled dict self.words = [] #list of words used self.secret_word = '' #the 'key' self.length = 0 #length of the 'key' self.keys = [] #inputs that match the 'key' self.used_keys = [] #keys that are already used self.guess = '' #player's guess self.mistakes = 0 #number of incorrect inputs return self.load_dict() #insert some random hints for the player def insert_random(self, length): randint = random.randint # 3 hints if length >= 7: hint = 3 else: hint = 1 for x in xrange(hint): a = randint(1, length - 1) self.keys[a-1] = self.secret_word[a-1] def test_input(self): #if the guessed letter matches if self.guess in self.secret_word: indexes = [i for i, item in enumerate(self.secret_word) if item == self.guess] for index in indexes: self.keys[index] = self.guess self.used_keys.append(self.guess) print "used letters ",set(self.used_keys),'\n' #if the guessed letter didn't match else: self.used_keys.append(self.guess) self.mistakes += 1 print "used letters ",set(self.used_keys),'\n' # load the pickled word dictionary and unpickle them def load_dict(self): try : self.mpfile = open("~/python/hangman/wordsdict.pkl", "r") except IOError: print "Couldn't find the file 'wordsdict.pkl'" quit() self.dictionary = cPickle.load(self.mpfile) self.words = self.dictionary.keys() self.mpfile.close() return self.prepare_word() #randomly choose a word for the challenge def prepare_word(self): self.secret_word = random.choice(self.words) #don't count trailing spaces self.length = len(self.secret_word.rstrip()) self.keys = ['_' for x in xrange(self.length)] self.insert_random(self.length) return self.ask() #display the challenge def ask(self): print ' '.join(self.keys), ":", self.dictionary[self.secret_word] print return self.input_loop() #take input from the player def input_loop(self): #four self.mistakes are allowed chances = len(set(self.secret_word)) + 4 while chances != 0 and self.mistakes < 5: try: self.guess = raw_input("> ") except EOFError: exit(1) self.test_input() print ' '.join(self.keys) if '_' not in self.keys: print 'well done!' break chances -= 1 if self.mistakes > 4: print 'the word was', ''.join(self.secret_word).upper() return self.quit_message() def quit_message(self): print "\n" print "Press 'c' to continue, or any other key to quit the game. " print "You can always quit the game by pressing 'Ctrl+D'" try: command = raw_input('> ') if command == 'c': return self.__init__() #loopback else : exit(0) except EOFError: exit(1)if __name__ == '__main__': game = Hangman() game.__init__()
希望本文所述對大家的Python程序設計有所幫助。
Ⅳ 使用 Python 和 Pygame 模塊構建一個游戲框架
在我的 這系列的第一篇文章 中, 我已經講解如何使用 Python 創建一個簡單的、基於文本的骰子 游戲 。這次,我將展示如何使用 Python 模塊 Pygame 來創建一個圖形化 游戲 。它將需要幾篇文章才能來得到一個確實做成一些東西的 游戲 ,但是到這系列的結尾,你將更好地理解如何查找和學習新的 Python 模塊和如何從其基礎上構建一個應用程序。
在開始前,你必須安裝 Pygame 。
有幾種方法來安裝 Python 模塊,但是最通用的兩個是:
兩個方法都工作的很好,並且每一個都有它自己的一套優勢。如果你是在 Linux 或 BSD 上開發,可以利用你的發行版的軟體存儲庫來自動和及時地更新。
然而,使用 Python 的內置軟體包管理器可以給予你控制更新模塊時間的能力。而且,它不是特定於操作系統的,這意味著,即使當你不是在你常用的開發機器上時,你也可以使用它。pip 的其它的優勢是允許本地安裝模塊,如果你沒有正在使用的計算機的管理許可權,這是有用的。
如果 Python 和 Python3 都安裝在你的系統上,你想使用的命令很可能是 pip3,它用來區分 Python 2.x 的 pip 的命令。如果你不確定,先嘗試 pip3。
pip 命令有些像大多數 Linux 軟體包管理器一樣工作。你可以使用 search 搜索 Python 模塊,然後使用 install 安裝它們。如果你沒有你正在使用的計算機的管理許可權來安裝軟體,你可以使用 --user 選項來僅僅安裝模塊到你的家目錄。
Pygame 是一個 Python 模塊,這意味著它僅僅是一套可以使用在你的 Python 程序中的庫。換句話說,它不是一個像 IDLE 或 Ninja-IDE 一樣可以讓你啟動的程序。
一個電子 游戲 需要一個背景設定:故事發生的地點。在 Python 中,有兩種不同的方法來創建你的故事背景:
你的背景僅是一張圖片或一種顏色。你的電子 游戲 人物不能與在背景中的東西相互作用,因此,不要在後面放置一些太重要的東西。它僅僅是設置裝飾。
要開始一個新的 Pygame 工程,先在計算機上創建一個文件夾。 游戲 的全部文件被放在這個目錄中。在你的工程文件夾內部保持所需要的所有的文件來運行 游戲 是極其重要的。
一個 Python 腳本以文件類型、你的姓名,和你想使用的許可證開始。使用一個開放源碼許可證,以便你的朋友可以改善你的 游戲 並與你一起分享他們的更改:
然後,你告訴 Python 你想使用的模塊。一些模塊是常見的 Python 庫,當然,你想包括一個你剛剛安裝的 Pygame 模塊。
由於你將用這個腳本文件做很多工作,在文件中分成段落是有幫助的,以便你知道在哪裡放代碼。你可以使用塊注釋來做這些,這些注釋僅在看你的源文件代碼時是可見的。在你的代碼中創建三個塊。
接下來,為你的 游戲 設置窗口大小。注意,不是每一個人都有大計算機屏幕,所以,最好使用一個適合大多數人的計算機的屏幕大小。
這里有一個方法來切換全屏模式,很多現代電子 游戲 都會這樣做,但是,由於你剛剛開始,簡單起見僅設置一個大小即可。
在腳本中使用 Pygame 引擎前,你需要一些基本的設置。你必須設置幀頻,啟動它的內部時鍾,然後開始 (init)Pygame 。
現在你可以設置你的背景。
在你繼續前,打開一個圖形應用程序,為你的 游戲 世界創建一個背景。在你的工程目錄中的 images 文件夾內部保存它為 stage.png 。
這里有一些你可以使用的自由圖形應用程序。
你的圖像不必很復雜,你可以以後回去更改它。一旦有了它,在你文件的 Setup 部分添加這些代碼:
如果你僅僅用一種顏色來填充你的 游戲 的背景,你需要做的就是:
你也必須定義顏色以使用。在你的 Setup 部分,使用紅、綠、藍 (RGB) 的值來創建一些顏色的定義。
至此,你理論上可以啟動你的 游戲 了。問題是,它可能僅持續了一毫秒。
為證明這一點,保存你的文件為 your-name_game.py(用你真實的名稱替換 your-name)。然後啟動你的 游戲 。
如果你正在使用 IDLE,通過選擇來自 「Run」 菜單的 「Run Mole」 來運行你的 游戲 。
如果你正在使用 Ninja,在左側按鈕條中單擊 「Run file」 按鈕。
你也可以直接從一個 Unix 終端或一個 Windows 命令提示符中運行一個 Python 腳本。
如果你正在使用 Windows,使用這命令:
啟動它,不過不要期望很多,因為你的 游戲 現在僅僅持續幾毫秒。你可以在下一部分中修復它。
除非另有說明,一個 Python 腳本運行一次並僅一次。近來計算機的運行速度是非常快的,所以你的 Python 腳本運行時間會少於 1 秒鍾。
為強制你的 游戲 來處於足夠長的打開和活躍狀態來讓人看到它(更不要說玩它),使用一個 while 循環。為使你的 游戲 保存打開,你可以設置一個變數為一些值,然後告訴一個 while 循環只要變數保持未更改則一直保存循環。
這經常被稱為一個「主循環」,你可以使用術語 main 作為你的變數。在你的 Setup 部分的任意位置添加代碼:
在主循環期間,使用 Pygame 關鍵字來檢查鍵盤上的按鍵是否已經被按下或釋放。添加這些代碼到你的主循環部分:
也是在你的循環中,刷新你世界的背景。
如果你使用一個圖片作為背景:
如果你使用一種顏色作為背景:
最後,告訴 Pygame 來重新刷新屏幕上的所有內容,並推進 游戲 的內部時鍾。
保存你的文件,再次運行它來查看你曾經創建的最無趣的 游戲 。
退出 游戲 ,在你的鍵盤上按 q 鍵。
在這系列的 下一篇文章 中,我將向你演示,如何加強你當前空空如也的 游戲 世界,所以,繼續學習並創建一些將要使用的圖形!
via: https://opensource.com/article/17/12/game-framework-python
作者: Seth Kenlon 選題: lujun9972 譯者: robsean 校對: wxy
Ⅵ Python都編過什麼游戲(大游戲)
沒有什麼大型游戲。由於效率和穩定性的原因,幾乎沒有桌面軟體和游戲會使用Python開發。
真正的商業游戲開發,從來都只有兩種選擇,C++和C#。另外用JS系列(含Typescript、ActionScript),可以製作一些頁游項目。除了以上三者之外,其他語言(包括Python)只適合寫一些俄羅斯方塊之類的小游戲。
(6)python構建真實地形的游戲擴展閱讀:
Python的設計目標之一是讓代碼具備高度的可閱讀性。它設計時盡量使用其它語言經常使用的標點符號和英文單字,讓代碼看起來整潔美觀。它不像其他的靜態語言如C、Pascal那樣需要重復書寫聲明語句,也不像它們的語法那樣經常有特殊情況和意外。
Python開發者有意讓違反了縮進規則的程序不能通過編譯,以此來強制程序員養成良好的編程習慣。並且Python語言利用縮進表示語句塊的開始和退出(Off-side規則),而非使用花括弧或者某種關鍵字。
Ⅶ 有哪些python寫的游戲
python編程游戲有哪些?下面給大家介紹幾款由Python開發的游戲:
1. Github上面有個項目Free Python Games,裡面集合了不少的Python開發的小游戲,能玩,也適合新手用來練練手,另外 PyGame 這個網站裡面裡面集合了很多Python開發的小游戲。
2. Python版本的 Flapy Bird 簡化版,但是感覺更加難玩了。當然你也可以嘗試用Python開發原版的 Flapy Bird,涵蓋了顏色圖像等:Flappy Block - 1.0
3. 小時候經常在手機上玩的一個游戲,也是一款經典的街機游戲,這款游戲進化之後其實就是一個打乒乓的小游戲,這里同樣有一個進化版本,圖形設計的更加好看:Ping Pong
相關推薦:《Python基礎教程》
4. 以前初高中在學校很無聊的時候跟同桌或者前後桌玩的游戲,你還記得么
5. 同樣一款小時候在小霸王上玩的游戲:Junk Jungle
6. 除此之外,一款比較有名基於Pyhton的戰爭的游戲:Home - TaleWorlds Entertainment
7. 一款看起來非常有趣的3D游戲:Galcon
8. 據說是能與Pyhton搭上邊最有名的一款游戲,但好像他的客戶端是用的C++,我試了一下很炸裂:EVE Online - One community. Countless journeys