在被眾多的小括號折磨之後, 來點輕鬆有趣的東西, 談談電腦遊戲 - 大富翁。在這篇
[問題] 自製程式,幫忙Debug 給點意見~~~~ 看到了這個文字大富翁的遊戲, 喚起了我心中的大富翁之魂。
我玩的第一個電腦遊戲當然不是大富翁, 但是將我帶入電腦遊戲大門的是大宇的
大富翁 II, 兩張 1.2 磁片的容量, 單純的畫面, 簡單的操作方法 (按 enter 就好), 卻能讓我沉迷其中, 我就這樣按下了上百次的 enter。雖然我現在是個寫程式的, 但卻從來沒想過要寫個大富翁遊戲。因為我把它想得太難了, 光是畫面處理, 就得花上不少功夫, 卻從了沒想過用文字模式來代替, 虧我還那麼喜歡文字模式的程式。
這篇文章的作者完成了一個文字大富翁 (for windows), 這是他做的遊戲回報網址:
https://docs.google.com/forms/d/1U4S1lbNEr_kksr9GxAaGJWq_9zzyJrubXRDQq4b_ZoY/viewform
當時版上一群人積極的向原作者提供意見時, 我則更積極地向原作者詢問原始碼, 感謝原作者的大方, 我拿到 source code 了。我好想
贏韓國 (我想贏日本)要在 linux 上玩這個遊戲, 藉由之前的 ncurses 的經驗, 我想用 ncurses 移植這個遊戲。
這個遊戲很完整, 幾乎滿足所有遊戲元素:
- 可以存檔
- 音樂播放
- 可以自己編輯地圖檔
- 有個 windows 安裝檔
以下是遊戲內附的說明檔案, 可以看出他們的辛苦。
我做的工作:
- 將 windows 檔案格式轉為 unix 格式。
- 將 big5 轉為 utf8 編碼。
- 重畫地圖檔。
- 將 c 修改為 c++ (請不用擔心, 這是長的很像 c 的 c++ 程式)
- 使用 ncurses
花了幾天時間終於勉強可以執行在 linux 上。
linux 遊戲畫面
目前已經移植了 95% 的功能, 放在
https://bitbucket.org/dsung/ascii_rich, 內湖高中的同學們, 感謝你們, 也希望有興趣的朋友可以一起來改進這遊戲。讓我們一起來按下 ENTER。
我有使用
PDCurses for Windows 移植回 windows, 不過 windows xp console 無法秀出 utf8 中文, 花了一點時間尋找後 ... 我放棄了。
不要覺得這個遊戲很簡單, 你可以自己試試看, 要完成到這樣的程度要花上多少心血, 我只不過是做做移植的工作就覺得辛苦, 可以想見他們的努力是多麼的深入, 別花太多時在軟體方法論, design pattern 上, 把時間花在寫程式上, 程式一旦完成, 比朗朗上口那些名詞更有成就感。
你也許會覺得程式中 call 了 main() 很奇怪, 對, 就是那個 c 進入點 main function, 但我覺得這是一種不被侷限的想法, 是一種創意的思考, 沒有 call main 之前, 你怎麼知道不能 call 呢? 有時候只是我們自己限制住了自己, 試著突破自己的固有思維 (怎麼變成勵志文章了)。
看看這篇,
用C設計,用C++編碼 有時候我們真的想太多東西了, 考慮這, 考慮那, 尤其你知道越多, 就想的越多, 這個程式只要會 loop, if, 開關檔案, windows console 操作 (這應該是這程式最困難的知識), 就可以寫出來了, 不需要精妙的設計或是 design pattern (請不要解釋成我認為這不重要)
看到這個文字模式大富翁, 讓我興起了文字小瑪莉, 可以用
77 代表那 77 圖示, 用
** 代表星星圖示, BAR 就 BAR; 或是文字水果盤, 以
777 代替那個 777 圖示, 這都是我當初喜歡的遊戲, 應該可以順利完成吧, 應該 ... 我改天應該來介紹一下 ncurses, 推廣一下文字模式的介面開發方式。
作者已經移除這則留言。
回覆刪除