91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

可以隨機生成n*n的迷宮

資源截圖

代碼片段和文件信息

#include
#include
#include
#include
#include
#define?N?2 //關卡數目
#define?M?N*50 //地圖大小 M*M
using?namespace?std;

int?Map[M?+?1][M?+?1]?=?{?0?};
??????????????????
int?X=0Y=0;
int?EX=0EY=0;
char?ch;


int?level?=?0;//游戲等級

int?count;//地圖大小
int?my_x?my_y;//我的位置
char?str[2?*?(M?+?1)*(M?+?1)]?=?{?‘\0‘?};
int?IsHaveNeighbor(int?X_index?int?Y_index)
{
int?i?j?flag?=?0;
if?(level?==?0)
{
if?((X_index?>=?3?&&?Map[X_index?-?2][Y_index]?==?1)?||?(X_index?=?3?&&?Map[X_index][Y_index?-?2]?==?1)?||?(Y_index? return?1;
return?0;
}
else?if?(level?==?1)
{
for?(i?=?0;i? {
for?(j?=?0;j? {
if?(Map[i][j]?==?6)//還存在藍色方塊
{
flag++;
}

}
}
return?flag;
}
}
void?Creat_01(int?X_index?int?Y_index)
{
int?rand_position?x?y?flag?=?0;
x?=?X_index;
y?=?Y_index;
//如果四個方向都沒有了,返回上一步,否則,繼續
while?(1)
{
flag?=?0;
flag?=?IsHaveNeighbor(X_index?Y_index);
if?(flag?==?0)
{
return;
}
else
{
Map[X_index][Y_index]?=?5;
x?=?X_index;
y?=?Y_index;
while?(1)
{
rand_position?=?rand()?%?4;
if?(rand_position?==?0?&&?X_index?>=?3?&&?Map[X_index?-?2][Y_index]?==?1)//上
{
X_index?=?X_index?-?2;
}
else?if?(rand_position?==?1?&&?X_index? {
X_index?=?X_index?+?2;
}
else?if?(rand_position?==?2?&&?Y_index?>=?3?&&?Map[X_index][Y_index?-?2]?==?1)//左
{
Y_index?-=?2;
}
else?if?(rand_position?==?3?&&?Y_index? {
Y_index?+=?2;
}
Map[(x?+?X_index)?/?2][(y?+?Y_index)?/?2]?=?5;
Map[X_index][Y_index]?=?5;
Creat_01(X_index?Y_index);
break;
}
}
}
}
void?Creat_02_Change(int?X_index?int?Y_index)
{
if?(X_index?>?1?&&?Map[X_index?-?1][Y_index]?==?0)
Map[X_index?-?1][Y_index]?=?6;
if?(Y_index?>?1?&&?Map[X_index][Y_index?-?1]?==?0)
Map[X_index][Y_index?-?1]?=?6;
if?(X_index? Map[X_index?+?1][Y_index]?=?6;
if?(Y_index? Map[X_index][Y_index?+?1]?=?6;

}
void?Creat_02(int?X_index?int?Y_index)
{
int?rand_point?x?=?1?y?=?2?flag?=?0?i?j;
while?(1)
{
flag?=?IsHaveNeighbor(X_index?Y_index);
if?(flag?==?0)
return;
else
{
while?(1)
{
//如果目前剩余1個藍色方塊
if?(flag?==?1)
rand_point?=?0;
else
rand_point?=?rand()?%?flag;//2個???0??1 隨機一個小于flag的數,用于隨機選取藍色方塊
???//print();
for?(i?=?0;i? {
for?(j?=?0;j? {
if?(Map[i][j]?==?6?&&?rand_point?==?0)
{
x?=?i;
y?=?j;
break;
}
else?if?(Map[i][j]?==?6)
rand_point--;

評論

共有 條評論