百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

宅在家学不进去吗?试试这些 GitHub 上简单易学的游戏项目吧

cac55 2024-11-02 10:55 38 浏览 0 评论

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

相关推荐

「操作系统」Windows 10 LTSC 2019 企业版C大集成更新版

Windows10LTSC企业版CHIANNET集成更新优化整合多镜像版,CHIANNET,是USBOS超级PE维护盘工具箱作者,长久以来一直默默的更新着,USBOSPE软件,电脑城装机及...

为什么对缠论的级别总是搞不清?如何准确分辨笔、段、中枢级别?

许多人厘清了缠论笔、段、中枢、走势类型等基本概念,但是到实战中区分不了级别就开始混沌了。其实缠论中这几个概念的关系和级别问题,也是缠论运用的难点所在。今天,我们结合缠论指标自动画中枢来图解这一系列问题...

微软再次提醒:IE 浏览器将在今年 6 月退役,请使用 Edge

IT之家3月18日消息,我们已经知道IE浏览器将在今年“退役”,微软想确保每个人都知道这件事。该公司在Windows消息中心发布了一个新的警告,专门提醒用户IE浏览器将于今年6...

系统小技巧:不重启 急救“开始”与“小娜”

不断变化和更新的Windows10在给人们带来惊喜的同时,也常常会带来一些不愉快。使用中,也许有时你会遇到“开始”和Cortana按钮忽然失效的情况,不但点击这些按钮没有任何反应,甚至连Win+S搜...

一个好汉三个帮 我为Win7添智力(一个好汉三个帮求下联)

Win7相对WinXP来说已经智能了许多,但是在平时的使用上仍然有许多的不足。因为系统的很多设置都是统一的,我们无法针对特定的用户、特定的程序作出个性化的更改。今天我们就请三位好汉来帮助Win7,让我...

iOS升级带来新难题 iTools已无法使用

对于广大iOS用户来说,这次的ios8.3版本带来了很多不错的功能,其中最有意思的就是全新表情符号以及CarPlay功能的加入。不过新版本系统在带来了一些好玩功能的同时,也给我们带来了麻烦——iToo...

还记得IExplorer吗 微软宣布将于6月15日终止支持

【CNMO新闻】近日,微软在Windows消息中心发布了一条新警告,决定在2022年6月彻底淘汰InternetExplorer浏览器。微软还强调,新版Edge浏览器有包含专门集成的IE兼容...

.bat语言打开网页和打开系统盘(bat文件打开浏览器)

一、用.bat(批处理语言)打开网页代码:@echooffstartiexplorewww.baidu.com注释:在notepad中编写上述代码,保存为文件后缀名.bat文件,再用鼠标双击该b...

巴巴尔:又一国家级间谍软件被发现

安全研究机构最近曝光了一款可以入侵Windows系统计算机的高级尖端的恶意软件,该款名为“巴巴尔”(Babar)的软件旨在盗取目标的价值数据,包括即时通讯、软件电话、浏览器和办公软件的数据。通过对其研...

lol bug splat的问题应该如何解决?有什么方法?

本文摘要lolbugsplat答:英雄联盟bugsplat为账号被卡,和系统以及客户端无关重装也无效,测试办法为用别人的账号登陆试验下,如别人账号能用,则是自己账号问题,只能说TX脑残不知...

微软 Win11,20 多年来首个没有 IE 浏览器的 Windows 版本

IT之家6月26日消息在Windows10的生命周期中,你可能已经安装了IE浏览器、微软Edge的经典版本,以及新的Chromium驱动的Edge浏览器。这三个浏览器完...

IE浏览器提示AutoComplete:iexplore.exe应用程序错误的解决方法

IE浏览器经常提示AutoComplete:iexplore.exe应用程序错误是怎么回事?不少人会遇到IE浏览器提示AutoComplete:iexplore.exe应用程序错误,然后浏览器就会崩溃...

Windows 8 手势操作更便捷(win8手势设置)

Windows8最显著的一个特性就是增加了大量的手势操作,比如在屏幕上从右边缘向左轻扫,即可唤出Windows8系统超级按钮,相当于按下Win+C快捷键。显然手势操作可以给没有配备键盘、鼠标的平...

如何在最新系统继续使用IE浏览器(一个人没了自由,渴望自由的句子)

解决“IE已经合并进Edge浏览器”无法打开的方法当你因为特殊原因必须使用ie浏览器的时候,经常会遇到“IE已经合并进Edge浏览器”的提示,并被强制转到edge浏览器。虽然互联网上有很多文章介绍各种...

拒绝全家桶,浏览器保护有高招(浏览器保护模式禁用怎么取消)

浏览器是我们上网常用的组件,现在网上针对浏览器攻击也非常多,轻则造成主页被广告页面锁定,重则被劫持,并且强制安装上我们不需要的各种流氓插件。那么该怎么更好保护自己浏览器?拒绝广告,固定IE主页默认情况...

取消回复欢迎 发表评论: