亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

易語言如何使用畫板制作圍貓游戲

發布時間:2021-06-17 13:40:38 來源:億速云 閱讀:155 作者:小新 欄目:編程語言

小編給大家分享一下易語言如何使用畫板制作圍貓游戲,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

DLL命令表

.版本 2
.DLL命令 系統關于對話框, , , "ShellAboutA"
  .參數 窗口句柄, 整數型
  .參數 應用程序標題, 文本型
  .參數 其他信息, 文本型
  .參數 圖標句柄, 整數型

圖片資源表

.版本 2
.圖片 圓點白色
.圖片 圓點貓
.圖片 圓點墻
.圖片 圓點叉

圍貓游戲

.版本 2
.程序集 窗口程序集_啟動窗口
.程序集變量 圓點狀態, 整數型, , "121", 0空白1圍墻2陷阱
.程序集變量 貓位置, 整數型
.程序集變量 游戲狀態, 整數型, , , 0未開始1正在游戲2游戲結束
.程序集變量 移動路徑, 整數型, , "0", 貓的逃跑路徑
.程序集變量 圓點步數, 整數型, , "121", 計算逃跑路徑時使用,貓到每一點位置的距離
.子程序 新建游戲
.局部變量 橫向計次, 整數型
.局部變量 縱向計次, 整數型
.局部變量 位置頂邊, 整數型
.局部變量 位置左邊, 整數型
.局部變量 臨時整數, 整數型
.局部變量 計次變量, 整數型
.局部變量 當前位置, 整數型
' 重置游戲狀態
.計次循環首 (121, 臨時整數)
  圓點狀態 [臨時整數] = 0
