- 博客(111)
- 资源 (2)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 排序算法合集
堆排序平均时间复杂度:O(nlogn) 稳定性:不稳定思想:1.先找到第一个非叶子节点 n/2-1,n为数组长度,然后构成大顶堆2.将堆顶和数组末尾元素交换;3.对0<j<n的元素重复前面1,2直到有序#include<iostream>#include<vector>using namespace std;void bigheap(vector<int>&a,int i,int length){ int temp=a[i]
2021-03-16 21:44:42
125
原创 RPG游戏-刷怪系统
get;set;} //刷怪点ID public int MapID {get;set;get;set;} //位置 public NVector3 Direction {get;set;} //朝向 } }
2022-11-22 00:22:16
1046
原创 RPG游戏-任务系统
Description("主线") ] Main , [ Description("支线") ] Branch } public enum QuestTarget //任务目标 {get;set;get;set;get;set;get;set;} //任务职业限制 public int PreQuest {get;set;} //前置任务ID public QuestType Type {get;set;get;set;get;set;get;set;get;
2022-11-06 18:20:11
1786
原创 RPG游戏-道具系统
public enum ItemFuncition //物品功能 {get;set;get;set;get;set;get;set;get;set;get;set;get;set;get;set;get;set;get;set;get;set;} } }
2022-10-07 19:49:11
1276
原创 C# datatable读取CSV文件并实现自定义排序
产品让做一个简单脚本,处理金融数据表,需要对结果内容中的字符串提取相关奖励的数据,先根据金币 积分 荣誉分 回馈卡排序,再根据其数量的多少进行递加排序。
2022-09-27 16:28:05
589
原创 RPG游戏-NPC系统
主要控制NPC的行为,比如待机行为,与玩家交互时转向行为,并处理一些交互任务,触碰NPC产生的效果等。实现管理NPC交互功能。
2022-09-25 23:19:18
2033
原创 RPG游戏-小地图系统(二)
这里对上次的代码做优化,当进入或者地图时,小地图UI也应该进行变化。调用次序:MapController—>MiniMapManager -->UIminiMap。
2022-09-18 23:03:34
874
原创 RPG游戏-小地图系统
通常有三种方式:1)实时渲染场景;2)预渲染顶视图+润色3)纯美术制作这里采用第二种方式(1)使用图片MASK方式设置小地图的蒙层,这里的Mask图片采用的是圆形的白色图片(2)将地图图片放在MASK图片的节点下(3)效果如下所示(4)在地图下方加入一个cube与地图同宽高(需要加入碰撞体),用来后来绑定脚本记录坐标和进行坐标计算并投影在小地图。
2022-08-20 00:19:58
1199
原创 unity客户端读取文本配置
1.声明一个数据结构类编译生成DLL放入UNITY的reference下面。2.文本配置的TXTCharacterDefine.txt。
2022-07-24 19:20:42
1740
原创 使用protobuf通信unity客户端和服务器
2.服务器代码1.服务代码2.修改PROTO,使用PROTOBU工具进行生成.cs消息协议文件。3.服务器主程序初始化并启动设定服务
2022-07-09 16:54:11
938
原创 unity2D笔记-实现饥荒效果的2.5D游戏
教程来自B站大佬:https://www.bilibili.com/video/BV1DT4y1A7DJ?spm_id_from=333.337.search-card.all.click&vd_source=19df42746a97e8a5f29ac78388f521d5在这里主要有2点感悟:1.对于混合树了解更深刻了2.人物向量转换关系3.协程的使用通过控制输入的x,y向量来控制人物的动画让子物体的旋转角度与相机旋转角度一致3.通过手柄摇杆LB RB来转动视角视角转动脚本手柄摇杆对照脚本
2022-07-03 21:25:27
2088
原创 unity2D笔记-制作死亡功能和游戏重开
对之前的viewpanel的单例基类做了优化,这样不用在子类进行单例的创建和判断了并且可以根据不同 单例类名进行实例化 实例化的物体和类名要一致1.受伤脚本在之前的脚本中加入了受伤状态来判断是受伤还是死亡,并在事件调用中增加了受伤状态参数和复位的位置信息。2.施加伤害脚本这里可以设置玩家的重生点。3.玩家角色控制器脚本PlayController类中的部分相关代码,依旧在之前的AWAKE函数中实现对受伤事件的注册......
2022-06-19 18:41:19
2092
原创 unity2D笔记-制作混合树优化跳跃动画和受伤状态
使用15个跳跃的序列帧来制作混合树,每一帧对应一个速度,且在更新动画状态机值的时候对速度值进行更新。
2022-06-09 15:40:56
822
原创 unity2D笔记-关卡跳转和角色位置设置和门触发视角移动
1.修改场景触发脚本 加入玩家和指定位置参数2.修改场景管理器,重载LOADSCENE函数当玩家碰撞到钥匙时,相机会移动到大门处。1.相机脚本重载SetFollowTarget函数,当碰撞钥匙后,使用插值函数来一步一步得移动相机到门的目标位置。可以控制其位置和视野缩放聚焦到门。2.钥匙脚本3.门的脚本门有四个激活状态,每次有钥匙触发,通过次数判断门激活什么状态......
2022-06-05 22:40:01
1826
8
原创 unity2D-笔记 玩家跳跃时,游戏场景消失
1.问题描述:当游戏运行时,地面场景tilemap突然渲染消失了。2.解决方案,设置下tilemap的排序层级 default->groundground层在default层下面。
2022-06-04 12:52:27
598
原创 unity2D笔记-场景管理器和场景加载界面
1.场景管理器using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.SceneManagement;public class SceneController : MonoBehaviour{ public static SceneController _instance; public static SceneController Instanc
2022-05-22 23:11:02
1067
原创 unity2D笔记-状态机控制人物
参考了大佬文章:https://blog.csdn.net/wjj616806129/article/details/86633291 并将之前控制人物的方式改成了状态机方式。1.引入状态机后,状态的改变变得更加明晰了,在statemachine中的fixedup对状态机的状态进行执行,所有状态都在他的onenter做更新,onexit做清理,保证了各种状态不会相互污染,避免动画出现异常。2.方便后面的状态扩展。(一)按键管理脚本1.便于修改按键。2.对于检测水平和垂直方向的输入,引入了INPUT
2022-05-21 23:50:16
1300
1
原创 unity2D笔记-触发提示框和跳跃、陷阱平台
1.提示框面板脚本(挂载到Tips):using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;public enum TipsStyle{ Style1,}public class TipsPanel :MonoBehaviour{ // Start is called before the first frame update .
2022-05-15 02:42:15
1120
原创 二维凸包算法(Andrew算法)
在一个二维的花园中,有一些用 (x, y) 坐标表示的树。由于安装费用十分昂贵,你的任务是先用最短的绳子围起所有的树。只有当所有的树都被绳子包围时,花园才能围好栅栏。你需要找到正好位于栅栏边界上的树的坐标。输入: [[1,1],[2,2],[2,0],[2,4],[3,3],[4,2]]输出: [[1,1],[2,0],[4,2],[3,3],[2,4]] bool tmp(vector<int> &a, vector<int> &b){ i
2022-04-23 21:58:17
664
原创 unity2D笔记-控制人物相关
控制人物左右移动,同时加入左右移动人物翻转控制。有两种方法:1.更新 x的速度,通过速度正负判断翻转。(注释的代码)2.获取位置帧,通过位置帧和初始帧的大小判断是否翻转。using System.Collections;using System.Collections.Generic;using UnityEngine;public class Player: MonoBehaviour{ Rigidbody2D rigidbody2d; // Start is calle
2022-04-16 18:46:14
3180
原创 设计模式-命令模式
将一个请求封装为一个对象(命令本身),使发出请求的责任(命令发送方)和执行请求的责任(命令接收方)分割开。这样两者之间通过命令对象进行沟通,这样方便将命令对象进行储存、传递、调用、增加与管理。package main//1.命令接收方抽象类type Device interface { Open() //打开 Close() //关闭 VolumnUp() //音量+ VolumnDown()//音量- ChannelUp() //频道+ ChannelDown()//频道-}type
2022-04-15 18:10:57
187
原创 设计模式-责任链模式
责任链模式(chain of responsibility)是赫赫有名的GoF书中描述的23个经典模式之一。这个模式通过将请求的处理者组织成一个链条,有效避免请求发送者与多个请求处理者耦合在一起。package mainimport ( "fmt")type Handler func([]int) boolfunc IsQiDui(card []int) bool { fmt.Println("判断七对") //这里做具体的牌型判断 return true}func IsShi
2022-04-14 10:44:31
341
转载 设计模式-享元模式
享元模式主要是为了复用对象,节省内存。使用享元模式需要有两个前提:享元对象不可变:当享元模式创建出来后,它的变量和属性不会被修改系统中存在大量重复对象:这些重复对象可以使用同一个享元,内存中只存在一份,这样会节省大量空间。当然这也是为什么享元对象不可变的原因,因为有很多引用,变更的话会引起很多问题。package mainimport "fmt"/** * @Author: Jason Pang * @Description: 棋子类,有文案、颜色、规则,这三种不变属性 */type
2022-04-12 11:34:04
92
原创 bat批处理文件
1.批量复制@echo off:: s1:源路径 t1:目标文件setlocal enabledelayedexpansion set s1=D:\ascript\jjagentset t1=E:\lcoal_jlichtset t2[0]=jlicht1\jjagentset t2[1]=jlicht2\jjagentset t2[2]=jlicht3\jjagentset t2[3]=jlicht4\jjagentfor /l %%i in (0,1,3) do (copy %s1
2021-12-08 17:01:04
281
3
原创 leetcode刷题记录 11月
整数替换 11.19class Solution { map<long,long> record;public: int integerReplacement(int n) { return dfs(n); } int dfs(long n){ if(n==1){ return 0; } if(record.find(n)!=record.end()) .
2021-11-19 12:37:09
306
转载 c#基础知识
1.多态1.抽象类(abstract)1.您不能创建一个抽象类的实例。2.您不能在一个抽象类外部声明一个抽象方法。3. 通过在类定义前面放置关键字 sealed,可以将类声明为密封类。当一个类被声明为 sealed 时,它不能被继承。抽象类不能被声明为 sealed。using System;namespace PolymorphismApplication{ abstract class Shape { abstract public int area();
2021-09-30 11:39:18
159
原创 cocos creator 管理脚本相关
1.音频管理脚本AudioMgr.tsexprot default class AudioMgr{ bgmVolume = 1.0 sfxVolume = 1.0 bgmAudioID = -1 init(){ let t = localStorage.getItem("bgmVolume") if(t){ this.bgmVolume = parseFloat(t) }else{ localStorage.setItem("bgmVolume",this.bgmVolume
2021-09-02 15:37:53
337
原创 基于lua的观察者模式应用:事件分发系统
local b = class()function B:on_money_change(money) print(money,"B recive event")endEventSystem:on(Event.MoneyChanged,B.on_money_change,{target = B})--定义回调函数和注册事件local c = class()function C:on_money_change(money) print(money,"C recive event")endEv
2021-08-31 20:09:13
304
原创 基于go语言的牛牛游戏服务器搭建
游戏规则:游戏用牌为除大小王以外的一副牌,共计52张。玩家人数为固定4人(初版人数),每人随机发5张牌。牌型说明牌型 赔率(闲家下注) 说明无牛 1倍 五张牌中没有任意三张牌点数之和为10的整数倍,例如:a、8、4、k、7。有牛 1~2倍 五张牌中有三张的点数之和为10点的整数倍,并且另外两张牌之和与10进行取余,所得之数即为牛几,例如:2、8、j、6、3,即为牛9。牛一到牛6为1倍,牛七到牛九为2倍。牛牛 3倍 五张牌中第一组三张牌和第一组二张牌之和分别为10的整数倍,例如
2021-07-29 10:27:47
1480
4
热传导各向异性扩散降噪(python代码实现)
2019-04-24
djiKstra程序 流量均衡
2019-04-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人