求助,2048的C语言求大神帮我看看我哪里有出错的!

C语言编写的2048游戏在第一次移动数字后出现乱码现象,已完成大部分功能,仅剩下游戏规则未编写。期待大神指点错误所在。
摘要由CSDN通过智能技术生成

问题:C语言做的一个2048的程序
我的程序:

#include <stdio.h>
#include <conio.h>
#include <windows.h>
#include <math.h>
#include <time.h>

//定义全局变量
int step=0;
int score=0;
long int Time;
int Board[4][4]={
   
	0,0,0,0,
	0,0,0,0,
	0,0,0,0,
	0,0,0,0};

HANDLE hOut;


//函数声明
void go(int x,int y);             //设置坐标位置
int color(int c);                 //设置文字颜色
int Tcolor(int i);                //根据不同数字修改颜色
void drawTheGameBoard();          //绘制游戏界面
int *add(int item[]);             //合并数字
int ifMove(int item[]);           //判断是否能够移动数字
void Gstart();                    //开始游戏
void Regame();                    //重新游戏
int if2n(int x);                  //判断是否为2的n次方
int up();                         //判断是否能够上移
int down();                       //判断是否能够下降
int right();                      //判断是否能够右移
int left();                       //判断是否能够左移
int BoardMax();                   //返回棋盘最大值
int Faile();                      //判断是否失败
int Win();                        //判断是否胜利
int Control(int key);             //设置键盘操作 
void close();                     //关闭游戏
void title();                     //绘制标题
void choice();                    //制作选择框
void picture();                   //字符画;
void rule();                      //游戏规则


//获取坐标位置//

void go(int x,int y)
{
   
	COORD c;
	c.X =x;
	c.Y =y;
	SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),c);
}



//设置文字颜色//

int color(int c)
{
   
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),c);
	return 0;
}


//设置标题2048//

void title()
{
   
	color(11);
	go(19,2);
	printf("■■■     ■■■■           ■     ■■■■");
	go(19,3);
	printf("    ■     ■    ■         ■■     ■    ■");
	go(19,4);
	printf("■■■     ■    ■        ■ ■     ■■■■");
	go(19,5);
	printf("■         ■    ■      ■■■■    ■    ■");
	go(19,6);
	printf("■■■     ■■■■           ■     ■■■■");
}

//菜单选项//

void choice()
{
   
	int n;
	int i,j=1;
	color(13);
	go(32,8);
	printf("Let's play a game");

	color(14);
	for(i=9;i<=20;i++)
	{
   
		for(j=15;j<=60;j++)
		{
   
			go(j,i);
			if(i==9||i==20)
			{
   
				printf("=");
			}
			else if(j==15||j==59)
			{
   
				printf("||");
			}
		}
	}
	color(12);
	go(25,12);
	printf("1.开始游戏");
	go(40,12);
	printf("2.游戏规则");
	go(25,16);
	printf("3.退出游戏");

	color(5);
	go(21,22);
	printf("请选择[1,2,3]:[ ]\b\b");
	scanf("%d",&n);
	switch(n)
	{
   
		case 1:
			system("cls");
			Gstart();
			break;
		case 2:
			break;
		case 3:
			exit(0);
			break;
		
	}

}



//绘制游戏棋盘//

void drawTheGameBoard()
{
   
	int i,j,k;
	color(14);
	for(j=2;j<=22;j+=5)
	{
   
		go(15,j);
		for(k
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值