1.重写优化了初始化函数;

2.重写优化了每秒获取数据函数;

3.将所有组件全部动态创建,减少内存占用,减少程序体积;

输入名字后,与服务器端聊天记录同步一次,有记录就复制到列表,之后不再同步。最新的留言ID号为50.在每秒刷新函数上添加临时字符串来判断之前的50号留言和当前的50号留言是否一样,如果相同,不作为。如果不同,就表示有新记录。每秒刷新函数就读取这一条记录然后添加进显示列表里。相比之前每秒获取50条记录来说,现在只要获取一条记录就够了,提升了程序的执行效率。而且复制功能应该也能起作用了!

(下一版本预计更新使用asp动态创建XML文件来保存数据,这样数据就不会在服务器清楚缓存之后丢失)

网页版直接观看: http://www.dreamfairy.cn/blog/work/flash/nagato.html

点击屏幕即全屏

啊啊~之前想着反正都做了个挺好玩的东西了的态度,就发到 长门有希贴吧了

然后发现~~ 很多同学无法运行 C#编译版。。。看来大家很多都还在用Win XP啊。

有些能运行的,又因为不能真正全屏而纠结。。

嘛嘛~于是用FLASH重制了一遍,可以全屏了,但是取消了关机功能啦。

还有那个万恶的 长门有希 贴吧啊,居然限制每帖只能有20个回复了。。真恶心。。

附上FLASH+C#打包下载地址

点我下载

1.昨晚和朋友测试联机游戏的时候,发现本站的空间不支持每秒刷新100次,否则会封IP,看来要改进联机游戏算法了。不过嘛~这也有好处,能一定程度的防止DDOS攻击。当然~如果用人海战术的话,还是没辙

2.我的wordpress似乎有个问题,无法直接在后台安装插件否则会出现500错误,昨天一度想重装,后来直接用ftp上传插件再安装就没问题了。想想少点折腾吧,以后不后台直接安装插件了。

3.wordpress中文论坛上很多新博客,都是毫无营养的各种转载的别人文章的博客,他们的博客都是靠论坛上博主互访来提高访问量的。昨天看着自己冷清的blog,也参与了一次,但是这样好累,没法静下心写自己文章和新程序算法了。嘛嘛~还是自己做好博客,让博客自身的质量来吸引访客吧。

4.最后~发现以前《插错洞》的作者又出新歌了,叫《硬了硬了硬了硬了硬了硬了》果然又一神曲啊。发上来欣赏欣赏~啦啦啦~

昨天一个朋友要我做一个 输入名字后 随机配对一句话的小游戏

其实就是对数据的随机访问

实现起来挺简单的

下面是程序示例:数组内部有6个配对语句 “白痴”,”天才”,”悲剧”,”喜剧”,”茶几”,”笨蛋”

FLASH 中 Math.Random()是一个0-1之间的随机小数,申明一个整数变量来保存随机数,就能获得 0-1 之间的整数了;

然后通过 trace(数组[随机数]);的方式就能随机访问数组中的数据了。

今天~啊不,准确的说昨天…. 还是说刚刚吧。自己写的小程序被人下载了,然后被人叫神… 嘛嘛~好幸福的说。

不过也突然感慨一下~ 自己平时都一直活在小众里,为了自己的爱好不断专研技术,做些貌似很高端的东西…然后在同行人眼中很厉害的样子。

但今天突然觉得,假使自己真的写出了很厉害的程序,真的变成很厉害的人了,那也仅此而已。

真正要做的,就是做出一个能被大家接受,大家喜欢的程序啊,就算没有很高的技术含量,只要能给大家流畅的使用体验并且能让大家开心起来就够了。

Yuki的紧急逃脱程序

先吐槽下,为什么阿虚在时间扭曲的世界中,文艺部的计算机装的windows 95系统啊,还有这还原度也太高的说。
吐槽结束,下面进入重点。
YUKI的紧急逃脱程序,就是一个DOS界面,然后出现类似打字的效果,最后判断 按键输入 来执行 紧急逃脱程序的。

打字效果嘛~ 两年前,曾经用VB写了一个打字效果的安慰信给一个小女生,把小姑娘感动的泪流满面的说。唉唉~
现在不用VB了,而且VB似乎没有控制台模式的样子。

看完大萌神的紧急逃脱程序后,也想模仿这做一遍。正好手头上的C#能提供大部分的功能。 不过实现的方法,还是挺繁琐的啦

今天更新了一下,采用了for循环来输出一行字符串,比以前的不断输出,不断清屏有很大的效率提升,不过用for循环后,字符输入光标这些细节就无法表现出来了,这是还原的一大遗憾呢。看来要完美还原,果然还是要用土办法啊,不断输出,不断清屏。

下载地址 :

点我下载

啊啊~由于没有安装日文输入法,也搜索不到紧急程序的日文原文,就直接使用了SOSG字幕组的中文翻译了。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;

