C语言简单射击游戏问题- - 为什么随机不起作用
#include<stdio.h>#include<stdlib.h>
#include<time.h>
main()
{
int i,j,t,time;
long int k;
int n=1+rand()%200;
printf("*****************Welcome*****************");
printf("\nGame Begin:\n");
for(i=0;i<n;i++)
printf(" ");
printf("%c\n",'\1');
for(time=0;time<5;time++)
{
scanf("%d",&t);
for(j=25;j>0;j--)
{
system("cls");
for(i=0;i<80;i++)
{
if(i==n) printf("%c",'\1');
else printf(" ");
}
for(i=1;i<j;i++)
printf("\n");
for(k=0;k<80;k++)
{
if(k==t) printf("*");
else printf(" ");
}
for(k=0;k<100000;k++);
}
if(t==n)
{
printf("O(∩_∩)O !!!!Your Winner!!!!! O(∩_∩)O\n");
break;
}
if(time==4)
printf("╮(╯▽╰)╭You Lose╮(╯▽╰)╭\n");
}
}
程序原题:在程序运行时屏幕上方第一行随机出现一个 符号,要求游戏者输入一个1-200之间的整数,当用户输入一个整数后,一个*立即从屏幕底端的该整数列向上移动,若移动到屏幕的顶端能撞上 符号,则游戏者获胜;若没有撞上,则要求再输入一个整数,共允许输入5次,如果一直没有撞上,则认为游戏者输。
提示:
1)输入 符号可以采用printf("%c",'\1')
2)显示*号向上移动:输出一些空行;输出*号;以循环的方式增加延时(for(i=0;i<100000;i++););clrscr()清屏重新绘制*号。
我上面那个程序虽然可以玩 但是不知道为什么第一个笑脸出现的位置总是42 求问达人如何是好............