當前位置:
首頁 > 最新 > 你的名字——一個Golang小遊戲

你的名字——一個Golang小遊戲

GIF

Jeremyyip的Go語言學習系列

前言

1. 基於Go語言並發功能開發的一個簡單小遊戲。

2. 使用開源包工具cli,借用其框架,實現命令行輸入功能。

3. 小遊戲緩解壓力。

遊戲簡介(應用說明)

開始遊戲輸入操作參數p ,角色1名字,角色2名字,按下回車,即可遊戲;即 -o p -n1 Jeremy -n2 boss ,其中操作數-o的參數是p,角色1名字-n1的是jeremy,角色2名字的是boss;

角色的血量初始值是20,可以通過參數 -hp1 修改角色1的血量,-hp2修改角色2的血量;

每一個回合角色輪流使出技能,對於降低對方的血量,回合結束後計算血量;

遊戲中存在「秘籍」的突發特殊情況,有意想不到的效果;

某角色將對方的血量先到0了,則為該角色勝利,遊戲結束;

更多遊戲幫助可使用參數 -h 來獲取;

遊戲過程如圖:

GIF

過程圖

屏幕截圖

代碼要點

偽隨機演算法生產的隨機數,需要不同種子seed,否則會生產相同的隨機數序列。(即遊戲中隨機產生的「技能」,若固定種子seed不變的話,則每次運行程序都是相同的隨機數列,遊戲中使出的「技能」次序每次都一樣。)

利用無緩衝通道channel的特性,使得兩個並發程序之間由通道阻塞等候,保證同時交換數據。(即體現在於遊戲的輪詢交替回合制)

fmt函數的對其列印格式調整(遊戲的結果輸出格式對齊)

cli庫的應用及理解(遊戲的參數輸入,參數幫助提示)

關於對sync.WaitGroup的實例以閉包方式來調用到函數里的思考×

在設計層面來看,熟悉代碼語句使用

代碼流程圖


源碼

結語的話

目前代碼還有可以擴展的功能,但是作為前期功能已經基本滿足了。

從想到修改這個程序,到最後的文章的發布過程中,我還經歷了兩台計算機之間的操作,後來發現在linux操作系統里進行文章編輯其實也很舒服的,因為我把圖文製作的實現在網頁上的工具來實現的。這幾乎跟電腦沒關,即與軟體還是硬體都沒有關係。

記得在一書中有提過,未來的計算機發展,軟體想打破微軟和英特爾之間的壟斷的一種方式,是軟體的網頁化,利用網路,這樣用戶就能忽略操作系統以及硬體上的限制。而在目前,就文字編輯和動圖製作,網頁工具應用確實不錯!(如題圖那張P圖)這個過程中我用的都是比較舒心的! :)


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 硬體工程師的自我修養 的精彩文章:

TAG:硬體工程師的自我修養 |