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

技术标签: 小游戏  react.js  github  html5  

前言

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/MengYiKeNan/article/details/120097936

智能推荐

Java8 parallelStream——共享线程池对性能解析_jdk8 parallelstream 性能-程序员宅基地

文章浏览阅读3.3k次,点赞2次,收藏8次。最近做压测中发现一个应用中cpu过高,导致接口超时rt情况有些不大稳定,jstack打印线程一直在parallelStream相关的代码出进行计算。故对parallelStream相关做一下研究,找一下优化方法。java8并行流parallelStream,相信很多人都喜欢用,特别方便简单。但是有多少人真正知道里面采用的共享线程池对密集型任务,高并发下的性能影响呢可能你的一个应用里面..._jdk8 parallelstream 性能

C++ 11 创建和使用 unique_ptr_unique_ptr创建空节点-程序员宅基地

文章浏览阅读292次。https://www.cnblogs.com/DswCnblog/p/5628195.htmlunique_ptr 不共享它的指针。它无法复制到其他 unique_ptr,无法通过值传递到函数,也无法用于需要副本的任何标准模板库 (STL) 算法。只能移动unique_ptr。这意味着,内存资源所有权将转移到另一 unique_ptr,并且原始 unique_ptr 不再拥有此资源。我们建议..._unique_ptr创建空节点

NetCoreAPI配置全局路由_selector.attributeroutemodel.template-程序员宅基地

文章浏览阅读853次。1:新增类:RouteConvention,继承自IApplicationModelConvention/// <summary> /// 全局路由前缀配置 /// </summary> public class RouteConvention : IApplicationModelConvention { /// <summary> /// 定义一个路由前缀变量 /// </su_selector.attributeroutemodel.template

算 数-程序员宅基地

文章浏览阅读64次。从woody那里copy一段最简的fib代码[code="ruby"]x,y = 0,1 Array.new(10) {|i| [0,1].include?(i) ? 1 : (x,y = y,x+y)&&(x+y) } [/code]生成了这么多,太多了,中途终止了,不知道多少条。[code="ruby"] 1, 1, 2, ..._359579325206583560961765665172189099052367214309267232255589801

Java的BIO和NIO很难懂?用代码实践给你看,再不懂我转行!-程序员宅基地

文章浏览阅读280次。本文原题“从实践角度重新理解BIO和NIO”,原文由Object分享,为了更好的内容表现力,收录时有改动。1、引言这段时间自己在看一些Java中BIO和NIO之类的东西,也看了很多博客,发现各种关于NIO的理论概念说的天花乱坠头头是道,可以说是非常的完整,但是整个看下来之后,发现自己对NIO还是一知半解、一脸蒙逼的状态(请原谅我太笨)。基于以上原因,..._java bio粘包处理

Python3.9环境搭建RobotFramework_python-3.9.9-amd64用那个版本ride-程序员宅基地

文章浏览阅读9k次,点赞2次,收藏12次。Robot Framework是一个基于Python的,可扩展的关键字驱动的测试自动化框架,用于端到端验收测试和验收测试驱动开发(ATDD)。_python-3.9.9-amd64用那个版本ride

随便推点

Hbase相关操作_hbase 查询-程序员宅基地

文章浏览阅读2.4k次。1.进入shellhbase(main):003:0>hbase shell2.查看所有表hbase(main):003:0> list3.根据rowKey查询某个记录hbase(main):003:0>get '表名','rowKey'4.常用过滤器过滤方式是通过value过滤,匹配出value含7259的数据。scan 'buss_surface', FILTER=>"ValueFilter(=,'substring:7259')"过滤方式是通_hbase 查询

噪声:Practical Poissonian-Gaussian noise modeling and fitting for single-image raw-data-程序员宅基地

文章浏览阅读2k次,点赞4次,收藏16次。Practical Poissonian-Gaussian noise modeling and fitting for single-image raw-data文章目录Practical Poissonian-Gaussian noise modeling and fitting for single-image raw-dataPoissonian-Gaussian ModelingThe Noise Profile AlgorithmWavelet domain analysisSegmentat_practical poissonian-gaussian noise modeling and fitting for single-image ra

计算机开机最快设置,w7提高开机速度如何操作_win7电脑怎么开机更快-程序员宅基地

文章浏览阅读4k次。由于win7电脑使用时间过长或者存放时间久了,难免会出现硬件各方面的老化或者堆积了大量的垃圾,因此就会导致电脑开机时的速度有所降低,对此有些用户就想,在不更换硬件的条件下,有没有方法能够提高一下开机速度,那么win7电脑提高开机速度如何操作呢?这里小编就来告诉大家win7电脑开机更快操作步骤。具体方法:1、在任意界面按下:windows键+R,然后在框内输入msconfig,点确定2、然后选择“启..._如何提高w7系统的开机速度

1688API接口:item_search - 按关键字搜索商品_1688 一件代发 api-程序员宅基地

文章浏览阅读672次。今天分享的是1688平台API,item_search - 按关键字搜索商品接口1688的API开发接口,我们需要做下面几件事情。1)开放平台注册开发者账号;2)然后为每个1688应用注册一个应用程序键(App Key) ;3)下载1688API的SDK并掌握基本的API基础知识和调用;4)利用SDK接口和对象,传入AppKey或者必要的时候获取并传入SessionKey来进行程序开发;5)利用1688平台的文档中心和API测试工具,对接口进行测试。从而了解返回信息,方便程序获取1688_1688 一件代发 api

vue-property-decorator使用指南_vue-property-decorator emit update-程序员宅基地

文章浏览阅读3.1k次,点赞2次,收藏12次。在Vue中使用TypeScript时,非常好用的一个库,使用装饰器来简化书写。一、安装npmi-Svue-property-decorator@Prop @PropSync @Provide @Model @Watch @Inject @Provide @Emit @Component(provided byvue-class-component) Mixins(the helper function namedmixinsprovided byvue-cla..._vue-property-decorator emit update

(七)用ChartDirector绘制实时图表-程序员宅基地

文章浏览阅读467次。本示例演示如何用Web图表控件 ChartDirector 绘制一个配置有刷新率的实时图表。在本例中,由一个计时器驱动的随机数生成器生成新的数据值,新产生的值会转换到数据数组中,然后显示在图表上。图表由一个秒表进行更新,这样图表的刷新率可独立于数据率。此外,这个图表支持暂停以方便用户查看,但是后台的数据仍然在继续更新。图表刷新计时器调用CChartViewer.update..._c++ chartdirect updateviewport