[Working]开始着手把拖了很久的Mario Online Beta完成

话说~去年暑假的时候无聊,模仿的做了一个Mario的单机版,功能上包括算分数,倒计时,音乐,人物的左右移动,跳跃,输赢判定,吃金币判定,全都做出了。然后就萌发了做一个多人联机的Mario Online了。

当时想着新进入游戏的玩家,继承一个Mario的类,来达到理论上无数人联机的游戏,但是最后还是决定第一次做联机游戏,还是稳妥点做个双人的好了。

暑假最后一周完成的版本包含 用户注册,简易聊天,人物左右移动,双人移动动作同步功能。 国庆后的一周完善了 聊天功能。之后就什么都没做了。

一直拖到寒假,嘛,还是把它做完吧。

目前手头上的后台是用asp的。“搞成php的吧!”,抱着这个想法于是开始了研究。

首先asp和php的区别,在asp中,可以使用 Application 来让服务器暂时保存数据,而php没有类似的Application. 之前的asp后台flash聊天室就是用到Application. 经过一番查阅资料,php没有类似功能,据说是为了节省服务器资源。但是这样的话,php只能通过小型数据库,比如文本文件来存放数据,这样真的比Application更节省资源?我抱有疑问。

目前打算使用的用户信息注册数据库为Access,同步信息数据库为文本文件 博客虽然用的是mysql,但是不想平时的project把主数据库搞乱,还是独立出来吧。

研究了一下php链接access数据库的方法为:

<?php
$connstr = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=".realpath("database.mdb");
$conn = @new COM("ADODB.Connection") or die ("连接失败!");
$conn->Open($connstr);

$rs = @new COM("ADODB.RecordSet") or die ("数据表创建失败");
$rs->Open("select * from ondata",$conn,1,1);
while(!$rs->eof){
  echo $rs->Fields['id'];
  echo ":";
  echo $rs->Fields['username'];
  echo ":";
  echo $rs->Fields['userpassword'];
  echo "<br>";
  $rs->Movenext();
}
$rs->close();
$conn->close();
?>

输出的结果为 序号:用户名:密码

by the way,如果用文本文件来同步双人联机数据(经过测试,半秒内可以读取文本文件3000次,虽然比起Socket套字节有延迟,但还可以忍受),可以采用 Cookie来做站内游戏翻页后,游戏可以从中断的地方继续开始呢。

剩下的地图,敌人,最终boss明天再开工吧。好晚了。祝自己晚安!

泪流满面,原来POPGO还健在啊。

每天惯性的输入popgo.net/bbs 看看新番动漫,可惜这次popgo大姨妈了好久近一个月了。

popgo的bt发布页也是祈祷去海外。

今天发现popgo的临时避难所出现了,谢天谢地,popgo没死掉,似乎是没有做论坛备案的样子。

我记得那个备案很复杂的,还要带证件本人去备案。而且电子公告板很难批的说。

总是~一切都往好的地方发展了。

这是避难所公告原文:

论坛服务器所在机房严查备案,没有备案不许联网。某管理员已经在第一时间申请备案了,但是备案审核需要的时间不确定,我们只能苦苦等待。 目前服务器硬件感觉良好,数据并无丢失,请各位同学放心。备案通过后,我们将第一时间重新开放

给MACBOOK装上了Windows 7

下午居然跑道了麦当劳给MacBook装Windows 7去了,哎 如果是一个更安静地方就好了。

Apple还算厚道,自带的Camp Boot 可以分一个区来安装Windows 7 但是不人道的地方是 只能分一个区啊。这无比怨念,一个系统只有一个盘是什么概念。。那就是什么垃圾都堆在一个盘里了。。用久后会悲剧的。

嘛嘛~分完区,放进我的x64 Windows 7 结果提示检测不到光盘?果断换了x86的盘进去可以读取了,然后就开始装x86了。仔细一想,其实应该是额可以装x64的,可能点安装的时候,x64的光盘还没读取出来吧。嘛~算啦。

装完Windows 7 后重启,发现没有 Mac OS 和 Windows 操作系统的选择列表,直接进了Windows. 。心中一凉,难道Mac直接跟我永别了? 还好,装完Windows 下的 Camp Boot驱动后,出现了系统选择界面,可以切换了。

但是嘛~ 触摸板居然没有右键了。。于是乎果断google之~ 解决方法就是 两根手指放在触摸板上,再按键。。啊啊啊,这无比纠结的操作啊。

再然后呢,进入计算机,发现只有Windows的系统盘,在Mac下的分区全都看不见。 是Windows不识别Mac的磁盘格式呢,还是被隐藏,我也不懂。 不过这个似乎可以通过安装驱动解决。不过副作用是,Windows下无法操作Mac分区的文件,只能查看,不能修改。看来都是只读属性的啊。

