3天时间,1100多行代码,逃了不少课,搞出来了,效果如下:
每接触一门语言,一般都以“Hello world!”闯进这个陌生的世界,FakeBasic也不例外。看上去有点像Basic,但我会尽量摆脱以往Basic语言里的一些语法限制,同时增添一些更吸引人的色彩!
3天时间,1100多行代码,逃了不少课,搞出来了,效果如下:
每接触一门语言,一般都以“Hello world!”闯进这个陌生的世界,FakeBasic也不例外。看上去有点像Basic,但我会尽量摆脱以往Basic语言里的一些语法限制,同时增添一些更吸引人的色彩!
傍晚思考了一下,为了加快开发时间,还是采用简单的Basic语法好了!
在Basic基础上进行小小修改,让其可以作游戏脚本使用。
本来以为今天能实现语法分析,结果忙到夜深只实现了一半!
表达式运算和语法树的构建只能到明天再继续了。给一个今晚进度的截图:
为了给一个小游戏加一些剧情上去,就写了一个地图编辑器。现在地图编辑器OK了, 就差一个脚本解释器了。
今天想了一天如何写一个脚本解释器,我需要什么样的语法,按照什么流程来解释脚本,如何和游戏程序交互等。鉴于我还没有认真学习过编译原理,所以只能靠自己思考整套模型了。
花了一个晚上,才写了200多行代码,完成了一个词法分析器。语法分析部分留到明天网上再继续了,明天的作业还没做好呢。。。
假期来了,如其玩CS堕落,不如自己写一个小游戏玩一玩!这三天很卖力地在敲代码,到现在有点成绩了,发个临时版本上来。
http://home.xxsyzx.com/upfiles/killall.zip (Windows Only) 游戏很简单,开枪杀死所有的对手即可。
修正了5月1日后无法注销的问题。。。
原因:服务器那边更改了注销方式吧。从get改为了post。目前仅作了小修改,不是很完美。所以有点担心过段时间还可能有这个问题。不过很容易修正!
下载地址还是 cmcc
** 增加了日志记录,方便计时!
有了这东东,以后就不用老是打开CMCC的登录页面,然后输入长长的账号来登录了!只需要随机启动,在图标右键选中Login即可,而且还有辅助计时功能。因为我用的是20元包月200小时,用超了就不好了~
如题,想到一种方法,使用堆栈。
每遇到一个html标签,就压栈,当遇到它的关闭标签时,就出栈(当然,直到找到对应的关闭标签)。
不过,这就存在一个问题,如果是代码规范是html4而不是xhtml,则会遇到<br>
、<img>这类没有关闭标签的标签。早知道这样,当时博客代码就应该用xhtml来写。不过要改的话,很多文章都需要转换,还是算了。所以打消使用这种方法的念头。因为html天生具有较强的容错性,少了关闭标签,解释器自动会帮你补全,所以不用担心这个问题。
今夜帮沛公改了个C++程序,反转输出一个句子。觉得他写的程序过于麻烦,既使用了string又使用了char数组。
于是下了下面的程序:
#include iostream
#include cstring
int main()
{
char s[10000];
gets(s);
for(char*p; p=strrchr(s,’ ‘); *p=’\0’)
std::cout–(p+1)–” “;
std::cout–s–std::endl;
return 0;
}
但沛公喜欢简洁一点,就简化一下,如下:
#include
int main(char*p, char s[10000])
{
for(gets(s); p=strrchr(s,’ ‘); *p=’\0’)
std::cout–(p+1)–” “;
std::cout–s–std::endl;
}
(*^__^*) 嘻嘻…… 还可以试试非主流C++ , 如下:
编译器真聪明,而且速度蛮快的。那么添加多几个是不是会变得慢呢?
复制多一些,看看情况。。。
这回无语了,编译了5分钟,结果还是内存达到2GB耗尽而终结。