自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Asura319的博客

绝赞摸鱼中

  • 博客(23)
  • 收藏
  • 关注

原创 回溯法,随机迷宫,以及更多

我在我的游戏中增加了迷宫场景,这个迷宫随机生成而且中央有一片开阔地带作为终点位置。作为挑战的一部分我希望迷宫在有一定规模的前提下不至于过难,解决方案是玩家身在迷宫中时给出某种提示(UI 或者立体声音效)将玩家引向正确的方向。随机生成迷宫的方式不唯一,生成方式影响迷宫风格。就没有高度差距的二维迷宫而言回溯法生成的迷宫形状自然,容易得到一个完美迷宫,即联系迷宫中任意两点的路径唯一。这个方案的效果长...

2019-02-15 15:33:44 653

原创 一则 Unity 试题:绘制正四面体并使用射线检测

前言:我假定我的读者对 C# 和 Unity 引擎有初步的了解,并且还保有关于高中数学的记忆,不会为几何形体相关的计算感到疑惑。涉及到的术语和复杂概念会被尽可能向着简单易懂的方向解释。最近疯狂摸鱼,看到了一则 Unity 程序的测试题。题目长这样:在摄像机视线范围内,以代码的方式生成四个大小随机,位置随机,角度随机,颜色随机的正四面体(注意不是立方体)。 以鼠标指针为起点对世界空间...

2018-09-09 01:31:21 1461

原创 Unity3D游戏日记 (3):来块黄油蛋糕

前言:这一节论述制作控制道具使用的 UI 组件,并建立 UI 组件与程序后端联系的方法,以及一种游戏信息序列化与反序列化的方法。改变道具数量前一节我们定义了若干在游戏中出现的道具,关于道具的定义写在配置文件中,可以改动和增减道具的种类。而描述玩家持有何种道具,以及持有的数量,则需要额外的字段存放。在这个游戏中,使用道具会按照道具本身的价值将其兑换为游戏中的通货,这涉及到改变玩家持有的道具数...

2018-08-31 21:22:54 9801

原创 Unity3D游戏日记 (2):缝一个背囊

前言:在写下这些文字前,我假定我的读者对 C# 本身和 Unity 引擎已经有初步的了解,但对组件的内容和特定设计的方法论一无所知。多数概念都将被解释,包括专业术语。从配置文件声明游戏中存在的物品前一节我们把一个人物扔进了虚拟世界中,并且让她像个提线木偶一样受人操控。单让人物出现在镜头下未免单调,而整个世界看起来也空荡荡的,我们需要为这个世界加点料——比如,可以捡起来的物品。但在实现可拾取...

2018-08-23 15:30:07 834

原创 Unity3D游戏日记 (1):漫游的琥珀

前言: “游戏场景”可以有多种概念,为了防止语义混淆,以下内容中专指 Unity 中的场景组件时使用 “Scene”,而讨论一般意义上的场景,如代表游戏中的地形的三维物体,使用 “场景”。Unity chan 使用其设定名大鸟琥珀。游戏人物在多场景活动的方案Unity 使用了 Scene 这一概念加载游戏资源,一个 Scene 相当于一个小世界。原则上 Scene 本身的加载和销毁伴随...

2018-08-13 11:24:38 608

原创 C++ 简单模拟属性与函数左值

前言: C# 是优雅的编程语言,C# 的使用者可以方便地维护类中的字段,使用属性可以创建可读写或者只读的字段。而在 C++ 中也能简单地模拟这种方式。样例:#include <iostream>/* * 模拟 C# 中的属性,属性支持读写但封装了保存值的变量 */using namespace std;class Test{private: int ...

2018-08-12 22:00:33 343

原创 Unity 3D场景简单镜头行为两例

前言:这里展示了两种镜头行为,作为 3D 场景中跟随角色的摄像机移动脚本。1 可缩放的俯视角镜头行为: 类似 DOTA-like 类游戏的视角。镜头为不同高度的俯视角,可以使用滚轮控制观察距离,镜头朝向固定。 原理: 通过维持与观察目标的相对坐标保证镜头位移正确,镜头在预设的轨道上移动。简单起见轨道表示为3个锚点间的两条连线,通过线性插值函数控制镜头在轨道上的位置。 脚本代码:...

2018-07-30 11:27:21 755

原创 Unity 脚本人物移动的几种实现 (3D)

注意事项:这里只实现了人物移动,没有设置动画状态的内容,但要以此为基础加上动画状态很容易。这里没有考虑跳跃的情况1 前后键决定前进后退,左右键决定转向以下这些写在角色类里:// moveSpeed 和 rotationSpeed 都是浮点数, 分别为预设的移动和转向速度public void Move(float horizontal, float vertical){...

2018-07-16 16:39:21 18502 1

原创 适用于 C 控制台小游戏的双缓冲方法

摘要: 在 Windows 中使用 C 语言制作控制台小游戏可用的控制台双缓冲技术,此技术可以防止画面刷新时屏幕闪烁的现象,使画面过渡较为流畅。在使用 C 语言制作控制台小游戏时,为了在画面更新的时候刷新显示内容,一个容易想到的方法是在每一帧刷新画面,Windows 下可以使用控制台命令刷新画面,形如:// 分配一块内存当作二维数组,存储屏幕显示的信息char** new_screen(...

2018-04-12 18:06:55 5334 1

原创 使用指针表示引用类型描述函数内指针重定向的行为

听闻“大多数面试都会问到的问题”里有一道关于向函数内传入列表的题目,形如:def func(some_list): some_list[0] = 99; some_list = [33, 44, 55] return;li = [1, 2, 3]func(li)print(li) # 这里会显示什么?答案是 “[99, 2, 3]” 。 因为...

