用Swoole来写个联机对战游戏呀!(一)前言

栏目: PHP · 发布时间: 5年前

内容简介:话不多说,我们先上一个游戏的最终效果图给大家看看:没错,就是紧张刺激的捉迷藏小游戏。本课程的源代码在

话不多说,我们先上一个游戏的最终效果图给大家看看:

用Swoole来写个联机对战游戏呀!(一)前言

没错,就是紧张刺激的捉迷藏小游戏。

本课程的源代码在 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 写一个简单的前端页面,让游戏能够满足两个玩家联机对抗。当然,并不是直接就把服务端全部代码写完,然后再跑去写前端这么粗暴,两个部分的代码都是按照项目的开发流程一点一点往里填。

课程最后只实现了上面写的已实现功能,可扩展功能也列了几项并附注了温馨提示,相信学完后童鞋们自己就能实现可扩展功能啦。

本次课程的主要目的就是好玩,并且还能顺便学习一下 SwooleWebSocketVue 的使用,希望童鞋们看完会有一丝收获。

学习方法

大部分的代码编写我都会预先把功能需求用文字罗列出来,再给出代码实现,像下面这样:

  1. 这个类需要有XXX功能
  2. 这个类需要保存XXX变量
  3. 这个类XXXXX
<?php
class XXXXX
{
    private $xxx;
    
    public function xxx()
    {    
    }
}
复制代码

童鞋们尽量尝试通过赵童鞋给出的需求自己动手编写代码,而不是一上来就整段整段的复制,这样学习效果会好很多,变量命名、方法命名不一样是没关系的,只要能够满足功能,当然,想不出的时候偷瞄一眼也是可以的๑乛◡乛๑。

在Github上代码有两个分支,master分支为赵童鞋开发时的提交分支,teach分支为课程每章结束时提交的代码分支。为什么会区分两个分支呢?就像上面说的,实际项目开发的时候都是往一个大方向走,总有考虑不周的情况,所以代码就会删删减减的,用来教学就会前后代码不一样。但是这样的代码提交却更加真实,有兴趣的童鞋可以试着看看master分支。

下一章节开始正式学习,童鞋们准备好了吗?

用Swoole来写个联机对战游戏呀!(一)前言

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

组成论

组成论

张学文 / 中国科学技术大学出版社 / 2003-12 / 35.00元

很多事物中都存在组成(成分、构成)问题。作者创立的组成论为此提供统一的认识模型、分析工具、计算方法和原理。它通过广义集合、分布函数和复杂程度三个概念分析事物组成,并揭示了有随机性的事物都遵守最复杂原理。组成论与系统科学、复杂性研究、信息论和热力学第二定律关系密切。本书介绍了它在自然和社会科学中的许多应用,还提出了信息不可增殖、不同形态的复杂程度的互相转化(复杂度定律)等重要论点。自然科学、社会科学......一起来看看 《组成论》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具