数独,迷宫,井字棋游戏三合一

三个游戏打包成一个游戏

代码非常长,耐心观看,先上结果

 

                                                              

 

 

                                                                                                                           

 

 

  源文件代码:

#include<iostream>               //通用输入输出流和其他输入输出流
#include<windows.h>				 //写windows程序需要的重要头文件,此处用于游标和避免闪屏的使用
#include<conio.h>                //通用输入输出库,用户通过按键盘产生的对应操作,比如getch()函数
#include"map1.h"                 //提供地图1
#include"map2.h"                 //提供地图2
#include"map3.h"                 //提供地图3
#include"map4.h"                 //提供地图4
#include"puzzlea.h"              //提供迷宫地图a
#include"puzzleb.h"              //提供迷宫地图b
using namespace std;
void SetPos(COORD a)     //游标
{
    HANDLE out = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleCursorPosition(out, a);
}
void SetPos(int i, int j)
{
    COORD pos = { i, j };
    SetPos(pos);
}
void clearScreen()         //用于清屏并且不会导致闪屏
{
    HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
    COORD coordScreen = { 0, 0 };
    SetConsoleCursorPosition(hConsole, coordScreen);
}
//游戏一
//数独
void rule1()          //制定规则
{
    SetPos(36, 3);
    cout << "数独游戏规则:";
    SetPos(20, 5);
    cout << "1.每一个横/竖列上都要有从1到9的所有数字,不重不漏。";
    SetPos(20, 7);
    cout << "2.每个3 * 3的格自内都要有1到9的所有数字,不重不漏。";
    SetPos(20, 9);
    cout << "玩家先输入行数,用空格隔开后输入列数,最后输入数字,回车确定。";
    SetPos(20, 11);
    cout << "当玩家填满所有格子之后(无论对错),自动生成答案。";
    SetPos(20, 13);
    system("pause");
}
void commence()  //开场动画     
{
    SetPos(50, 4);
    cout << "数    独";
    SetPos(85, 21);
    cout << "制作人:韩谢雨";
    for (int j = 0; j < 100; j++)
    {
        Sleep(20);
        SetPos(j + 3, 10);
        cout << " " << "加载中" << j << "%";
        SetPos(j, 10);
        cout << "■";
    }
    system("cls");
    for (int j = 0; j < 40; j++)
    {
        for (int i = 0; i < 120; i++)
        {
            SetPos(i, j);
            cout << "■";
        }
    }
    system("cls");
}
int start()                //难度选择
{
    SetPos(56, 4);
    cout << "数独游戏";
    SetPos(20, 8);
    cout << "输入1,2,3,4选择难度" << endl;
    SetPos(15, 11);
    cout << "1.简单:通关需要消耗一点点时间";
    SetPos(15, 13);
    cout << "2.普通:通关需要消耗少量的时间";
    SetPos(15, 15);
    cout << "3.困难:通关需要消耗大量的时间";
    SetPos(15, 17);
    cout << "4.地狱:通关需要消耗亿点点时间";
    int n;
    SetPos(15, 21);
    cout << "请输入难度后按回车";
    SetPos(15, 23);
    cin >> n;
    if (n == 1)
    {
        return 1;
    }
    if (n == 2)
    {
        return 2;
    }
    if (n == 3)
    {
        return 3;
    }
    if (n == 4)
    {
        return 4;
    }
}
void printmap1()    //地图1打印                
{
    for (int i = 0; i < 9; i++)
    {
        for (int j = 0; j < 9; j++)
        {
            if (map1[i][j] != 0)
            {
                cout << map1[i][j];
            }
            if (j <= 9)
            {
                cout << " | ";
            }
        }
        cout << "n";
        if (i < 9)
        {
            cout << "—————————————————" << endl;
        }
    }
    cout << endl;
}
void printmap2()    //地图2打印
{
    for (int i = 0; i < 9; i++)
    {
        for (int j = 0; j < 9; j++)
        {
            if (map2[i][j] != 0)
            {
                cout << map2[i][j];
            }
            if (j <= 9)
            {
                cout << " | ";
            }
        }
        cout << "n";
        if (i < 9)
        {
            cout << "—————————————————" << endl;
        }
    }
    cout << endl;
}
void printmap3()    //地图3打印
{
    for (int i = 0; i < 9; i++)
    {
        for (int j = 0; j < 9; j++)
        {
            if (map3[i][j] != 0)
            {
                cout << map3[i][j];
            }
            if (j <= 9)
            {
                cout << " | ";
            }
        }
        cout << "n";
        if (i < 9)
        {
            cout << "—————————————————" << endl;
        }
    }
    cout << endl;
}
void printmap4()    //地图4打印
{
    for (int i = 0; i < 9; i++)
    {
        for (int j = 0; j < 9; j++)
        {
            if (map4[i][j] != 0)
            {
                cout << map4[i][j];
            }
            if (j <= 9)
            {
                cout << " | ";
            }
        }
        cout << "n";
        if (i < 9)
        {
            cout << "—————————————————" << endl;
        }
    }
    cout << endl;
}
void Game1()
{
    int x, y, z;        //玩家输入位置
    cin >> x >> y >> z;
    while (map1[x - 1][y - 1] != ' ')
    {
        cout << "非法输入" << endl;
        cin >> x >> y >> z;
    }
    map1[x - 1][y - 1] = (char)('0' + z);
}
void Game2()
{
    int x, y, z = 0;    //玩家输入位置
    cin >> x >> y >> z;
    while (map2[x - 1][y - 1] != ' ')
    {
        cout << "非法输入" << endl;
        cin >> x >> y >> z;
    }
    map2[x - 1][y - 1] = (char)('0' + z);
}
void Game3()
{
    int x, y, z = 0;    //玩家输入位置
    cin >> x >> y >> z;
    while (map3[x - 1][y - 1] != ' ')
    {
        cout << "非法输入" << endl;
        cin >> x >> y >> z;
    }
    map3[x - 1][y - 1] = (char)('0' + z);
}
void Game4()
{
    int x, y, z = 0;    //玩家输入位置 
    cin >> x >> y >> z;
    while (map4[x - 1][y - 1] != ' ')
    {
        cout << "非法输入" << endl;
        cin >> x >> y >> z;
    }
    map4[x - 1][y - 1] = (char)('0' + z);
}
void result1()
{
    cout << "标准答案:" << endl;
    for (int i = 0; i < 9; i++)
    {
        for (int j = 0; j < 9; j++)
        {
            if (answer1[i][j] != 0)
            {
                cout << answer1[i][j];
            }
            if (j <= 9)
            {
                cout << " | ";
            }
        }
        cout << "n";
        if (i < 9)
        {
            cout << "—————————————————" << endl;
        }
    }
}
void result2()
{
    cout << "标准答案:" << endl;
    for (int i = 0; i < 9; i++)
    {
        for (int j = 0; j < 9; j++)
        {
            if (answer2[i][j] != 0)
            {
                cout << answer2[i][j];
            }
            if (j <= 9)
            {
                cout << " | ";
            }
        }
        cout << "n";
        if (i < 9)
        {
            cout << "—————————————————" << endl;
        }
    }
}
void result3()
{
    cout << "标准答案:" << endl;
    for (int i = 0; i < 9; i++)
    {
        for (int j = 0; j < 9; j++)
        {
            if (answer3[i][j] != 0)
            {
                cout << answer3[i][j];
            }
            if (j <= 9)
            {
                cout << " | ";
            }
        }
        cout << "n";
        if (i < 9)
        {
            cout << "—————————————————" << endl;
        }
    }
}
void result4()
{
    cout << "标准答案:" << endl;
    for (int i = 0; i < 9; i++)
    {
        for (int j = 0; j < 9; j++)
        {
            if (answer4[i][j] != 0)
            {
                cout << answer4[i][j];
            }
            if (j <= 9)
            {
                cout << " | ";
            }
        }
        cout << "n";
        if (i < 9)
        {
            cout << "—————————————————" << endl;
        }
    }
}
void main1()
{
    system("cls");
    rule1();
    system("cls");
    commence();
    int n = start();
    if (n == 1)
    {
        system("cls");
        printmap1();
        for (int x = 0; x < 51; x++)
        {
            Game1();
            system("cls");
            printmap1();
        }
        result1();
    }
    if (n == 2)
    {
        system("cls");
        printmap2();
        for (int x = 0; x < 49; x++)
        {
            Game2();
            system("cls");
            printmap2();
        }
        result2();
    }
    if (n == 3)
    {
        system("cls");
        printmap3();
        for (int x = 0; x < 54; x++)
        {
            Game3();
            system("cls");
            printmap3();
        }
        result3();
    }
    if (n == 4)
    {
        system("cls");
        printmap4();
        for (int x = 0; x < 57; x++)
        {
            Game4();
            system("cls");
            printmap4();
        }
        result4();
    }
    system("pause");
}
//游戏二
//迷宫
void puzzle1()
{
	for (int i = 0; i < 22; i++)
	{
		for (int j = 0; j < 22; j++)
		{
			switch (puzzlea[i][j])
			{
			case 0: cout << "  "; break;		//0为通道;
			case 1: cout << "■"; break;		//1为边界;
			case 4: cout << "♀"; break;		//2为墙,无法通过;
			case 2: cout << "□"; break;		//3为终点;
			case 3: cout << "☆"; break;		//4为小人;
			}
			//通过switch语句,用符号替代不同的数字
		}
		cout << "n";
	}
}
void puzzle2()
{
	for (int i = 0; i < 33; i++)
	{
		for (int j = 0; j < 33; j++)
		{
			switch (puzzleb[i][j])
			{
			case 0: cout << "  "; break;
			case 1: cout << "■"; break;
			case 4: cout << "♀"; break;
			case 2: cout << "□"; break;
			case 3: cout << "☆"; break;
			}
			//同上
		}
		cout << "n";
	}
}
int start1()
{
	int x, y;
	for (int i = 0; i < 22; i++)
	{
		for (int j = 0; j < 22; j++)
		{
			if (puzzlea[i][j] == 4)
				//判断迷宫1中小人的位置
			{
				x = i;
				y = j;
			}
		}
	}
	char k;
	k = _getch();
	switch (k)
	{
		//向上移动 
	case 'W':
    case 'w':
    case 72:
		if (puzzlea[x - 1][y] == 0)
			//如果可以向上移动
		{
            puzzlea[x - 1] [y] += 4;
            puzzlea[x][y] -= 4;
		}
		else if (puzzlea[x - 1][y] == 3)
			//判断向上移动是否通关
		{
			system("cls");
            SetPos(46, 15);
			cout << "恭喜你通关!";
            return 100;
		}
		break;
		//向下移动 
	case 'S':
    case 's':
    case 80:
		if (puzzlea[x + 1][y] == 0)
			//如果可以向下移动
		{
            puzzlea[x + 1][y] += 4;
            puzzlea[x][y] -= 4;
		}
		else if (puzzlea[x + 1][y] == 3)
			//判断向下移动是否通关
		{
			system("cls");
            SetPos(46, 15);
			cout << "恭喜你通关!";
            return 100;
		}
		break;
    case 'A':
    case 'a':
    case 75:
		if (puzzlea[x][y - 1] == 0)
			//如果可以向左移动
		{
            puzzlea[x][y - 1] += 4;
            puzzlea[x][y] -= 4;
		}
		else if (puzzlea[x][y - 1] == 3)
			//判断向左移动是否通关
		{
			system("cls");
            SetPos(46, 15);
			cout << "恭喜你通关!";
            return 100;
		}
		break;
	case 'D':
    case 'd':
    case 77:
		if (puzzlea[x][y + 1] == 0)
			//如果可以向右移动
		{
            puzzlea[x][y + 1] += 4;
            puzzlea[x][y] -= 4;
		}
		else if (puzzlea[x][y + 1] == 3)
			//判断向右移动是否通关
		{
			system("cls");
            SetPos(46, 15);
			cout << "恭喜你通关!";
            return 100;
		}
		break;
	}
}
int start2()//同上
{
	int x = 0, y = 0;
	for (int i = 0; i < 33; i++)
	{
		for (int j = 0; j < 33; j++)
		{
			if (puzzleb[i][j] == 4)
				//判断迷宫2中小人的位置
			{
				x = i;
				y = j;
			}
		}
	}
	char k;
	k = _getch();
	switch (k)
	{
	case 'W':
    case 'w':
    case 72:
		if (puzzleb[x - 1][y] == 0)
		{
            puzzleb[x - 1][y] += 4;
            puzzleb[x][y] -= 4;
		}
		else if (puzzleb[x - 1][y] == 3)
		{
			system("cls");
            SetPos(46, 15);
			cout << "恭喜你通关!";
            return 100;
		}
		break;
	case 'S':
    case 's':
    case 80:
		if (puzzleb[x + 1][y] == 0)
		{
			puzzleb[x + 1][y] += 4;
			puzzleb[x][y] -= 4;
		}
		else if (puzzleb[x + 1][y] == 3)
		{
			system("cls");
			SetPos(46, 15);
			cout << "恭喜你通关!";
            return 100;
		}
		break;
    case 'A':
    case 'a':
    case 75:
		if (puzzleb[x][y - 1] == 0)
		{
			puzzleb[x][y - 1] += 4;
			puzzleb[x][y] -= 4;
		}
		else if (puzzleb[x][y - 1] == 3)
		{
			system("cls");
            SetPos(46, 15);
			cout << "恭喜你通关!";
            return 100;
		}
		break;
	case 'D':
    case 'd':
    case 77:
		if (puzzleb[x][y + 1] == 0)
		{
			puzzleb[x][y + 1] += 4;
			puzzleb[x][y] -= 4;
		}
		else if (puzzleb[x][y + 1] == 3)
		{
			system("cls");
            SetPos(46, 15);
			cout << "恭喜你通关!";
            return 100;
		}
		break;
	}
}
void beginning()  //开场动画     
{
	SetPos(56, 4);
	cout << "迷   宫";
	SetPos(56, 16);
	cout << "玩命加载中...";
	SetPos(85, 21);
	cout << "制作人:韩谢雨";
	for (int j = 0; j < 100; j++)
	{
		Sleep(17);
		SetPos(j + 3, 15);
		cout << " " << j << "%";
		SetPos(j, 15);
		cout << "■";
	}
	system("cls");
	for (int i = 0; i < 120; i++)
	{
		for (int j = 0; j < 50; j++)
		{
			SetPos(i, j);
			cout << "■";
		}
	}
	system("cls");
}
int starting()   //初始化界面                     
{
	SetPos(56, 4);
	cout << "迷宫" << endl;
	SetPos(32, 6);
	cout << " w,a,s,d控制人物移动。";
	cout << "w 和 s 选择,k确认";
	SetPos(15, 11);
	cout << "1. 简单";
	SetPos(15, 13);
	cout << "2. 困难";
	int j = 11;
	SetPos(12, j);
	cout << ">>";
	while (1)
	{
		if (_kbhit())        //kbhit()用于非阻塞地响应键盘输入事件。
		{					 // 函数名:kbhit() 功能及返回值:检查当前是否有键盘输入,若有则返回一个非0值,否则返回0。
			char x = _getch();
			switch (x)
			{
			case 'w':
            case 'W':
			{
				if (j == 13)
				{
					SetPos(12, j);
					cout << " ";
					j = 11;
					SetPos(12, j);
					cout << ">>";
					SetPos(51, 13);
					cout << "            ";
					SetPos(47, 11);
					cout << "简单的迷宫:";
					SetPos(30, 13);
					cout << "迷宫大小22*22,且有多条通道通往终点";
				}
				break;
			}
			case 's':
            case 'S':
			{
				if (j == 11)
				{
					SetPos(12, j);
					cout << " ";
					j = 13;
					SetPos(12, j);
					cout << ">>";
					SetPos(51, 13);
					cout << "            ";
					SetPos(47, 11);
					cout << "困难的迷宫:";
					SetPos(30, 13);
					cout << "迷宫大小33*33,通往终点的道路只有一条。";
				}
				break;
			}
			case 'k':
            case 'K':
			{
				if (j == 11)
					return 1;
				else if (j == 13)
					return 2;
			}
			}
		}
	}
}
void main2()                 //主界面 
{
    system("cls");
	beginning();
	int a = starting();
    int h = 0;
	if (a == 1)
	{
		system("cls");
		while ( h !=100 )
		{
			//运行迷宫1 
			clearScreen();		//清屏
			puzzle1();
            h = start1();
		}
	}
	else
	{
		system("cls");
		while ( h !=100 )
		{
			//运行迷宫2
			clearScreen();		//清屏
			puzzle2();
            h = start2();
		}
	}
    system("pause");
}
//游戏三
//井字棋
void Gamer1();                               //玩家1输入(操作)函数
void Gamer2();                               //玩家2输入(操作)函数
void judge();                                //判断输赢
void begin();                                //游戏开始
//bool类型判断玩家1或者2的输赢
bool flag1 = false;
bool flag2 = false;
//初始化棋盘
int row = 3, column = 3;       //规定井字棋棋盘大小为3*3
char map[3][3] = {
    {'  ','  ','  '},
    {'  ','  ','  '},
    {'  ','  ','  '}
};
void chessboard()     //打印棋盘                        
{
    for (int i = 0; i < row; i++)
    {
        for (int j = 0; j < column; j++)
        {
            cout << map[i][j];
            if (j < column - 1)
            {
                cout << " | ";
            }
        }
        cout << "n";
        if (i < row - 1)
        {
            cout << "—————" << endl;
        }
    }
    cout << "n";
}

