1 回答

TA貢獻1921條經驗 獲得超9個贊
Python并不適合用于游戲開發,有些個別的例子,比如《文明》和《EVE》使用了Python,但這也并說明不了什么。
按照一般理解,Python主要適合寫小程序,用少量的代碼,快速解決一些小問題。不適合編寫比較大的程序,即便連Python的創造者Guido也是這么認為的。
而幾乎任何游戲,都是大程序。即便是《斗地主》《連連看》這種“小游戲”。代碼量也至少在5,6千行以上。
根本問題在于Python的語法過于簡潔。沒有聲明變量的過程,而是直接賦值產生一個變量。最主要的是,省略了數據類型。初學者也許認為這是優點,但對于編寫比較大的程序,Python的可維護性簡直糟糕透頂,只要超過1000行的東西,我就絕對不用Python寫。我相信除了初學者之外,絕大多數在職的程序員都和我一樣。
游戲開發使用的語言,主要是C++和C#。我用偽代碼舉個例子,比如C++與C#之類的語言,聲明幾個變量,大概如下面的樣子。
武器 W1=xxx;
技能 J2=xxx;
藥水 Y3=xxx;
怪物 G4=xxx;
如果是用Python的話,要怎么寫呢?
W1=xxx;
J2=xxx;
Y3=xxx;
G4=xxx;
第一天,用Python寫,你會覺得很舒服,畢竟可以少寫很多東西。自己聲明了哪些類,聲明了哪些變量,只要記住就行了。于是第一天,你創建了5個類,聲明了100個一般變量,創建了50個對象。編寫了2000行代碼。
但第二天,再看到這2千行代碼,前一天用到的100個變量中,你能快速認出多少? 每個變量你使用了幾次?都在哪里用到了它們? 你會發現,自己第二天的工作,有一大半的時間,是在回憶“昨天我是怎么想的?”“這個變量是個啥來著?”“我創建那個類的時候,是打算用來干嘛著?”這類的問題。于是你會發現,第二天,自己的工作效率明顯下降了。一整天下來,你還是跌跌撞撞的寫了幾百行代碼。
第三天,你會發現,一整天的時間,你都在回憶“昨天和前天.........”接下去的代碼連一句都寫不出來。這就是Python代碼的“可維護性”問題。
- 1 回答
- 0 關注
- 1583 瀏覽
添加回答
舉報