易码技术论坛

 找回密码
 加入易码
搜索
查看: 275960|回复: 5

[源码] [分享]龟兔赛跑的LAVA小演示~

[复制链接]
发表于 2006-7-4 17:45:00 | 显示全部楼层
以下是引用wanglejia在2006-7-4 15:52:00的发言:[BR]要是加入图片就好了


加入了图片~~不过可能由于偶美工烂~~画的难看的说……
[em04]
发表于 2006-7-4 08:29:00 | 显示全部楼层
好玩!呵呵!
发表于 2006-7-4 15:52:00 | 显示全部楼层
要是加入图片就好了
发表于 2006-7-4 20:58:00 | 显示全部楼层
没关系,用文字代替方框就好了
发表于 2006-7-21 22:41:00 | 显示全部楼层
呵呵,可以作为FLASH影片来看哦.


[em01][em01][em01]
 楼主| 发表于 2006-7-4 07:07:51 | 显示全部楼层 |阅读模式
首先说一下下~:这个无聊东东是昨天无聊的时候看到的一个无聊的C的题目~~然后用只剩下记事本的WQX写出LAV的代码(改了一点点原题目~),贴出来给比我还菜的人看看,各位老大哥们就不要抨击偶了……还请各位老大哥们对程序中不规范的地方给说说……(第一次贴源码~~感觉有点怪,还是这么简单+超级无聊的~~~)

说明:下面这段代码模拟了龟兔赛跑爬山的情况,其中有个时钟触发设置每0.1秒执行一次循环,乌龟的规则是:50% 的机会快走(右移三格);20% 的机会下滑(左移六格);30% 的机会慢走(右移一格).

兔子的规则是:20% 的机会睡觉(不移动);20% 的机会大跳(右移九格);10% 的机会大滑(左移十二格);30% 的机会小跳(右移一格);20% 的机会小滑(左移两格).

其中最先走到155 格的胜利



  1. //^@^
  2. char tu_pic[]={0xF,0x3,0x81,0x9,0x6,0x61,0x5,0x4,0x21,0x4,0x89,0xC1,0x4,0x89,0x1,0x6,0xFA,0x1,0x6,0xFA,
  3. 0x1,0x8,0x6,0x1,0xC,0x1,0x81,0x8,0x0,0xC1,0x9,0x8C,0x41,0x19,0x8C,0x41,0x19,0x8C,0x71,0x60,
  4. 0x7C,0x31,0x1C,0x8C,0x71,0x1C,0x78,0xC1,0x1C,0x38,0xC1,0xE0,0x0,0xFD,0x80,0x0,0xF,0xE0,0x0,0x7,
  5. 0x1C,0x0,0x31,0x4,0x0,0x71,0x64,0x10,0xF,0x7C,0x3C,0x3,0x4,0x47,0xD,0x4,0x41,0xD,0x3,0x80,
  6. 0xF1};
  7. char gui_pic[]={0x0,0xF,0x83,0x0,0x1C,0x83,0x0,0x38,0xE3,0x0,0x31,0x73,0x0,0x31,0x13,0x0,0x38,0xB,0x0,0x10,
  8. 0xB,0x0,0x14,0x5B,0x1F,0x92,0x7B,0x3F,0xF3,0xF3,0x7F,0xFB,0xF3,0x98,0x6C,0x1F,0x80,0x23,0x87,0x80,
  9. 0x60,0x77,0xA0,0x20,0x5B,0x80,0xC0,0xE3,0xC8,0x40,0xE3,0xA4,0xE0,0x83,0x43,0xC0,0x83,0x43,0xC0,0x83,
  10. 0x33,0x70,0x83,0x3E,0x39,0x83,0x1A,0x1F,0x3,0x3,0x7,0x83,0x3,0x81,0xE3,0x4,0xF0,0x13,0x5,0x8,
  11. 0x63,0x19,0x7,0xC3,0x1F,0x7,0x83};
  12. int gui_x;
  13. int tu_x;
  14. void gui(int random)
  15. {
  16. if(random<=5) gui_x=gui_x+3;
  17. if(random==6||random==7) gui_x=gui_x-6;
  18. if(random>=8) gui_x++;
  19. if(gui_x<1) gui_x=1;
  20. WriteBlock(gui_x,5,22,29,1,gui_pic);
  21. }
  22. void tu(int random)
  23. {
  24. if(random==3||random==4) tu_x=tu_x+9;
  25. if(random>=5&&random<=7) tu_x++;
  26. if(random==8||random==9) tu_x=tu_x-2;
  27. if(random==10) tu_x=tu_x-12;
  28. if(tu_x<1) tu_x=1;
  29. WriteBlock(tu_x,45,23,27,1,tu_pic);
  30. }
  31. void main()
  32. {
  33. Refresh();
  34. for(;;){
  35. ClearScreen();
  36. gui(1+rand()%10);
  37. tu(1+rand()%10);
  38. Refresh();
  39. Delay(100);
  40. if(gui_x>tu_x&&gui_x>150) {TextOut(50,30,"乌龟赢了!",1);Refresh();break;}
  41. if(tu_x>gui_x&&tu_x>150) {TextOut(50,30,"兔子赢了!",1);Refresh();break;}
  42. }
  43. getchar();
  44. }
复制代码




[此贴子已经被作者于2006-7-4 17:41:06编辑过]
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2025-8-24 06:22 , Processed in 0.009860 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表