namespace ConsoleApplication3
{
class Program
{
static void output(string s,int ta=100,int tb=3000)
{
for(int i=0;i output(str);
str = "这个讯息会出现、n 就表示你、我、凉宫春日、朝比奈实玖留、n 古泉一树应该都在场。";
output(str);
str = "这是紧急逃脱程序。n 要启动的话就直接按Enter键、n 不启动就按其他键后再按Enter。n 启动之后、n 你会得到修正时空的机会。n 但不保证一定成功。n 也不保证你能顺利归来。";
output(str);
str = "这个程序只能启动一次。n 执行一次后就会被删除。n 若选择不执行、则会被直接删除。n Ready?";
output(str);
int key = Console.Read();
if (key == 'r')
{
int time = 0;
shutdown(time);
}
else
{
str = "正在自我卸载......";
output(str);
str = "卸载完毕!";
output(str);
return;
}
}
}
}

旧版的超级无效率的代码版本:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Diagnostics;
using System.Runtime.InteropServices;

namespace ConsoleApplication2
{
class Program
{
[DllImport("kernel32.dll", ExactSpelling = true)]

private static extern IntPtr GetConsoleWindow();
private static IntPtr ThisConsole = GetConsoleWindow();

[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]

private static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
private const int HIDE = 0;
private const int MAXIMIZE = 3;
private const int MINIMIZE = 6;
private const int RESTORE = 9;
static void shutdown()
{
System.Diagnostics.Process.Start("shutdown.exe", "-s -t 0");
}
static void Main(string[] args)
{
Console.SetWindowSize(Console.LargestWindowWidth, Console.LargestWindowHeight);
ShowWindow(ThisConsole, MAXIMIZE);
Console.Beep();
Console.WriteLine(":");
Thread.Sleep(500);
Console.Clear();
Console.WriteLine(":_");
Thread.Sleep(500);
Console.Clear();
Console.WriteLine(":");
Thread.Sleep(500);
Console.Clear();
Console.WriteLine(":_");
Thread.Sleep(500);
Console.Clear();
Console.WriteLine(":");
Thread.Sleep(500);
Console.Clear();
Console.WriteLine(":_");
Thread.Sleep(500);
Console.Clear();
Console.WriteLine(":D_");
Thread.Sleep(100);
Console.Clear();
Console.WriteLine(":Do_");
Thread.Sleep(100);
Console.Clear();
Console.WriteLine(":Do _");
/* 剩下一堆打字代码忽略...毫无营养的说 */
M: Console.WriteLine("Ready?");
Console.Beep();
string str = Console.ReadLine();
if (str == "y" || str == "Y") //判断输入的是否是 Y或是 y, 动画中是要判断是否输入的是 Enter键
{ //可以通过string str=Console.ReadKey()来读取Enter的Ascii码做判断
Console.WriteLine("Good Bye!");
shutdown(); //直接执行关机,哈哈~ 挺恶趣味的,紧急逃脱嘛~关机就好啦。
}
else if (str == "n" || str == "N")
{
return; //退出程序,不解释
}
else
{
Console.WriteLine("Bad Command!");
goto M; //返回循环
}
}
}
}

嘛嘛~难得的平安夜呐,居然跟咱宿舍一爷们去橘园洲大桥散步…冒着雨走了3公里的说…脚都走疼了。

然后~然后~,还两个爷们去新华都的麦当劳吃二人情侣套餐…这给力的感觉是怎么回事啊!!!

回家之后,看到在硬盘里躺了好几天的 《初恋这件小事 》一直听周围人说很赞,就打开来看看,确实很不错的说,很久没看这种纯爱片子啦。嗯嗯,明年有时间的话,就好好爱一场吧。

刚刚看完片子,这真空期该干嘛呢?想起自己笔记本联想V450的音乐播放按键,默认是打开windows 自带的媒体播放器,widows media player.觉得很不人性化,我更喜欢用自己的Foobar2000的说。 上网搜索下解决方法,都是说把自己喜欢的播放器安装到 window meida player播放器的目录下,然后改名字。 觉得这样好麻烦啊,系统盘还会很乱,很臃肿。索性!就自己写个调用程序好了。

程序用的是C#写的啦。

附上代码~~

private void Form1_Load(object sender, EventArgs e)
{
System.Diagnostics.ProcessStartInfo sp = new System.Diagnostics.ProcessStartInfo();
sp.FileName = "Foobar2000.exe";
sp.WorkingDirectory = @"D:Program Files (x86)Foobar2000Foobar2000";
System.Diagnostics.Process Proc;
try
{
Proc = System.Diagnostics.Process.Start(sp);
this.Close();
}
catch (System.ComponentModel.Win32Exception ex)
{
MessageBox.Show("打开出错!" + ex);
}
}

然后把自己做的程序,复制到windows media player 替换原文件(原版要备份!)。这样以后按笔记本 播放 按键 ,就会通过我这个小程序,自动调用自己喜欢的播放器啦啦啦啦。

今天在学校食堂看到到处都是汤圆的广告的时候就觉得很好奇,但是也没仔细琢磨。

回到家里,爸爸打电话来问我冬至怎么过的。我才发觉,原来今天是节日啊。

突然觉得很落寞呢,想起以前在一起的好友们,有的出国了,有的工作了,也不知道以后还能不能再见面呢。好伤感啊。

无意中输入了 51.net ,虎翼网。那个10年前,我建立的第一个网站,也是我的第一个论坛的空间提供商,居然还存在着,

看来经营的很好呢。不知不觉间,自己就二十几岁呢,再也回不到从前呐。

其实,自己一直在追求的完美,不过是逃避罢了。心里真正想要的并不是这些。

想起了,以前那些一起玩炫舞的好友们,几年前在之前的博客里的留言, 又突然好想他们。 仔细找找,那些留言的数据库还都在呢。找个好日子把数据都恢复了吧。

大家~如果以后再也见不到了,我也会永远的记住你们的,无论是你们的面孔,你们的声音,还是你们的文字。