一.图书详情 <Lua游戏AI开发指南>,原作名: Learning Game AI Programming with Lua. 豆瓣:https://book.douban.com/subject/30268009/ 出版社图书详情:https://www.ptpress.com.cn/shopping/buy?bookId=23e4c970-5ad8-4dfa-a850-8da889927e89 二.前言 本文为此书的学习笔记,笔记顺序不与书籍内容一一对应.大概是记录碰到的问题及衍生的学习…
Django Web开发指南笔记 语句VS表达式 python代码由表达式和语句组成,由解释器负责执行. 主要区别:表达式是一个值,它的结果一定是一个python对象:如:12,1+2,int('123') 结果不是对象的代码是语句,如:if.print.for python中可变.不可变类型 简单类型或者标量类型,包括整数等其他数字类型,str和unicode这样的字符串类型,以及元祖都是不可变. 列表.字典.类都是可变的 python对象都有三个属性(类型.标识符.值) 标识符:运行在解释器…
落叶枫桥 博客园 首页 新随笔 联系 订阅 管理 SpringMVC笔记——SSM框架搭建简单实例 简介 Spring+SpringMVC+MyBatis框架(SSM)是比较热门的中小型企业级项目开发的框架,对于新手来说也是比较容易学习入门的.虽说容易,但在框架搭建过程中仍然遇到了许多问题,因此用实例记录下来吧. 实例 第一步——导包 Spring框架包及其依赖包 MyBatis框架包及其依赖包 MyBatis-EhCache架包 C3P0架包 MySql数据库驱动包 项目架包如下: 项目结构如…
在我们的日常开发中,我们往往会遇到这种情况,当我们换了一个开发环境时很可能会重新利用一套新的框架进行开发.由于不同框架有着不同的接口,所以我们不得不花时间再次熟悉这些接口,这将造成开发时间上的重复,而对于一个程序来说又经历了一段重复造轮子的过程.在游戏开发领域,我介入的时间并不太长,大约三年时间.抱着对于游戏的热爱和激情,在这几年时间里也是一个苦苦摸索的过程.我们国人有着这么一个通病,那就是所谓的“闭关自守”,我发现有些开发者是拥有了一套代码之后便利用这套代码可以玩转整个游戏界.我能了解这些朋友…
0x00 前言 因为临近年关工作繁忙,已经有一段时间没有更新博客了.到了元旦终于有时间来写点东西,既是积累也是分享.如题目所示,本文要来聊一聊在游戏开发中经常会涉及到的话题--游戏AI.设计游戏AI的目标之一是要找到一种便于使用并容易拓展的的方案,常见的一些游戏AI方案包括了有限状态机(FSM).分层有限状态机(HFSM).面向目标的动作规划(GOAP)以及分层任务网络(HTN)和行为树(BT)等等.下面我们就来聊一聊比较有代表性的游戏AI方案--状态机. 0x01 有限状态机(FSM) 有限状…
0x00 前言 请叫我标题党!请叫我标题党!请叫我标题党!因为下面的文字既不发生在美国曼哈顿,也不是一个讲述美国梦的故事.相反,这可能只是一篇没有那么枯燥的关于算法的文章.A星算法,这个在游戏寻路开发中难免会用到的算法便是我这篇文章的主角. 0x01 曼哈顿的街道 这是一张美国曼哈顿的俯视图,放眼望去除了能看到这里高楼林立之外,我们也能发现其另外一个特点,即横平竖直的街道将一整块地区整整齐齐的分成了好几个区块.人和车流只能行进在横穿其中的街道上,也只能在街道的交叉口改变自己的前进的方向.例如要找…
完成框架搭建后,编写自己的主函数起onvif服务 编写makefile objs = onvif.o onvif_func.o duration.o soapC.o soapServer.o stdsoap2.o onvif:$(objs)    gcc -o onvif $(objs) .PHONY:cleanclean:    #-rm onvif    rm *[!C.o].o 发现提示好多函数没有定义,在头文件soapStub.h中定义的,直接把没有定义的函数声明拷贝到一个onvif_f…
应用框架 模块 Libgdx包含五个核心接口与操作系统交互,各自实现了如下接口: Application:运行应用,向client通知应用层事件,例如窗口大小的改变(window resizing).提供log功能与关于诸如内存使用情况的查询的方法. Files:访问运行平台的文件系统.提供不同平台下文件访问的抽象,不与JAVA的文件类交互. Input:向client通知用户输入,例如键鼠操作.触摸或加速度传感器事件.支持轮询检测和时间驱动的处理方式. Net:提供跨平台的通过HTTP/HTT…
第三章 异步式I/O与事件编程3.1 npm install -g supervisor supervisor app.js 当后台修改代码后,服务器自动重启,生效修改的代码,不用手动停止/启动3.2 单线程异步I/O 减少了多线程的开销,对于操作系统,创建线程的开销很大,需分配内存.列入调度.同时线程切换时 需要内存换页,CPU的缓存被清空,切换回来时,需要重新从内存中读取信息,破坏了数据的局部性. 异步读取文件: var fs = require('fs') fs.readFile('tes…
第一章:node简介 介绍了node是什么:node.js是一个让javascript运行在服务器端的开发平台, node能做些什么:[书上的] 具有复杂逻辑的网站 基于社交网络的大规模Web应用 Web Socket服务器 TCP/UDP套接字应用程序 命令行工具 交互式终端程序 带有图形用户界面的本地应用程序 单元测试工具 客户端Javascript编译器 node能做些什么:[网上比较好的一段说明]: NodeJS的作者说,他创造NodeJS的目的是为了实现高性能Web服务器,他首先看重的…