Esempio n. 1
0
int main()
{
    int i=5,j=7,t=65,k;
    memset(olde,0,sizeof(olde));
    HideCursor();
    srand(time(NULL));
    while(1)
    {
        k=rand()%4+1;
        switch(k)
        {
           case 1:i-=1;panduan(&i,&j,k);gotoxy(cur[i][j],i+1);break;
           case 2:i+=1;panduan(&i,&j,k);gotoxy(cur[i][j],i+1);break;
           case 3:j+=1;panduan(&i,&j,k);gotoxy(cur[i][j],i+1);break;
           case 4:j-=1;panduan(&i,&j,k);gotoxy(cur[i][j],i+1);break;
        }
        printf("%c",t++);
        Sleep(1000);
    }
    getch();
}
int panduan(struct phb a[]  )                         /*判断一次输赢的函数 */
{
	int b,c,d;
	zs++;                                             /*玩家玩的总次数计数 */
	printf("请选择你所出的并按Enter确定\n");
	printf("1:石头\n2:剪刀\n3:布\n");
	printf("请选择:");
	scanf("%d",&b);
	srand((unsigned int)time(NULL));                 /*随机数产生函数初始化*/ 
	c=rand()%3+1;                                    /*产生介于1到3之间的随机数,模拟出拳的随机性 */
	switch(b)                                        /*switch语句用于多选择的的流程中  */     
		{
			case 1:printf(" 石头--");break;
			case 2:printf(" 剪刀--");break;
			case 3:printf(" 布--");break;
		}
	switch(c)          
		{
			case 1:printf(" 石头\n");break;
			case 2:printf(" 剪刀\n");break;
			case 3:printf(" 布\n");break;
		}
	if((b==1&&c==2)||(b==2&&c==3)||(b==3&&c==1))      /*玩家赢的三种情况 */
	{
		a[0].df++;                                    /*玩家赢的次数加一*/ 
		ys++;                                         /*也用于记录玩家赢的次数 不过用于计算胜率 */
		printf("\n\t\t恭喜你!赢了哦!\n\n");
	}
	else if(b==c)
		printf("\n\t\t平局了!加油哦!\n\n");
	else
	{
		a[0].df--;                                   /*玩家的赢的次数减一 */
		printf("\n\t\t非常抱歉!你输了,继续来战呀!\n\n");
	}
	a[0].sl=ys/zs;                                   /*计算胜率 */
	a[0].mal=ys;                                     /*记录下玩家赢的次数 ,准备录入文件中 */
	a[0].num=zs;                                     /*记录玩的次数,准备录入文件中 */
	printf("是否还进行游戏\n\n1:退出游戏\n2:接着进行游戏\n3:退出游戏并查看排行榜\n");
	printf("请选择:");
	scanf("%d",&d);                                  /*玩一次后,可在此选择是否继续 */
	if(d==2)
		d=panduan(a);
	return d;
}
Esempio n. 3
0
int main()
{
	int n,i,j,a[11];
	scanf("%d",&n);
	for(i=1;i<=n;i++)
	{
		total=0;
		scanf("%d%d",&m,&w);
		for(j=0;j<=m-1;j++)
			scanf("%d",&a[j]);
		for(j=0;j<=m-1;j++)
		{   
			panduan(a,j,0,1);
            
		}
	printf("%d\n",total);
	}
return 0;
}
int main() 
{
	int a;
	struct phb tz[6]={{"a",0,0},{"b",0,0},{"c",0,0},{"d",0,0},{"e",0,0},{"f",0,0}};/*结构体的初始化*/ 
	    a=init();
	if(a==1)
		exit(0);                     /*玩家选择1,退出程序 */
	if(a==3)
	    a=show(tz);                  /*玩家选择三 显示排行榜 */
	while(a==2)                      /*进入一个死循环 */
	{
		baocunxingming(tz[0].nm,tz); /*保存玩家名字 */
		a=panduan(tz);               /*判断一次输赢 */
    	baocunshenglv(tz);               /*计算该玩家的胜率 */
		xierucuowu(tz);              /*数据写入错误时提示 否则关闭所有数据流 */
		if(a==3)
		a=show(tz);
	}
	return 0;
}
Esempio n. 5
0
void panduan(int a[],int i,int s,int jl)
{
	int j,t;
if (total==w) return;
	s+=a[i];
	if (s>w) {if (s-a[i]>total) total=s-a[i];return;}
	t=a[i]; 
	a[i]=0;
	if (jl==m) {total=s;a[i]=t;return;}
	for(j=0;j<=m-1;j++)
	{
		if (a[j]!=0)
		{
		
	    panduan(a,j,s,jl+1);
       
	
		
		}
	}
a[i]=t;
}
Esempio n. 6
0
void dfs(int x,int y,int k)
{
	if(x==n+1)
	{
		if(k>count)
			count=k;
		return; 
	}
	if(g[x][y]=='.'&&panduan(x,y))
	{
		g[x][y]='W';
		if(y==n)
			dfs(x+1,1,k+1);
		else
			dfs(x,y+1,k+1);
		g[x][y]='.';
	}
	if(y==n)
		dfs(x+1,1,k);
	else
		dfs(x,y+1,k);
	return ;
}