編程派」,選擇設為「」
優質文章,第一時間送達!
相信許多80,90後都玩過2G時代的文字小遊戲,它是來自QQ家園的專屬回憶。偷菜,美味小鎮,大樂鬥,還有精武堂等等,雖然只是文字的輸出,但是留給我們這一代的人的印象卻是最深刻的。曾經流量很少,響應很快,時間很慢,一天可以升幾十級,今天和小狐醬一起利用python製作一款超級簡單的文字小遊戲,一同回到2G文字遊戲時代吧!
一、作為一款文字遊戲,想要吸引人眼球,那麼界面美觀就是第一步,我們先來製作一個打開遊戲的第一幕。
我們給a賦值讓它等於『=』,然後在第一行前面輸出65個=,後面輸出65個=,中間寫上遊戲歡迎字樣,即可完成我們的第一幕。如果你不喜歡『=』,也可以將其替換成其他符號,65個『=』當然也不是固定的,要根據中間文字數量進行計算,儘量將歡迎標語居中顯示。代碼和運行結果如下顯示:
二、常見的文字遊戲,在進入遊戲後的第一件事就會讓我們選擇英雄角色,進行一些個性化的設置。為了簡便,小狐醬這裡就只設置兩個英雄,亞索和瑞文。
1、用Print直接列印出三個選項,選項內容用三個單引號跨行顯示,保證格式。
2、再列印出130個「-」符號,進行分割,保證內容和輸入的選擇有間隔,增強視覺感。
3、定義Player,讓玩家輸入選項,開始選擇英雄。
代碼和運行結果如下顯示:
三、當用戶進行個性化選擇後,我們要進行不同內容的輸出,用戶可能會選擇1、2、3內容中的任意一項,也可能輸入4、5、6或其他數字或內容,所以我們要做好全面的反饋內容。
1、這裡我們使用if函數,就可以簡單進行內容的輸出,如果用戶輸入「1」,那麼就會輸出player==1後面所列印的內容(這裡列印了兩行,是為了顯示更簡潔,當然也可以使用錢脈提到的三單引號進行)。
2、如果用戶沒有輸入的內容不等於1,那麼輸入2的話,就會顯示eilf==2後面的內容。
3、同上
4、如果用戶輸入了其他數字或者文字,那麼默認歸為「else」,輸出後面內容。
具體代碼和運行結果如下顯示:
四、前面說到給予了玩家選擇的瑞文1300的攻擊力和3000的生命,這不僅僅是說說而已,我們要真正的去賦值。這裡我們要賦值兩組數據,一組是玩家的(瑞文),另外一組是boss的(亞索),這兩組數據後面會用到的。
五、2G時代的文字遊戲往往要求我們要不停地打怪升級,這樣在提升遊戲角色相應屬性後,才能打贏前方Boss。
1、所以我們在這裡,我們首先要運用到一個while循環語句來控制後面的遊戲操作,讓用戶在進行打怪升級後,能夠繼續打怪或者選擇挑戰boss,循環顯示這些功能。
2、玩家進行打小兵升級之後,我們默認設定每一次點擊(變量),攻擊力加1300,生命值加3000。
3、如何決定勝:利用條件進行判斷,當玩家攻擊力大於Boss生命值的時候,我們就判定,玩家勝利(這裡Boss的生命值是固定的,前面設定好的);反之,這個條件不成立的時候,即玩家將被Boss攻擊,遊戲結束,break跳出整個循環。
4、在代碼的末尾,我們仍然需要考慮到用戶再選擇(1、2、3中)可能會填寫別的數字或信息,所以我們啟動else,默認輸錯重新返回選擇。
5、這一長段代碼注意需要注意的是循環語句中的判斷語句嵌套,這裡小狐醬用不同顏色的進行了劃分,縮進非常重要。
小遊戲整體運行如下顯示:
這是python學習中較為簡單的初級代碼,它的難點主要在於「嵌套」,這要求我們做任何程序的時候都要擁有邏輯思維,這樣就會事半功倍。文中的所有數據皆可增加想和修改,包括角色,攻擊力、生命值、防禦力等等,這些的增加和修改會直接影響到while循環中的代碼工作量,喜歡python的朋友可以嘗試做一下哦,還是非常有趣的。
來源:https://www.jianshu.com/p/db05f27d2f26
回復下方「關鍵詞」,獲取優質資源
回復關鍵詞「 pybook03」,立即獲取主頁君與小夥伴一起翻譯的《Think Python 2e》電子版
回復關鍵詞「入門資料」,立即獲取主頁君整理的 10 本 Python 入門書的電子版
回復關鍵詞「m」,立即獲取Python精選優質文章合集
回復關鍵詞「」,將數字替換成 0 及以上數字,有驚喜好禮哦~