分享免费的编程资源和教程

网站首页 > 技术教程 正文

推箱子小游戏 推箱子小游戏大全

goqiw 2024-09-29 16:39:36 技术教程 76 ℃ 0 评论



#include<stdio.h>

#include<time.h>

#include<stdlib.h>

#include<conio.h>

#define ROW 4//游戏行数改动数字可自行调节游戏难度

#define COL 3//游戏列数改动数字可自行调节游戏难度

int shu[ROW][COL];

//初始化游戏

void InitGame()

{

srand((unsigned)time(NULL));

int n;

int a[ROW*COL];

for(int i=0;i<ROW*COL;i++)

a[i]=i;


//for(int i=0;i<ROW*COL;i++)

//printf("%-3d",a[i]);

// printf("\n");

// printf("n");


int k=0;

for(int i=0;i<ROW;i++)

{

//printf("j");

for(int j=0;j<COL;j++)

{

//printf("h");

n=rand()%(ROW*COL-k);

//printf("%-3d",n);

shu[i][j]=a[n];


for(;n<ROW*COL-k;n++)

{

a[n]=a[n+1];

}

k++;


}


}


}

//控制游戏

void ControlGame()

{

int i,j;

for(int l=0;l<ROW;l++)

{

for(int k=0;k<COL;k++)

{

if(shu[l][k]==0)

{

i=l;j=k;

}

}

}

int a;

// printf("%d %d\n",i,j);

a=getch();

// printf("%d\n",a);

switch(a)

{

case 50://2

if(i!=ROW-1)

{

shu[i][j]=shu[i+1][j];

shu[i+1][j]=0;

}break;

case 56://8

if(i!=0)

{

shu[i][j]=shu[i-1][j];

shu[i-1][j]=0;

}break;

case 52://4

if(j!=COL-1)

{

shu[i][j]=shu[i][j+1];

shu[i][j+1]=0;

}break;

case 54://6

if(j!=0)

{

shu[i][j]=shu[i][j-1];

shu[i][j-1]=0;

}break;

}

}

//显示游戏

void ShowGame()

{

clrscr();

for(int i=0;i<ROW;i++)

{

for(int j=0;j<COL;j++)

{

printf("\E[1;44;32;5m%-5d\E[0m",shu[i][j]);

}

printf("\n");

for(int i=0;i<COL*5;i++)

{

printf("\E[44m \E[0m");

}

printf("\n");

}


}

int VictoryGame()

{

int k=1;

int b=0;

for(int i=0;i<ROW;i++)

{

for(int j=0;j<COL;j++)

{

// printf("%d/%d/%d ",i,j,k);

if(shu[i][j]==k)

b++;

k++;

}

// printf("\n");

}

// printf("%d\n",shu[0][0]);


return b;


}

main()

{

int j;

InitGame();

while(1)

{


ShowGame();

ControlGame();

j=VictoryGame();

// printf("%d\n",j);

if(j==ROW*COL-1)

break;

}

printf("\nVictoryGame\n按任意键结束游戏");

getchar();

return 0;

}

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表