GitHub上10个有趣的开源小游戏(附加在线演示)_github开源小游戏-程序员宅基地

技术标签: GitHub  

前言

GitHub作为程序员们的开源宝库,有着很多非常好的项目。对于初学者来说,游戏有着一种特殊的魅力。今天统计了GitHub上比较有趣的10个开源小游戏,其中有许多可以称之为经典。笔者是一名90后,《贪吃蛇》、《坦克大战》、《超级马里奥》和《太空侵略者》作为儿时的玩伴,陪伴笔者度过了很多时光,给笔者带来了非常多的回忆。

1、Pacman(吃豆人游戏)


项目演示地址: https://passer-by.com/pacman/

GitHub项目链接: https://github.com/mumuy/pacman

作者GitHub主页: https://github.com/mumuy

《吃豆人》(Pac-Man)是一部由同名街机游戏移植至Atari 2600平台的游戏,最早由南梦宫公司于1980年在街机上推出,后由雅达利公司于1982年3月中旬发售Atari 2600版。 《吃豆人》算是比较经典的游戏了,笔者小时候并没有接触过这个游戏,最初的接触还是在迪士尼动画电影《无敌破坏王》中认识到的。这个项目使用HTML和js很好的还原了这个游戏,其中作者内置了12个关卡,游戏还是十分流畅的。项目效果图如下:

吃豆人第一关

2 、React Tetris(俄罗斯方块)


项目演示地址: https://chvin.github.io/react-tetris/?lan=zh

GitHub项目链接: https://github.com/chvin/react-tetris

作者GitHub主页: https://github.com/chvin

《俄罗斯方块》(Tetris, 俄文:Тетрис)是一款由俄罗斯人阿列克谢·帕基特诺夫于1984年6月发明的休闲游戏。 在笔者小的时候,《俄罗斯方块》可以算是笔者最喜欢的游戏之一了。那个时候拿着一个按键机,无止境的玩着《俄罗斯方块》,真是一种享受。如今看到这个项目又想起了那段日子。这个项目也是用Html和js实现的,项目效果如下:

俄罗斯方块界面

3、Battle City Remake(坦克大战)


项目演示地址: https://battle-city.js.org/#/

GitHub项目连接: https://github.com/shinima/battle-city

作者GitHub主页: https://github.com/shinima

《坦克大战》是由日本南梦宫Namco游戏公司开发的一款平面射击游戏,于1985年发售。游戏以坦克战斗及保卫基地为主题,属于策略型联机类。 坦克大战也是笔者最喜欢的游戏之一,这个项目在很大程度上还原了坦克大战游戏。图标、音效和界面等方面,各个细节的几乎一模一样,笔者截取了第一关的图片,项目效果图如下:

坦克大战游戏

4、国际象棋


项目演示地址: https://lichess.org/

GitHub项目链接: https://github.com/ornicar/lila

作者GitHub主页: https://github.com/ornicar (此项目贡献者比较多)

《国际象棋》是一项比较考验智力与策略的棋牌小游戏。此项目是款基于 Scala 语言,完全免费、开源、没有广告、支持多语言的《在线版国际象棋游戏》。 因为笔者不管是对国际象棋还是Scala语言,都没有很多了解,所以在此不赘述什么了,项目效果图如下:

国际象棋

5、Star Battle(星战)


项目演示地址: https://4ark.me/star-battle/

GitHub项目链接: https://github.com/gd4Ark/star-battle

作者GitHub主页: https://github.com/gd4Ark

曾经有一段时间,太空游戏风靡全球,一大批飞行射击类游戏涌入我们的视线。笔者小时候也加入了这个潮流,那个时候用着大头电脑玩着飞机大战。虽然现在一些网络游戏成为潮流,但是对于笔者来说,单机游戏仍有着不可动摇的魅力。项目的效果图如下:

星球大战游戏

6、 Alien Invasion(太空侵略者)


项目演示地址: http://cykod.github.io/AlienInvasion/

GitHub项目链接: https://github.com/StrykerKKD/SpaceInvaders

作者GitHub主页: https://github.com/StrykerKKD

这个小游戏也是一款飞行射击类游戏,玩法非常简单。这款游戏同笔者小时候玩的,在玩法上十分相似。效果图如下:

太空侵略者

7、Snake Game(贪吃蛇)