最后的说,听朋友讲,身边用苹果的人,全都装上了Windows. 额 看来苹果这系统很不人性化啊,就病毒少,界面好看以外。能用的软件毕竟太少,操作很不大众。或许应该说Microsoft的系统太过垄断了吧。

PS: 其实也不能说苹果对微软的系统支持不好啦,毕竟人家比尔叔叔可是坚决不允许家里人用苹果的任何产品哦。而鲍威尔大叔也不让员工在公司用任何苹果的产品呢。为此还人手送一部Windows Phone…

PHP | FLASH + COOKIE 投票程序

之前用PHP+FLASH+文本文件 做了 聊天室之后,就想过~ 投票程序一定也能做、

于是就练练手啦,选中某个人,点投票,然后把这个人数据+1。 嘛~不过这种太简单了,so~ 自己再加入了柱状图来表示投票的百分比啦。

而投票中常见的限制就是为 IP 限制了,为了方便测试(主要还是想偷懒啦)。我只设置10秒内不能连续投票。限定条件为 访问投票程序的时间+10秒。 限制IP的话,可以做成 获取客户端IP,限定时间+1小时/1天/永远 。 都行的说。

下面是程序演示啦:

FLASH版本

PHP版本

以下为PHP代码:
继续阅读“PHP | FLASH + COOKIE 投票程序”

FLASH+PHP+文本文件数据库 聊天室0.9BETA完成!

现在是21号深夜 1:41分。原本2小时前,我就可以做好这个0.9版本的,但是遇到了经典的乱码问题,让我纠结了2小时终于解决了。看到本文童鞋请引以为戒,不要再走我的老路啦。

出现乱码的条件是:默认编码建立的记事本,默认编码建立的PHP,默认编码建立的FLASH,PHP使用GET方式接收数据;

解除乱码的条件是:UTF-8编码的记事本,ANSI编码的PHP,默认编码建立的FLASH,PHP必须使用POST方式获取数据;

哎~两小时折腾死我了,下面进入正题。

最新0.9BETA演示地址 : http://chat.dreamfairy.cn

原本打算用ASP来做这个聊天室的,但是ASP最近不流行了,而且我也没有真正去学过。而目前在学PHP,索性就把ASP后台全部转换成PHP吧。

原本还打算用后台生成XML来保存聊天室数据的,但是XML的节点之类的看的好乱,头晕。还是偷下懒,直接用PHP生成文本文件来保存数据。

更新内容如下:
1.用PHP将原本ASP的后台重写了一遍,将计算留言总条数,留言信息组合,输出最新一条数据等功能全部用后台处理,FLASH只负责前台显示;

2.采用了PHP+TXT文本文件的存储方式,所有的留言记录都保存在服务器端的文本文件里,服务器重启后数据不再丢失。默认保存240条留言,超过240条后清空;

3.添加了 “lucky”按钮,可以随机发送一句话;

以下为PHP+FLASH源码部分
继续阅读“FLASH+PHP+文本文件数据库 聊天室0.9BETA完成!”

PHP对文件的读写

今天看着 清华大学出版社《PHP从入门到精通》看到了php对文件的读写,觉得正好可以放在我的flash聊天室上,看来真的可以不用数据库啦。

readfile(“文件路径”) 函数,这个函数读取文件的内容,但是不换行,读取的内容全部连在一起。但是有一个好处,就是如果文件的内容中包含
之类的网页中使用的换行标签。用readfile()函数在网页中输出内容的话,会按文件的内容自动排版的说。

file(“文件路径”)函数,这个函数读取文件内容的每一行,并存入数组中。可以通过 数组变量保存file()的返回值,然后用foreach()输出。 也可以通过数组指针来输出数组中特定的文本段。

用fwite()将内容写入文本文件的话,可以通过rn 来换行。写入网页的话,可以用
来换行。

如此这般之后呐~flash的代码要这么改了

发送信息函数 链接到send.php 内容为 fwrite(“文件路径,打开方式”,$str); $str=$post[“flash传进来的消息”];if(count($farray)>=50)){unset($farray[50]);}如果数组数据超过50条,就把最早的一条记录删除。

刷新数据函数 链接到refresh.php 内容为 $farray=$file(“文件路径”);for($i=count($farray);$i>=0;$i–){echo $farray[$i];}//用倒叙的方式读取数组内容,这样第0条数据一定是最新的。

读取数据函数 链接到read.php 内容为echo $farray[0];

这样,数据处理显示全部给后台php做。 flash唯一要做的就是返回信息给客户端就行啦!

下面是新鲜出炉的倒叙行输出例子~

windows 7下使用IIS配置PHP

今天考试结束了,准备开始正式学习php了。

准备工作就是配置php了。于是对于php是小白的我,再次找上了搜索引擎这位老师啊。