void rule2()
{
    for (int i = 0; i <= 118; i++)
    {
        for (int j = 0; j <= 50; j++)
        {
            SetPos(i, j);
            cout << "■";
        }
    }
    system("cls");
    SetPos(56, 1);
    cout << "井字棋" << endl;
    SetPos(80, 4);
    cout << "制作人:韩谢雨" << endl;
    cout << "规则:" << endl;
    cout << "先手方先输入行数(1-3),空格或者回车确认行数后,再输入列数(1-3)后回车。" << endl;
}
void begin()       //游戏开始                       
{
    int n = 1;       //n为棋子数量,最多为9                        
    bool flag = false;         //玩家切换标志位                 
    while (n < 10 && flag1 == false && flag2 == false) //未填完,未分出胜负则继续游戏
    {
        if (flag == false)       //切换到玩家1
        {
            cout << "玩家1输入:" << endl;
            Gamer1();            //玩家1输入棋子位置            
            flag = true;    //切换顺序                 
        }
        else                     //切换到玩家2 
        {
            cout << "玩家2输入:" << endl;
            Gamer2();            //玩家2输入棋子位置            
            flag = false;   //切换顺序                
        }
        judge();            //判断胜负       
        chessboard();       //打印棋盘  
        cout << endl;
        n++;       //棋盘添加棋子                
    }
}
void judge()       //判断胜负                          
{
    for (int c = 0; c < row; c++)
    {
        if (map[c][0] == map[c][1] && map[c][0] == map[c][2] && map[c][0] != ' ')
            //判断横方向满3个相同的棋子
        {
            if (map[c][0] == 'O')         //判断玩家1或2谁获胜
            {
                flag1 = true;
            }          //玩家1获胜
            else
            {
                flag2 = true;
            }          //玩家2获胜
        }
        if (map[0][c] == map[1][c] && map[1][c] == map[2][c] && map[0][c] != ' ')
            //判断纵方向满3个相同的棋子
        {
            if (map[0][c] == 'O')         //判断玩家1或2谁获胜
            {
                flag1 = true;
            }          //玩家1获胜
            else
            {
                flag2 = true;
            }          //玩家2获胜
        }
        if ((map[0][0] == map[1][1] && map[1][1] == map[2][2] && map[0][0] != ' ') ||
            (map[0][2] == map[1][1] && map[1][1] == map[2][0] && map[2][0] != ' '))
            //判断斜方向满3个相同的棋子
        {
            if (map[1][1] == 'O')         //判断玩家1或2谁获胜
            {
                flag1 = true;
            }          //玩家1获胜
            else
            {
                flag2 = true;
            }          //玩家2获胜
        }
    }
}
//玩家1操作的函数
void Gamer1()
{
    int x, y;     //玩家1输入位置
    cin >> x >> y;
    while (map[x - 1][y - 1] != ' ')
        //判断输入是否正确或者此处是否有棋子
    {
        cout << "非法输入" << endl;
        //重新输入位置
        cin >> x >> y;
    }
    //玩家1在棋盘放棋子
    map[x - 1][y - 1] = 'O';
}
//玩家2操作
void Gamer2()
{
    int x, y;     //玩家2输入位置
    cin >> x >> y;
    while (map[x - 1][y - 1] != ' ')
        //判断输入是否正确或者此处是否有棋子
    {
        cout << "非法输入" << endl;
        //重新输入
        cin >> x >> y;
    }
    //玩家2在棋盘放棋子
    map[x - 1][y - 1] = 'X';
}
void main3()
{
    system("cls");
    rule2();
    chessboard();   //打印初始棋盘
    cout << "请分别输入行数和列数,";
    begin();     //开始游戏
    //玩家1获胜
    if (flag1 == true)
    {
        cout << "玩家1获胜!" << endl;
    }
    //玩家2获胜
    if (flag2 == true)
    {
        cout << "玩家2获胜!" << endl;
    }
    //平局
    if (flag1 == flag2)
    {
        cout << "平局!" << endl;
    }
    system("pause");
}
int openning()
{
    SetPos(42, 2);
    cout << "创意编程竞赛游戏" << endl;
    SetPos(42, 6);
    cout << "w a s d 选择,k确认";
    SetPos(15, 11);
    cout << "1. 数独";
    SetPos(50, 11);
    cout << "2. 迷宫";
    SetPos(15, 13);
    cout << "3. 井字棋";
    int j = 11;
    int i = 12;
    SetPos(12, j);
    cout << ">>";
    while (1)
    {
        if (_kbhit())
        {
            char x = _getch();
            switch (x)
            {
            case 'w':
            case 'W':
            {
                if (j == 13)
                {
                    j = 11;
                    SetPos(12, 13);
                    cout << "   ";
                    SetPos(12, j);
                    cout << ">>";
                    SetPos(47, 15);
                    cout << "数独:益智类游戏";
                    SetPos(47, 19);
                    cout << "考验玩家的数学能力";
                }
                break;
            }
            case 's':
            case 'S':
            {
                if (j == 11)
                {
                    j = 13;
                    SetPos(12, 11);
                    cout << "   ";
                    SetPos(12, j);
                    cout << ">>";
                    SetPos(47, 11);
                    cout << "   ";
                    SetPos(47, 15);
                    cout << "井字棋:棋类游戏";
                    SetPos(47, 19);
                    cout << "玩家与玩家间的对抗";
                }
                break;
            }
            case 'd':
            case 'D':
            {
                if (i == 12)
                {
                    i = 47;
                    SetPos(12, 11);
                    cout << "   ";
                    SetPos(12, 13);
                    cout << "   ";
                    SetPos(i, 11);
                    cout << ">>";
                    SetPos(47, 15);
                    cout << "迷宫:思维性游戏";
                    SetPos(47, 19);
                    cout << "地形复杂,通道杂乱";
                }
                break;
            }
            case 'a':
            case 'A':
            {
                if (i == 47)
                {
                    i = 12;
                    SetPos(47, 11);
                    cout << "   ";
                    SetPos(i, 11);
                    cout << ">>";
                    SetPos(47, 15);
                    cout << "数独:益智类游戏";
                    SetPos(47, 19);
                    cout << "考验玩家的数学能力";
                }
                break;
            }
            case 'k':
            case 'K':
            {
                if (j == 11 && i == 12)
                    return 1;
                if (j == 11 && i == 47)
                    return 2;
                else if (j == 13)
                    return 3;
            }
            }
        }
    }
}
int main()
{
flag:
    system("cls");
    int z = openning();
    if (z == 1)
    {
        main1();
        system("cls");
        SetPos(40, 11);
        cout << "是否退出游戏?是Y否N";
        char x;
        SetPos(40, 13);
        cin >> x;
        if (x == 'Y')
            exit(0);
        if (x == 'N')
            goto flag;
    }
    if (z == 2)
    {
        main2();
        system("cls");
        SetPos(40, 11);
        cout << "是否退出游戏?是Y否N";
        char x;
        SetPos(40, 13);
        cin >> x;
        if (x == 'Y')
            exit(0);
        if (x == 'N')
            goto flag;
    }
    else if (z == 3)
    {
        main3();
        system("cls");
        SetPos(40, 11);
        cout << "是否退出游戏?是Y否N";
        char x;
        SetPos(40, 13);
        cin >> x;
        if (x == 'Y')
            exit(0);
        if (x == 'N')
            goto flag;
    }
    return 0;
}

