Stay home school do not go in it? Try easy to learn game project on GitHub these bars

Author: HelloGitHub- dried fish

This is my house in the first four weeks at home, I do not want to see the code, technical articles do not want to read, can not be happy to learn how when I was a good teacher needs to digest it? Is there any easy way to learn technology? Jinshan typing-remembered childhood, playing playing learned typing, Bingo! # With the way the game to learn technology #, what fun game look when the project on GitHub have to play while you learn.

  1. Classic review
  2. Relive childhood
  3. · Family bucket simulator

Tips : article in the projects are covered Python, machine learning, Java, JS, Go, Objective -C class, want different technology stack of small partners can find new items of interest.

First, revisit the classic

1.1 Zombies

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

PythonPlantsVsZombies is written in Python language Zombies.

  • Programming languages: Python
  • Features
    • PythonPlantsVsZombies support plant type: sunflowers, pea shooter, Ice shooter, nuts, cherry bombs, double pea shooter and so on;
    • PythonPlantsVsZombies support zombie type: zombies, zombie pawn, roadblocks zombie, zombie drum, poison explosion zombies;
    • Project files are saved using Json level information can be independently set the time and location of zombies appear;
    • Support levels selected to play at the start of the plant;
    • Support night mode;
  • Recommended reason: the rage of the Zombies multi-level, diverse mix and match, take it to learn Python practice hand is a good choice.

1.2 Dungeon word games

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

AIDungeon2 is a dungeon-based machine learning word game.

  • Programming languages: Python
  • Features
    • AI Dungeon 基于 OpenAI 打造,采用了最先进的开放源码文本生成功能,辅以自选冒险类特性,向玩家呈现了一段段独特的文字。在 AI Dungeon 中,玩家可以进行各式行为,且无论你的举动多么奇怪都能得到回应;
  • 推荐理由:此项目介绍了如何使用机器学习构建一个游戏,代码简单清晰适合 AI 爱好者深入研究哟~

1.3 斗地主

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

Ratel 是一个命令行可联网的斗地主游戏。

  • 编程语言:Java
  • 功能介绍
    • Ratel 分客户端和服务端,你可以让小伙伴们的客户端都连接你的服务器进行游戏,也可以直接连接作者的公网服务器进行游戏;
  • 推荐理由:Ratel 使用 Java 语言开发,Netty 4.x 网络框架搭配 protobuf 数据协议,此外还可以学到 Server-Client、Client-Client 等交互流程。

二、重温童年

2.1 飞船射击

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 地址→https://github.com/gd4Ark/star-battle

Tinytetris 是一个用 C++ 编写的终端版俄罗斯方块游戏。

  • 编程语言:C++
  • 功能介绍
    • 通过键位 A(左)、D(右)、W(旋转)、S(放下)和 Q(退出)来控制方块的方向和掉落;
  • 推荐理由:Tinytetris 提供了两个版本的源码,分为注释版和库版,注释较多易于理解和学习。

2.3 扫雷

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

Emoji-minesweeper 是一款 Emoji 符号的扫雷游戏。代码很简短,游戏创意很酷。

  • 编程语言:JavaScript
  • 功能介绍
    • 左键单击开启一个地点;
    • 右键单击以将一个点标记为炸弹;
    • 双击可打开目标附近的所有 8 个点(使用右键单击已标记为炸弹的点除外);
  • 推荐理由:寥寥 300+ 行代码实现该游戏,还能学到 Javascript 处理 Emoji 的方法,你不来试试嘛~

三、全家桶·模拟器

3.1 Mac 上的红白机

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

OpenEmu 是一个可以玩各种复古游戏的游戏机。

  • 编程语言:Objective-C
  • 功能介绍
    • 支持任天堂(NES)、索尼PSP、世嘉 32X 等 30 多种游戏引擎;
    • 支持外接游戏手柄、投屏等操作;
  • 推荐理由:有了它,我们就可以在 Mac 系统上玩各种经典游戏,只需将下载到的游戏 ROM 拖到 NES 即可开心地玩耍 30+ 款掌机游戏。

3.2 远程游戏

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

Gameboy.Live 是一个 Gameboy 模拟器,可以通过 Socket 远程玩像素游戏。

  • 编程语言:Golang
  • 功能介绍
    • CPU指令仿真
    • 计时器和中断
    • 支持仅 ROM、MBC1、MBC2 磁带
    • 声音模拟
    • 图形仿真
    • 云游戏
    • ROM 调试器
    • 游戏保存和恢复卡带级别
  • 推荐理由:Gameboy.Live 是为学习目的而编写的 Gameboy 模拟器,所以通过这个项目你可以快速 Pick Golang 技术。

以上为不才最近找到的可以学习知识的 GitHub 游戏项目,#你有什么 GitHub 上的游戏项目来分享下吗?# 欢迎留言告诉我们。


关注公众号加入交流群

Guess you like

Origin www.cnblogs.com/xueweihan/p/12303148.html