结果,悲剧再次发生!网络上的配置文章又是各种转帖,全都是复制php文件到c盘,然后改ini文件,极度复杂。这里再次鄙视一下那些互相抄袭文章的博客。

自己研究windows IIS 7.5 配置PHP的方式后,决定重新写一篇配置过程。

由于php.net 网站上没有最新的php6下载,而AppServ 自带了 php6 ,并且AppServ 可以独立于IIS创建PHP环境,就顺便说下AppServ怎么配置php吧。

下载 AppServ PHP 环境

下载地址: http://nchc.dl.sourceforge.net/project/appserv/AppServ%20Open%20Project/2.6.0/appserv-win32-2.6.0.exe

下载完毕后安装,安装过程中填写端口号,为了避免和IIS的80端口冲突,这里就填写82。装完后 在浏览器输入 127.0.0.1:82 就可以访问 AppServ目录下 www 文件夹里的 index.php文件了。
下面是使用Windows 7 IIS来配置 PHP环境

配置windows 7 IIS 7.5

首先进入 “控制面板” – “程序”-“打开或关闭 Windows 功能” 勾选 “Internet信息服务” 然后继续勾选 “应用程序开发功能” 下的 “CGI , ISAIP扩展, ISAPI筛选器” 然后点 “确定” 完成IIS配置。

win7iis

之后打开 “控制面板”- “系统和安全” – “管理工具” – “Internet 信息服务(IIS)管理器”

点击 “应用程序池” 然后空白处鼠标右键 “添加应用程序池” , “名称” 里输入 PHP 点“确认”

“网站”上右键 “添加网站” 输入个网站名称 我输入的是 phpweb,网站物理地址,点“确定”

单击刚建立的 “phpweb” 选择 中间列表中的 ISAPI筛选器

isapi

进入后 右键 “添加” 名称输入 php . “可执行文件” 输入 php6的 phpisapi.dll的文件路径,这个dll文件在 你安装 AppServ目录下 php6 的文件夹里。

add php6 isapi
然后 再次点击 左边列表的 “phpweb” 选择中间列表的 “处理程序映射” 然后点右边列表中的 “添加脚本映射” ,“ 文件路径” 输入 *.php 。 “可执行文件, 名称” 都和刚才添加 ISAPI 的内容完全相同。

最后添加 网站的默认页 index.php 或者 default.php 就行了。

自己编辑一个 index.php

内容如下

<html>

<head>
<title>First program</title>
</head>
<body>
<?php
echo “hello worldn”;
?>

</body>
</html>

启动网站,在浏览器里输入 127.0.0.1 就可以看到 “Hello World” 啦!

喜感啊!wordpress.org.cn中文论坛被黑了耶~然后!超悲剧,玩dota被外挂踢了,无比纠结!

刚刚无意中登录一下,发现主页被黑。

就留下了一句话 fuck caonimajibamao….

啊啊,多么有素养的黑客,还中英双语呢,特别有喜感的说。

话说~前年我用一个骗子网站5944的虚拟空间的时候也被黑过啊。

哎是现在的空间好,用的是随机ftp密码。

by the way,今天玩dota被主机踢了,都是快赢的时候。郁闷啊,于是搜索了下踢人外挂的原理。
如下:
1.所有dota玩家都是连接到主机上的。
2.主机上运行的外挂程序对所有其他客户机与主机之间的通信端口进行监听
3.主机往将要被踢的人私聊频道发送 -kick 命令。外挂捕捉到这个字符串。然后对客户机的端口进行关闭或者进行阻塞。
4.之后就是客户机直接断开连接或掉线了。

要踢主机也是可以实现的,对主机进行ddos攻击,造成主机端口阻塞,然后主机掉线。
过个几天把这个程序做出来吧。

哇哇!给力啊,CES2011 SONY 3D头戴式显示器

这简直就像是科幻片里出现的头戴式显示器真的要成真了么!?

想想柯南的眼镜。。《百花缭乱》里的服部半藏,还有《电脑线圈》里的眼镜虚拟世界!这个世界太疯狂了,感觉一切科幻实物短短10年 全部实现了。比如全息投影,触摸屏,虚拟幻境,wii之类的动作捕捉….

sony 3D头戴式显示器

论 3D,全天下大概找不到一间公司比 Sony 这次更拼、更认真的(毕竟差不多全副身家都压在上面啦 XD)。除了 3D 电视、3D 摄影机等不一而足之外,还有一些「幻想」式的配备,像上图的这个头戴式 3D 显示器。除了两只眼睛都有 720p 的 OLED 影像之外,显示器还提供 5.1 声道环绕音效、和那条有点「创」感的蓝线。

这玩意儿基本上没价格、没上市预定时间、也没有一点实用意义(要靠手举着才不会掉下来),但嘿,谁不想试试未来 呢?