首页
CALL1CE
取消

复刻《PokemonGo》部分功能的学习记录

一、实验摘要     《宝可梦GO》是一款能对现实世界中出现的宝可梦进行探索捕捉、战斗以及交换的游戏。玩家可以通过智能手机在现实世界里发现宝可梦,进行抓捕和战斗。玩家作为宝可梦训练师抓到的宝可梦越多会变得越强大,从而有机会抓到更强大更稀有的宝可梦。     本次实验复刻了宝可梦GO的LBS地图系统、AR捕捉系统以及仓库系统。 二、实验过程 0.环境介绍 Unity2...

力扣-跳跃游戏 & 跳跃游戏II

55. 跳跃游戏 class Solution { public: int isUsed[30000] = {0}; //思路:回溯 + 贪心 //回溯三部曲 //1.确定返回类型和参数 bool backtracing(vector<int>& nums, int startIndex) { //2.终止...

复盘动态光照系统

一、基础动态光照原理 1.光源     需要写一个光源的shader,光源的计算方式如下: 2.影子计算     计算方式与解析如图: 3.新的光源的影子盖住旧光源的问题     开启z缓冲,将影子变为透明的存在,并置于自己对应的光照上面。如下图: 二、基础动态光照代码实现 1.shader的编写     创建一个shader作为光源 shd_light...

复盘生成随机迷宫算法

一、回溯生成普通迷宫 原理 首先要像上图一样,将地面和墙块分隔开来,绿色的是地面,灰色的是墙体 然后选择靠近边缘的地面(上下左右的边)作为起点,在这个地面砖块周围即上下左右四个方向随机寻找一个地面砖块,找到就将他们联通,把两个地砖之间的墙变为绿色的地砖 然后以第二步找到的格子作为新的起点,开始递归,重复第二步,直到某个格子的周围...

力扣-最大子数组和 & 买卖股票的最佳时机II

贪心的本质:局部最优推出全局最优 53. 最大子数组和 class Solution { public: //贪心算法 //从第一个开始计算序列和,一旦和变为负数,那么就重置为0,重新计算后面序列的和 int maxSubArray(vector<int>& nums) { int count = 0;//储存每段序列的和 ...

力扣-分发饼干 & 摆动序列

455. 分发饼干 class Solution { public: int findContentChildren(vector<int>& g, vector<int>& s) { sort(g.begin(), g.end()); sort(s.begin(), s.end()); int...

力扣-N皇后 & 解数独

51. N 皇后 class Solution { public: vector<string> path; //某一种解法 vector< vector<string>> ans;//解法集合 //额外加2列 int board[11][11] = {0}; //放棋子的位置是 1~9 0 和 10是边界,永远是0 ...

力扣-全排列II & 重新安排行程

47. 全排列 II class Solution { public: vector<int> path;//单一序列 vector< vector<int>> ans;//序列集合 bool isUsed[8] = {false};//回溯一整根树枝时需要判断某个位置的数字是否使用过 //回溯三部曲 //1.确认...

力扣-递增子序列 & 全排列

491. 递增子序列 class Solution { public: vector<int> path;//储存某个单一子序列 vector<vector<int> > ans;//答案集合 //回溯三部曲 //1.确认返回类型、参数 void backtracing(vector<int>&amp...

力扣-子集 & 子集II

78. 子集 class Solution { public: vector<int> path;//储存每一个组合 vector<vector<int> > ans;//子集 //1.回溯三部曲,确认返回类型、参数 void backtracing(vector<int>& nums, int st...