2019-09-02
【置顶】我是如何用十天从零开始制作一个简单的RPG引擎的(下)

8月19日 12点起床后便往图书馆跑。把物件的显示与隐藏做好了,之后又做了中心对焦,自动行走。写完是下午四点半,我往群里发了一句话。 的确是能够做挺多的了,但还不够。晚上回去后又把遮罩,全屏旁白,擦入,擦出和震动动画给做好了。这个时候我大概知道,是时候做游戏本身了。之后我用ps把标题画面和按钮做好了,然后又写好了标题画面的代码,用了两个计时器来实 …

阅读更多 →
代码 未分类
2019-09-02
【置顶】我是如何用十天从零开始制作一个简单的RPG引擎的(中)

8月16日 凌晨把双缓冲写了,原理?不太懂得样子,但是我大概知道这样做是对的,这样就行了吧(捂脸) 舒服多了,之前看的我眼都花了( 一大早起来就去图书馆整点新活,把方向给写好了 还顺便把行走那里改善了一下,之前是点一下走8个像素,现在是16个像素(为了看起来流畅),而且不足32个像素到最后释放按键还会给你补上,人性化吧( 不过如果走着走着中途转向就不 …

阅读更多 →
代码 未分类
2019-09-02
【置顶】我是如何用十天从零开始制作一个简单的RPG引擎的(上)

前言 今年读大一,在下学期段时c++有一个实训项目,由于我在高中时曾有过制作一个RPG的想法(虽然很幼稚而且剧本未成形。。),我便想着“要不做一个RPG游戏吧?”,便跃跃欲试地把自己的想法写进了开题报告,但是我还是无法决定是否要使用现成的游戏引擎,这样无疑会大大缩短制作周期,但是后来我想到还是试着自己做一个比较有趣,而且这样无论想做什么,我都可以随心 …

阅读更多 →
代码 未分类
2019-05-07
向后缀数组的更深一步探索:SA-IS

最近训练发现字符串的题因为我太菜了几乎都做不出来,便打算重拾这个数据结构。 之前一直学的是倍增法,但是倍增O(nlogn)嘛。。emmm,怎么看都觉得会被卡XD 然鹅又听说过之前有过题目会卡O(n)的DC3而倍增却能过。。神奇 而SA-IS(Suffix Array-Induce Sort)是一个比DC3常数要小的O(n)计算后缀数组的算法 所以便开始了学习。。从两个星期前 这两个星期我浏览了很多文 …

阅读更多 →
代码
2019-04-26
P3691 妖精大战争 神经网络初窥

https://www.luogu.org/problemnew/show/P3691 题目大意: 给你一堆点,每个点有个属性,要么是1要么是-1. 这些属于1和-1类的点分布在x∈[0,100],y∈[0,100]的平面上, 然后再给你一堆点,同样具有要么是1要么是-1的属性,问你这些额外的点是属于1还是-1, 保证对于所有的点都存在一条直线,可以把不同属性的点分开两边, 由于琪露诺太笨了存在0.1%的概率,一开始输入 …

阅读更多 →
代码
2019-04-24
洛谷 P1006 传纸条【夜间感想】

https://www.luogu.org/problemnew/show/P1006 思路就是双线dp,处理好边界即可, dp(当前步数,1右几步,2右几步) 当成大家都从左上走到右下即可。 (代码后是一些感想) #include<cstdio> #include<iostream> #include<algorithm> #include<cstring> using namespace std; int a[52][52]; int dp[104][52][52]; int main( …

阅读更多 →
代码 有悟
2017-11-09
P3385 【模板】负环【DFS-SPFA】

题目描述 暴力枚举/SPFA/Bellman-ford/奇怪的贪心/超神搜索 输入输出格式 输入格式:第一行一个正整数T表示数据组数,对于每组数据: 第一行两个正整数N M,表示图有N个顶点,M条边 接下来M行,每行三个整数a b w,表示a->b有一条权值为w的边(若w<0则为单向,否则双向) 输出格式:共T行。对于每组数据,存在负环则输出一行"YE5"(不含引号),否则输出一行"N0"( …

阅读更多 →
代码
2017-11-07
【P3372】【模板】线段树 1

题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某区间每一个数加上x 2.求出某区间每一个数的和 输入输出格式 输入格式: 第一行包含两个整数N、M,分别表示该数列数字的个数和操作的总个数。 第二行包含N个用空格分隔的整数,其中第i个数字表示数列第i项的初始值。 接下来M行每行包含3或4个整数,表示一个操作,具体如下: 操作1: 格式:1 x y k 含义 …

阅读更多 →
代码
2017-11-07
【luogu3368】【模板】树状数组 2

题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某区间每一个数数加上x 2.求出某一个数的和 输入输出格式 输入格式: 第一行包含两个整数N、M,分别表示该数列数字的个数和操作的总个数。 第二行包含N个用空格分隔的整数,其中第i个数字表示数列第i项的初始值。 接下来M行每行包含2或4个整数,表示一个操作,具体如下: 操作1: 格式:1 x y k 含义:将 …

阅读更多 →
代码
2016-11-15
P1195 口袋的天空 (NOIP Kruskal复习)

[infobox title="https://www.luogu.org/problem/show?pid=1195"]题目背景 小杉坐在教室里,透过口袋一样的窗户看口袋一样的天空。 有很多云飘在那里,看起来很漂亮,小杉想摘下那样美的几朵云,做成棉花糖。 题目描述 给你云朵的个数N,再给你M个关系,表示哪些云朵可以连在一起。 现在小杉要把所有云朵连成K个棉花糖,一个棉花糖最少要用掉一朵云,小杉想知道他怎么 …

阅读更多 →
代码
2016-11-14
P1238 走迷宫(水水的DFS)

[successbox title="P1238 走迷宫"]题目描述 有一个m*n格的迷宫(表示有m行、n列),其中有可走的也有不可走的,如果用1表示可以走,0表示不可以走,文件读入这m*n个数据和起始点、结束点(起始点和结束点都是用两个数据来描述的,分别表示这个点的行号和列号)。现在要你编程找出所有可行的道路,要求所走的路中没有重复的点,走时只能是上下左右四个方向。如果一条路都 …

阅读更多 →
代码
2016-11-12
P1379 八数码难题(康托展开+逆展开+我的丑陋的BFS)

[infobox title="P1379 八数码难题 "] 题目描述 在3×3的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字。棋盘中留有一个空格,空格用0来表示。空格周围的棋子可以移到空格中。要求解的问题是:给出一种初始布局(初始状态)和目标布局(为了使题目简单,设目标状态为123804765),找到一种最少步骤的移动方法,实现从初始布局到目标布局的转变。 输入输出格式 输 …

阅读更多 →
代码
2016-11-08
P1280 尼克的任务

[success]原题: https://www.luogu.org/problem/show?pid=1280[/success] 解法: 本来想到的是排个序然后根据K排序... 然后... 没有想到怎么做... 然后无奈看题解... 发现我想多了【捂脸】 不要想得太复杂!!明明是你弱 代码:

阅读更多 →
代码
2016-11-07
P3379 【模板】最近公共祖先(LCA):Tarjan算法离线实现

[success]原题:https://www.luogu.org/problem/show?pid=3379[/success] 题意,给你一棵树,求几对点的LCA... 我的做法: 由于Tarjan够简单的,所以我就用了Tarjan... 这个算法真的很简单!!但是超级好理解的!! 以前从来没写过LCA...这也是第一次吧 O(α(n) + M) 代码:

阅读更多 →
代码
2016-11-06
P2285 [HNOI2004]打鼹鼠

[success]原题 https://www.luogu.org/problem/show?pid=2285[/success] 我的解法: 在学校举办的模拟赛上的题目,最近一直在做DP题...然后结果当时想了没半个小时AC了, 回来想在洛谷再A一次,结果等级居然说是提高+/省选- = =...这个分级有点水啊... 做法也很简单,从时间顺序逆着来DP,看这个点在规定时间能到达哪几个点 dp[i] = max{dp[j]|time(i, j) >= dist(i, …

阅读更多 →
代码