我在GitHub上找到了這些遊戲項目,刺激!

作者:JackTian
來源:公衆號「傑哥的IT之旅」
ID:Jake_Internet

當你學習、工作累了,趁休息時間娛樂放鬆一下,通過用遊戲的方式來學習技術,那麼 GitHub 上這些好玩的開源項目小遊戲是最適合不過了。

首先,我們來看一下這張圖,可快速瞭解這篇文章中所涉及到的 23 個關於遊戲方面的開源項目。

Games on GitHub

這個開源項目作者收集了託管在 GitHub 上的開源遊戲以及跟遊戲相關的項目列表,所含的項目類型衆多,遊戲種類包括教育類、瀏覽器類等,還包括一些開源的遊戲引擎等等;

該項目的目錄:

具體細節就不逐一點開給大家演示了,感興趣的朋友去看看。

GitHub 地址:https://github.com/leereilly/games

vim-game-code-break

這個項目是 Vim 插件版本的打豆豆。

將其放在您的.vimrc中:

Plug 'johngrib/vim-game-code-break'

然後在Vim中運行以下命令:

:source %

:PlugInstall

裝上這個插件輸入:VimGameCodeBreak,即可開始遊戲。

功能介紹

  • h、l 鍵是控制左右方向;

  • space 鍵是發球;

  • ` 鍵是作弊鍵;

  • ] 鍵是神模式,[ 鍵是人工模式;

  • q 鍵是結束遊戲,Q 鍵是退出並關閉遊戲;

GitHub 地址:

https://github.com/johngrib/vim-game-code-break

javascript-tetris

一個簡單的 JavaScript 俄羅斯方塊遊戲,這個開源項目是通過 HTML5 實現的,功能簡陋齊全,作者還記錄這個遊戲的實現細節以及工作原理。

地址:

https://codeincomplete.com/articles/javascript-tetris/ 


GitHub 地址:

https://github.com/jakesgordon/javascript-tetris


遊戲在線地址:

https://codeincomplete.com/games/tetris/

react-tetris

除了上述俄羅斯方塊遊戲外,還有一款不錯的,我也是非常喜歡,這個項目是通過 React 實現的,遊戲框架使用的是 React + Redux,其中再加入了 Immutable,用它的實例來做來 Redux 的 state,跟上述實現的方式還是有所不同。

這款遊戲不僅指屏幕的自適應,而是在 PC 使用鍵盤、在手機使用手指的響應式操作,都很方便。

GitHub 地址:https://github.com/chvin/react-tetris

遊戲在線地址:https://chvin.github.io/react-tetris/

sshtron

SSHTron 是一款通過 SSH 運行的多人 Lightcycle 遊戲,只需運行如下命令即可開始遊戲:

ssh sshtron.zachlatta.com


功能介紹

  • W A S D 或 vim 鍵綁定移動(不要使用箭頭鍵);

  • 退出或按 Ctrl + C 退出;

GitHub 地址:https://github.com/zachlatta/sshtron

battle-city

基於 React 的經典坦克大戰,這個 GitHub 倉庫的版本是經典坦克大戰的復刻版本,基於原版素材,使用 React 將各類素材封裝爲對應的組件。素材使用 SVG 進行渲染以展現遊戲的像素風,可以先調整瀏覽器縮放再進行遊戲,1080P 屏幕下使用 200% 縮放爲最佳。

此遊戲使用網頁前端技術進行開發,主要通過 React 進行頁面展現,使用 Immutable.js 作爲數據結構工具庫,使用 redux 管理遊戲狀態,以及使用 redux-saga/little-saga 處理複雜的遊戲邏輯。

GitHub 地址:https://github.com/shinima/battle-city

遊戲在線地址:http://shinima.pw/battle-city/

pacman

Pacman 是基於 HTML5 的喫豆人遊戲。該項目在 GitHub 上的核心代碼就兩個文件,代碼有註釋、整潔。對於新手來說是個很好的實踐項目。

GitHub 地址:https://github.com/mumuy/pacman

遊戲在線地址:http://passer-by.com/pacman/

ratel

Ratel 這個項目是基於 Netty 實現的一款命令行鬥地主遊戲。

Ratel 分客戶端和服務端,你可以讓小夥伴們的客戶端都連接你的服務器進行遊戲,也可以直接連接作者的公網服務器進行遊戲。

詳情可參考:《摸魚神器:在 Linux 命令行下玩鬥地主!》這篇文章介紹瞭如何安裝 Ratel?以及一些 Ratel 的玩法。

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

lila

lila 是一款基於 Scala 語言,完全免費、開源、沒有廣告、支持多語言的在線國際象棋遊戲。

GitHub 地址:https://github.com/ornicar/lila

遊戲在線地址:https://lichess.org/

star-battle

star-battle 是一個使用 JavaScript ES6、Canvas 開發的飛船射擊類遊戲。

功能介紹

  • 使用 W、A、S、D 鍵控制飛船,按下 Space 發射;

  • 燃料初始值爲 15,每秒遞減 1 點,當燃料值爲 0 時,遊戲結束;

  • 觸碰掉下的燃料瓶可增加 15 點,最大值爲 30 點;

  • 擊中敵方飛船增加 5 分。行星需擊中兩次,增加 10 分。擊中友方減 10 分;

  • 撞擊敵方損失 15 點燃料,撞擊友方扣除 10 分;

  • 遊戲允許負分;

  • 按下 P 暫停遊戲,按下 M 靜音;

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

遊戲在線地址:https://4ark.me/star-battle/

PythonPlantsVsZombies

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

功能介紹

  • PlantsVsZombies 所支持的植物類型:向日葵、豌豆射手、寒冰射手、堅果、櫻桃炸彈等;

  • PlantsVsZombies 所支持的殭屍類型:普通殭屍、鞭打殭屍,錐頭殭屍,水桶頭殭屍,報紙殭屍等;

  • 該項目可使用 json 文件來存儲關卡數據信息(例如殭屍的位置和時間,背景信息);

  • 支持在關卡開始前選擇植物卡;

  • 支持白天/夜間模式,移動卡選擇水平和 Wallnut 保齡球水平;

運行 main.py 文件即可運行遊戲:

# python main.py
import pygame as pg
from source.main import main

if __name__=='__main__':
    main()
    pg.quit()

GitHub 地址:

https://github.com/marblexu/PythonPlantsVsZombies

HueJumper2k

這個項目是用 JS 實現 2KB 大小的 3D 賽車遊戲。

控制項

  • 鼠標 = 轉向

  • 點擊 = 剎車

  • 雙擊 = 跳轉

  • R = 重新啓動

  • 1 = 屏幕圖

GitHub 地址:

https://github.com/KilledByAPixel/HueJumper2k


遊戲在線地址:

https://killedbyapixel.itch.io/hue-jumper

free-python-games

免費的入門級 Python 遊戲集合庫,都是一些簡單的小遊戲:貪喫蛇、迷宮、Pong、猜字等,運行方便、代碼簡單易懂。以遊戲的方式開啓你的 Python 學習之旅,玩完再學源碼,真是其樂無窮。

GitHub 地址:https://github.com/grantjenks/free-python-games

css-sweeper

一個只用 HTML 和 CSS 實現的掃雷遊戲。

GitHub 地址:https://github.com/propjockey/css-sweeper

遊戲在線地址:https://propjockey.github.io/css-sweeper/

emoji-minesweeper

Emoji-minesweeper 是一款表情符號的掃雷遊戲。

功能介紹

  • 左鍵單擊可開啓一個地點;

  • 右鍵單擊可將一個點標記爲炸彈;

  • 雙擊以打開目標附近的所有 8 個點(使用右鍵單擊已標記爲炸彈的點除外)

GitHub 地址:

https://github.com/muan/emoji-minesweeper


遊戲在線地址:

http://muan.github.io/emoji-minesweeper/

MazeBattles.com

使用 Node.js 和 Socket.io 實現的在線迷宮遊戲,通過 [a][w][s][d] 按鍵移動位置,支持多人和單人兩種模式。

GitHub 地址:

https://github.com/HenryDavidZhu/MazeBattles.com


遊戲在線地址:

http://www.mazebattles.com/

flexboxfroggy

一個幫助學習 CSS flexbox 知識的在線遊戲。

遊戲一共 24 關,通俗易懂的解釋了 flex 佈局,適合初學者,支持中文,可以在 settings 中選擇語言。

GitHub 地址:

https://github.com/thomaspark/flexboxfroggy


遊戲在線地址:

https://flexboxfroggy.com/

gorched

Go 語言寫的終端遊戲 Scorched Earth。

控制項

  • ← → 改變大炮角度

  • SPACE 開始加載(第一擊)並射擊(第二擊)

  • Ctrl+C 退出遊戲

  • Ctrl+R 重新開始當前回合

  • Ctrl+N 開始下一輪

  • S 顯示分數

  • A 顯示玩家的屬性

  • H 顯示幫助

GitHub 地址:https://github.com/zladovan/gorched

遊戲在線地址:https://repl.it/@zladovan/gorched

Mindustry

一款 Java 編寫的免費沙盒塔防遊戲。支持多平臺:Windows、Linux、macOS、Android

GitHub 地址:https://github.com/Anuken/Mindustry

AIDungeon

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

GitHub 地址:

https://github.com/Latitude-Archives/AIDungeon


遊戲在線地址:

https://play.aidungeon.io/main/landing

OpenEmu

OpenEmu 是一個可以玩各種復古遊戲的遊戲機,支持任天堂、索尼 PSP、世嘉 32X 等 30 多種遊戲引擎,以及支持外接遊戲手柄、投屏等操作;

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

gameboy.live

gameboy.live 是一個具有終端 “雲遊戲” 支持的基本 Gameboy 模擬器,可通過 Socket 遠程玩像素遊戲。

功能介紹

  • CPU指令仿真

  • 計時器和中斷

  • 支持僅ROM,MBC1,MBC2,MBC3磁帶

  • 聲音模擬

  • 圖形仿真

  • 雲遊戲

  • ROM調試器

  • 遊戲保存和恢復卡帶級別

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

cxk-ball

這是一款用 Javascript 實現的 CXK 打籃球遊戲。

該遊戲有多種模式可選擇:

  • 簡單

  • 普通

  • 困難

  • 極限

  • 非人類

GitHub 地址:https://github.com/kasuganosoras/cxk-ball

遊戲在線地址:https://cxk.ssrr.one/

最後

以上就是今天所要分享的全部內容了。

如果你覺得這篇文章對你有點用的話,就請爲本文留個言,點個 or 在看,或者轉發一下,讓更多的朋友看到,因爲這將是我持續輸出更多優質文章的最強動力!

當然了,如果你有挖掘到 GitHub 上關於遊戲項目或其他類型的開源項目,也歡迎大家留言分享。

  
          
          
          
個人微信(如果沒有備註不拉羣!
請註明: 地區+學校/企業+研究方向+暱稱



下載1:何愷明頂會分享


AI算法與圖像處理」公衆號後臺回覆:何愷明,即可下載。總共有6份PDF,涉及 ResNet、Mask RCNN等經典工作的總結分析


下載2:終身受益的編程指南:Google編程風格指南


AI算法與圖像處理」公衆號後臺回覆:c++,即可下載。歷經十年考驗,最權威的編程規範!




        
        
        
下載3 CVPR2020

AI算法與圖像處公衆號後臺回覆: CVPR2020 即可下載1467篇CVPR 2020論文


覺得不錯就點亮在看吧


本文分享自微信公衆號 - AI算法與圖像處理(AI_study)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章