用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来写个联机对战游戏呀!(一)前言

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

查看所有标签

猜你喜欢:

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

PHP程序设计

PHP程序设计

勒道夫 / 陈浩、胡丹、徐景 / 电子工业出版社 / 2009-3 / 80.00元

《PHP程序设计(第2版)》是最新版本PHP 5的权威指南,其中包含创建者PHP的创建者 Rasmus Lerdorf的独到的见解。《PHP程序设计(第2版)》以一种清晰而简练的风格介绍了PHP语言的语法和程序设计技术,并通过大量的示例演示了它们的正确使用方法和习惯用法。《PHP程序设计(第2版)》还给出了设计风格提示和实际的程序设计建议,这些将帮助你不仅成为一个PHP程序员,而且将是出色的PHP......一起来看看 《PHP程序设计》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

html转js在线工具
html转js在线工具

html转js在线工具

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

RGB CMYK 互转工具