【好玩的游戏项目】在Linux系统下部署star-battle太空飞船射击小游戏

【好玩的开源项目】在Linux系统下部署 star-battle太空飞船射击小游戏

  • 一、star-battle小游戏介绍
    • 1.1 star-battle小游戏简介
    • 1.2 star-battle小游戏玩法
    • 1.3 开源地址
  • 二、本次实践介绍
    • 2.1 本地环境规划
    • 2.2 本次实践介绍
    • 2.3 Apache HTTP Server简介
  • 三、安装httpd软件
    • 3.1 检查yum仓库
    • 3.2 安装httpd软件
    • 3.3 启动httpd服务
    • 3.4 查看httpd服务
    • 3.5 防火墙和selinux设置
    • 3.6 浏览器测试web服务
  • 四、部署star-battle太空飞船射击小游戏
    • 4.1 下载小游戏源码
    • 4.2 查看项目源码目录
    • 4.3 重启httpd服务
    • 4.4 访问小游戏web页面
  • 五、试玩star-battle太空飞船射击小游戏
  • 六、总结

一、star-battle小游戏介绍

1.1 star-battle小游戏简介

star-battle是一款使用JavaScript ES6、Canvas开发的太空飞船射击小游戏。

1.2 star-battle小游戏玩法

star-battle是一款基于JavaScript ES6和Canvas技术开发的太空飞船射击小游戏。在游戏中,玩家可以扮演一名太空飞船的驾驶员,驾驶自己的飞船在宇宙中与敌人进行战斗。游戏中的目标是尽可能击败更多的敌人,生存更长的时间。玩家可以通过射击敌人来获得得分,击败更多敌人可以获得更高的分数。同时,玩家还需要小心避开敌人的攻击,保持自己的生命值不被消耗完。在star-battle中,玩家可以通过键盘的方向键来控制飞船的移动方向,通过按下空格键来发射子弹。游戏画面使用Canvas技术绘制,呈现出太空的背景和动态的飞船、敌人和子弹。star-battle采用了现代的JavaScript ES6语法,使得游戏的开发更加简洁和高效。同时,利用Canvas技术可以实现流畅的动画效果,为玩家带来更好的游戏体验。star-battle是一款简单而有趣的太空飞船射击小游戏,适合喜爱射击游戏的玩家体验。

1.3 开源地址

github地址:https://github.com/gd4Ark/star-battle

二、本次实践介绍

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为centos7.6。

hostnameIP地址操作系统版本内核版本
jeven192.168.3.166centos 7.63.10.0-957.el7.x86_64

2.2 本次实践介绍

1.本次实践环境为个人测试环境,生产环境请谨慎;
2.在centos7.6环境下部署star-battle太空飞船射击小游戏。

2.3 Apache HTTP Server简介

  1. Apache HTTP Server(简称Apache)是一个开源的Web服务器软件,广泛用于Internet上的各种网站、应用程序和服务。Apache的运行平台包括各种操作系统,如Unix、Linux、Windows等。Apache最初由一群志愿者开发,并且是一个完全免费的软件。它具有高度的可扩展性和灵活性,可以通过模块化的方式实现各种功能和特性。Apache支持多种编程语言和协议,如Perl、PHP、Python、Java和HTTPS等。
  2. Apache的主要功能包括处理HTTP请求、静态和动态内容的传输、反向代理、负载均衡、虚拟主机等。它提供了丰富的配置选项和强大的日志功能,使管理员能够轻松地管理和监控服务器的运行状态。Apache具有出色的性能和稳定性,经过多年的发展和改进,成为最受欢迎的Web服务器之一。根据统计数据,目前全球超过一半的网站都使用Apache作为其Web服务器。

三、安装httpd软件

3.1 检查yum仓库

如果没有配置镜像源,可以使用阿里云的镜像源。

curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo

检查yum仓库状态,确保各镜像源正常。

[root@jeven ~]# yum repolist enabled
Loaded plugins: fastestmirror, langpacks
Determining fastest mirrors* epel: mirrors.bestthaihost.com
repo id                                                                       repo name                                                                                  status
!base/7/x86_64                                                                CentOS-7 - Base - mirrors.aliyun.com                                                       10,072
!epel/x86_64                                                                  Extra Packages for Enterprise Linux 7 - x86_64                                             13,767
!extras/7/x86_64                                                              CentOS-7 - Extras - mirrors.aliyun.com                                                        518
!mongodb-org                                                                  MongoDB Repository                                                                            342
!mysql-connectors-community/x86_64                                            MySQL Connectors Community                                                                    227
!mysql-tools-community/x86_64                                                 MySQL Tools Community                                                                         100
!mysql57-community/x86_64                                                     MySQL 5.7 Community Server                                                                    678
!updates/7/x86_64                                                             CentOS-7 - Updates - mirrors.aliyun.com                                                     5,176
repolist: 30,880

3.2 安装httpd软件

直接使用yum安装httpd软件。

yum -y install  httpd

在这里插入图片描述

3.3 启动httpd服务

启动httpd服务,并使开机自启。

systemctl start httpd && systemctl enable  httpd

3.4 查看httpd服务

查看httpd服务状态,确保httpd服务正常。

[root@jeven ~]# systemctl status httpd
● httpd.service - The Apache HTTP ServerLoaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)Active: active (running) since Mon 2023-12-04 20:42:41 CST; 7s agoDocs: man:httpd(8)man:apachectl(8)Main PID: 49534 (httpd)Status: "Processing requests..."CGroup: /system.slice/httpd.service├─49534 /usr/sbin/httpd -DFOREGROUND├─49536 /usr/sbin/httpd -DFOREGROUND├─49537 /usr/sbin/httpd -DFOREGROUND├─49538 /usr/sbin/httpd -DFOREGROUND├─49539 /usr/sbin/httpd -DFOREGROUND└─49540 /usr/sbin/httpd -DFOREGROUNDDec 04 20:42:40 jeven systemd[1]: Starting The Apache HTTP Server...
Dec 04 20:42:41 jeven systemd[1]: Started The Apache HTTP Server.

3.5 防火墙和selinux设置

  • 设置selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
setenforce 0
  • 关闭防火墙,如果想要开启防火墙,需放行80端口。
systemctl stop firewalld && systemctl disable firewalld

3.6 浏览器测试web服务

浏览器打开:http://192.168.3.166,将IP替换为自己服务器IP地址。

在这里插入图片描述

四、部署star-battle太空飞船射击小游戏

4.1 下载小游戏源码

进入网页根目录

[root@jeven ~]# cd /var/www/html/
[root@jeven html]#

在github拉取astar-battle小游戏源码

 git clone https://github.com/gd4Ark/star-battle.git

4.2 查看项目源码目录

查看star-battle项目源码目录

[root@jeven html]# tree -L 2 star-battle
star-battle
├── css
│   ├── common.css
│   └── style.css
├── img
│   ├── a-.png
│   ├── a+.png
│   ├── background-1.jpg
│   ├── boom.png
│   ├── enemyBullet.png
│   ├── fuel2.png
│   ├── logo-01.png
│   ├── meteorites
│   ├── mute.png
│   ├── pause.png
│   ├── plane
│   ├── playerBullet.png
│   ├── play.png
│   ├── score.png
│   ├── speaker.png
│   ├── star
│   └── time3.png
├── index.html
├── js
│   ├── class
│   ├── config
│   ├── game.js
│   ├── main.js
│   ├── scenes
│   └── utils
├── LICENSE
├── README-CN.md
├── README.md
└── sound├── background.mp3├── destroyed.mp3└── shoot.mp311 directories, 25 files

4.3 重启httpd服务

重启httpd服务

systemctl restart httpd

4.4 访问小游戏web页面

访问地址:http://服务器IP地址/ star-battle,在浏览器进入star-battle太空飞船射击小游戏页面。

在这里插入图片描述

五、试玩star-battle太空飞船射击小游戏

