導航:首頁 > 源碼編譯 > 空白點演算法

空白點演算法

發布時間:2023-08-04 21:21:33

⑴ 掃雷點到空格時的演算法 跪求

從手工點開的這個空格進行處理,按上右下左或你自己定義的一個順序來判斷相應位置的格式是否是空格且未被點開,如果不是,則跳過,如果是,則將其自動點開,同時把這幾個位置加入隊列後續處理。
簡單的流程圖示意:

當前位置是空白位置?----否--->非空白的處理
|
|是
|
V
加入隊列
|
V
+--->隊列為空?-------->是--->結束
||
||否
||
|V
|第一個元素出隊
||
|V
|點開該元素所指的位置
||
|V
|上左下右的位置如果是空白且未點開則入隊
||
--------+


上面是非遞歸的方案,遞歸方案則更容易了:
偽代碼演算法描述如下:
Click(pos)//點開pos這個位置
{
//IsClicked()判斷是否是已經點開的格子
if(IsClicked(pos))
return;

//IsBlank()判斷是否是空白格子
if(!IsBlank(pos))
{
點開非空白格子的處理
}

//下面是點開空白格子的處理
ClickBlank(pos);
}

ClickBlank(pos)
{
if(!IsBlank(pos))
rerurn;

if(IsClicked(pos))
return;

//下面對四個方向的格子進行自動點開
//你需要計算四向的格子位置,無效的直接返回

ClickBlank(pos上面的格子);
ClickBlank(pos右面的格子);
ClickBlank(pos下面的格子);
ClickBlank(pos左面的格子);
}

閱讀全文

與空白點演算法相關的資料

熱點內容
什麼是面向對象編程語言 瀏覽:432
javaweb嵌入式 瀏覽:893
linux怎麼設置多個文件夾 瀏覽:679
bat命令刪除文件 瀏覽:607
三星s8加密視頻 瀏覽:254
python內置庫的使用 瀏覽:785
udid定製源碼 瀏覽:177
全部編譯後標簽的軟元件 瀏覽:858
ida反編譯和od 瀏覽:858
悲憫pdf 瀏覽:745
蘋果怎麼退款app 瀏覽:275
進化演算法屬於智能演算法嗎 瀏覽:146
騰訊雲伺服器內存不夠自動重啟 瀏覽:228
編譯器c語言輸入中文 瀏覽:452
ps4雲伺服器初始化 瀏覽:360
數控車床編程加工視頻 瀏覽:245
程序員在公司受到委屈 瀏覽:783
玩和平精英顯示連接不到伺服器怎麼辦 瀏覽:705
安卓如何一步安裝軟體 瀏覽:493
雲服開我的世界伺服器標配 瀏覽:170