Linux系统之部署2048网页小游戏

一、2048小游戏介绍

1.1 2048小游戏简介

2048是一款数字拼接的益智游戏。游戏的目标是通过在一个4x4的方格中移动和合并不同数字的方块,最终组合出一个数字是2048的方块。游戏规则很简单,玩家可以通过滑动方向键(上、下、左、右)来移动所有方块。每次滑动时,所有的方块都会向滑动的方向移动一格,相同数字的方块会合并成一个数字更大的方块。每次移动之后,系统会在空白的方格中随机生成一个2或者4的方块。当滑动之后的方块中有一个方块的数字达到2048时,游戏胜利。游戏的挑战在于玩家需要合理地移动方块,使得方块能够合并更大的数字,并且尽量不让方格填满。如果方格填满了并且无法再移动方块,游戏结束。2048是一款简单易懂但又很考验玩家策略和规划能力的游戏,非常适合消磨时间和锻炼大脑。无论是在手机上还是电脑上,你都可以轻松地享受到这款有趣的益智游戏。

1.2 项目预览

  • 可以看下部署好的项目预览

在这里插入图片描述

二、本次实践介绍

2.1 本地环境规划

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

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

2.2 本次实践介绍

1.本次实践环境为个人测试环境,生产环境请谨慎;
2.在centos7.6环境下部署2048网页小游戏。

三、安装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 Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2024-04-12 04:41:29 CST; 1h 31min ago
     Docs: man:httpd(8)
           man:apachectl(8)
 Main PID: 37892 (httpd)
   Status: "Total requests: 49; Current requests/sec: 0; Current traffic:   0 B/sec"
    Tasks: 11
   Memory: 4.8M
   CGroup: /system.slice/httpd.service
           ├─37892 /usr/sbin/httpd -DFOREGROUND
           ├─37895 /usr/sbin/httpd -DFOREGROUND
           ├─37897 /usr/sbin/httpd -DFOREGROUND
           ├─37898 /usr/sbin/httpd -DFOREGROUND
           ├─37899 /usr/sbin/httpd -DFOREGROUND
           ├─37926 /usr/sbin/httpd -DFOREGROUND
           ├─37929 /usr/sbin/httpd -DFOREGROUND
           ├─37931 /usr/sbin/httpd -DFOREGROUND
           ├─37932 /usr/sbin/httpd -DFOREGROUND
           ├─38118 /usr/sbin/httpd -DFOREGROUND
           └─41149 /usr/sbin/httpd -DFOREGROUND

Apr 12 04:41:29 jeven systemd[1]: Starting The Apache HTTP Server...
Apr 12 04:41:29 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地址。

在这里插入图片描述

四、部署2048网页小游戏

4.1 下载小游戏源码

进入网页根目录

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

在github拉取2048网页小游戏源码

 git clone https://github.com/gabrielecirulli/2048.git

在这里插入图片描述

4.2 查看项目源码目录

查看项目源码目录

[root@jeven html]# tree -L 2 ./2048/
./2048/
├── CONTRIBUTING.md
├── favicon.ico
├── index.html
├── js
│   ├── animframe_polyfill.js
│   ├── application.js
│   ├── bind_polyfill.js
│   ├── classlist_polyfill.js
│   ├── game_manager.js
│   ├── grid.js
│   ├── html_actuator.js
│   ├── keyboard_input_manager.js
│   ├── local_storage_manager.js
│   └── tile.js
├── LICENSE.txt
├── meta
│   ├── apple-touch-icon.png
│   ├── apple-touch-startup-image-640x1096.png
│   └── apple-touch-startup-image-640x920.png
├── Rakefile
├── README.md
└── style
    ├── fonts
    ├── helpers.scss
    ├── main.css
    └── main.scss

4 directories, 22 files

给以下目录授权

chown -R apache:apache /var/www/html/2048

4.3 重启httpd服务

重启httpd服务

systemctl restart httpd

4.4 访问网页小游戏

访问地址:http://服务器IP地址/2048,进入到2048网页小游戏主页。

在这里插入图片描述

五、试玩2048网页小游戏

点击页面中的“New Game”,开始新游戏。

在这里插入图片描述

2048是一款数字类益智游戏,玩家需要在一个4x4的方格中移动数字方块,通过合并相同数字的方块来得到更高的数字,最终目标是得到一个2048的方块。

游戏规则如下:

  • 游戏开始时,方格中会随机生成两个数字方块,数字为2或4。

  • 玩家可以通过上下左右四个方向的滑动来移动数字方块,所有方块会沿着滑动方向移动,直到遇到墙壁或其他方块。

  • 当两个相同数字的方块在移动过程中相邻接触时,它们会合并成一个新的方块,数字为原来两个方块的数字之和。

  • 每次滑动后,系统会在空白的方格中随机生成一个新的数字方块,数字为2或4。

  • 游戏结束条件有两个:一是方格填满无法再移动任何方块时,二是成功得到一个2048的方块。

  • 在游戏过程中,玩家可以选择重新开始游戏或者悔棋。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Linux下使用Qt制作小游戏是很方便的。首先,我们需要确保系统已经安装了Qt开发环境。在终端中运行`sudo apt install qtcreator`命令进行安装。 接下来,打开Qt Creator,创建一个新的Qt Widgets应用程序项目。在项目中,我们可以使用Qt提供的丰富的组件和功能来开发我们的小游戏。 在游戏界面的设计上,我们可以使用Qt的UI设计工具来轻松创建界面布局。可以在工具箱中选择不同的控件,例如按钮、标签和图像等。然后可以通过拖拽和调整它们的属性来设计游戏界面。 在游戏逻辑的编写上,我们可以使用Qt的信号和槽机制来处理用户的输入和游戏事件。定义不同的槽函数来响应按钮的点击或者其他事件,来实现游戏的逻辑功能。 此外,Qt还提供了丰富的图形和动画支持,可以用来增强游戏的视觉效果。您可以使用Qt的绘图设备和转换函数来绘制游戏画面,并使用Qt的动画框架来创建平滑的动画效果。 最后,在完成游戏的开发后,使用Qt的编译工具可以编译和构建游戏项目。生成的可执行文件可以在Linux系统上运行,提供给用户玩耍。 总之,利用Qt在Linux下制作小游戏非常便捷。Qt不仅提供了丰富的组件和功能,还有强大的图形和动画支持,可以满足游戏开发的需求。同时,Qt Creator提供了友好的开发环境,使得开发者能够快速、高效地完成小游戏的开发。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江湖有缘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值