.計次循環尾 ()
游戲狀態 = 1
貓位置 = 61
清除數組 (移動路徑)
' 畫出背景
臨時整數 = 載入圖片 (#圓點白色)
.計次循環首 (11, 縱向計次)
  .計次循環首 (11, 橫向計次)
    位置左邊 = (橫向計次 - 1) × 48
    .如果真 (縱向計次 % 2 = 0)
      位置左邊 = 位置左邊 + 24
    .如果真結束
    位置頂邊 = (縱向計次 - 1) × 40
    畫板1.畫圖片 (臨時整數, 位置左邊, 位置頂邊, , , -取顏色值 (128, 128, 128))
  .計次循環尾 ()
.計次循環尾 ()
卸載圖片 (臨時整數)
' 畫出貓
臨時整數 = 載入圖片 (#圓點貓)
縱向計次 = (貓位置 - 1) \ 11
橫向計次 = 貓位置 - 縱向計次 × 11
位置左邊 = (橫向計次 - 1) × 48
.如果真 (縱向計次 % 2 = 1)
  位置左邊 = 位置左邊 + 24
.如果真結束
位置頂邊 = 縱向計次 × 40
畫板1.畫圖片 (臨時整數, 位置左邊, 位置頂邊, , , -取顏色值 (128, 128, 128))
卸載圖片 (臨時整數)
' 畫出隨機9個×
臨時整數 = 載入圖片 (#圓點叉)
.判斷循環首 (計次變量 < 9)
  置隨機數種子 ()
  當前位置 = 取隨機數 (1, 121)
  .如果真 (當前位置 ≠ 貓位置 且 圓點狀態 [當前位置] = 0)
    計次變量 = 計次變量 + 1
    圓點狀態 [當前位置] = 2
    縱向計次 = (當前位置 - 1) \ 11
    橫向計次 = 當前位置 - 縱向計次 × 11
    位置左邊 = (橫向計次 - 1) × 48
    .如果真 (縱向計次 % 2 = 1)
      位置左邊 = 位置左邊 + 24
    .如果真結束
    位置頂邊 = 縱向計次 × 40
    畫板1.畫圖片 (臨時整數, 位置左邊, 位置頂邊, , , -取顏色值 (128, 128, 128))
  .如果真結束
.判斷循環尾 ()
卸載圖片 (臨時整數)
.子程序 _畫板1_鼠標左鍵被按下, 邏輯型
.參數 橫向位置, 整數型
.參數 縱向位置, 整數型
.參數 功能鍵狀態, 整數型
.局部變量 橫坐標, 整數型
.局部變量 縱坐標, 整數型
.局部變量 臨時整數, 整數型
.局部變量 位置頂邊, 整數型
.局部變量 位置左邊, 整數型
.局部變量 位置序號, 整數型
.如果真 (游戲狀態 ≠ 1)
  返回 ()
.如果真結束
.如果真 (畫板1.取點 (橫向位置, 縱向位置) = #灰色)
  返回 ()
.如果真結束
縱坐標 = 縱向位置 \ 40
.如果 (縱坐標 % 2 = 1)
  橫坐標 = (橫向位置 + 24) \ 48 - 1
.否則
  橫坐標 = 橫向位置 \ 48
.如果結束
' 計算點擊序號
位置序號 = 橫坐標 + 縱坐標 × 11 + 1
' 判斷是否可以圍墻
.如果真 (位置序號 = 貓位置)
  返回 ()
.如果真結束
.如果真 (圓點狀態 [位置序號] > 0)
  返回 ()
.如果真結束
' 畫出圍墻
臨時整數 = 載入圖片 (#圓點墻)
位置左邊 = 橫坐標 × 48
.如果真 (縱坐標 % 2 = 1)
  位置左邊 = 位置左邊 + 24
.如果真結束
位置頂邊 = 縱坐標 × 40
畫板1.畫圖片 (臨時整數, 位置左邊, 位置頂邊, , , )
卸載圖片 (臨時整數)
' 修改位置狀態
圓點狀態 [位置序號] = 1
' 移動貓
移動貓 ()
' 檢查游戲狀態
檢查狀態 ()
.子程序 移動貓
.局部變量 橫坐標, 整數型
.局部變量 縱坐標, 整數型
.局部變量 位置左邊, 整數型
.局部變量 位置頂邊, 整數型
.局部變量 臨時整數, 整數型
' 尋找逃跑路徑
尋找路徑 ()
' 移動路徑
.如果真 (取數組成員數 (移動路徑) > 1 且 游戲狀態 = 1)
  ' 刪除貓
  臨時整數 = 載入圖片 (#圓點白色)
  縱坐標 = (貓位置 - 1) \ 11
  橫坐標 = 貓位置 - 縱坐標 × 11
  位置左邊 = (橫坐標 - 1) × 48
  .如果真 (縱坐標 % 2 = 1)
    位置左邊 = 位置左邊 + 24
  .如果真結束
  位置頂邊 = 縱坐標 × 40
  畫板1.畫圖片 (臨時整數, 位置左邊, 位置頂邊, , , -取顏色值 (128, 128, 128))
  卸載圖片 (臨時整數)
  ' 移動貓位置
  貓位置 = 移動路徑 [2]
  刪除成員 (移動路徑, 1, )
  ' 畫出貓
  臨時整數 = 載入圖片 (#圓點貓)
  縱坐標 = (貓位置 - 1) \ 11
  橫坐標 = 貓位置 - 縱坐標 × 11
  位置左邊 = (橫坐標 - 1) × 48
  .如果真 (縱坐標 % 2 = 1)
    位置左邊 = 位置左邊 + 24
  .如果真結束
  位置頂邊 = 縱坐標 × 40
  畫板1.畫圖片 (臨時整數, 位置左邊, 位置頂邊, , , -取顏色值 (128, 128, 128))
  卸載圖片 (臨時整數)
.如果真結束
.子程序 檢查路徑, , , 無用
.局部變量 計次變量, 整數型
.局部變量 是否可用, 邏輯型
.如果 (取數組成員數 (移動路徑) = 0)
  尋找路徑 ()
.否則
  ' 判斷現有路徑是否還可用
  是否可用 = 真
  .計次循環首 (取數組成員數 (移動路徑), 計次變量)
    .如果真 (圓點狀態 [移動路徑 [計次變量]] > 0)
      是否可用 = 假
      跳出循環 ()
    .如果真結束
  .計次循環尾 ()
  .如果真 (是否可用 = 假)
    尋找路徑 ()
  .如果真結束
.如果結束
.子程序 尋找路徑
.局部變量 當前路徑, 整數型, , "0"
.局部變量 最短路徑, 整數型, , "0"
.局部變量 邊緣位置, 整數型, , "40"
.局部變量 計次變量, 整數型
.局部變量 是否完成, 邏輯型
.局部變量 臨時文本, 文本型
.局部變量 出口位置, 整數型
清除數組 (移動路徑)
' 計算邊緣位置
.計次循環首 (11, 計次變量)
  邊緣位置 [計次變量] = 計次變量
.計次循環尾 ()
.計次循環首 (9, 計次變量)
  邊緣位置 [計次變量 + 11] = 計次變量 × 11 + 1
.計次循環尾 ()
.計次循環首 (9, 計次變量)
  邊緣位置 [計次變量 + 20] = (計次變量 + 1) × 11
.計次循環尾 ()
.計次循環首 (11, 計次變量)
  邊緣位置 [計次變量 + 29] = 計次變量 + 110
.計次循環尾 ()
' 重置步數
.計次循環首 (121, 計次變量)
  圓點步數 [計次變量] = 99
.計次循環尾 ()
圓點步數 [貓位置] = 0
' 遞歸計算貓位置到每個位置的步數
計算步數 (貓位置)
' 尋找最短的出口位置
.計次循環首 (40, 計次變量)
  .如果真 (圓點步數 [邊緣位置 [計次變量]] > 1)
    .如果 (出口位置 = 0)
      出口位置 = 邊緣位置 [計次變量]
    .否則
      .如果真 (圓點步數 [邊緣位置 [計次變量]] < 圓點步數 [出口位置])
        出口位置 = 邊緣位置 [計次變量]
      .如果真結束
    .如果結束
  .如果真結束
.計次循環尾 ()
.如果真 (出口位置 = 0)
  返回 ()
.如果真結束
' 反向遞歸生成移動路徑
加入成員 (移動路徑, 出口位置)
生成路徑 (出口位置)
.子程序 生成路徑
.參數 當前位置, 整數型
.局部變量 當前步數, 整數型
.局部變量 橫坐標, 整數型
.局部變量 縱坐標, 整數型
.局部變量 周圍位置, 整數型, , "6"
.局部變量 下個位置, 整數型
.局部變量 計次變量, 整數型
當前步數 = 圓點步數 [當前位置]
.如果真 (當前步數 = 1)
  插入成員 (移動路徑, 1, 貓位置)
  返回 ()
.如果真結束
縱坐標 = (當前位置 - 1) \ 11
橫坐標 = 當前位置 - 縱坐標 × 11 - 1
' 計算周圍的位置
' 查找左上角
.如果真 (縱坐標 > 0)
  .如果 (縱坐標 % 2 = 1)
    周圍位置 [1] = (縱坐標 - 1) × 11 + 橫坐標 + 1
  .否則
    .如果真 (橫坐標 > 0)
      周圍位置 [1] = (縱坐標 - 1) × 11 + 橫坐標
    .如果真結束
  .如果結束
.如果真結束
' 查找右上角
.如果真 (縱坐標 > 0)
  .如果 (縱坐標 % 2 = 1)
    .如果真 (橫坐標 < 10)
      周圍位置 [2] = (縱坐標 - 1) × 11 + 橫坐標 + 2
    .如果真結束
  .否則
    周圍位置 [2] = (縱坐標 - 1) × 11 + 橫坐標 + 1
  .如果結束
.如果真結束
' 查找左邊
.如果真 (橫坐標 > 0)
  周圍位置 [3] = 縱坐標 × 11 + 橫坐標
.如果真結束
' 查找右邊
.如果真 (橫坐標 < 10)
  周圍位置 [4] = 縱坐標 × 11 + 橫坐標 + 2
.如果真結束
' 查找左下角
.如果真 (縱坐標 < 10)
  .如果 (縱坐標 % 2 = 1)
    周圍位置 [5] = (縱坐標 + 1) × 11 + 橫坐標 + 1
  .否則
    .如果真 (橫坐標 > 0)
      周圍位置 [5] = (縱坐標 + 1) × 11 + 橫坐標
    .如果真結束
  .如果結束
.如果真結束
' 查找右下角
.如果真 (縱坐標 < 10)
  .如果 (縱坐標 % 2 = 1)
    .如果真 (橫坐標 < 10)
      周圍位置 [6] = (縱坐標 + 1) × 11 + 橫坐標 + 2
    .如果真結束
  .否則
    周圍位置 [6] = (縱坐標 + 1) × 11 + 橫坐標 + 1
  .如果結束
.如果真結束
' 尋找下個位置
.計次循環首 (6, 計次變量)
  .如果真 (周圍位置 [計次變量] > 0)
    .如果真 (圓點步數 [周圍位置 [計次變量]] = 當前步數 - 1)
      下個位置 = 周圍位置 [計次變量]
      跳出循環 ()
    .如果真結束
  .如果真結束
.計次循環尾 ()
' 如果找不到路徑,游戲結束
.如果真 (下個位置 = 0)
  當前步數 = 0
  .計次循環首 (121, 計次變量)
    .如果真 (圓點狀態 [計次變量] = 1)
      當前步數 = 當前步數 + 1
    .如果真結束
  .計次循環尾 ()
  信息框 (“貓被圍住了!一共用了” + 到文本 (當前步數) + “步。”, #信息圖標, “游戲結束”)
  游戲狀態 = 2
  返回 ()
.如果真結束
' 加入數組
插入成員 (移動路徑, 1, 下個位置)
' 遞歸調用
生成路徑 (下個位置)
.子程序 計算步數
.參數 當前位置, 整數型
.局部變量 橫坐標, 整數型
.局部變量 縱坐標, 整數型
.局部變量 周圍位置, 整數型, , "6"
.局部變量 計次變量, 整數型
縱坐標 = (當前位置 - 1) \ 11
橫坐標 = 當前位置 - 縱坐標 × 11 - 1
' 計算周圍的位置
' 查找左上角
.如果真 (縱坐標 > 0)
  .如果 (縱坐標 % 2 = 1)
    周圍位置 [1] = (縱坐標 - 1) × 11 + 橫坐標 + 1
  .否則
    .如果真 (橫坐標 > 0)
      周圍位置 [1] = (縱坐標 - 1) × 11 + 橫坐標
    .如果真結束
  .如果結束
.如果真結束
' 查找右上角
.如果真 (縱坐標 > 0)
  .如果 (縱坐標 % 2 = 1)
    .如果真 (橫坐標 < 10)
      周圍位置 [2] = (縱坐標 - 1) × 11 + 橫坐標 + 2
    .如果真結束
  .否則
    周圍位置 [2] = (縱坐標 - 1) × 11 + 橫坐標 + 1
  .如果結束
.如果真結束
' 查找左邊
.如果真 (橫坐標 > 0)
  周圍位置 [3] = 縱坐標 × 11 + 橫坐標
.如果真結束
' 查找右邊
.如果真 (橫坐標 < 10)
  周圍位置 [4] = 縱坐標 × 11 + 橫坐標 + 2
.如果真結束
' 查找左下角
.如果真 (縱坐標 < 10)
  .如果 (縱坐標 % 2 = 1)
    周圍位置 [5] = (縱坐標 + 1) × 11 + 橫坐標 + 1
  .否則
    .如果真 (橫坐標 > 0)
      周圍位置 [5] = (縱坐標 + 1) × 11 + 橫坐標
    .如果真結束
  .如果結束
.如果真結束
' 查找右下角
.如果真 (縱坐標 < 10)
  .如果 (縱坐標 % 2 = 1)
    .如果真 (橫坐標 < 10)
      周圍位置 [6] = (縱坐標 + 1) × 11 + 橫坐標 + 2
    .如果真結束
  .否則
    周圍位置 [6] = (縱坐標 + 1) × 11 + 橫坐標 + 1
  .如果結束
.如果真結束
' 設置周圍步數
.計次循環首 (6, 計次變量)
  .如果真 (周圍位置 [計次變量] > 0)
    .如果 (圓點狀態 [周圍位置 [計次變量]] = 0)
      .如果 (圓點步數 [周圍位置 [計次變量]] > 圓點步數 [當前位置] + 1)
        圓點步數 [周圍位置 [計次變量]] = 圓點步數 [當前位置] + 1
      .否則
        周圍位置 [計次變量] = 0
      .如果結束
    .否則
      圓點步數 [周圍位置 [計次變量]] = -1
      周圍位置 [計次變量] = 0
    .如果結束
  .如果真結束
.計次循環尾 ()
' 遞歸調用
.計次循環首 (6, 計次變量)
  .如果真 (周圍位置 [計次變量] > 0)
    計算步數 (周圍位置 [計次變量])
  .如果真結束
.計次循環尾 ()
.子程序 檢查狀態
.局部變量 橫坐標, 整數型
.局部變量 縱坐標, 整數型
.局部變量 位置序號, 整數型
.局部變量 缺口數量, 整數型
.局部變量 圍墻數量, 整數型
.局部變量 計次變量, 整數型
縱坐標 = (貓位置 - 1) \ 11
橫坐標 = 貓位置 - 縱坐標 × 11 - 1
' 查找左上角
.如果 (縱坐標 > 0)
  .如果 (縱坐標 % 2 = 1)
    位置序號 = (縱坐標 - 1) × 11 + 橫坐標 + 1
    .如果真 (圓點狀態 [位置序號] > 0)
      圍墻數量 = 圍墻數量 + 1
    .如果真結束
  .否則
    .如果 (橫坐標 > 0)
      位置序號 = (縱坐標 - 1) × 11 + 橫坐標
      .如果真 (圓點狀態 [位置序號] > 0)
        圍墻數量 = 圍墻數量 + 1
      .如果真結束
    .否則
      缺口數量 = 缺口數量 + 1
    .如果結束
  .如果結束
.否則
  缺口數量 = 缺口數量 + 1
.如果結束
' 查找右上角
.如果 (縱坐標 > 0)
  .如果 (縱坐標 % 2 = 1)
    .如果 (橫坐標 < 10)
      位置序號 = (縱坐標 - 1) × 11 + 橫坐標 + 2
      .如果真 (圓點狀態 [位置序號] > 0)
        圍墻數量 = 圍墻數量 + 1
      .如果真結束
    .否則
      缺口數量 = 缺口數量 + 1
    .如果結束
  .否則
    位置序號 = (縱坐標 - 1) × 11 + 橫坐標 + 1
    .如果真 (圓點狀態 [位置序號] > 0)
      圍墻數量 = 圍墻數量 + 1
    .如果真結束
  .如果結束
.否則
  缺口數量 = 缺口數量 + 1
.如果結束
' 查找左邊
.如果 (橫坐標 > 0)
  位置序號 = 縱坐標 × 11 + 橫坐標
  .如果真 (圓點狀態 [位置序號] > 0)
    圍墻數量 = 圍墻數量 + 1
  .如果真結束
.否則
  缺口數量 = 缺口數量 + 1
.如果結束
' 查找右邊
.如果 (橫坐標 < 10)
  位置序號 = 縱坐標 × 11 + 橫坐標 + 2
  .如果真 (圓點狀態 [位置序號] > 0)
    圍墻數量 = 圍墻數量 + 1
  .如果真結束
.否則
  缺口數量 = 缺口數量 + 1
.如果結束
' 查找左下角
.如果 (縱坐標 < 10)
  .如果 (縱坐標 % 2 = 1)
    位置序號 = (縱坐標 + 1) × 11 + 橫坐標 + 1
    .如果真 (圓點狀態 [位置序號] > 0)
      圍墻數量 = 圍墻數量 + 1
    .如果真結束
  .否則
    .如果 (橫坐標 > 0)
      位置序號 = (縱坐標 + 1) × 11 + 橫坐標
      .如果真 (圓點狀態 [位置序號] > 0)
        圍墻數量 = 圍墻數量 + 1
      .如果真結束
    .否則
      缺口數量 = 缺口數量 + 1
    .如果結束
  .如果結束
.否則
  缺口數量 = 缺口數量 + 1
.如果結束
' 查找右下角
.如果 (縱坐標 < 10)
  .如果 (縱坐標 % 2 = 1)
    .如果 (橫坐標 < 10)
      位置序號 = (縱坐標 + 1) × 11 + 橫坐標 + 2
      .如果真 (圓點狀態 [位置序號] > 0)
        圍墻數量 = 圍墻數量 + 1
      .如果真結束
    .否則
      缺口數量 = 缺口數量 + 1
    .如果結束
  .否則
    位置序號 = (縱坐標 + 1) × 11 + 橫坐標 + 1
    .如果真 (圓點狀態 [位置序號] > 0)
      圍墻數量 = 圍墻數量 + 1
    .如果真結束
  .如果結束
.否則
  缺口數量 = 缺口數量 + 1
.如果結束
.如果真 (缺口數量 > 0)
  信息框 (“貓逃跑了!”, #信息圖標, “游戲結束”)
  游戲狀態 = 2
  返回 ()
.如果真結束
.如果真 (圍墻數量 > 5)
  .計次循環首 (121, 計次變量)
    .如果真 (圓點狀態 [計次變量] = 1)
      缺口數量 = 缺口數量 + 1
    .如果真結束
  .計次循環尾 ()
  信息框 (“貓被圍住了!一共用了” + 到文本 (缺口數量) + “步。”, #信息圖標, “游戲結束”)
  游戲狀態 = 2
  返回 ()
.如果真結束
.子程序 __啟動窗口_創建完畢
_啟動窗口.寬度 = _啟動窗口.寬度 + 544 - _啟動窗口.取用戶區寬度 ()
_啟動窗口.高度 = _啟動窗口.高度 + 440 - _啟動窗口.取用戶區高度 ()
.子程序 _菜單開始游戲_被選擇
新建游戲 ()

運行結果:

易語言如何使用畫板制作圍貓游戲

以上是“易語言如何使用畫板制作圍貓游戲”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

巍山| 图木舒克市| 千阳县| 甘南县| 福清市| 红桥区| 凤城市| 长武县| 武陟县| 游戏| 绥江县| 顺平县| 汝城县| 台南市| 宣城市| 宜宾县| 汉阴县| 四子王旗| 中方县| 禹州市| 汉源县| 四川省| 共和县| 喀什市| 临夏市| 盐源县| 尼玛县| 大方县| 方城县| 黔南| 富平县| 禹城市| 湾仔区| 雷山县| 江山市| 霸州市| 龙川县| 芮城县| 潮州市| 沙湾县| 乾安县|