自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

HeroIsUseless的博客

才大难为用

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

原创 FLEX & BISON 联合使用

flex是词法分析器,bison是语法分析器,基本原理就是flex解析出token后,让bison来使用。实际上,一般是先编写bison脚本,里面的token就是一个定义,没有实现,里面的yylex也是没有实现,只有定义,为什么先做bison呢?因为编写bison脚本并被bison编译后,除了产生一个parse的c文件,还会产生一个token头文件,里面详细定义了token,然后,我们再编写f...

2020-02-29 10:20:15 1381

转载 文法分析概览

文法分析概览利用BNF写出的文法规则,可以用来对输入的文本进行文法分析。一条BNF文法规则,左边是一个非终结符(Symbol或者non-terminal),右边则定义该非终结符是如何构成的,也称为产生式(Production),产生式中可能包含非终结符,也可能包含终结符(terminal),也可能二者都有。在所有文法规则中,必有一个开始的规则,该规则左边的部分叫做开始符号(start symb...

2020-02-28 21:12:48 1170

原创 自制操作系统(八)

现在是源代码,是需要编译的,整个过程是用nask也好,GCC也好,最后变成一个二进制文件而已,仅仅是一个文件而已,然后这个文件直接拷贝到内存,它掌控着所有,反正不管怎么说,现在初级阶段就进行分文件夹是不对的,没有什么意义。这回是要进行命名的,如何命名呢?常量,宏定义都是大写字母全局变量是l开头的,后面跟大写而不是下划线普通变量,开头小写,中间大写函数,如果有类就好了,但是没有类,有主谓型...

2020-02-28 17:24:05 146

原创 自制游戏 (Unknown Mssing Game)八

接下来就不是线性的了,针对不是线性的问题,需要设计非线性结构,总之,跳到哪里都是可以控制的。它应该是一个树型结构,用户怎么选,都应该是向下走的,不会回去,PPT上写的比较乱,doc上写的应该写成一个树状图,而不应该是一个循环图,就算是回退,也只能回退一级,而不能多级回退,容易出现问题。还蛮复杂的,有点搞不太清,,,这就要游戏系统要够健壮,够清晰明了。做一个邮件界面结束几天工作。...

2020-02-28 14:40:30 156

原创 自制游戏 (Unknown Mssing Game)七

继续,今天实现遮罩效果。原来是打算说过几句台词后再出现遮罩,说明遮罩必须在开始先隐藏起来。隐藏的话,最好把上面的按钮组成一个组合,这样隐藏则一起隐藏。注意如果它能在脚本中引用,那么它应该是一个高级组。写入如下代码即可:m_maskCom=view.GetChild("MaskCombine").asGroup;m_maskCom.visi...

2020-02-27 14:34:01 188

原创 自制游戏 (Unknown Mssing Game)六

今天完成页面滑动功能。这个非常好说,首先在scene里面整体添加一个list列表,也就是这个:设置它的溢出处理为水平滚动:然后拖入一个墙纸,那么就可以水平拖动了。第二步,就是将所有的家具都固定在墙上,这样,随着墙的移动,家具也都会移动了。导入进unity中,效果不错,而且,一行代码也没写。。。...

2020-02-26 15:13:48 159

原创 自制游戏 (Unknown Mssing Game)五

接下来得封装对话才行,不封装不好用。接下来要大量使用的。首先,让nextStr作为所有句子的集合。有一个过程计数m_i,作为游戏进行标志,通过if的判断,来了解已经进行到哪里了。还有一点是,如果你中途点击后,它能立即显示所有的文字,中断动画才行。这里有一个注意点就是,尽量把所有参数设置成private,如果设置成public,那么就会在unity的控制面板中显示,那么在更新脚本的时候控制面...

2020-02-25 11:07:23 191

原创 自制游戏 (Unknown Mssing Game)四

实现文字的打字效果。首先实现一个字符串的打字效果,这个就比较好实现了。实现代码如下:using System.Collections;using System.Collections.Generic;using UnityEngine;using FairyGUI;using UnityEngine.SceneManagement;public class Subtitle...

2020-02-24 21:24:22 142

原创 自制游戏 (Unknown Mssing Game)三

今天讲讲FairyGUI吧。界面是这样:​例如我们新建一个按钮,首先导入资源图片,就是拖进去就行,注意图像不要大于2048*2048像素,不然打包会有问题。然后点击新建按钮,弹出对话框,按照格式输入信息,图像拖进去就可以了:然后双击这个按钮,进入这个按钮的设计界面,会发现图像太大了,点击下面列表中的图像,对属性进行设置:然后依法炮制:然后,右键Hom...

2020-02-21 11:38:09 1290

原创 自制游戏 (Unknown Mssing Game)二

在做之前,有必要对命名做一个合理的规划。我的设想是,游戏由几个sence组成,每个sence里面只有一个UIPannel,此UIPannel仅仅由fairy GUI导出的一个component构建,我们仅仅操作这个component就可以了,另外附着一个script脚本,作为逻辑控制。命名如下:每一个scene对应一个fairy GUI包,一个包里只有一个导出component,scene命...

2020-02-21 11:06:28 280

原创 自制游戏 (Unknown Mssing Game)一

今天,完成游戏的初始搭建。我用的是FairyGUI。综合考虑,额外用一个软件设计UI是值得的,教程在这里:https://www.bilibili.com/video/av29751288在FairyGUI中完成整个界面的绘制后,导入到Unity的assert文件夹下的Resources文件夹下即可。第二步是在unity store中下载FairyGUI插件。插件下载完毕后,在场景senc...

2020-02-21 09:49:35 324

原创 iconv-lite TypeError: __webpack_require__(...) is not a function 问题解决

相信你在遇到这个问题的时候,你是在做electron,这个问题不是你的问题,是iconv-lite对electron不怎么适配,iconv也是同样的道理,最佳的解决方法就是从源码上解决,解决方法如下:在electron工程的node_modules中,找到iconv-lite(前提是你已经安装上了),打开iconv-lite/lib/index.js,在140行~150行之间有这些语句:...

2020-02-18 21:31:04 2399 8

原创 构建自己的编译器(七)词法分析之二

对于标识符,已经存在的那些,有初始的一张表,然后是自己定义的变量名函数名什么的,也要存入一张表中,如果标识符存在就返回该标识符,实际上,词法分析后,有很大一部分都变成了id了。代码上int*current_id这样的int*current_id,//currentparsedID*symbols,//symboltableline,...

2020-02-15 21:54:11 174

原创 构建自己的编译器(六)虚拟机之二

对,你解析了如果只是一个一个next的话,这就是将词法分析和语法分析合在一起了,因为词法分析本来就不是什么难事语法树都没构造它怎么就可以进行变量定义了?它是通过解析什么enmu啦,int什么的完成的,然后按照定义完成赋值,根本不用断句,好,即便不用断句,那么它是把参数压入栈了吗?首先,一个主函数一个栈,当调用次函数时,要把pc压入栈,然后把pc赋给次函数,执行,完毕则弹出栈,这个...

2020-02-15 18:32:22 194

原创 网站建设(四)回归wecenter

滚回来学wecenter了WeCenter 文件目录结构app - 应用目录,什么叫应用目录呢?cache -language - models - 模型目录,不明plugins - 插件目录,不明static - 静态文件,就是我们看到的界面,这里存放html使用的东西 --admin: 后台控制面...

2020-02-12 20:55:18 432

原创 leetcode 205.同构字符串

给定两个字符串s和t,判断它们是否是同构的。如果s中的字符可以被替换得到t,那么这两个字符串是同构的。所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。示例 1:输入: s = "egg", t = "add"输出: true示例 2:输入: s = "foo", t = "bar"输出: false示...

2020-02-12 16:33:16 93

原创 构建自己的编译器(四)递归下降

按理说,今天开始讲词法分析,但是奈何我已经学完了,今天学学递归下降。传统上,编写语法分析器有两种方法,一种是自顶向下,一种是自底自上。自顶向下是从起始非终结符开始,不断地对非终结符进行分解,直到匹配输入的终结符;自底向上是不断地将终结符进行合并,直到合并成起始的非终结符。它们的目的都是判断这条语句是否合法,不合法的不能递归完毕的。自顶向下方法就是我们所说的递归下降。我们能直接根据BNF写出解析代...

2020-02-12 14:05:31 251

原创 ARTrace(二)实现预览

用crame1的api还是用camre2的api呢?用2的吧,随便了。主要用到的5个类:CameraManager:是通过getSystemService(Context.CAMERA_SERVICE);拿到所有相机的管理者。CameraDevice: 通过CameraManager返回的一个可用摄像头,原过时的Carema(android.hardware.Camera)对应,但是API...

2020-02-05 14:52:18 287

原创 leetcode 226.翻转二叉树

翻转一棵二叉树。示例:输入: 4 / \ 2 7/ \ / \1 3 6 9输出: 4 / \ 7 2/ \ / \9 6 3 1备注:之所以这么大张旗鼓做这么简单的题,那是因为这道题是我第100个题啦!做完后我就做中等题了。classSolution{public:Tr...

2020-02-03 11:09:24 98

原创 网站建设(二)深入网站内部结构

aws_app.inc.php应该是主要app所在地了,但aws怎么着也是亚马逊吧?XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript,但实际上也可以包括Java、 VBScript、ActiveX、 Flash 或者甚至是普通的HTML。攻击成功后,攻击者可能得到包括但不限...

2020-02-02 23:08:09 510

原创 网站建设(三)开启自己架构

我真是看不懂。。。自己写一个架构吧。。。大致逻辑呢,就是返回index.php嘛,在这个index中,include了APP,简单的include就是把文件粘贴到index里,如果文件里还有include,那么就预先执行那个粘贴,因此,资源应该放到index.php同目录下才行。这样才能读取。图片,html,css,全部都是资源算,因为返回的是一个网页,网页仍然有读取文件的功能,我打算是...

2020-02-02 23:06:37 266

原创 ARTrace(一)概述

这个ARTrace我用来参加比赛,大致呢就是智能识别,说实话外包就可以,可以吗?如果获得奖的话,有钱我就可以赋了哈哈。从 Android 5.0 开始,Google 引入了一套全新的相机框架 Camera2(android.hardware.camera2)并且废弃了旧的相机框架 Camera1(android.hardware.Camera)。作为一个专门从事相机应用开发的开发者来说,这一刻...

2020-02-02 22:36:22 202

原创 构建自己的编译器(三)虚拟机

定义语句呢,就是 x:0. 这样,我来说说它的编译过程:首先进行词法编译,变成:<variable, "x"><semicolon><integer, 0><dot>然后进行语法编译,这里就不会了,将词法分析得到的标记流(token)生成一棵语法树。1、next() 用于词法分析,获取下一个标记,它将自动忽略空白字符。2、program...

2020-02-02 18:57:22 501 1

原创 自制操作系统(七)

那么,我这个操作系统有什么优点呢?首先呢,所有代码我必须自己掌控对吧,代码用的谁的无所谓了。它的ui可以是全平台的。windows是最好的系统。它的ui无可挑剔。我的更新是它可以自适应。右上角是各种信息,当程序最大化时可以缩到标题栏。因为最大化往往只有一个对吧。应用商店嵌套在应用菜单里,太棒了。就这样。然后桌面放文档,你可以一直将应用菜单开着啊,就这么愉快的决定了!那么操作系统重新开...

2020-02-02 09:17:38 231

原创 自制操作系统(六)

今天来解决一下历史遗留问题。首先,文件名全部按照小写字母表示,用C语言写的,为什么不用C++?那是因为C++有可能在编译过程中将main函数改名,这个很难办。然后,尽可能的套娃,这样include进去的也少。即便有测试的,也要用一个test函数解决问题。这个文件的组织也是一个大问题。。。参考Linux,我是这么组织文件的。document // 源码解释文档文件夹video // 显示相...

2020-02-01 17:49:51 194

空空如也

空空如也

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

TA关注的人

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