头文件包含:

map1.h

unsigned char map1[9][9] = {
    {'1',' ',' ',' ',' ',' ',' ','8','3'},
    {'5',' ',' ','3',' ','4',' ',' ',' '},
    {' ','3',' ','9','5',' ','7','2',' '},
    {' ','6','7',' ',' ',' ',' ',' ','5'},
    {' ',' ','5',' ',' ','2',' ',' ',' '},
    {' ',' ',' ','1',' ','5',' ','9','2'},
    {' ',' ','4',' ','1',' ','9',' ',' '},
    {' ',' ',' ','7','4',' ',' ','5','8'},
    {'3','5',' ',' ',' ',' ','4',' ',' '}
};
unsigned char answer1[9][9] = {
    {'1','4','9','6','2','7','5','8','3'},
    {'5','7','2','3','8','4','1','6','9'},
    {'8','3','6','9','5','1','7','2','4'},
    {'2','6','7','4','3','9','8','1','5'},
    {'9','1','5','8','6','2','3','4','7'},
    {'4','8','3','1','7','5','6','9','2'},
    {'7','2','4','5','1','8','9','3','6'},
    {'6','9','1','7','4','3','2','5','8'},
    {'3','5','8','2','9','6','4','7','1'}
};

map2.h

unsigned char map2[9][9] = {
    {'5',' ',' ','3',' ','4','6',' ',' '},
    {'2',' ','8',' ',' ',' ','5',' ',' '},
    {'7',' ',' ',' ','2',' ',' ','4',' '},
    {'1','8',' ',' ',' ',' ',' ','6','3'},
    {' ',' ','7','8','3',' ',' ',' ',' '},
    {' ',' ','3',' ','5','7','2','8',' '},
    {' ','1',' ','2',' ',' ','3',' ',' '},
    {' ',' ','2','7',' ','3',' ',' ','1'},
    {' ','7',' ',' ',' ','9',' ',' ','6'}
};
unsigned char answer2[9][9] = {
    {'5','9','1','3','8','4','6','7','2'},
    {'2','4','8','6','7','1','5','3','9'},
    {'7','3','6','9','2','5','1','4','8'},
    {'1','8','5','4','9','2','7','6','3'},
    {'4','2','7','8','3','6','9','1','5'},
    {'9','6','3','1','5','7','2','8','4'},
    {'6','1','9','2','4','8','3','5','7'},
    {'8','5','2','7','6','3','4','9','1'},
    {'3','7','4','5','1','9','8','2','6'}
};

