下面这段代码模拟了龟兔赛跑爬山的情况,其中有个时钟触发设置每秒执行一次循环,乌龟的规则是:50% 的机会快走(右移三格);20% 的机会下滑(左移六格);30% 的机会慢走(右移一格).
兔子的规则是:20% 的机会睡觉(不移动);20% 的机会大跳(右移九格);10% 的机会大滑(左移十二格);30% 的机会小跳(右移一格);20% 的机会小滑(左移两格).
其中最先走到整 70 格的胜利,超过 70 格的从头开始;程序在一条线上打印了龟兔移动的轨迹,当两者重合时打印 P;乌龟用 G 表示,兔子用 T 表示.
***************************************
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void guitu(void);
main()
{
srand(time(NULL));
guitu();
return 0;
}
void guitu()
{
int i,j,count=0,cou=0,number;
char printfun[71];
while(1) {
for(j=0;j<70;j++)
printfun[j]=' ';
printfun[71]='';
number=rand()%10+1;
printf("n");
if(1<=number && number<=5) {
count=count+3;
if(count>70) count=0;
printfun[count]='G';
}
if(6<=number && number<=7) {
count=count-6;
if(count<0) count=0;
printfun[count]='G';
}
if(8<=number && number<=10) {
count=count+1;
if(count>70) count=0;
printfun[count]='G';
}
if(1<=number && number<=2) {
cou=cou+0;
printfun[cou]='T';
}
if(3<=number && number<=4) {
cou=cou+9;
if(cou>70) cou=0;
printfun[cou]='T';
}
if(number==5) {
cou=cou-12;
if(cou<0) cou=0;
printfun[cou]='T';
}
if(6<=number && number<=8) {
cou=cou+1;
if(cou>70) cou=0;
printfun[cou]='T';
}
if(9<=number && number<=10) {
cou=cou-2;
if(cou<0) cou=0;
printfun[cou]='T';
}
if(count==cou)
printfun[count]='P';
printf("%s",printfun);
printf("nn");
if(count==70) {
printf("gui win!!!nn");
break;
}
if(cou==70) {
printf("tu win!!!nn");
break;
}
sleep(1);
}
}
兔子的规则是:20% 的机会睡觉(不移动);20% 的机会大跳(右移九格);10% 的机会大滑(左移十二格);30% 的机会小跳(右移一格);20% 的机会小滑(左移两格).
其中最先走到整 70 格的胜利,超过 70 格的从头开始;程序在一条线上打印了龟兔移动的轨迹,当两者重合时打印 P;乌龟用 G 表示,兔子用 T 表示.
***************************************
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void guitu(void);
main()
{
srand(time(NULL));
guitu();
return 0;
}
void guitu()
{
int i,j,count=0,cou=0,number;
char printfun[71];
while(1) {
for(j=0;j<70;j++)
printfun[j]=' ';
printfun[71]='';
number=rand()%10+1;
printf("n");
if(1<=number && number<=5) {
count=count+3;
if(count>70) count=0;
printfun[count]='G';
}
if(6<=number && number<=7) {
count=count-6;
if(count<0) count=0;
printfun[count]='G';
}
if(8<=number && number<=10) {
count=count+1;
if(count>70) count=0;
printfun[count]='G';
}
if(1<=number && number<=2) {
cou=cou+0;
printfun[cou]='T';
}
if(3<=number && number<=4) {
cou=cou+9;
if(cou>70) cou=0;
printfun[cou]='T';
}
if(number==5) {
cou=cou-12;
if(cou<0) cou=0;
printfun[cou]='T';
}
if(6<=number && number<=8) {
cou=cou+1;
if(cou>70) cou=0;
printfun[cou]='T';
}
if(9<=number && number<=10) {
cou=cou-2;
if(cou<0) cou=0;
printfun[cou]='T';
}
if(count==cou)
printfun[count]='P';
printf("%s",printfun);
printf("nn");
if(count==70) {
printf("gui win!!!nn");
break;
}
if(cou==70) {
printf("tu win!!!nn");
break;
}
sleep(1);
}
}