coreball,我是怎样实现Coreball游戏的
本文目录索引
1,我是怎样实现Coreball游戏的
//声明
#include
#include
#include
#include
#include
#define SIZE 4
static int score=0;
void putn(int n[][SIZE]);
void getn(int n[][SIZE]);
int isempty(int n[][SIZE]);
int isfull(int n[][SIZE]);
void math(int n[][SIZE],char c);
void tow(int n[][SIZE]);
void toa(int n[][SIZE]);
void tos(int n[][SIZE]);
void tod(int n[][SIZE]);
//主函数
int main()
{
int i,j;
int n[SIZE][SIZE];
char c=#39; #39;;
for(i=0;i<SIZE;i++)
{
for(j=0;j<SIZE;j++)
{
n[i][j]=0;
}
}
printf( "***********************#92;n"
" 2048(%dX%d) #92;n"
" control:W/A/S/D #92;n"
"press any key to begin #92;n"
"***********************#92;n",SIZE,SIZE);
getch();
system("cls");
//n[0][1]=2048;
//n[0][3]=2048;
while(1)
{
if(isempty(n))
getn(n);
putn(n);
if(!isempty(n)isfull(n))
break;
sleep(200);
c=getch();
while(c!=#39;w#39;c!=#39;a#39;c!=#39;s#39;c!=#39;d#39;)
c=getch();
math(n,c);
system("cls");
}
printf(" Game Over!#92;n",score);
return 0;
}
//函数
void putn(int n[][SIZE])
{
int i,j;
for(i=0;i<SIZE;i++)
{
for(j=0;j<SIZE;j++)
printf("| ");
printf("|#92;n");
for(j=0;j<SIZE;j++)
{
if(n[i][j]==0)
printf("| ");
else
printf("|%4d ",n[i][j]);
}
printf("|#92;n");
for(j=0;j<SIZE;j++)
printf("|_____");
printf("|#92;n");
}
printf("score: %d",score);
}
void getn(int n[][SIZE])
{
int a,b;
a=rand()%SIZE;
b=rand()%SIZE;
while(n[a][b]!=0)
{
a=rand()%SIZE;
b=rand()%SIZE;
}
n[a][b]=2;
}
int isempty(int n[][SIZE])
{
int i,j,count=0;
for(i=0;i<SIZE;i++)
for(j=0;j<SIZE;j++)
if(n[i][j]==0)
count++;
return count;
}
int isfull(int n[][SIZE])
{
int i,j,count=0;
for(i=0;i<SIZE;i++)
{
for(j=1;j<SIZE-1;j++)
{
if(n[i][j]==n[i][j+1]||n[i][j]==n[i][j-1])
count++;
}
}
for(j=0;j<SIZE;j++)
{
for(i=1;i<SIZE-1;i++)
{
if(n[i][j]==n[i+1][j]||n[i][j]==n[i-1][j])
count++;
}
}
return count>0?0:1;
}
void math(int n[][SIZE],char c)
{
switch(c)
{
case #39;w#39;:tow(n);break;
case #39;a#39;:toa(n);break;
case #39;s#39;:tos(n);break;
case #39;d#39;:tod(n);break;
default :;
}
}
void tow(int n[][SIZE])
{
int i,j,a;
int m[SIZE];
for(a=0;a<SIZE;a++)
m[a]=0;
for(j=0;j<SIZE;j++)
{
for(a=0;a<SIZE;a++)
{
for(i=0;i<SIZE-1;i++)
{
if(n[i][j]==0)
{
n[i][j]=n[i+1][j];
n[i+1][j]=0;
}
}
}
}
for(j=0;j<SIZE;j++)
{
for(a=0,i=0;i<SIZE;i++)
{
if(n[i][j]!=n[i+1][j]n[i][j]!=0||n[i][j]==2048)
{
m[a++]=n[i][j];
n[i][j]=0;
}
else if(n[i][j]==n[i+1][j])
{
m[a++]=n[i][j]+n[i+1][j];
score+=m[a-1];
n[i][j]=0,n[i+1][j]=0;
}
}
for(i=0;i<SIZE;i++)
{
n[i][j]=m[i];
m[i]=0;
}
}
}
void toa(int n[][SIZE])
{
int i,j,a;
int m[SIZE];
for(a=0;a<SIZE;a++)
m[a]=0;
for(i=0;i<SIZE;i++)
{
for(a=0;a<SIZE;a++)
{
for(j=0;j<SIZE-1;j++)
{
if(n[i][j]==0)
{
n[i][j]=n[i][j+1];
n[i][j+1]=0;
}
}
}
}
for(i=0;i<SIZE;i++)
{
for(a=0,j=0;j<SIZE;j++)
{
if(n[i][j]!=n[i][j+1]n[i][j]!=0||n[i][j]==2048)
{
m[a++]=n[i][j];
n[i][j]=0;
}
else if(n[i][j]==n[i][j+1])
{
m[a++]=n[i][j]+n[i][j+1];
score+=m[a-1];
n[i][j]=0,n[i][j+1]=0;
}
}
for(j=0;j<SIZE;j++)
{
n[i][j]=m[j];
m[j]=0;
}
}
}
void tos(int n[][SIZE])
{
int i,j,a;
int m[SIZE];
for(a=0;a<SIZE;a++)
m[a]=0;
for(j=SIZE-1;j>=0;j--)
{
for(a=SIZE-1;a>=0;a--)
{
for(i=SIZE-1;i>0;i--)
{
if(n[i][j]==0)
{
n[i][j]=n[i-1][j];
n[i-1][j]=0;
}
}
}
}
for(j=SIZE-1;j>=0;j--)
{
for(a=SIZE-1,i=SIZE-1;i>=0;i--)
{
if(n[i][j]!=n[i-1][j]n[i][j]!=0||n[i][j]==2048)
{
m[a--]=n[i][j];
n[i][j]=0;
}
else if(n[i][j]==n[i-1][j])
{
m[a--]=n[i][j]+n[i-1][j];
score+=m[a+1];
n[i][j]=0,n[i-1][j]=0;
}
}
for(i=SIZE-1;i>=0;i--)
{
n[i][j]=m[i];
m[i]=0;
}
}
}
void tod(int n[][SIZE])
{
int i,j,a;
int m[SIZE];
for(a=0;a<SIZE;a++)
m[a]=0;
for(i=SIZE-1;i>=0;i--)
{
for(a=SIZE-1;a>=0;a--)
{
for(j=SIZE-1;j>0;j--)
{
if(n[i][j]==0)
{
n[i][j]=n[i][j-1];
n[i][j-1]=0;
}
}
}
}
for(i=SIZE-1;i>=0;i--)
{
for(a=SIZE-1,j=SIZE-1;j>=0;j--)
{
if(n[i][j]!=n[i][j-1]n[i][j]!=0||n[i][j]==2048)
{
m[a--]=n[i][j];
n[i][j]=0;
}
else if(n[i][j]==n[i][j-1])
{
m[a--]=n[i][j]+n[i][j-1];
score+=m[a+1];
n[i][j]=0,n[i][j-1]=0;
}
}
for(j=SIZE-1;j>=0;j--)
{
n[i][j]=m[j];
m[j]=0;
}
}
}
需要注意的是:
srand((unsigned) time(0);rand();是固定形式,不要更改任何一个字符!
如果不能编译,请把sleep(200);注释掉,如果提示不能找到system("cls");请把system("cls")更换为clrscr();
2,core ball57关怎么过
Core Ball游戏第57关怎么过
具体看上图,这一关其实很简单,找到转动的终点或者起点,然后用最快的速度点击!!
大家可以看到,小编的第1个球开始就放的比较快速,所以后期能剩下比较大的空间,慢慢放最后一个球!
是不是很简单?
玩法小技巧
第一,别玩微信版,玩小编给大家的的那个链接。
第二,逆转方向旋转的那些关卡有bug,在转向的一瞬间切换程序,等两秒再进去,你会发现它转去了本来到不了的地方。
第三,耐心耐心耐心!
3,core ball21关怎么过
core ball 21关怎么过
这一关的难点在于只有3/4的空间让大家去插入白球,所以大家想要过关掌握好两点!
1、看准第一个球放下去之后,点击速度一定要快,快速的放下其余三个,然后等间隔的白球过去~!
2、把握好放白球的节奏,中间的间隔一定要注意!
大家可以看上图,就知道怎么放置白球了!
玩法小技巧
第一,别玩微信版,玩小编给大家的的那个链接。
第二,逆转方向旋转的那些关卡有bug,在转向的一瞬间切换程序,等两秒再进去,你会发现它转去了本来到不了的地方。
第三,耐心耐心耐心!
4,qq上有一个链接打不开,说是要在微信上才能打开,可是我不知道如何操作
您可以进行以下操作试试 【1】这种情况,可能是手机内安装较多的程序,占用太多的内存,如果手机运行程序时,内存不足,就会导致这种情况发生,您可以卸载一些不常使用的第三方软件,同时,也可以经常进行一键清理操作的 【2】客服建议您清除下系统的缓存再观察下,清理缓存的方法:手机进入关机状态。同时按住电源键跟音量减键,进入工程模式,通过音量键选择清理缓存选项,系统将自动为您的手机清理缓存。清理缓存能释放更多空间供您的手机运行。能提高您手机的运行速度。 【3】在手机系统升级里面检测下是否是最新版本,如果手机不是最新版本,建议将手机进行升级试试您参考下。