c语言课程设计 综合型小游戏
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include
#include
#include
int money1=10000,money2=10000,money=10000;
int main()
{
void game1(int put);
void game2(int put);
int put,game,i;
printf("单人模式请输入1,双人模式请输入2.\n");
scanf("%d",&put);
if(put==1)
printf("你的本钱有一万元,你的任务是翻一倍,达到两万元则游戏胜利\n");
if(put==2)
printf("最后金钱多者为胜者\n");
system("pause");
system("cls");
for(i=0;i<=1000;i++)
{
printf("请选择游戏:1.思维风暴2.猜数字3.退出\n");
scanf("%d",&game);
if(game==1)
{
game1(put);
}
if(game==2)
{
game2(put);
}
if(game==3)
{
break;
}
}
if(put==1)
{
if(money>=20000)
printf("恭喜你通关了\n");
if(money>=10000&&money<20000)
printf("很遗憾未能通关,不过至少没亏本了\n");
}
if(put==2)
{
if(money1>money2)
printf("恭喜玩家一,你实在太强势了\n");
if(money1 printf("恭喜玩家二,简直是虐菜啊\n"); if(money1==money2) printf("二位简直势均力敌啊,真是好基友\n"); } system("pause"); } void game1(int put) { int JudgeA(int a[4],int b[4]),JudgeB(int a[4],int b[4]); int a[4],b[4]; int c,i,j,m,n,k,l,under,under1,under2; printf("游戏规则:系统将随机产生一个四位不重复数字,你输入猜想的数字后\n"); printf("系统将判断你猜对的数字个数和正确位置数,系统将以-A-B的形式提示,其中A 前面的数字表示位置正确的数的个数"); printf("而B前的数字表示数字正确而位置不对的数的个数,如正确答案为5234,而猜的人猜5346,则是1A2B.\n **记住你只有八次机会**\n"); system("pause"); system("cls"); if(put==1) { for(l=0;l<100;l++) { printf("请压底,最高为五千\n"); for(m=0;m<=20;m++) { scanf("%d",&under); if(under>5000||under<=0) { printf("超过上限,请重新输入\n"); continue; } else break; } printf("请输入四位数\n"); srand(time(NULL)); do { a[0]=rand()%10;//产生首位随机数,对10取模得0~9的数字 } while(a[0]==0);//若首位为零则重新选择 for(i = 1;i < 4; i++) { do { a[i]=rand()%10;//产生其它几位随机数 for(j = 0; j < i; j++) { if(a[i]==a[j])//若与前几位相同则跳出,重置a[i] { k=0; break; } else k=1;//若不同,则该位有效,置标记k为1 } }while(k!=1); } k=a[0]; for(i=1;i<4;i++) { k=k*10+a[i]; } for(n=0;n<=8;n++) { if(n==8) { printf("you are lost,the number is %d\n",k); money=money-under*2; break; } scanf("%d",&b[0]); b[3]=b[0]%10; b[2]=(b[0]%100-b[3])/10; b[1]=b[0]%1000/100; b[0]=b[0]/1000; printf("%dA%dB\n",JudgeA(a,b),JudgeB(a,b)); if(JudgeA(a,b)==4) {