项目演示地址: https://rabiroshan.github.io/snake_game/

GitHub项目链接: https://github.com/RabiRoshan/snake_game

作者GitHub主页: https://github.com/RabiRoshan

毋庸置疑,贪吃蛇在游戏史上占据了非常重要的地位,它曾伴随着诺基亚度过了一段辉煌时期。由于当时诺基亚的火爆,而且几乎每部诺基亚都内置了贪吃蛇游戏。所以几乎那个年代的人多少对贪吃蛇都有些了解,而且在诺基亚没落之后,贪吃蛇依旧存活在我们的视野当中。这个项目继承了贪吃蛇的规则,在界面上不同于传统的贪吃蛇:

在这里插入图片描述

8、 Super Mario Bros(超级马里奥)


项目演示地址: http://martindrapeau.github.io/backbone-game-engine/super-mario-bros/index.html

GitHub项目链接: https://github.com/martindrapeau/backbone-game-engine

作者GitHub主页: https://github.com/martindrapeau

超级马里奥和坦克大战都是比较经典的GBA游戏了,这个红帽子蓝吊带的大胡子工人陪伴着很多90后度过童年。那时候笔者在其中一关卡住了,一直无限循环至今还未真正通过关,也确实是一个遗憾。这个项目作者在画面上很好的还原的原作,但是在操作上稍微有些反应迟钝:

超级马里奥

9、2048


项目演示地址: https://play2048.co/

GitHub项目链接: https://github.com/gabrielecirulli/2048

作者GitHub主页: https://github.com/gabrielecirulli (此项目贡献者比较多)

2048是前几年流行的一款益智类单机游戏, 游戏的规则十分简单 。简单易上手,但又十分虐心。笔者至今还未成功通关过一次,虽然没玩多久,着实惭愧。效果图如下:

2048游戏

10、Sliding Puzzle(滑动拼图)


项目演示地址: https://www.sandeepnambiar.com/sliding_puzzle/

GitHub项目链接: https://github.com/gamedolphin/sliding_puzzle

作者GitHub主页: https://github.com/RotMGNambiar https://github.com/gamedolphin

拼图游戏也是之前比较流行的,这个项目用数字取代了图片,玩法和拼图游戏是一样的,还是十分有趣的。喜欢拼图游戏和华容道的伙伴们可以尝试以下,效果图如下:

用数字代替的拼图游戏

除此之外,再给大家介绍一个开源项目。这个不是游戏,而是一个非常炫酷的城市图。

0、City Vein(城市静脉)

项目演示地址: https://96486d9b.github.io/city-vein/

GitHub项目地址: https://github.com/96486d9b/city-vein

作者GitHub主页: https://github.com/96486d9b

用公交路线数据,还原城市结构。通过数据可视化手段,还原了 30 多个城市的城市结构。该项目中有数据获取和处理的脚本,而且该项目充分体现了数据可视化带来的便利和效果,易于激发学习编程的热情。 效果图如下:
杭州公交线路图

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ZackSock/article/details/103450186

智能推荐

Vue中实现div编辑效果,及contenteditable设置为plaintext-only与true的区别-程序员宅基地

文章浏览阅读9.6k次,点赞5次,收藏20次。有时候我们希望实现点击一段div内文本时就能直接进行编辑,当然使用文本框、富文本等也可以实现,但终究有些麻烦。目录效果预览参数介绍封装与使用使用效果差异plaintext-only 的效果使用contenteditable = "true" 的效果效果预览今天我给大家介绍的这种方式是直接使用div的 contenteditable属性,即可实现div的文本编辑..._plaintext-only

对标大厂标准CSDN能力认证 and 超级实习生-大厂实习直通车_csdn认证-程序员宅基地

文章浏览阅读8.1k次,点赞41次,收藏61次。对标大厂标准CSDN能力认证 and 超级实习生-大厂实习直通车详情介绍!!!_csdn认证

快速找出System.Management.Automation.dll,c#调用powershell-程序员宅基地

