内容简介:话不多说,我们先上一个游戏的最终效果图给大家看看:没错,就是紧张刺激的捉迷藏小游戏。本课程的源代码在
话不多说,我们先上一个游戏的最终效果图给大家看看:
没错,就是紧张刺激的捉迷藏小游戏。
本课程的源代码在 github.com/Zhao-666/Hi… 上面,童鞋们可以提前在自己的机器上运行游戏,体验一下游戏的感受,或者参考一下代码。
技术预备需要有如下几点:
- 熟悉
PHP
基础语法 - 使用过
CentOS
,懂得安装PHP
开发环境 - 看过
Swoole
文档但缺乏项目经验 - 了解
VueJs
基础语法或有其他前端框架经验 - 开发 工具 推荐使用
PHPStorm
项目使用了如下技术:
- PHP 7.2
- Swoole 4.3.0
- Swoole WebSocket Server
- Swoole Task Worker
- Swoole Static Handler
- Vuejs
- HTML WebSocket
- Redis String
- Redis List
- 少量算法逻辑
实现了:
- 捉迷藏游戏逻辑(逻辑) ★★
- 匹配机制(缓存) ★
- 联机对战(网络编程、缓存) ★★★★
- 游戏结束判定(逻辑) ★
可扩展功能(比较懒就没做):
- 当前在线人数:使用Redis Set保存在线人员(缓存) ★
- 排行榜:使用Redis SortSet(缓存) ★
- 观战模式:在游戏管理者Game中增加Watcher数组,订阅游戏消息(逻辑) ★★
- 邀请对战:往被邀请人发一条消息确认开战(网络编程) ★★
- 多人模式:参与时不限制人数(网络编程) ★★★
- 随机地图生成:暂时只想到了多点随机路线拼接(算法) ★★★
- 优化地图展示:手机适配(前端) ★★★★★★★★★★★★(这个真不会。。)
大纲
本次教程将会分为两个部分。
- 第一部分占用三章的幅度,主要讲解游戏逻辑的编写,我们会先制作出一个单机版的服务端逻辑,让电脑随机行走测试代码有没有问题。
- 第二部分占用六章的幅度,这里将会分为两个主要功能,分别是:接入
Swoole
作为网络层和使用Vue
写一个简单的前端页面,让游戏能够满足两个玩家联机对抗。当然,并不是直接就把服务端全部代码写完,然后再跑去写前端这么粗暴,两个部分的代码都是按照项目的开发流程一点一点往里填。
课程最后只实现了上面写的已实现功能,可扩展功能也列了几项并附注了温馨提示,相信学完后童鞋们自己就能实现可扩展功能啦。
本次课程的主要目的就是好玩,并且还能顺便学习一下 Swoole
、 WebSocket
、 Vue
的使用,希望童鞋们看完会有一丝收获。
学习方法
大部分的代码编写我都会预先把功能需求用文字罗列出来,再给出代码实现,像下面这样:
- 这个类需要有XXX功能
- 这个类需要保存XXX变量
- 这个类XXXXX
<?php class XXXXX { private $xxx; public function xxx() { } } 复制代码
童鞋们尽量尝试通过赵童鞋给出的需求自己动手编写代码,而不是一上来就整段整段的复制,这样学习效果会好很多,变量命名、方法命名不一样是没关系的,只要能够满足功能,当然,想不出的时候偷瞄一眼也是可以的๑乛◡乛๑。
在Github上代码有两个分支,master分支为赵童鞋开发时的提交分支,teach分支为课程每章结束时提交的代码分支。为什么会区分两个分支呢?就像上面说的,实际项目开发的时候都是往一个大方向走,总有考虑不周的情况,所以代码就会删删减减的,用来教学就会前后代码不一样。但是这样的代码提交却更加真实,有兴趣的童鞋可以试着看看master分支。
下一章节开始正式学习,童鞋们准备好了吗?
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 用Swoole来写个联机对战游戏呀!(五)联机初始化
- 重命名与迁移联机数据文件
- MySQL™ 参考手册(前言)
- 0 - Django 博客教程:前言
- 0 - Django 博客教程:前言
- 大话Android开发系列文章前言
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。