zoukankan      html  css  js  c++  java
  • 宅在家学不进去吗?试试这些 GitHub 上简单易学的游戏项目吧

    作者:HelloGitHub-小鱼干

    这是本人宅在家里的第 4 周,代码不想看,技术文章不想读,都不能愉快学习了我还怎么当一个优秀的需求消化师呢?有没有什么轻松地方法来学习技术呢?想起了小时候金山打字通,玩着玩着就学会了打字,Bingo!#用游戏的方式来学习技术#,是时候找找 GitHub 上有哪些好玩的游戏项目来边玩边学了。

    1. 重温经典
    2. 重温童年
    3. 全家桶·模拟器

    Tips:文章中的项目分别涵盖了 Python、机器学习、Java、JS、Go、Objective-C 类别,希望不同技术栈的小伙伴都可以找到自己感兴趣的新项目。

    一、重温经典

    1.1 植物大战僵尸

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

    PythonPlantsVsZombies 是 Python 语言编写的植物大战僵尸。

    • 编程语言:Python
    • 功能介绍
      • PythonPlantsVsZombies 支持的植物类型:太阳花、豌豆射手、寒冰射手、坚果、樱桃炸弹、双重豌豆射手等;
      • PythonPlantsVsZombies 支持的僵尸类型:普通僵尸、棋子僵尸、路障僵尸、铁桶僵尸、读报僵尸;
      • 项目使用 Json 文件保存关卡信息,可独立设置僵尸出现的时间和位置;
      • 支持关卡开始时选择上场植物;
      • 支持夜间模式;
    • 推荐理由:风靡一时的植物大战僵尸关卡多、组合搭配多样,拿它来学习 Python 练手是一个不错的选择。

    1.2 地下城文字游戏

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

    AIDungeon2 是一个基于机器学习的地下城文字游戏。

    • 编程语言:Python
    • 功能介绍
      • 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/taylorconor/tinytetris

    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 上的游戏项目来分享下吗?# 欢迎留言告诉我们。


    关注公众号加入交流群

  • 相关阅读:
    PHP操作MYSQL数据库
    微信DLL劫持反弹shell复现
    ERROR Invalid options in vue.config.js: "baseUrl" is not allowed
    求曲线y=lnx在区间(2,6)内的一条切线,使得该切线与直线x=2,x=6及曲线y=lnx所围成的图形的面积最小。
    CentOS、Ubuntu、Debian三个linux比较异同
    jpa模糊查询(表中的某些数据)
    jpa查找数据库最新一条消息
    在@Data注释lombok上使用继承警告等于/ hashCode(Warning equals/hashCode on @Data annotation lombok with inheritance)
    git基本操作
    远程分支git换地址了,本地重新关联
  • 原文地址:https://www.cnblogs.com/xueweihan/p/12303148.html
Copyright © 2011-2022 走看看