首先说一下下~:这个无聊东东是昨天无聊的时候看到的一个无聊的C的题目~~然后用只剩下记事本的WQX写出LAV的代码(改了一点点原题目~),贴出来给比我还菜的人看看,各位老大哥们就不要抨击偶了……还请各位老大哥们对程序中不规范的地方给说说……(第一次贴源码~~感觉有点怪,还是这么简单+超级无聊的~~~)
说明:下面这段代码模拟了龟兔赛跑爬山的情况,其中有个时钟触发设置每0.1秒执行一次循环,乌龟的规则是:50% 的机会快走(右移三格);20% 的机会下滑(左移六格);30% 的机会慢走(右移一格).
兔子的规则是:20% 的机会睡觉(不移动);20% 的机会大跳(右移九格);10% 的机会大滑(左移十二格);30% 的机会小跳(右移一格);20% 的机会小滑(左移两格).
其中最先走到155 格的胜利
- //^@^
- char tu_pic[]={0xF,0x3,0x81,0x9,0x6,0x61,0x5,0x4,0x21,0x4,0x89,0xC1,0x4,0x89,0x1,0x6,0xFA,0x1,0x6,0xFA,
- 0x1,0x8,0x6,0x1,0xC,0x1,0x81,0x8,0x0,0xC1,0x9,0x8C,0x41,0x19,0x8C,0x41,0x19,0x8C,0x71,0x60,
- 0x7C,0x31,0x1C,0x8C,0x71,0x1C,0x78,0xC1,0x1C,0x38,0xC1,0xE0,0x0,0xFD,0x80,0x0,0xF,0xE0,0x0,0x7,
- 0x1C,0x0,0x31,0x4,0x0,0x71,0x64,0x10,0xF,0x7C,0x3C,0x3,0x4,0x47,0xD,0x4,0x41,0xD,0x3,0x80,
- 0xF1};
- char gui_pic[]={0x0,0xF,0x83,0x0,0x1C,0x83,0x0,0x38,0xE3,0x0,0x31,0x73,0x0,0x31,0x13,0x0,0x38,0xB,0x0,0x10,
- 0xB,0x0,0x14,0x5B,0x1F,0x92,0x7B,0x3F,0xF3,0xF3,0x7F,0xFB,0xF3,0x98,0x6C,0x1F,0x80,0x23,0x87,0x80,
- 0x60,0x77,0xA0,0x20,0x5B,0x80,0xC0,0xE3,0xC8,0x40,0xE3,0xA4,0xE0,0x83,0x43,0xC0,0x83,0x43,0xC0,0x83,
- 0x33,0x70,0x83,0x3E,0x39,0x83,0x1A,0x1F,0x3,0x3,0x7,0x83,0x3,0x81,0xE3,0x4,0xF0,0x13,0x5,0x8,
- 0x63,0x19,0x7,0xC3,0x1F,0x7,0x83};
- int gui_x;
- int tu_x;
- void gui(int random)
- {
- if(random<=5) gui_x=gui_x+3;
- if(random==6||random==7) gui_x=gui_x-6;
- if(random>=8) gui_x++;
- if(gui_x<1) gui_x=1;
- WriteBlock(gui_x,5,22,29,1,gui_pic);
- }
- void tu(int random)
- {
- if(random==3||random==4) tu_x=tu_x+9;
- if(random>=5&&random<=7) tu_x++;
- if(random==8||random==9) tu_x=tu_x-2;
- if(random==10) tu_x=tu_x-12;
- if(tu_x<1) tu_x=1;
- WriteBlock(tu_x,45,23,27,1,tu_pic);
- }
- void main()
- {
- Refresh();
- for(;;){
- ClearScreen();
- gui(1+rand()%10);
- tu(1+rand()%10);
- Refresh();
- Delay(100);
- if(gui_x>tu_x&&gui_x>150) {TextOut(50,30,"乌龟赢了!",1);Refresh();break;}
- if(tu_x>gui_x&&tu_x>150) {TextOut(50,30,"兔子赢了!",1);Refresh();break;}
- }
- getchar();
- }
复制代码
[此贴子已经被作者于2006-7-4 17:41:06编辑过] |