搜索
您的当前位置:首页正文

#include<stdio.h> #include<stdlib.h> #include<conio.h> #include<time.h> typedef struct //定义一个接

2010-11-29 来源:吉趣旅游网

有网友碰到这样的问题“#include<stdio.h> #include<stdlib.h> #include<conio.h> #include<time.h> typedef struct //定义一个接”。小编为您整理了以下解决方案,希望对您有帮助:

解决方案1:

兄弟,代码没复制完。。。

解决方案2:

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>
#define Max 10
#define Bomb 10
void initial();
void draw();
void event();
void open();
int win();
void result();
int item[Max+2][Max+2]={0};
int state[Max+2][Max+2]={0};
int x=1,y=1,t=0;
/******************************/
main()
{
int c;
initial();
for(;;)
{
system("cls");
draw();
t=0;
event();
c=win();
if (c!=0)
{
system("cls");
result();
if (c==1)
printf("\nyou win!\n");
else
printf("\nyou lost!\n");
system("PAUSE");
break;
}
}
}
/******************************/
void initial()
{
int i,m,n,c,x,y;
srand(time(NULL));
for (i=0;i<Bomb;)
{
c=rand()%100;
y=c/10+1;
x=c%10+1;
if (item[y][x]!=9)
{
item[y][x]=9;
for (m=-1;m<2;m++)
{
for (n=-1;n<2;n++)
if (item[y+m][x+n]!=9)
item[y+m][x+n]++;
}
i++;
}
}
for (i=0;i<=Max+1;i++)
{
item[0]=-1;
item[Max+1]=-1;
item[0]=-1;
item[Max+1]=-1;
}
}
/******************************/
void open(int i,int j)
{
if (state[j]!=2)
{
state[j]=1;
if (item[j]==0)
{
if (state [i-1][j]!=1)
open(i-1,j);
if (state [i+1][j]!=1)
open(i+1,j);
if (state [j-1]!=1)
open(i,j-1);
if (state [j+1]!=1)
open(i,j+1);
}
}
}
/******************************/
void draw()
{
int i,j,k;
for (i=1;i<=Max;i++)
{
for (j=1;j<=Max;j++)
{
if (i==y && j==x && t==0)
{
printf("□");
continue;
}
switch(state[j])
{
case 0:
printf("■");
break;
case 1:
if (item[j]==0)
printf("○");
else for (k=1;k<9;k++)
{
if (item[j]==k)
{
printf(" %d",k);
break;
}
}
break;
case 2:
printf("★");
break;
}
}
printf("\n");
}
}
/******************************/
int win()
{
int win=1,i,j;
for (i=1;i<Max+2;i++)
for (j=1;j<Max+2;j++)
{
if (state[j]==0 && item[j]!=9 && item[j]!=-1)
win=0;
if (state[j]==1 && item[j]==9)
return(-1);
}
return(win);
}
/******************************/
void result()
{
int i,j,k;
for (i=1;i<=Max;i++)
{
for (j=1;j<=Max;j++)
{
switch(item[j])
{
case 0:
printf("○");
break;
case 9:
printf("●");
break;
default:
for (k=1;k<9;k++)
{
if (item[j]==k)
{
printf(" %d",k);
break;
}
}
break;
}
}
printf("\n");
}
}
/******************************/
void event()
{
char c;
c=getch();
switch(c)
{
case 'w':
if (y>1) y--;
break;
case 's':
if (y<Max) y++;
break;
case 'a':
if (x>1) x--;
break;
case 'd':
if (x<Max) x++;
break;
case ' ':
t=1;
open (y,x);
break;
case 'm':
t=1;
if (state[y][x]==0)
state[y][x]=2;
else if (state[y][x]==2)
state[y][x]=0;
break;
}
}

Top