失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > c语言拼图小游戏编程 c语言控制台输出制作拼图小游戏

c语言拼图小游戏编程 c语言控制台输出制作拼图小游戏

时间:2019-11-09 22:03:53

相关推荐

c语言拼图小游戏编程 c语言控制台输出制作拼图小游戏

这就是另外一个小程序了和那个推箱子很像。

#include

int a[4][4];

void draw_point(int n)

{

if(n == 15)

{

printf("| ");

}

else

{

printf("| %c ", (char)(n + 'A'));

}

}

void draw_line()

{

printf("-----------------\n");

}

void draw()

{

int i, j;

for(j = 0; j < 4; j++)

{

draw_line();

for(i = 0; i < 4; i++)

{

draw_point(a[i][j]);

}

printf("|\n");

}

draw_line();

}

void chushihua()

{

int i, j;

for(i = 0; i < 4; i++)

{

for(j = 0; j < 4; j++)

{

a[i][j] = j * 4 + i;

}

}

}

int get_x()

{

int i, j;

for(i = 0; i < 4; i++)

{

for(j = 0; j < 4; j++)

{

if(a[i][j] == 15)

{

return i;

}

}

}

}

int get_y()

{

int i, j;

for(i = 0; i < 4; i++)

{

for(j = 0; j < 4; j++)

{

if(a[i][j] == 15)

{

return j;

}

}

}

}

void move(char c)

{

int i = get_x();

int j = get_y();

if(c == 'w')

{

if(j == 3)

{

return;

}

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

a[i][j + 1] = 15;

}

else if(c == 'a')

{

if(i == 3)

{

return;

}

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

a[i + 1][j] = 15;

}

else if(c == 's')

{

if(j == 0)

{

return;

}

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

a[i][j - 1] = 15;

}

else if(c == 'd')

{

if(i == 0)

{

return;

}

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

a[i - 1][j] = 15;

}

}

bool isOK()

{

bool bl = true;

int i, j;

for(j = 0; j < 4; j++)

{

for(i = 0; i < 4; i++)

{

if(a[i][j] != j * 4 + i)

{

return false;

}

}

}

return bl;

}

void main()

{

chushihua();

char c[20] = "dsddssaaawddsaawwwd";

int f;

for(f = 0; f < 20; f++)

{

move(c[f]);

}

draw();

int k = 1;

while(k)

{

char c;

printf("请输入指令:");

scanf("%c", &c);

fflush(stdin);

while (c != 'w' && c != 'a' && c != 's' && c != 'd')

{

printf("只能输入wasd其中之一\n");

printf("请输入新的命令:");

scanf("%c", &c);

fflush(stdin);

}

move(c);

draw();

if(isOK())

{

k = 0;

printf("恭喜,任务完成!\n");

}

}

}

如果觉得《c语言拼图小游戏编程 c语言控制台输出制作拼图小游戏》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。