昨天晚上晕晕乎乎的写完了我的计划(貌似很像是伪码),写完了之后就更晕乎了。稍后的时候看了一下PureMilk的程序惊奇的发现脑袋已经不转了,无奈之下决定第二天早起研究研究。
早晨被一串电话铃声吵醒了,接了个电话连牙都没顾得上刷,就来研究PureMilk的代码。PureMilk的代码看上去就是不一样,第一眼看上去感觉就很舒服,比我用Word打出来的至少从结构上来看好看得多了去了。仔细研究了一下程序,发现PureMilk的代码很有条理,变量的命名让人一眼看上去就知道是什么意思,虽然这一点我也知道但是一些的时候就想不起来用很么命名,连注释写的都是那么的好。至于我的伪代码那简直就没有可比性了,竟然是用Word敲出来的。
这篇随笔本来应该是早上就上传的,但早上写了一点的时候就不想写了。昨天晚上想睡觉的时候在听雨上搜到了一个小游戏。天哪,我竟然着迷了,竟然玩到了凌晨一点。今天白天又迷了一天,浪费了一天的时间虽然浪费时间的时候我知道,但还是忍不住浪费了。(没有了)
posted @
2008-10-19 21:39 正牌的天地之灵和他的徒儿们肖赫_王婷婷_王冠_郑燚_孙婷 阅读(112) |
评论 (0) |
编辑 收藏
今天成都,排名98,估计去不了。01居然暴力过了,俺的天啊,O(n^2*lgn)的复杂度啊。09拍了两百多行的代码,一个头账了两个大,无限WA。强哥更甚,竟然拍了四百多行,无限WA+TLE。让我的ICPC在累和心不在焉中悄无声息地落幕吧。合肥干脆也不要去了,去现场赛又有什么意义呢,还不是被虐么。
今天我想发段与DrMario无关的代码,因为前两天一发一陀代码,都没什么人评论,反应好像不太好哈。今天发个短小的实现一个具体的小功能的,顺便向各位牛们请教一下问题出在哪儿?
#include <stdio.h>
#include <stdlib.h>
#include <gl/glut.h>
void setPixel( int x, int y )
{
glBegin( GL_POINTS );
glVertex2i( x, y );
glEnd();
}
void myDisplay(void)
{
static GLubyte Mask[72]; //我猜它8位一对齐?
FILE *fp;
fp = fopen("worm.bmp", "rb");
if( !fp ) //如果没读取成功
exit(0);
if( fseek(fp, -(int)sizeof(Mask), SEEK_END) )//这是什么?
exit(0);
if( !fread(Mask, sizeof(Mask), 1, fp) )
exit(0);
fclose(fp);
glClear(GL_COLOR_BUFFER_BIT);
glColor3f( 0.0f, 0.0f, 1.0f );
glEnable(GL_POLYGON_STIPPLE);
glPolygonStipple(Mask);
glRectf(160, 240, 184, 264 ); // 在左下方绘制一个有镂空效果的正方形
glDisable(GL_POLYGON_STIPPLE);
glRectf(320, 120, 480, 240); // 在右上方绘制一个无镂空效果的正方形
/* int x = 0, y = 0; //我本来想,读进来就可以这样搞了嘛,结果一团乱点,郁闷。
for ( int i = 0; i < 72; ++i )
{
for ( int j = 0; j < 8; ++j )
{
if ( (Mask[i]&(1<<j) ) == 0 )
{
setPixel( 50+x, 50+y );
}
++x;
if ( x == 23 )
{
x = 0;
++y;
}
}
}*/
glFlush();
}
int main( int argc, char *argv[])
{
glutInit( &argc, argv );
glutInitDisplayMode( GLUT_RGB | GLUT_SINGLE );
glutInitWindowPosition( 100, 100 );
glutInitWindowSize( 640, 480 );
glutCreateWindow( "Polygon by PureMilk" );
glutDisplayFunc( myDisplay );
gluOrtho2D( 0, 640, 480, 0 );
glutMainLoop();
return 0;
}
把它当作镂空图drawPolygon也不错,不过下面错位很严重,不知是什么原因?
囧,太小貌似看不清,就是嘴下面那块儿大部分像素点是错的。
恩,看来glColor3f(0.0f,0.0f,1.0f);这个值还需要调亮一下,太暗对比度不够。
我要好好休息一下,最近几天身体透支。下周估计也闲不下来,无意义的瞎忙啊。我要好好取舍一下,我要自私一点,我要一次只做一件事,做我想做的事。
posted @
2008-10-19 20:46 正牌的天地之灵和他的徒儿们肖赫_王婷婷_王冠_郑燚_孙婷 阅读(161) |
评论 (2) |
编辑 收藏
今天真是好日子呢~~呵呵~~感觉一下子发现了好多东西~原来flash是可以做一帧的游戏~原来flash也有类~也有继承~一直太小瞧它了呢~不
过真郁闷那个书..确切讲是网页额。。只写了一点点。。as的文件里面的包要怎么放到fla里用哦~好想知道好想知道~
还是做不到像猫那样子。。睡眠好少哦。。妈妈说缺觉会变笨的~~哇咔咔~~给自己的不努力找个接口吧~程序员好辛苦哦。。不过好厉害呢~
无限崇拜ing
我的OpenGL我的ActionScript我的。。唉。。好贪心哦。。希望不要遭天谴呢。。明天还是不要逃课了。。坚决不睡~唉。。那个漆黑的教
室啊。。
好像我真的很怕黑呢。。黑的教室宁可睡觉也不要睁开眼睛。。黑的屋子肯定呆不久。。是否注定我不会熬夜?至少在这个断电的寝室不会
呢。。有点想念我那个灯火通明的小屋~~还是晚上画画有感觉~~要了解更多的东西~~不管是画图还是程序~~还有各个方面的素材~~总觉得这
样会离梦想近一点~会比较安心~或者这是我不专心的借口?不知道呢~还是很佩服那种可以一样东西专研好深的人~觉得很有毅力~
ps:猫。。竟然是男生。。我还是不能接受。。那么可爱。。唉。。
哈哈~~总觉得以后的日子会很充实而且快乐~~在我的学生时代只剩下那么一点点的时候~~会有些些成绩的吧~~至少我觉得不会教白卷了呢~~
不知道为什么会有这种有点奇怪的感觉呢~~
最后。。虽然很奇怪哦~~还是要说~~么么大家~~我爱你们~~幸福ing~~哈哈~~
posted @
2008-10-19 15:19 正牌的天地之灵和他的徒儿们肖赫_王婷婷_王冠_郑燚_孙婷 阅读(157) |
评论 (0) |
编辑 收藏
号外号外,俺玛丽医生一下子打到19关啦~
号内号内,俺玛丽医生的伪码还有一筹没有展~~一来今天周末,二来今天周六,三来明天周天。不过,PureMilk说了不要给自己找借口,所以俺还是交代了吧,俺是没弄明白封装得那么严实的Pipeline <-- 某篇牛文里这样说OpenGL的,翻译过来就是管道。越来越邪乎,这个OpenGL到底是啥玩艺啊,它怎么玩儿的啊~!神奇的科学以及更加神奇的科学家。
还有还有~我发现看PureMilk他们的程序看久了思路就被限制了,越来越接近。不过对于我来说,能成功地调试成功一个就已经是举身同庆的大事件了。但是还是想走自己的思路,但是关键是卡住了。分析如下。
我不知道glutMainLoop是循环哪里的还有是怎么循环的,原版的解释说他还注册什么的,更晕了。我已经清楚了要用状态机的思想去实现了,但是不了解它是怎么实现画图的,尤其是怎么实现把前面的东西也一并画上。还有就是glutSwapBuffer,这个交换缓存?大意理解就是有好几张纸,前台显示的时候后台在画,然后用这个函数把后台的放上去,前台的拿下来继续画。但是,难道它是自动画的?不需要我写循环来控制?这些不好理解之后我的画图就不知道该怎么设计,是要自己写循环?那样的话就会给那些胶囊开数组,存进去,这样又看到之前的影子了,猫说什么意修改设计。这是不对的。
好多困难啊,不过也正常,要是没困难了那我岂不是成仙了,虽然我很想,但是得修炼。
嗯嗯。我决定夜深人静的时候自己吭哧吭哧地啃这骨头了。另:锅准备好了,哦,因为还没刷,所以说准备好了。半夜吃面~~吼吼吼吼`先睡一觉,然后醒来啃?还是不了吧。这一觉睡下去...
posted @
2008-10-18 21:16 正牌的天地之灵和他的徒儿们肖赫_王婷婷_王冠_郑燚_孙婷 阅读(318) |
评论 (2) |
编辑 收藏
摘要: 以前从没写过游戏,甚至连大程序都没尝试写过,这一次可谓要突破一下了。昨天晚上一夜都没睡好,一直都在想着这个游戏。参考了一下俄罗斯方块,罗列了一些函数,由于能力有限函数的具体功能都没实现,但是我会尽快补全这些功能的,请大家监督。第一次分析的难免会有很多漏洞与不全,请大家多多指教。
首先是导入各函数库#include <.h>各个全局变量Static const&nb...
阅读全文
posted @
2008-10-18 20:19 正牌的天地之灵和他的徒儿们肖赫_王婷婷_王冠_郑燚_孙婷 阅读(169) |
评论 (3) |
编辑 收藏
今天乖乖的看程序哦~开始p图ing~只要做成bmp的就可以了吧。。
看到别人写的文章说方块的移动要用到中断。。觉得好神奇额。。。中断的势力程序贴在下面
好像读取键盘用的是键盘码
for (;;)
{
key=bioskey(0); /* wait for a keystroke */
printf("0x%x\n",key);
if (key==0x11b) break; /* Escape */
}
常用按键的按键码如下:
#define VK_LEFT 0x4b00
#define VK_RIGHT 0x4d00
#define VK_DOWN 0x5000
#define VK_UP 0x4800
#define VK_HOME 0x4700
#define VK_END 0x4f00
#define VK_SPACE 0x3920
#define VK_ESC 0x011b
#define VK_ENTER 0x1c0d
或者可以像有些游戏里面用W。A。S。D。键吧
*************************我是无良的分割线***************************
/* 这个程序每隔1秒钟输出一个整数,10秒钟后结束程序。
按escape键提前退出程序 。*/
#include <stdio.h>
#include <dos.h>
#include <conio.h>
/* Escape key */
#define VK_ESC 0x11b
#define TIMER 0x1c /* 时钟中断的中断号 */
/* 中断处理函数在C和C++中的表示略有不同。
如果定义了_cplusplus则表示在C++环境下,否则是在C环境下。 */
#ifdef __cplusplus
#define __CPPARGS ...
#else
#define __CPPARGS
#endif
int TimerCounter=0; /* 计时变量,每秒钟增加18。 */
/* 指向原来时钟中断处理过程入口的中断处理函数指针(句柄) */
void interrupt ( *oldhandler)(__CPPARGS);
/* 新的时钟中断处理函数 */
void interrupt newhandler(__CPPARGS)
{
/* increase the global counter */
TimerCounter++;
/* call the old routine */
oldhandler();
}
/* 设置新的时钟中断处理过程 */
void SetTimer(void interrupt (*IntProc)(__CPPARGS))
{
oldhandler=getvect(TIMER);
disable(); /* 设置新的时钟中断处理过程时,禁止所有中断 */
setvect(TIMER,IntProc);
enable(); /* 开启中断 */
}
/* 恢复原有的时钟中断处理过程 */
void KillTimer()
{
disable();
setvect(TIMER,oldhandler);
enable();
}
void main(void)
{
int key,time=0;
SetTimer(newhandler); /* 修改时钟中断 */
for (;;)
{
if (bioskey(1))
{
key=bioskey(0);
if (key==VK_ESC) /* 按escape键提前退出程序 */
{
printf("User cancel!\n");
break;
}
}
if (TimerCounter>18) /* 1秒钟处理一次 */
{
/* 恢复计时变量 */
TimerCounter=0;
time++;
printf("%d\n",time);
if (time==10) /* 10秒钟后结束程序 */
{
printf("Program terminated normally!\n");
break;
}
}
}
KillTimer(); /* 恢复时钟中断 */
}
*********************************************************
中规中矩的马里奥图片初稿
搞笑下~~wow血精灵牧师版本~~绝对的医生~~被我命名为豆豆~~哇卡卡卡
ps:继续画哈~~跟本文无关了哦~~我家可爱的兔兔
补充:明天开始填色定稿~~这个给婷婷先用哦~~申请休息下~~哇卡卡阿卡~~我自己批准了~~~
posted @
2008-10-18 19:47 正牌的天地之灵和他的徒儿们肖赫_王婷婷_王冠_郑燚_孙婷 阅读(360) |
评论 (8) |
编辑 收藏
摘要: 代码进化到324行。今天不标记行号了,方便大家copy paste,希望能稍微地给大家点帮助。瓶口的二值图已经画好了,今天晚上画虫子的二值图,稍后再画医生的彩图,或者,嘿嘿,能不能麻烦糖糖画了咱们一起用,我就偷懒一下。然后今晚的任务就是学怎样读取二值图和彩图,明天把move函数完成并debug,简易的玛丽医生就差不多可以完成了,之后慢慢添加功能,做的完善点儿。我恨杭电,更恨我的菜。我想彻底放弃IC...
阅读全文
posted @
2008-10-18 18:12 正牌的天地之灵和他的徒儿们肖赫_王婷婷_王冠_郑燚_孙婷 阅读(143) |
评论 (0) |
编辑 收藏
貌似我经常过了12点了才燃烧着宽带卡写笔记,很败家的说。人说日有所思夜有所梦,昨晚睡着前一直在琢磨玛丽医生的思路,结果还真让我梦到了,怎么掉落、怎么消除,分析的头头是道。早晨醒来激动的回想,却一片茫然。。。恨啊~~~~
今天下午下了一个玛丽医生,认真的玩了几次,也明确了一下游戏规则(惭愧的说,我从来都没有玩到能消病毒的那一层,因而一直都不知道病毒究竟是怎么消的),观察了初始的地图,药片的掉落、旋转,和消除了4格后,地图的变化等等细节,总算对要实现什么有了明确的目的,明天开始会动笔写伪代码。
我的进度已经落后了大家,不过我会抓紧,尽量在周末写出一个完整的思路。
posted @
2008-10-18 01:08 正牌的天地之灵和他的徒儿们肖赫_王婷婷_王冠_郑燚_孙婷 阅读(171) |
评论 (5) |
编辑 收藏
首先开一个窗口额。。大小(0.0)~(300.400)随意吧。。然后我在这个窗口的下半部分生成小虫虫~假设开始时候是5只哈~~开一个数组之类的记录进去(用药丸消去的时候会减少。虫虫全部消去之后升级~刷新界面~重新生成虫虫)药丸为一个类包括X,Y还有color等~~虫为继承药丸的子类添加一个变量flag。。只要有这个的就闪烁~~作为提醒吧~~药丸分左右两个格子~颜色不同,我的旋转是固定左下角坐标来的分四种情况。。笨笨的方法额。。算各点坐标画出来的。。然后分情况填充颜色那种的。。旋转命令产生后不马上执行。。调用判断函数。。检测边界(包括已经存在的方格和虫虫的位置还有左右下框框的边界)若旋转后于旋转前都未于边界接触则旋转,若已经与边界(特指下方的边界。则此药丸位置固定)然后继续检测与其相邻的横向和竖向的4个颜色是否想同~~相同则相消(旁边的也因此而要改变位置额。。复杂的想不出来了TAT)不相同则继续扔下一个药丸。。。这是大概的思路额。。本来想把上课画的好多示意图贴上来的。。不过背面被我涂鸦了。。哇卡卡卡~~5555555555过了12点了呢。。。表拍我啊。。。
posted @
2008-10-18 00:10 正牌的天地之灵和他的徒儿们肖赫_王婷婷_王冠_郑燚_孙婷 阅读(92) |
评论 (0) |
编辑 收藏
摘要: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1 #include <GL/glut.h> 2 #include <ctime> ...
阅读全文
posted @
2008-10-17 23:52 正牌的天地之灵和他的徒儿们肖赫_王婷婷_王冠_郑燚_孙婷 阅读(183) |
评论 (0) |
编辑 收藏