2018-03-01 11:32:15 413

原创 Dijkstra 算法,“旅游规划”,另一种方式拯救詹姆斯邦德

“旅游规划”的题面如下:有了一张自驾旅游路线图,你会知道城市间的高速公路长度、以及该公路要收取的过路费。现在需要你写一个程序,帮助前来咨询的游客找一条出发地和目的地之间的最短路径。如果有若干条路径都是最短的,那么需要输出最便宜的一条路径。输入格式:输入说明:输入数据的第1行给出4个正整数N、M、S、D,其中N(2≤N≤500)是城市的个数,顺便假设城市的编号为0~(N−1);M是高速公路的条数;S...

2018-02-28 16:15:49 489

原创 Floyd 算法,“哈利波特的考试”

Floyd 算法:Floyd 算法利用一个三重循环计算一个存储边长度的图中任意两点间最短的路径,其逻辑可以简单地被表示为:def floyd(weight_list, vertex_num): for k in range(vertex_num): for i in range(vertex_num): for j in range(vertex_n...

2018-02-20 17:10:20 519

原创 图和两种遍历,Saving James Bond

图可以作为表示指定环境内所有对象的关系的形式。树可以认为是图的子集,图中节点的联系可能是成环的。图的元素包括边和点,按照不同的需要可能侧重表达点之间的关系或者点本身的信息。int graph[100][100] = {0};...void InsertEdge(int ver_a, int ver_b, int weight){ graph[ver_a][ver_b] = weig...

2018-02-07 17:51:20 392

原创 7-34 任务调度的合理性(25 分)_对图“入度为零”的简单判断方式

原题目见于PTA数据结构与算法题目集(中文)。题目如下:'''假定一个工程项目由一组子任务构成,子任务之间有的可以并行执行,有的必须在完成了其它一些子任务后才能执行。“任务调度”包括一组子任务、以及每个子任务可以执行所依赖的子任务集。比如完成一个专业的所有课程学习和毕业设计可以看成一个本科生要完成的一项工程,各门课程可以看成是子任务。有些课程可以同时开设,比如英语和C程序设计,它

2018-01-30 13:58:19 878

原创 有关堆存取的习题两例:寻找大富翁、Windows消息队列

7-38 寻找大富翁(25 分) 和 7-26 Windows消息队列(25 分)两例关于堆的习题

2018-01-13 17:26:11 339

原创 有关堆 (数据结构) 的笔记

堆 (heap) 是一种存放数据的结构,其特性保证每次从堆中取出的数据是当前堆中的值最大 (或者最小,取决于你的定义)  的那一个。其他的数据结构如有序链表也能起到类似的作用,但涉及到频繁存取数据时效率不如堆。通常使用数组形式表达的二叉树来表示一个堆。堆中的成员可以是基本的数据类型 (整数、浮点数或者字符) 或者自定义的数据类型 (比如结构体对象),但要保证它们可以以某种规则排序。

2018-01-13 16:26:00 508

原创 埃氏筛法实例

关于埃氏筛法,简单说是选取素数较快的方式,这里展示一个返回素数表的函数。注意这里的素数被置为 false。//埃氏筛法实例, 初始全为 false, 非素数置为 truebool* PrimeTable(int table_size)  {    bool* table = (bool*)calloc(table_size+1, sizeof(bool));    int i,...

2018-01-08 17:00:31 860

原创 1040. 有几个PAT(25)_枚举和在线处理

题面长这样: 字符串APPAPT中包含了两个单词“PAT”,其中第一个PAT是第2位(P),第4位(A),第6位(T);第二个PAT是第3位(P),第4位(A),第6位(T)。 现给定字符串,问一共可以形成多少个PAT? 输入格式: 输入只有一行,包含一个字符串,长度不超过10^5,只包含P、A、T三种字母。 输出格式: 在一行中输出给定字

2017-12-27 14:58:56 273

原创 1024. 科学计数法 (20)(PAT乙级题库)

题面长这样: 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式[+-][1-9]”.”[0-9]+E[+-][0-9]+,即数字的整数部分只有1位,小数部分至少有1位,该数字及其指数部分的正负号即使对正数也必定明确给出。 现以科学计数法的格式给出实数A,请编写程序按普通数字表示法输出A,并保证所有有效位都被保留。 输入格式: 每个输入包含

2017-12-25 22:26:26 360

原创 7-3 树的同构(25 分)

给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。 现给定两棵树,请你判断它们是否是同构的。 根据输入格式,可以想到树的建立可以使用一个结构体数组表示。再由树的特征,因为题意要判断树是否相同,是通过某两个内容一致的节点的特征是否一致来判断的,这里就不一定需要知道用数组表示的树的树根在哪里。

2017-12-18 21:40:04 682

转载 欲望强度序表

关键词:营销理论 欲望强度序表是由营销理论总结的,人们的愿望和欲求的强度。其中的元素被用于加入到广告和宣传等媒体中,以增强感染力。

2017-12-09 13:50:14 1157

原创 7-39 龟兔赛跑(C语言数学法)

利用数学模型解PAT上龟兔赛跑的问题。

2017-12-02 19:04:33 5841 3

原创 Cube Reverse

一些枚举类题目会提到某种特殊的密码锁,比如按下一个钮旁边的按钮状态也会跟着变之类的。这个小玩应跟枚举关系不大,只是一个3×3的方块,我开始叹服我的无聊程度了。#include<stdio.h>#include<stdlib.h>#include<stdbool.h>#include<windows.h>#define MULTIPLE 5 // 一个点放大为若干乘以若干的方块#define

2017-11-26 17:05:54 280

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除