map3.h

unsigned char map3[9][9] = {
    {'6',' ','2',' ',' ','7',' ',' ',' '},
    {'8',' ',' ',' ','9',' ',' ','4',' '},
    {' ',' ',' ','8',' ',' ','6',' ','2'},
    {' ',' ',' ',' ',' ','2',' ','1','6'},
    {' ','1',' ',' ','3',' ',' ','5',' '},
    {' ','6',' ',' ','7',' ','4',' ',' '},
    {' ','5','8',' ',' ','1',' ',' ',' '},
    {'4',' ',' ',' ',' ',' ','3','6','8'},
    {' ',' ','6','3',' ',' ',' ',' ',' '}
};
unsigned char answer3[9][9] = {
    {'6','9','2','4','1','7','8','3','5'},
    {'8','3','5','2','9','6','1','4','7'},
    {'1','4','7','8','5','3','6','9','2'},
    {'5','8','3','9','4','2','7','1','6'},
    {'7','1','4','6','3','8','2','5','9'},
    {'2','6','9','1','7','5','4','8','3'},
    {'3','5','8','7','6','1','9','2','4'},
    {'4','7','1','5','2','9','3','6','8'},
    {'9','2','6','3','8','4','5','7','1'}
};

map4.h

unsigned char map4[9][9] = {
    {' ',' ',' ',' ','3',' ',' ','8',' '},
    {' ',' ',' ','4',' ',' ','7',' ',' '},
    {' ','7','2',' ','6',' ',' ','5',' '},
    {'5','9',' ',' ',' ','4',' ',' ',' '},
    {' ',' ','6',' ','5',' ','8',' ',' '},
    {' ',' ',' ',' ',' ','3',' ',' ',' '},
    {' ',' ',' ',' ','2','7',' ','3',' '},
    {'3',' ',' ',' ',' ',' ',' ','6','8'},
    {' ',' ','4',' ',' ',' ','5',' ','1'}
};
unsigned char answer4[9][9] = {
    {'1','6','9','7','3','5','4','8','2'},
    {'8','3','5','4','9','2','7','1','6'},
    {'4','7','2','1','6','8','3','5','9'},
    {'5','9','3','8','1','4','6','2','7'},
    {'7','1','6','2','5','9','8','4','3'},
    {'2','4','8','6','7','3','1','9','5'},
    {'6','8','1','5','2','7','9','3','4'},
    {'3','5','7','9','4','1','2','6','8'},
    {'9','2','4','3','8','6','5','7','1'}
};

