宅在家學不進去嗎?試試這些 GitHub 上簡單易學的遊戲項目吧

宅在家學不進去嗎?試試這些 GitHub 上簡單易學的遊戲項目吧

作者:HelloGitHub-小魚乾

這是本人宅在家裡的第 4 周,代碼不想看,技術文章不想讀,都不能愉快學習了我還怎麼當一個優秀的需求消化師呢?有沒有什麼輕鬆地方法來學習技術呢?想起了小時候金山打字通,玩著玩著就學會了打字,Bingo!#用遊戲的方式來學習技術#,是時候找找 GitHub 上有哪些好玩的遊戲項目來邊玩邊學了。

  1. 重溫經典
  2. 重溫童年
  3. 全家桶·模擬器

Tips:文章中的項目分別涵蓋了 Python、機器學習、Java、JS、Go、Objective-C 類別,希望不同技術棧的小夥伴都可以找到自己感興趣的新項目。

一、重溫經典

1.1 植物大戰殭屍

宅在家學不進去嗎?試試這些 GitHub 上簡單易學的遊戲項目吧

GitHub 地址→https://github.com/marblexu/PythonPlantsVsZombies

PythonPlantsVsZombies 是 Python 語言編寫的植物大戰殭屍。

  • 編程語言:Python
  • 功能介紹
    • PythonPlantsVsZombies 支持的植物類型:太陽花、豌豆射手、寒冰射手、堅果、櫻桃炸彈、雙重豌豆射手等;
    • PythonPlantsVsZombies 支持的殭屍類型:普通殭屍、棋子殭屍、路障殭屍、鐵桶殭屍、讀報殭屍;
    • 項目使用 Json 文件保存關卡信息,可獨立設置殭屍出現的時間和位置;
    • 支持關卡開始時選擇上場植物;
    • 支持夜間模式;
  • 推薦理由:風靡一時的植物大戰殭屍關卡多、組合搭配多樣,拿它來學習 Python 練手是一個不錯的選擇。

1.2 地下城文字遊戲

宅在家學不進去嗎?試試這些 GitHub 上簡單易學的遊戲項目吧

GitHub 地址→https://github.com/AIDungeon/AIDungeon

AIDungeon2 是一個基於機器學習的地下城文字遊戲。

  • 編程語言:Python
  • 功能介紹
    • AI Dungeon 基於 OpenAI 打造,採用了最先進的開放源碼文本生成功能,輔以自選冒險類特性,向玩家呈現了一段段獨特的文字。在 AI Dungeon 中,玩家可以進行各式行為,且無論你的舉動多麼奇怪都能得到回應;
  • 推薦理由:此項目介紹瞭如何使用機器學習構建一個遊戲,代碼簡單清晰適合 AI 愛好者深入研究喲~

1.3 鬥地主

宅在家學不進去嗎?試試這些 GitHub 上簡單易學的遊戲項目吧

GitHub 地址→https://github.com/ainilili/ratel

Ratel 是一個命令行可聯網的鬥地主遊戲。

  • 編程語言:Java
  • 功能介紹
    • Ratel 分客戶端和服務端,你可以讓小夥伴們的客戶端都連接你的服務器進行遊戲,也可以直接連接作者的公網服務器進行遊戲;
  • 推薦理由:Ratel 使用 Java 語言開發,Netty 4.x 網絡框架搭配 protobuf 數據協議,此外還可以學到 Server-Client、Client-Client 等交互流程。

二、重溫童年

2.1 飛船射擊

宅在家學不進去嗎?試試這些 GitHub 上簡單易學的遊戲項目吧

GitHub 地址→https://github.com/gd4Ark/star-battle

Star Battle 是一個 JavaScript ES6、Canvas 開發的飛船射擊類遊戲。

  • 編程語言:JavaScript
  • 功能介紹
    • 使用 W、A、S、D 控制飛船,按下 Space 發射;
    • 燃料初始值為 15,每秒遞減 1 點,當燃料值為 0 時,遊戲結束;
    • 觸碰掉下的燃料瓶可增加 15 點,最大值為 30 點;
    • 擊中敵方飛船增加 5 分。行星需擊中兩次,增加 10 分。擊中友方扣除 10 分;
    • 撞擊敵方損失 15 點燃料,撞擊友方扣除 10 分;
    • 遊戲允許負分;
    • 按下 P 暫停遊戲,按下 M 靜音;
  • 推薦理由:作為單機遊戲經典款太空大戰,本項目除了能重溫簡單粗暴地擊落得分之外,還可以學到 Canvas 實踐技術,一舉兩得。

2.2 俄羅斯方塊

宅在家學不進去嗎?試試這些 GitHub 上簡單易學的遊戲項目吧

GitHub 地址→https://github.com/taylorconor/tinytetris

Tinytetris 是一個用 C++ 編寫的終端版俄羅斯方塊遊戲。

  • 編程語言:C++
  • 功能介紹
    • 通過鍵位 A(左)、D(右)、W(旋轉)、S(放下)和 Q(退出)來控制方塊的方向和掉落;
  • 推薦理由:Tinytetris 提供了兩個版本的源碼,分為註釋版和庫版,註釋較多易於理解和學習。

2.3 掃雷

宅在家學不進去嗎?試試這些 GitHub 上簡單易學的遊戲項目吧

GitHub 地址→https://github.com/muan/emoji-minesweeper

Emoji-minesweeper 是一款 Emoji 符號的掃雷遊戲。代碼很簡短,遊戲創意很酷。

  • 編程語言:JavaScript
  • 功能介紹
    • 左鍵單擊開啟一個地點;
    • 右鍵單擊以將一個點標記為炸彈;
    • 雙擊可打開目標附近的所有 8 個點(使用右鍵單擊已標記為炸彈的點除外);
  • 推薦理由:寥寥 300+ 行代碼實現該遊戲,還能學到 Javascript 處理 Emoji 的方法,你不來試試嘛~

三、全家桶·模擬器

3.1 Mac 上的紅白機

宅在家學不進去嗎?試試這些 GitHub 上簡單易學的遊戲項目吧

GitHub 地址→https://github.com/OpenEmu/OpenEmu

OpenEmu 是一個可以玩各種復古遊戲的遊戲機。

  • 編程語言:Objective-C
  • 功能介紹
    • 支持任天堂(NES)、索尼PSP、世嘉 32X 等 30 多種遊戲引擎;
    • 支持外接遊戲手柄、投屏等操作;
  • 推薦理由:有了它,我們就可以在 Mac 系統上玩各種經典遊戲,只需將下載到的遊戲 ROM 拖到 NES 即可開心地玩耍 30+ 款掌機遊戲。

3.2 遠程遊戲

宅在家學不進去嗎?試試這些 GitHub 上簡單易學的遊戲項目吧

GitHub 地址→https://github.com/HFO4/gameboy.live

Gameboy.Live 是一個 Gameboy 模擬器,可以通過 Socket 遠程玩像素遊戲。

  • 編程語言:Golang
  • 功能介紹
    • CPU指令仿真
    • 計時器和中斷
    • 支持僅 ROM、MBC1、MBC2 磁帶
    • 聲音模擬
    • 圖形仿真
    • 雲遊戲
    • ROM 調試器
    • 遊戲保存和恢復卡帶級別
  • 推薦理由:Gameboy.Live 是為學習目的而編寫的 Gameboy 模擬器,所以通過這個項目你可以快速 Pick Golang 技術。

以上為不才最近找到的可以學習姿勢的 GitHub 項目,#你有什麼 GitHub 上的遊戲項目來分享下嗎?# 歡迎留言告訴我們。


分享到:


相關文章: