【好玩的游戏项目】在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中,所有的任务都可以分为 同步任务&#…

Apache拦截不安全漏洞

禁用PUT, DELETE等HTTP方法或禁用WebDAV 通过Apache的配置来禁用特定的HTTP方法,或者禁用WebDAV模块(如果已启用),以防止对不支持的HTTP方法(如PUT, DELETE等)的访问。 禁用特定HTTP方法 使用mod_rewrit…

Linux收集内存快照来使用crash分析的方法

1. 使用gcore来生成core文件 除了个别情况下进程本身存在问题,自己就会crash,然后生成core之外,还可以使用gcore主动生成的进程文件。 对指定的进程使用gcore工具收集core文件的方式: 例如aaa进程的pid是2124: gcore -o /var/aaa…

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

一、面试官心理分析 其实这是很常见的一个问题,这俩问题基本可以连起来问。既然是消费消息,那肯定要考会不会重复消费?能不能避免重复消费?或者重复消费了也别造成系统异常可以吗?这个是 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时间内被动关闭…

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

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

用C++打印环境变量environ

#include <stdio.h> #include <unistd.h>using namespace std; int main() {extern char** environ;for(int i 0; environ[i] ! NULL; i){printf("%s\n",environ[i]);}return 0; }输出很多&#xff0c;大致如下(敏感信息用xxx代替)&#xff1a; [singl…

cc.sys.localStorage的用法(存储和读取数据)

存储数据 cc.sys.localStorage.setItem(key, value)上面的方法需要两个参数&#xff0c;用来索引的字符串键值key&#xff0c;要保存的字符串数据value。 读取数据 cc.sys.localStorage.getItem(key)通过key来找对应的值 其它Web Storage API相关用法

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

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

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

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

Qt的信号槽机制

1. 什么是元对象编译器和元对象系统&#xff1f; 在开始讲信号槽之前&#xff0c;我们先了解下Qt的框架的核心组成部分&#xff0c;Qt的元对象编译器&#xff08;MOC&#xff09;和元对象系统是Qt框架的核心组成部分&#xff0c;它们使得Qt拥有了信号与槽机制、反射&#xff08…

网络安全防御保护 Day7

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

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

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

架构师面试100问?

面试架构师时&#xff0c;需要考察广泛的知识领域&#xff0c;包括技术、架构设计、团队管理、沟通能力等方面。以下是一些可能的面试问题&#xff0c;涵盖了多个方面问题&#xff1a; 介绍一下你的技术背景和经验。你在之前的项目中扮演过哪些角色&#xff1f;你对微服务架构…

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

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

探索Java多线程开发

在Java编程中&#xff0c;多线程是一种强大的工具&#xff0c;它允许程序员编写能够并行执行多个任务的程序。这不仅可以提高程序的执行效率&#xff0c;还能更好地利用计算机的多核处理器。Java提供了内置的支持来简化多线程编程的复杂性&#xff0c;使得开发者能够更加专注于…

CentOS7配置静态IP

文章目录 CentOS7配置静态IP一、前言1.场景2.环境 二、正文1&#xff09;确定网络接口名称2&#xff09;配置固定IP和DNS3&#xff09;重启网络服务4&#xff09;验证配置 CentOS7配置静态IP 一、前言 1.场景 在 CentOS7上设置静态 IP 和 DNS。 2.环境 CentOS Linux 版本&…