在这里插入图片描述

  • 游戏操作:
  1. 使用 W、A、S、D 控制飞船,按下 Space 发射。
  2. 燃料初始值为15,每秒递减1点,当燃料值为0时,游戏结束。
  3. 触碰掉下的燃料瓶可增加15点,最大值为30点。
  4. 击中敌方飞船增加5分。行星需击中两次,增加10分。击中友方扣除10分。
  5. 撞击敌方损失15点燃料,撞击友方扣除10分。
  6. 游戏允许负分。
  7. 按下 P 暂停游戏,按下 M 静音。

六、总结

star-battle太空飞船射击小游戏是一款开源的小游戏项目,部署起来非常简单,只需要一个web服务器,将游戏内容放在网站目录即可开始游戏。作为游戏爱好者,你可以将游戏部署在个人服务器上,并在闲暇时享受游戏乐趣。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/737781.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

面试官:说说你对事件循环的理解

一、事件循环是什么 首先,JavaScript是一门单线程的语言,意味着同一时间内只能做一件事,但是这并不意味着单线程就是阻塞,而实现单线程非阻塞的方法就是事件循环 在JavaScript中,所有的任务都可以分为 同步任务&#…

如何保证消息不被重复消费?或者说,如何保证消息消费的幂等性?

一、面试官心理分析 其实这是很常见的一个问题,这俩问题基本可以连起来问。既然是消费消息,那肯定要考会不会重复消费?能不能避免重复消费?或者重复消费了也别造成系统异常可以吗?这个是 MQ领域的基本问题,…

还不知道快速原型设计?别担心,我们来解释给你听!

从一个想法到产品的实施是一个混乱的过程,毫无疑问,我们需要努力建立这个想法。但“光明”的想法是好是坏呢?幸运的是,我们有一个工具可以做到这一点——原型。原型是最终产品的模拟或样本版本,可用于发布前与用户反复…

部署私有KMS服务器,并设置自动激活Windows和office

介绍 vlmcsd是一个KMS激活服务器的模拟器,可以在Windows Server之外的平台上部署自己的KMS服务器。它是一个开源项目,由Wind4开发,目前在Linux上运行(包括Android、FreeBSD、Solaris、Minix、Mac OS、iOS和Windows等)…

【pycharm使用ssh连接服务器】

2、pycharm使用ssh连接服务器 1、具体流程2、一些需要注意的小问题2.1 更改代码地址2.2 本地代码上传到服务器2.3 在服务器的环境中上新安装库,但是pycharm检测不到 1、具体流程 打开pycharm – File – Setting 输入服务器的IP地址,端口号、登录账号名…

Linux中三次握手,四次挥手状态图,端口复用 半关闭状态,心跳包

tcp三次握手和四次挥手状态图: 为什么需要2MSL: 原因1:让四次挥手过程更加可靠,确保最后一个发送给对方的ACK到达;若对方没有收到ACK应答,对方会再次发送FIN请求关闭,此时在2MSL时间内被动关闭…

盛元广通粮油质量检测实验室管理系统

近年来对于食品安全问题层出不穷,为提高粮食检测中心管理水平,关系到千千万万的消费者的健康饮食问题,粮油作为老百姓日常生活饮食必需品、消耗品,需从源头上对粮食在本省(区、市、县)不同粮食品种检测检测…

Intel@cpu产品参数和命名@单核睿频和全核睿频

文章目录 选择合适的cpuintel cpu型号和命名小结 cpu排行时钟速度睿频单核睿频和全核睿频网络上流传的方法 在线查询 产品比较跑分比较 选择合适的cpu 如何选择游戏 CPU - 英特尔 (intel.cn)在决定购买具体的产品之前,建议广泛地查阅用户对它的评价以及是否有哪些因素是不满足…

7个学习自动化测试小技巧希望能帮助到你

一、编程语言 当我开始担任手动测试人员时,我不喜欢编码。但是,当我逐渐进入自动化领域时,对我来说很清楚,如果没有对编程语言的一些基本了解,就无法编写逻辑自动化测试脚本。 对编程有一点了解,不仅可以…

网络安全防御保护 Day7

