#include<stdio.h>
#include <stdlib.h>
#include<time.h>
int i;
int e;
int m;
int a[10]={1,2,3,4,5,6,7,8,9,10};
int b[5]={1,2,3,4,5};
int ad[10]={1,2,3,4,5,6,7,8,9,10};
int bd[5]={1,2,3,4,5};
int n;
int r=0;
int c=0;
int h;
int nq;
int chaxun1()
{
for(i=0;i<10;i++)
{
if(a[i]==10)
{
e=i;
}
}
return e;
}
int chaxun2()
{
for(i=0;i<5;i++)
{
if(b[i]==5)
{
e=i;
}
}
return e;
}
void shengchenga()//第一轮的电脑数字生成
{
int il=0;
int nl;
srand(time(0));
while(il<100000)
{
il++;
nl = rand()%4+1;
if(nl==1)
{
h=chaxun1();
if(h<3)
{
}
else
{
int l1=a[h];
a[h]=a[h-3];
a[h-3]=l1;
}
}
if(nl==2)
{
h=chaxun1();
if(h>6)
{
}
else
{
int l2=a[h];
a[h]=a[h+3];
a[h+3]=l2;
}
}
if(nl==3)
{
h=chaxun1();
if(h<1)
{
}
else
{
int l3=a[h];
a[h]=a[h-1];
a[h-1]=l3;
}
}
if(nl==4)
{
h=chaxun1();
if(h>8)
{
}
else
{
int l4=a[h];
a[h]=a[h+1];
a[h+1]=l4;
}
}
}
}
void shengchengb()//第二轮的电脑数字生成
{
int ik=0;
int nk;
srand(time(0));
while(ik<100000)
{
ik++;
nk = rand()%4+1;
if(nk==1)
{
h=chaxun2();
if(h<3)
{
}
else
{
int k1=b[h];
b[h]=b[h-3];
b[h-3]=k1;
}
}
if(nk==2)
{
h=chaxun2();
if(h>1)
{
}
else
{
int k2=b[h];
b[h]=b[h+3];
b[h+3]=k2;
}
}
if(nk==3)
{
h=chaxun2();
if(h<1)
{
}
else
{
int k3=b[h];
b[h]=b[h-1];
b[h-1]=k3;
}
}
if(nk==4)
{
h=chaxun2();
if(h>3)
{
}
else
{
int k4=b[h];
b[h]=b[h+1];
b[h+1]=k4;
}
}
}
}
void duibi1()//第一轮的玩家输入是否合法检验
{
int io;
while(1)
{
if(n==ad[0]||n==ad[1]||n==ad[2]||n==ad[3]||n==ad[4]||n==ad[5]||n==ad[6]||n==ad[7]||n==ad[8]||n==ad[9])
{
if(n==0)
{
printf("输入有误,请重新输入:\n");
scanf("%d",&n);
}
else
{
for(io=0;io<10;io++)
{
if(n==ad[io])
{
ad[io]=0;
}
}
break;
}
}
else
{
printf("输入有误,请重新输入:\n");
scanf("%d",&n);
}
}
}
void duibi2()//第二轮的玩家输入是否合法检验
{
int ip;
while(1)
{
if(n==bd[0]||n==bd[1]||n==bd[2]||n==bd[3]||n==bd[4])
{
if(n==0)
{
printf("输入有误,请重新输入:\n");
scanf("%d",&n);
}
else
{
for(ip=0;ip<5;ip++)
{
if(n==bd[ip])
{
bd[ip]=0;
}
}
break;
}
}
else
{
printf("输入有误,请重新输入:\n");
scanf("%d",&n);
}
}
}
void jiancha1()
{
int ml;
for(ml=0;ml<10;ml++)
{
printf("%d ",a[ml]);
}
printf("\n");
}
void jiancha2()
{
int nl;
for(nl=0;nl<5;nl++)
{
printf("%d ",b[nl]);
}
printf("\n");
}
int main()
{
int j;
int jo;
shengchenga();
shengchengb();
//jiancha1();
//jiancha2();
for(j=0;j<10;j++)
{
printf("当前可输入的数字为:");
for(jo=0;jo<10;jo++)
{
if(ad[jo]==0)
{
}
else
{
printf("%d ",ad[jo]);
}
}
printf("\n");
printf("请输入数字:");
scanf("%d",&n);
duibi1();
if(n>a[j])
{
printf("人加一分\n");
r++;
}
if(n<a[j])
{
printf("电脑加一分\n");
c++;
}
if(n==a[j])
{
printf("平\n");
}
printf("当前人类得分为:%d\n",r);
printf("当前机器得分为:%d\n",c);
}
if(r>c)
{
printf("人类胜利\n");
//printf("输入1退出:\n");
//scanf("%d",&nq);
}
else if(r<c)
{
printf("机器胜利\n");
//printf("输入1退出:\n");
//scanf("%d",&nq);
}
else
{
int y;
int yo;
printf("开始加时赛\n");
for(y=0;y<5;y++)
{
printf("当前可输入的数字为:");
for(yo=0;yo<5;yo++)
{
if(bd[yo]==0)
{
}
else
{
printf("%d ",bd[yo]);
}
}
printf("\n");
printf("请输入数字:");
scanf("%d",&n);
duibi2();
if(n>b[y])
{
printf("人加一分\n");
r++;
}
if(n<b[y])
{
printf("电脑加一分\n");
c++;
}
if(n==b[y])
{
printf("平\n");
}
printf("当前人类得分为:%d\n",r);
printf("当前机器得分为:%d\n",c);
}
if(r>c)
{
printf("人类胜利\n");
//printf("输入1退出:\n");
//scanf("%d",&nq);
}
else if(r<c)
{
printf("机器胜利\n");
//printf("输入1退出:\n");
//scanf("%d",&nq);
}
else
{
printf("平局\n");
//printf("输入1退出:\n");
//scanf("%d",&nq);
}
}
return 0;
}
一款数字博弈小游戏
最新推荐文章于 2024-08-02 18:24:51 发布