猜数字小游戏
今日用c做了一个小游戏,学会了用rand与srand产生随机数,再%100+1产生1-100的随机数。 srand后面要用时间戳来随机生成随机数种子。 time函数:引用百度上的概念 函数原型: time_t time(time_t timer) 参数说明: timer=NULL时得到当前日历时间(从1970-01-01 00:00:00到现在的秒数),这个数字在不断变化,因此可以产生不同的随机数种子,srand必须要写在主函数中,否则随机数种子变化不大,每一次游戏重新取一次值,随机数差别不大 附上代码: void menu() { printf("\n"); printf(“1:进入游戏 2:退出游戏\n”); printf("*\n"); } void game() { int an = 0; int gu = 0; printf(“猜数字(1-100)\n”); an = rand()%100+1; while (1)//死循环 { scanf("%d", &gu); if (gu < an) { printf(“猜小了\n”); continue; } else if (gu == an) { printf("\n恭喜你,猜对了\n"); break; } else { printf(“猜大了\n”); } } } int main() { int a = 0; srand((unsigned int)time(NULL));//srand函数的参数要求为int形式,time_t为long形式,要强行转换为int do { menu(); printf(“请选择:”); scanf("%d", &a); switch (a) { case 1: game(); Sleep(3000); system(“cls”); break; case 2: printf(“退出游戏\n”); break; default: printf(“输入错误”); system(“cls”); break; } } while (a != 2); return 0; } 结束
|