1.因为FW1和FW2已处于双机热备状态,所以只需要对主设备进行配置即可。进入FW1的配置界面,选择“网络”界面,点击“IPsec”,进行IPsec通道的基本配置,这里选择的是“电信”链路。 2.完成上述配置后,进行待加…

揭秘防爆气象仪器:超声波监测原理如何守护安全?

TH-WFB5随着科技的不断进步,防爆气象仪器已成为现代工业生产中不可或缺的重要设备。这些仪器采用先进的超声波监测原理,能够实时、准确地监测环境中的各种气象参数,为企业的安全生产提供有力保障。 一、超声波监测原理简介 超声波是指频率高于…

从焦虑到成功:一个软件测试工程师的逆袭之路

日常大家聊天时经常提及一个关键词——大环境不好,由此带来了很多行为的变化,有的人迷茫,有的人躺平。本文给大家介绍发生在我身上和身边的真实案例,希望能带给你一些输入。 案例一:曾经的我也极度焦虑 我是2008年参加…

BUU [网鼎杯 2020 半决赛]AliceWebsite

BUU [网鼎杯 2020 半决赛]AliceWebsite 开题&#xff1a; hint附件是源码。在index.php中有一个毫无过滤的本地文件包含 <?php $action (isset($_GET[action]) ? $_GET[action] : home.php); if (file_exists($action)) {include $action; } else {echo "File not…

Unity接入海量RTSP直播流,多线程渲染

Unity 播放海量RTSP视频&#xff0c;多线程播放&#xff0c;长时间运行稳定 Unity 播放海量RTSP视频&#xff0c;多线程渲染 使用的libvlc库&#xff0c;目前支持windows、Linux平台 25路视频同时播放&#xff0c;测试持续运行1晚上&#xff0c;运行稳定&#xff0c;不掉帧&am…

安卓studio安装(从安装到配置到helloworld)

安卓studio安装 2024.3.11官网的版本&#xff08;有些翻墙步骤下载东西也解决了&#xff09; 这次写的略有草率&#xff0c;后面会更新布局的&#xff0c;因为截图量太大了&#xff0c;有需要的小伙伴可以试着接受一下哈哈哈哈 !(https://gitee.com/jiuzheyangbawjf/img/raw/ma…

二叉搜索树题目:前序遍历构造二叉搜索树

文章目录 题目标题和出处难度题目描述要求示例数据范围 解法一思路和算法代码复杂度分析 解法二思路和算法代码复杂度分析 解法三思路和算法代码复杂度分析 解法四思路和算法代码复杂度分析 题目 标题和出处 标题&#xff1a;前序遍历构造二叉搜索树 出处&#xff1a;1008. …

【解决】Sublime Text找不到Package Control选项,且输入install也不显示Install Package(其中一种情况)

【问题描述】 Sublime Text 找不到 Package Control 选项&#xff0c;且输入 install 也不显示 Install Package 【解决方法】&#xff08;其中一种情况&#xff09; 1、工具栏 Preferences -> Settings&#xff0c;点开查看设置文档 2、检查 "ignored_packages&q…

提示并输入一个字符串,统计该字符中大写、小写字母个数、数字个数、空格个数以及其他字符个数要求使用C++风格字符串完成

#include <iostream> #include <array> using namespace std;int main() {cout<<"请输入一个字符串"<<endl;//array<string,100> str;string str;getline(cin,str);int daxie0,xiaoxie0,num0,space0,other0;int lenstr.size();;for(in…

使用sunny-Ngrok免费实现内网穿透

1、注册用户 网址&#xff1a;https://ngrok.cc/login/register 2、实名认证 注册成功之后&#xff0c;登录系统&#xff0c;进行实名认证&#xff0c;认证费两元。认证通过后才能开通隧道。 3、开通隧道 选择免费的隧道 4、开通成功后查看开通隧道 5、启动隧道 下载…

日常002:双系统时间不一致问题

日常002&#xff1a;双系统时间不一致问题 推荐解决方法&#xff1a;Windows管理员执行如下命令&#xff0c;将硬件时钟设置为UTC时间 reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /d 1 /t REG_DWO…