【资源说明】 课程设计基于Django开发的联机对战游戏源码+项目使用说明.zip 系统设置在: ./acapp/settings 功能实现在: ./game game/models:数据库定义 game/views:处理http的后端代码(登陆注册) game/consumers:处理websocket的后端代码(联机对战) game/urls:http路由 game/routings.py:websocket路由 match_system: thrift实现的rpc匹配系统 game/static:静态文件,前端js代码都在这里。包含三个文件夹:js, css, image 其中dist/zbase.js是所有src中的js代码压缩成的,src是逻辑上的代码。 主html界面:game/templates/multiends/web.html,主要作用就是从game/static/js/dist/game.js中引入js对象 前端逻辑 settings:登陆注册界面 menu:登陆成功后的界面 playground:游戏界面 1.menu: menu/zbase.js:登陆成功后的菜单,三个button分别是单人模式,多人模式,退出(退出至登陆界面)。button会调用playground.show(mode)至游戏界面 ### 2.playground: playground/zbase.js:Playground类,是游戏界面的主类,主要有两个关键的方法show(), hide()分别负责打开和隐藏playground界面。show(mode)根据不同的模式(单人/多人)选择创建ws连接还是直接加入robot玩家。 playground/ac_game_object/zbase.js:定义了一个AcGameObject的基类,有uuid作为对象的唯一标识,作为对象的全局唯一标识。放入一个全局的AC_GAME_OBJECTS数组中。仿照unity有start(), update(), late_update(), destroy()等基本方法,是游戏中所有对象的基类。还定义了一个AC_GAME_ANIMATION函数,用于控制游戏的帧动画。通过递归调用js的requestAnimationFrame()方法实现的。 playground/game_map/zbase.js:定义了游戏地图,继承自AcGameObject,创建一个js的canvas对象,获取其2D绘图上下文;另加了resize()用于浏览器窗口更改时的适配和render()用于地图渲染. playground/player/zbase.js:定义了玩家对象,继承自AcGameObject。属性有: 1. playground: 游戏场景对象 1. x和y: 玩家的位置坐标 1. vx和vy: 玩家的速度分量 1. damage_x和damage_y: 玩家受伤后的位移分量 1. damage_speed: 玩家受伤后的速度 1. move_length: 玩家当前移动的距离 1. ctx: 画布的上下文对象 1. radius: 玩家的半径 1. color: 玩家的颜色 1. speed: 玩家的移动速度 1. character: 玩家的角色类型 1. username: 玩家的用户名 1. photo: 玩家的照片 1. friction: 玩家受伤后的摩擦系数 1. spent_time: 玩家已经花费的时间,未到事件不允许攻击 1. eps: 很小的数值,用于比较0 1. fireballs: 玩家发射的火球数组 1. img: 玩家的图像对象(非机器人角色) 1. fireball_coldtime: 玩家发射火球的冷却时间 1. fireball_image: 火球的图像对象 1. blink_coldtime: 玩家闪烁技能的冷却时间 1. blink_image: 闪烁技能的图像对象 1. cur_skill: 当前选择的技能 后端逻辑 后端主要可以分为三个部分 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载,沟通交流,互相学习,共同进步!
- 1
- 2
- 3
- 陌上柳絮2482023-12-22终于找到了超赞的宝藏资源,果断冲冲冲,支持!
- 粉丝: 9710
- 资源: 5598
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 1732537263117202.000000.jpg
- vb.net开发安卓软件的方法
- 江苏省普通高校“专转本”选拔考试专业综合科目考试大纲(试行)
- C语言实现基于华为LiteOS的智慧楼宇消防系统源码+电路图+全部资料
- 基于CMLM的语义一致性数据增强方法python实现源码(提高神经机器翻译的性能、IWSLT14 DE-EN数据集验证).zip
- 静态网站首页制作,纯手工,没有使用框架
- 机器学习大作业-Python实现基于线性回归的PM2.5预测项目源码(高分期末大作业)
- 基于java开发的绿色出行的个人碳排放积分系统+源码(毕业设计&课程设计&项目开发)
- 数据结构--实验报告2.docx
- 基于python的开源文本到语音转换项目+小白使用教程(支持批量英语、中文、多情感语音合成,web界面).zip