数独,迷宫,井字棋游戏三合一
三个游戏打包成一个游戏
代码非常长,耐心观看,先上结果
源文件代码:
#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
二维码