文章浏览阅读772次。public static void InvokeSystemPS(string cmd) { List<string> ps = new List<string>(); ps.Add("Set-ExecutionPolicy RemoteSigned"); ps..._system.management.automation

MacBook键盘符号_苹果电脑箭头符号是哪个键-程序员宅基地

文章浏览阅读1.1k次。图标介绍⌘Command⇧Shift⇪Caps Lock⌥Option = Alt⌃ControlEnter⌫Delete⌦Fn + Delete↑上箭头↓下箭头←左箭头→右箭头⇞Fn + ↑ = Page Up⇟Fn + ↓ = Page DownHomeFn + ←EndFn + →⇥Tab = 右制表符⇤Shift + Tab = 左制表符..._苹果电脑箭头符号是哪个键

相机成像模型——建立过程(世界坐标系,相机坐标系,图像坐标系,图像像素坐标系,四者之间的关系)_相机成像模型的建立-程序员宅基地

文章浏览阅读1.8w次,点赞11次,收藏62次。相机在计算机视觉应用中起着重要作用,作为图像数据来源,影响着后续各个处理步骤。成像模型就是用数学公式刻画整个成像过程,即被拍摄物体空间点到照片成像点之间的几何变换关系。总体上,相机成像可以分为四个步骤:刚体变换、透视投影、畸变校正和数字化图像。 一、刚体变换(从世..._相机成像模型的建立

Lottie—json文件解析_lottie json解析-程序员宅基地

文章浏览阅读1.6w次,点赞11次,收藏14次。Lottie主要类图:Lottie对外通过控件LottieAnimationView暴露接口,控制动画。LottieAnimationView继承自ImageView,通过当前时间绘制canvas显示到界面上。这里有两个关键类:LottieComposition 负责解析json描述文件,把json内容转成Java数据对象;LottieDrawable负责绘制,把LottieCompo..._lottie json解析

随便推点

利用pyrealsense获取深度图,并进行像素对齐_pyrealsense2深度值-程序员宅基地

文章浏览阅读6.4k次,点赞4次,收藏32次。系统:Ubuntu16.04python版本:python2.7内核版本:4.13.0realsense SDK:librealsense1.12.1python wrapper:pyrealsense2.2这里的pyrealsense2.2指的是pyrealsense1的2.2版本,并不是pyrealsense2,如图:安装pyrealsense/2.21. 进入..._pyrealsense2深度值

模块-----向数据库里面建表,写入数据,在读取数据_编写模块读取数据库数据-程序员宅基地

文章浏览阅读886次。1首先建立模块等一系列的文件,文件2etc/config.xml文件:1.10standardRichardMason_编写模块读取数据库数据

通过本机端口映射VMware中虚拟机应用(例如同一局域网别人想远程连接你虚拟机中的数据库)-程序员宅基地

文章浏览阅读489次,点赞3次,收藏7次。虚拟机中安装一下达梦数据库,并且以后大家都连接你虚拟机中达梦数据库进行开发。。。。。。在不改动自己虚拟机配置,以及本地网卡任何配置的情况下如何解决?本虚拟机网络一直使用的NAT模式。

python字符串的大小写转换_python将一个字符串小写字母转化成大写字母-程序员宅基地

文章浏览阅读5.3k次。字符串的大小写转换操作:upper():把字符串中所有字符都转换成大写字母,转换的结果是新的字符串对象(即id不同)lower():把字符串中所有字符都转换成小写字母,转换的结果是新的字符串对象(即id不同)swapcase():把字符串中所有小写字母都转换成大写字母,把字符串中所有大写字母都转换成小写字母,转换的结果是新的字符串对象(即id不同)capitalize():把第一个字符转换为大写,把其余字符转换为小写,转换的结果是新的字符串对象(即id不同)title():把每个单词的第一个字符_python将一个字符串小写字母转化成大写字母

计算机网络硬件脆弱性,计算机网络的脆弱性包括哪些-程序员宅基地

文章浏览阅读936次。计算机的脆弱性主要包含在那几个方面呢?佰佰安全网是如何对这个问题进行解答的吧。当我们了解了计算机网络的脆弱性我们就能很好的回答计算机网络安全的问题了哦。计算机的脆弱性主要表现在:存储数据的密度极高。在一块磁盘、光盘或磁带中,可以存储大且数据信息,而这些存储介质很容易被带出办公室,也很容易受意外损坏。数据泄露。计算机工作时辐射出电磁波,任何人都可借助并不复杂的设备在一定的范围内收到它,从而造成信息泄..._电脑用户的脆弱账号是什么意思

推荐文章

热门文章

相关标签