puzzlea.h

//迷宫1
unsigned char puzzlea[22][22] = {
	{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
	{1,2,0,2,0,2,2,0,0,0,3,0,0,2,0,2,0,0,0,0,0,1},
	{1,2,0,2,0,0,0,0,2,2,0,2,0,2,0,2,0,0,0,0,0,1},
	{1,0,0,0,2,0,2,0,0,0,0,0,2,2,0,2,2,2,0,2,0,1},
	{1,2,0,2,0,0,0,2,2,0,2,0,2,0,0,0,0,2,0,2,2,1},
	{1,0,0,2,0,2,0,0,2,0,0,0,2,0,2,0,2,0,0,2,0,1},
	{1,0,0,0,0,0,2,0,2,2,0,0,2,0,2,0,0,0,0,0,2,1},
	{1,2,0,0,2,0,2,0,0,2,0,2,2,0,2,0,2,0,2,0,2,1},
	{1,0,0,0,2,0,2,0,2,0,0,0,0,0,0,0,0,2,0,0,2,1},
	{1,0,2,2,2,0,2,2,0,0,0,0,2,2,2,2,2,2,0,2,0,1},
	{1,0,0,0,0,2,0,0,0,2,2,2,0,0,0,0,0,2,0,2,0,1},
	{1,2,0,2,0,2,2,0,0,2,0,2,0,2,2,2,0,0,0,2,0,1},
	{1,2,0,2,0,2,0,0,0,2,0,2,0,0,0,2,0,2,0,0,0,1},
	{1,2,0,2,2,0,2,2,2,2,0,2,2,2,2,2,0,2,0,0,2,1},
	{1,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,1},
	{1,0,0,2,0,2,0,0,0,2,2,0,0,2,0,2,2,2,0,2,0,1},
	{1,0,2,2,2,2,2,2,0,0,0,2,0,2,0,0,0,0,0,2,0,1},
	{1,0,0,0,0,0,0,2,2,0,2,2,0,2,2,0,2,0,2,0,0,1},
	{1,0,2,0,2,2,0,0,2,0,2,0,0,2,0,0,0,2,2,0,2,1},
	{1,0,2,0,2,0,2,0,2,2,2,0,2,2,2,0,0,2,2,0,2,1},
	{1,4,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
	{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}
};

puzzleb.h

//迷宫2
unsigned char puzzleb[33][33] = {
	{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
	{1,0,0,0,0,0,2,0,2,0,2,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,2,0,0,0,1},
	{1,0,2,2,2,2,2,0,2,0,2,2,2,0,2,0,2,2,2,0,2,2,2,2,2,0,2,2,2,0,2,2,1},
	{1,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,2,0,2,0,2,0,2,0,2,0,2,0,0,0,1},
	{1,0,2,0,2,2,2,2,2,0,2,2,2,0,2,0,2,2,2,2,2,0,2,0,2,0,2,0,2,0,2,2,1},
	{1,0,2,0,0,0,2,0,0,0,0,0,0,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,0,0,0,0,1},
	{1,0,2,0,2,0,2,2,2,2,2,0,2,0,2,2,2,0,2,0,2,0,2,0,2,0,2,0,2,2,2,0,1},
	{1,0,2,0,2,0,0,0,0,0,2,0,2,0,0,0,2,0,0,0,2,0,2,0,2,0,2,0,0,0,2,0,1},
	{1,2,2,0,2,2,2,0,2,2,2,0,2,0,2,0,2,2,2,0,2,0,2,0,2,0,2,0,2,2,2,2,1},
	{1,0,0,0,0,0,2,0,2,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
	{1,0,2,0,2,2,2,2,2,0,2,2,2,2,2,0,2,2,2,2,2,0,2,0,2,2,2,2,2,2,2,0,1},
	{1,0,2,0,2,0,0,0,2,0,2,0,2,0,0,0,0,0,0,0,2,0,2,0,2,0,2,0,0,0,2,0,1},
	{1,0,2,0,2,0,2,2,2,2,2,0,2,0,2,0,2,2,2,2,2,2,2,2,2,0,2,0,2,2,2,0,1},
	{1,0,2,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,1},
	{1,0,2,2,2,0,2,2,2,2,2,0,2,0,2,0,2,0,2,0,2,0,2,2,2,2,2,0,2,2,2,0,1},
	{1,0,2,0,0,0,0,0,2,0,0,0,2,0,2,0,2,0,0,0,2,0,0,0,2,0,2,0,0,0,2,0,1},
	{1,0,2,2,2,0,2,0,2,0,2,0,2,0,2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,2,2,2,1},
	{1,0,0,0,2,0,2,0,2,0,2,0,2,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,1},
	{1,2,2,0,2,2,2,0,2,2,2,0,2,2,2,0,2,0,2,2,2,2,2,2,2,0,2,0,2,2,2,2,1},
	{1,0,0,0,0,0,2,0,2,0,0,0,0,0,2,0,2,0,0,0,0,0,2,0,0,0,2,0,2,0,2,0,1},
	{1,2,2,2,2,2,2,2,2,2,2,0,2,2,2,2,2,0,2,0,2,2,2,2,2,2,2,0,2,0,2,0,1},
	{1,0,0,0,0,0,2,0,0,0,0,0,2,0,0,0,2,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,1},
	{1,0,2,2,2,0,2,2,2,0,2,0,2,0,2,2,2,2,2,0,2,2,2,2,2,2,2,2,2,0,2,0,1},
	{1,0,2,0,0,0,0,0,0,0,2,0,0,0,2,0,2,0,2,0,0,0,0,0,0,0,2,0,2,0,2,0,1},
	{1,0,2,2,2,2,2,0,2,0,2,2,2,0,2,0,2,0,2,0,2,0,2,2,2,0,2,0,2,0,2,2,1},
	{1,0,2,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,2,0,2,0,2,0,2,0,0,0,2,0,2,0,1},
	{1,2,2,0,2,2,2,0,2,2,2,2,2,0,2,2,2,2,2,0,2,0,2,0,2,2,2,2,2,0,2,0,1},
	{1,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,1},
	{1,0,2,2,2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,2,2,0,2,2,2,0,2,0,2,0,2,0,1},
	{1,0,2,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,2,0,2,0,2,0,2,0,2,0,2,0,1},
	{1,2,2,2,2,0,2,2,2,0,2,0,2,2,2,0,2,2,2,2,2,0,2,0,2,2,2,0,2,2,2,0,1},
	{1,4,0,0,0,0,2,0,0,0,2,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,2,0,0,3,2,0,1},
	{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}
};

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>