易語言製作歡樂鬥牛單機版遊戲源碼

今天小編就爲大家分享一篇關於易語言製作歡樂鬥牛單機版遊戲源碼,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

DLL命令表

.版本 2
.DLL命令 複製內存_複製位圖信息頭到字節集, , , "RtlMoveMemory"
  .參數 Dest, 字節型, 傳址
  .參數 Src, BITMAPINFOHEADER
  .參數 len, 整數型
.DLL命令 複製內存_複製位圖文件頭到字節集, , , "RtlMoveMemory"
  .參數 Dest, 字節型, 傳址
  .參數 Src, 文件頭信息_
  .參數 len, 整數型
.DLL命令 複製內存_字節集到字節集, , , "RtlMoveMemory"
  .參數 Dest, 字節型, 傳址
  .參數 Src, 字節型, 傳址
  .參數 len, 整數型

自定義數據類型表

.版本 2
.數據類型 BITMAPINFOHEADER
  .成員 biSize, 整數型
  .成員 biWidth, 整數型
  .成員 biHeight, 整數型
  .成員 biPlanes, 短整數型
  .成員 biBitCount, 短整數型
  .成員 biCompression, 整數型
  .成員 biSizeImage, 整數型
  .成員 biXPelsPerMeter, 整數型
  .成員 biYPelsPerMeter, 整數型
  .成員 biClrUsed, 整數型
  .成員 biClrImportant, 整數型
.數據類型 花色牌點
  .成員 花色, 整數型
  .成員 牌點, 整數型
.數據類型 文件頭信息_
  .成員 文件類型, 短整數型, , , bfType
  .成員 結果大小, 整數型, , , bfSize
  .成員 保留1, 短整數型, , , bfReserved1保留,必須設置爲0
  .成員 保留2, 短整數型, , , bfReserved2保留,必須設置爲0
  .成員 偏移量, , , , bfOffBits從文件頭開始到實際的圖象數據之間的字節的偏移量

歡樂鬥牛單機版

.版本 2
.支持庫 iext
.支持庫 iext2
.支持庫 dp1
.支持庫 spec
.程序集 窗口程序集1
.程序集變量 集_牌型數據, 整數型, , "6,5", 多維數組,用來存放6個玩家、每個玩家5張牌數據,用1-40純數字表示
.程序集變量 集_保存數據, 文本型, , "24", 存檔文件需要保存的數據,本來想弄個債務的,沒弄了,實際只保存了6 * 3=18項數據
.程序集變量 集_各家分值, 小數型, , "6", 經過計算後保存的6家分值
.程序集變量 集_玩家算分, 小數型, , , 玩家自己算出來的分數
.程序集變量 集_下注金額, 整數型, , "6", 10 20 30 40 50 * 牌型倍率,各閒家牌與莊家比較,單獨結算輸贏
.程序集變量 集_動畫物體, 整數型, , "30", 動畫物體組件,加載30張撲克牌
.程序集變量 集_玩家數據, 透明標籤, , "24", 透明標籤組件,加載等級、資金、經驗等數據
.程序集變量 集_公告類別, 透明標籤, , "5", 透明標籤組件,公告類別
.程序集變量 集_公告信息, 透明標籤, , "5", 透明標籤組件,公告信息
.程序集變量 集_牛型標籤, 透明標籤, , "6", 透明標籤組件,牛型
.程序集變量 集_下注按鈕, 按鈕, , "5", 按鈕組件,下注用
.程序集變量 集_點出牌數, 整數型, , , 玩家點出的牌數,最大=3
.程序集變量 集_是否點出, 邏輯型, , "5", 標記玩家的5張牌是否已經點出
.程序集變量 集_開始算牌, 邏輯型, , , 特定的時間段玩家才能點出或縮回撲克牌
.程序集變量 集_是否強退, 邏輯型, , , 逃跑扣分檢測
.程序集變量 集_莊家位置, 整數型, , , 1-6,玩家=6,第一局隨機莊家,以後爲拿到牛牛且爲最大牌的玩家坐莊
.子程序 __啓動窗口_創建完畢
動畫框_底圖.創建物體 (動畫物體_撲克, 355, 220, 真, )
子_複製窗口組件 ()
.如果真 (讀配置項 (取運行目錄 () + “\存檔.dat”, “颵訩”, “B0E0Y”, “空”) = “空”)
  子_生成默認數據保存 ()
.如果真結束
子_讀取存檔文件 ()
子_插入公告 (“【系統】”, “歡迎使用[習作_歡樂鬥牛_湖南版]!”)
子_插入公告 (“【系統】”, “本版玩法去掉了10 J Q K 小王 大王!”)
子_插入公告 (“【系統】”, “程序內聲音、圖片素材來自網絡,僅供娛樂!”)
子_插入公告 (“【公告】”, “== 適度賭博益腦,沉迷賭博傷身!==”)
子_插入公告 (“【公告】”, “== 合理安排時間,享受健康生活!==”)
.子程序 __啓動窗口_將被銷燬
__啓動窗口_可否被關閉 ()
.子程序 __啓動窗口_可否被關閉, 邏輯型, , 強行推出扣分500,電腦各加100分
.局部變量 局_計次, 整數型
.如果 (集_是否強退 = 真)
  .如果 (信息框 (“強行退出本局將扣掉500金幣!”, #詢問圖標 + #確認取消鈕, “警告”) = #確認鈕)
    .計次循環首 (5, 局_計次) ' 電腦各加100
      集_保存數據 [局_計次 + (局_計次 - 1) × 3 + 1] = 到文本 (到數值 (集_保存數據 [局_計次 + (局_計次 - 1) × 3 + 1]) + 100) ' 2 6 10 14 18
    .計次循環尾 ()
    集_保存數據 [22] = 到文本 (到數值 (集_保存數據 [22]) - 500) ' 22 玩家-500
    子_保存存檔文件 ()
    結束 ()
    銷燬 ()
  .否則
  .如果結束
  返回 (假)
.否則
.如果結束
.子程序 子_取稱號, 文本型, , 借用的征途2S等級排名稱號
.參數 參_等級, 整數型
.局部變量 局_返回文本, 文本型
' 初入江湖 武林菜鳥 江湖小蝦 試劍江湖 後起之秀 聲名鵲起 草莽豪傑 武林新貴 武林高手
' 逍遙遊俠 江湖俠隱 世外高人 開山立派 一代宗師 震古爍今 武林至尊 獨孤求敗
.判斷開始 (參_等級 ≥ 0 且 參_等級 < 3) ' 白色
  局_返回文本 = “初入江湖”
.判斷 (參_等級 ≥ 3 且 參_等級 < 5) ' 白色
  局_返回文本 = “武林菜鳥”
.判斷 (參_等級 ≥ 5 且 參_等級 < 7) ' 白色
  局_返回文本 = “江湖小蝦”
.判斷 (參_等級 ≥ 7 且 參_等級 < 10) ' 白色 1-9級
  局_返回文本 = “試劍江湖”
.判斷 (參_等級 ≥ 10 且 參_等級 < 13) ' 藍色
  局_返回文本 = “後起之秀”
.判斷 (參_等級 ≥ 13 且 參_等級 < 15) ' 藍色
  局_返回文本 = “聲名鵲起”
.判斷 (參_等級 ≥ 15 且 參_等級 < 17) ' 藍色
  局_返回文本 = “草莽豪傑”
.判斷 (參_等級 ≥ 17 且 參_等級 < 20) ' 藍色 10-19級
  局_返回文本 = “武林新貴”
.判斷 (參_等級 ≥ 20 且 參_等級 < 25) ' 黃色
  局_返回文本 = “武林高手”
.判斷 (參_等級 ≥ 25 且 參_等級 < 30) ' 黃色
  局_返回文本 = “逍遙遊俠”
.判斷 (參_等級 ≥ 30 且 參_等級 < 35) ' 黃色 20-34級
  局_返回文本 = “江湖俠隱”
.判斷 (參_等級 ≥ 35 且 參_等級 < 40) ' 綠色
  局_返回文本 = “世外高人”
.判斷 (參_等級 ≥ 40 且 參_等級 < 45) ' 綠色
  局_返回文本 = “開山立派”
.判斷 (參_等級 ≥ 45 且 參_等級 < 50) ' 綠色 35-49級
  局_返回文本 = “一代宗師”
.判斷 (參_等級 ≥ 50 且 參_等級 < 60) ' 紫色
  局_返回文本 = “震古爍今”
.判斷 (參_等級 ≥ 60 且 參_等級 < 70) ' 紫色
  局_返回文本 = “武林至尊”
.判斷 (參_等級 ≥ 70) ' 紫色
  局_返回文本 = “獨孤求敗”
.默認
.判斷結束
返回 (局_返回文本)
.子程序 子_保存存檔文件, , , 將“集_保存數據”數組整合成一條文本加密保存入存檔文件
.局部變量 局_計次, 整數型
.局部變量 局_保存文本, 文本型
.計次循環首 (24, 局_計次)
  .如果 (局_計次 = 24)
    局_保存文本 = 局_保存文本 + 集_保存數據 [局_計次]
  .否則
    局_保存文本 = 局_保存文本 + 集_保存數據 [局_計次] + “|”
  .如果結束
.計次循環尾 ()
寫配置項 (取運行目錄 () + “\存檔.dat”, “颵訩”, “B0E0Y”, 子_加密文本 (局_保存文本, “我愛易語言”))
.子程序 子_讀取存檔文件, , , 讀取存檔文件,將文本分割成24份數據賦值到“集_保存數據”數組
.局部變量 局_臨時文本, 文本型
.局部變量 局_計次, 整數型
.局部變量 局_臨時數組, 文本型, , "24"
局_臨時文本 = 子_解密文本 (讀配置項 (取運行目錄 () + “\存檔.dat”, “颵訩”, “B0E0Y”, “空”), “我愛易語言”)
.如果真 (局_臨時文本 ≠ “空”)
  局_臨時數組 = 分割文本 (局_臨時文本, “|”, 24)
  .計次循環首 (24, 局_計次)
    集_保存數據 [局_計次] = 局_臨時數組 [局_計次]
  .計次循環尾 ()
  .計次循環首 (6, 局_計次)
    .如果 (局_計次 = 6)
      集_玩家數據 [局_計次 + (局_計次 - 1) × 3].標題 = “玩家六 ” + 集_保存數據 [局_計次 + (局_計次 - 1) × 3] + “級” ' 順序 1 5 9 13 17 21
    .否則
      集_玩家數據 [局_計次 + (局_計次 - 1) × 3].標題 = “電腦” + 數值到大寫 (局_計次, 真) + “ ” + 集_保存數據 [局_計次 + (局_計次 - 1) × 3] + “級”
    .如果結束
    集_玩家數據 [局_計次 + (局_計次 - 1) × 3 + 1].標題 = “稱號:” + 子_取稱號 (到數值 (集_保存數據 [局_計次 + (局_計次 - 1) × 3])) ' 2 6 10 14 18 22
    集_玩家數據 [局_計次 + (局_計次 - 1) × 3 + 2].標題 = “資金:” + 集_保存數據 [局_計次 + (局_計次 - 1) × 3 + 1] ' 3 7 11 15 19 23
    集_玩家數據 [局_計次 + (局_計次 - 1) × 3 + 3].標題 = “經驗:” + 集_保存數據 [局_計次 + (局_計次 - 1) × 3 + 3] + “/” + 到文本 (到數值 (集_保存數據 [局_計次 + (局_計次 - 1) × 3]) × 50) ' 4 8 12 16 20 24
  .計次循環尾 ()
.如果真結束
.子程序 子_生成默認數據保存, , , 第一次運行時生成的默認數據
.局部變量 局_計次, 整數型
.局部變量 局_保存文本, 文本型
.計次循環首 (6, 局_計次)
  集_保存數據 [局_計次 + (局_計次 - 1) × 3] = “1” ' 順序 1 5 9 13 17 21  等級= 1級
  集_保存數據 [局_計次 + (局_計次 - 1) × 3 + 1] = “50000” ' 2 6 10 14 18 22 資金=50000
  集_保存數據 [局_計次 + (局_計次 - 1) × 3 + 2] = “0” ' 3 7 11 15 19 23 債務=0
  集_保存數據 [局_計次 + (局_計次 - 1) × 3 + 3] = “0” ' 4 8 12 16 20 24 經驗=0
.計次循環尾 ()
.計次循環首 (24, 局_計次)
  .如果 (局_計次 = 24)
    局_保存文本 = 局_保存文本 + 集_保存數據 [局_計次]
  .否則
    局_保存文本 = 局_保存文本 + 集_保存數據 [局_計次] + “|”
  .如果結束
.計次循環尾 ()
寫配置項 (取運行目錄 () + “\存檔.dat”, “颵訩”, “B0E0Y”, 子_加密文本 (局_保存文本, “我愛易語言”))
.子程序 子_加密文本, 文本型, 公開
.參數 參_加密文本, 文本型
.參數 參_密碼, 文本型, 可空
.局部變量 局_a, 文本型
.局部變量 局_b, 文本型, , "0"
.局部變量 局_c, 整數型
.局部變量 局_b1, 文本型, , "0"
.局部變量 局_b2, 文本型, , "0"
.局部變量 局_t, 文本型, , , 臨時文本
.局部變量 局_t1, 文本型, , "0"
.局部變量 局_t2, 整數型
數組清零 (局_t1)
局_t = “0要在TUVWXYZ我地1FGHIJKLMNO4234567BCDE4pqr產不爲89abcdeWXYZ我人有fg不爲之hi3WXYZ我人有56jklm地一上是中oFGHIJKLMNO4nopqrstuvwxyzABCDE4pqrst5FGHIJKLMNO4產不爲895PQRSTUVWXYZ我人有的和主產不爲之工abcde要在地vwxy一上是中opqr國經BCDE4pqr以pqrst發了民同”
.計次循環首 (取文本長度 (局_t), 局_t2)
  加入成員 (局_t1, 取文本中間 (局_t, 局_t2, 1))
.計次循環尾 ()
局_a = “”
局_c = 1
數組清零 (局_b)
數組清零 (局_b1)
.如果 (參_密碼 ≠ “”)
  .如果 (取絕對值 (取文本長度 (參_密碼)) % 2 ≠ 1)
    局_a = 參_加密文本 + “*” + 參_密碼 + “ ”
  .否則
    局_a = 參_加密文本 + “*” + 參_密碼
  .如果結束
.否則
  局_a = 參_加密文本
.如果結束
.計次循環首 (取文本長度 (局_a), 局_c)
  加入成員 (局_b, 取文本中間 (局_a, 局_c, 1))
.計次循環尾 ()
.如果 (取數組成員數 (局_b) ≤ 3)
  局_c = 取數組成員數 (局_b)
  .計次循環首 (取數組成員數 (局_b), )
    加入成員 (局_b1, 局_b [局_c])
    局_c = 局_c - 1
  .計次循環尾 ()
  局_c = 1
  局_a = “”
  .計次循環首 (取數組成員數 (局_b1), 局_c)
    局_a = 局_a + 局_b1 [局_c]
  .計次循環尾 ()
  返回 (局_a)
.否則
.如果結束
.如果 (取絕對值 (取數組成員數 (局_b)) % 2 = 1)
  局_c = 1
  .計次循環首 ((取數組成員數 (局_b) - 1) ÷ 2, )
    加入成員 (局_b1, 局_b [局_c])
    置隨機數種子 ()
    加入成員 (局_b1, 局_t1 [取隨機數 (1, 取數組成員數 (局_t1))])
    局_c = 局_c + 2
  .計次循環尾 ()
  局_c = 2
  .計次循環首 ((取數組成員數 (局_b) - 1) ÷ 2, )
    加入成員 (局_b1, 局_b [局_c])
    置隨機數種子 ()
    加入成員 (局_b1, 局_t1 [取隨機數 (1, 取數組成員數 (局_t1))])
    局_c = 局_c + 2
  .計次循環尾 ()
  加入成員 (局_b1, 局_b [取數組成員數 (局_b)])
.否則
  局_c = 1
  .計次循環首 (取數組成員數 (局_b) ÷ 2, )
    加入成員 (局_b1, 局_b [局_c])
    置隨機數種子 ()
    加入成員 (局_b1, 局_t1 [取隨機數 (1, 取數組成員數 (局_t1))])
    局_c = 局_c + 2
  .計次循環尾 ()
  局_c = 2
  .計次循環首 (取數組成員數 (局_b) ÷ 2, )
    加入成員 (局_b1, 局_b [局_c])
    置隨機數種子 ()
    加入成員 (局_b1, 局_t1 [取隨機數 (1, 取數組成員數 (局_t1))])
    局_c = 局_c + 2
  .計次循環尾 ()
.如果結束
局_a = “”
局_c = 1
.計次循環首 (取數組成員數 (局_b1), 局_c)
  局_a = 局_a + 局_b1 [局_c]
.計次循環尾 ()
返回 (局_a)
.子程序 子_解密文本, 文本型, 公開
.參數 參_解密文本, 文本型
.參數 參_密碼, 文本型, 可空
.局部變量 局_a, 文本型
.局部變量 局_b, 文本型, , "0"
.局部變量 局_c
.局部變量 局_b1, 文本型, , "0"
.局部變量 局_b2, 文本型, , "0"
.局部變量 局_b3, 文本型, , "0"
.局部變量 局_a1, 文本型
局_a = “”
局_c = 1
數組清零 (局_b)
數組清零 (局_b1)
局_a = 參_解密文本
.計次循環首 (取文本長度 (局_a), 局_c)
  加入成員 (局_b1, 取文本中間 (局_a, 局_c, 1))
.計次循環尾 ()
.如果 (取數組成員數 (局_b1) ≤ 3)
  局_c = 取數組成員數 (局_b1)
  .計次循環首 (取數組成員數 (局_b1), )
    加入成員 (局_b2, 局_b1 [局_c])
    局_c = 局_c - 1
  .計次循環尾 ()
  局_c = 1
  局_a = “”
  .計次循環首 (取數組成員數 (局_b2), 局_c)
    局_a = 局_a + 局_b2 [局_c]
  .計次循環尾 ()
  返回 (局_a)
.否則
.如果結束
.如果 (取絕對值 (取數組成員數 (局_b1)) % 2 ≠ 1)
  局_c = 1
  .計次循環首 (取數組成員數 (局_b1), )
    .如果真 (局_c ≤ 取數組成員數 (局_b1))
      加入成員 (局_b3, 局_b1 [局_c])
    .如果真結束
    局_c = 局_c + 2
  .計次循環尾 ()
  刪除成員 (局_b1, 取數組成員數 (局_b1), 1)
.否則
  局_c = 1
  .計次循環首 (取數組成員數 (局_b1), )
    .如果真 (局_c ≤ 取數組成員數 (局_b1))
      加入成員 (局_b3, 局_b1 [局_c])
    .如果真結束
    局_c = 局_c + 2
  .計次循環尾 ()
.如果結束
.如果 (取絕對值 (取數組成員數 (局_b3)) % 2 = 1)
  局_c = 1
  .計次循環首 ((取數組成員數 (局_b3) - 1) ÷ 2, 局_c)
    加入成員 (局_b2, 局_b3 [局_c])
    加入成員 (局_b2, 局_b3 [局_c + (取數組成員數 (局_b3) - 1) ÷ 2])
  .計次循環尾 ()
  加入成員 (局_b2, 局_b3 [取數組成員數 (局_b3)])
.否則
  局_c = 1
  .計次循環首 (取數組成員數 (局_b3) ÷ 2, 局_c)
    加入成員 (局_b2, 局_b3 [局_c])
    加入成員 (局_b2, 局_b3 [局_c + 取數組成員數 (局_b3) ÷ 2])
  .計次循環尾 ()
.如果結束
局_a = “”
局_c = 1
.計次循環首 (取數組成員數 (局_b2), 局_c)
  局_a = 局_a + 局_b2 [局_c]
.計次循環尾 ()
.如果 (尋找文本 (局_a, “*”, , 假) ≠ -1)
  .如果 (取數據摘要 (到字節集 (刪尾空 (取文本右邊 (局_a, 取文本長度 (局_a) - 尋找文本 (局_a, “*”, , 假))))) = 取數據摘要 (到字節集 (參_密碼))) ' 改過
    局_a1 = 取文本中間 (局_a, 1, 尋找文本 (局_a, “*”, , 假) - 1)
  .否則
    信息框 (“密碼錯誤,請覈對!”, 0, )
  .如果結束
.否則
  局_a1 = 局_a
.如果結束
返回 (局_a1)
.子程序 子_複製窗口組件
.局部變量 局_計次, 整數型
.局部變量 局_計次2, 整數型
.局部變量 局_座標x1, 整數型, , "8"
.局部變量 局_座標y1, 整數型, , "8"
.局部變量 局_座標x2, 整數型, , "8"
.局部變量 局_座標y2, 整數型, , "8"
局_座標x1 = { 615, 615, 161, 68, 68, 524, 8, 56 }
局_座標y1 = { 388, 113, 13, 113, 388, 486, 468, 468 }
局_座標x2 = { 572, 572, 354, 160, 160, 460 }
局_座標y2 = { 308, 200, 108, 200, 308, 452 }
.計次循環首 (24, 局_計次)
  複製窗口組件 (透_玩家數據, 集_玩家數據 [局_計次])
  集_玩家數據 [局_計次].可視 = 真
.計次循環尾 ()
.計次循環首 (5, 局_計次)
  複製窗口組件 (透_公告類別, 集_公告類別 [局_計次])
  集_公告類別 [局_計次].可視 = 真
.計次循環尾 ()
.計次循環首 (5, 局_計次)
  複製窗口組件 (透_公告信息, 集_公告信息 [局_計次])
  集_公告信息 [局_計次].可視 = 真
.計次循環尾 ()
.計次循環首 (5, 局_計次)
  複製窗口組件 (按鈕_下注, 集_下注按鈕 [局_計次])
.計次循環尾 ()
.計次循環首 (6, 局_計次)
  .如果 (局_計次 = 3 或 局_計次 = 6)
    複製窗口組件 (透_牛型1, 集_牛型標籤 [局_計次])
  .否則
    複製窗口組件 (透_牛型, 集_牛型標籤 [局_計次])
  .如果結束
.計次循環尾 ()
.計次循環首 (6, 局_計次)
  集_牛型標籤 [局_計次].移動 (局_座標x2 [局_計次], 局_座標y2 [局_計次], , )
.計次循環尾 ()
.計次循環首 (6, 局_計次)
  集_玩家數據 [局_計次 + (局_計次 - 1) × 3].文本顏色 = #黃色 ' 順序 1 5 9 13 17 21
  集_玩家數據 [局_計次 + (局_計次 - 1) × 3 + 1].文本顏色 = #白色 ' 2 6 10 14 18 22
  集_玩家數據 [局_計次 + (局_計次 - 1) × 3 + 2].文本顏色 = #芙紅 ' 3 7 11 15 19 23
  集_玩家數據 [局_計次 + (局_計次 - 1) × 3 + 3].文本顏色 = #豔青 ' 4 8 12 16 20 24
.計次循環尾 ()
.計次循環首 (6, 局_計次2)
  .計次循環首 (4, 局_計次)
    集_玩家數據 [局_計次 + (局_計次2 - 1) × 4].移動 (局_座標x1 [局_計次2], 局_座標y1 [局_計次2] + (局_計次 - 1) × 14, , )
  .計次循環尾 ()
.計次循環尾 ()
.計次循環首 (5, 局_計次)
  集_公告類別 [局_計次].移動 (局_座標x1 [7], 局_座標y1 [7] + (局_計次 - 1) × 16, , )
  集_公告信息 [局_計次].移動 (局_座標x1 [8], 局_座標y1 [8] + (局_計次 - 1) × 16, , )
.計次循環尾 ()
.計次循環首 (5, 局_計次)
  集_下注按鈕 [局_計次].移動 (280 + (局_計次 - 1) × 45, , , )
  集_下注按鈕 [局_計次].標題 = “$” + 到文本 (局_計次 × 10)
.計次循環尾 ()
.子程序 子_數據洗牌, , , 純數據洗牌,將1-40隨機分組,每組牌5張,分6組,餘10張不用
.局部變量 局_a, 整數型, , "0"
.局部變量 局_b, 整數型
.局部變量 局_計次, 整數型
.局部變量 局_玩家數, 整數型
置隨機數種子 ()
.計次循環首 (40, 局_計次)
  加入成員 (局_a, 局_計次)
.計次循環尾 ()
刪除成員 (局_a, 40, 1) ' 將10也去掉了
刪除成員 (局_a, 30, 1)
刪除成員 (局_a, 20, 1)
刪除成員 (局_a, 10, 1)
.計次循環首 (6, 局_玩家數)
  .計次循環首 (5, 局_計次) ' 給每一位玩家分配5個牌數據,循環6輪,返回30個純隨機數字(1-40)給6個玩家
    局_b = 取隨機數 (1, 取數組成員數 (局_a))
    集_牌型數據 [局_玩家數] [局_計次] = 局_a [局_b]
    刪除成員 (局_a, 局_b, 1)
  .計次循環尾 ()
.計次循環尾 ()
.子程序 子_轉換牌點, 花色牌點, , 將1-40數字轉換成一張張撲克牌
.參數 參_待轉換牌, 整數型
.局部變量 局_返回牌點, 花色牌點
.判斷開始 (參_待轉換牌 ≤ 10) ' 轉換成方塊A-10
  局_返回牌點.花色 = 1
  局_返回牌點.牌點 = 參_待轉換牌
.判斷 (參_待轉換牌 ≤ 20 且 參_待轉換牌 > 10) ' 轉換成梅花A-10
  局_返回牌點.花色 = 2
  局_返回牌點.牌點 = 參_待轉換牌 - 10
.判斷 (參_待轉換牌 ≤ 30 且 參_待轉換牌 > 20) ' 轉換成紅桃A-10
  局_返回牌點.花色 = 3
  局_返回牌點.牌點 = 參_待轉換牌 - 20
.判斷 (參_待轉換牌 ≤ 40 且 參_待轉換牌 > 30) ' 轉換成黑桃A-10
  局_返回牌點.花色 = 4
  局_返回牌點.牌點 = 參_待轉換牌 - 30
.默認
.判斷結束
返回 (局_返回牌點)
.子程序 子_分割位圖, 字節集, 公開, 只能是0壓縮,並且是8位或8位以上的位圖!
.參數 原位圖, 字節集
.參數 取出圖像左邊, 整數型
.參數 取出圖像頂邊, 整數型
.參數 取出寬度, 整數型
.參數 取出高度, 整數型
.局部變量 圖像寬度, 整數型
.局部變量 圖像高度, 整數型
.局部變量 圖像位數, 整數型
.局部變量 圖像壓縮, 整數型
.局部變量 新位圖, 字節集
.局部變量 新位圖信息頭, BITMAPINFOHEADER
.局部變量 新位圖文件頭, 文件頭信息_
.局部變量 文件長度, 整數型
.局部變量 i, 整數型
.局部變量 顏色點陣偏移量, 整數型
.局部變量 點的大小, 整數型
.局部變量 顏色表, 字節集
.局部變量 總數據偏移, 整數型
.局部變量 新行寬, 整數型
.局部變量 原行寬, 整數型
.局部變量 時間, 整數型
圖像寬度 = 取字節集數據 (取字節集中間 (原位圖, 19, 4), #整數型, )
圖像高度 = 取字節集數據 (取字節集中間 (原位圖, 23, 4), #整數型, )
圖像位數 = 取字節集數據 (取字節集中間 (原位圖, 29, 2), #短整數型, )
圖像壓縮 = 取字節集數據 (取字節集中間 (原位圖, 31, 4), #整數型, )
.如果真 (圖像壓縮 ≠ 0)
  返回 ({ })
.如果真結束
.如果真 (圖像位數 = 32)
  顏色點陣偏移量 = 54
  點的大小 = 4
.如果真結束
.如果真 (圖像位數 = 24)
  顏色點陣偏移量 = 54
  點的大小 = 3
.如果真結束
.如果真 (圖像位數 = 16)
  顏色點陣偏移量 = 54
  點的大小 = 2
.如果真結束
.如果真 (圖像位數 = 8)
  顏色點陣偏移量 = 1078
  點的大小 = 1
  顏色表 = 取字節集中間 (原位圖, 55, 1024)
.如果真結束
.如果真 (圖像位數 < 8)
  輸出調試文本 (“錯誤! 圖像位深小於8!”)
  返回 ({ })
.如果真結束
.如果真 (取出圖像左邊 + 取出寬度 > 圖像寬度 或 取出圖像頂邊 + 取出高度 > 圖像高度 或 取出圖像左邊 < 0 或 取出圖像頂邊 < 0 或 取出寬度 ≤ 0 或 取出高度 ≤ 0)
  輸出調試文本 (“參數錯誤!請檢查輸入的參數!”)
  返回 ({ })
.如果真結束
原行寬 = 左移 (右移 (圖像寬度 × 圖像位數 + 31, 5), 2)
新行寬 = 左移 (右移 (取出寬度 × 圖像位數 + 31, 5), 2)
文件長度 = 新行寬 × 取出高度
新位圖 = 取空白字節集 (文件長度 + 54 + 取字節集長度 (顏色表))
新位圖文件頭.文件類型 = 19778
新位圖文件頭.偏移量 = 顏色點陣偏移量
新位圖文件頭.結果大小 = 顏色點陣偏移量 + 文件長度
複製內存_複製位圖文件頭到字節集 (新位圖 [1], 新位圖文件頭, 14)
新位圖信息頭.biSize = 40
新位圖信息頭.biWidth = 取出寬度
新位圖信息頭.biHeight = 取出高度
新位圖信息頭.biPlanes = 1
新位圖信息頭.biBitCount = 圖像位數
複製內存_複製位圖信息頭到字節集 (新位圖 [15], 新位圖信息頭, 40)
.如果真 (圖像位數 = 8)
  複製內存_字節集到字節集 (新位圖 [55], 顏色表 [1], 1024)
.如果真結束
總數據偏移 = 原行寬 × (圖像高度 - 取出高度 - 取出圖像頂邊) + 取出圖像左邊 × 點的大小 ' 總偏移=高偏移+寬偏移
.計次循環首 (取出高度, i)
  複製內存_字節集到字節集 (新位圖 [(i - 1) × 新行寬 + 顏色點陣偏移量 + 1], 原位圖 [顏色點陣偏移量 + 總數據偏移 + (i - 1) × 原行寬 + 1], 新行寬)
.計次循環尾 ()
返回 (新位圖)
.子程序 子_返回撲克, 字節集
.參數 參_撲克花色, 整數型, , 4-1分別代表黑桃、紅桃、梅花、方塊
.參數 參_撲克大小, 整數型, , A-10分別以1-10表示,0=背景
.局部變量 局_撲克牌寬, 整數型, , , 撲克牌的寬度,71像素
.局部變量 局_撲克牌高, 整數型, , , 撲克牌的高度,96像素
.局部變量 局_撲克圖像, 字節集, , , 返回的撲克圖像
局_撲克牌寬 = 71
局_撲克牌高 = 96
局_撲克圖像 = 子_分割位圖 (#撲克圖集, 局_撲克牌寬 × 參_撲克大小 - 局_撲克牌寬, 局_撲克牌高 × 參_撲克花色 - 局_撲克牌高, 71, 96) ' 返回正常撲克牌圖像
返回 (局_撲克圖像)
.子程序 子_動畫發牌
.局部變量 局_路線, 整數型, , "3"
.局部變量 局_計次, 整數型
.局部變量 局_計次2, 整數型
.局部變量 局_座標x, 整數型, , "6", 6家位置的第一張牌座標x
.局部變量 局_座標y, 整數型, , "6", 6家位置的第一張牌座標y
.局部變量 局_間隔, 整數型, , , 時間,毫秒
.局部變量 局_間距, 整數型, , , 距離,像素
局_座標x = { 250, 250, -49, -351, -351, -49 } ' 中間牌位置,355 220
局_座標y = { 62, -50, -216, -50, 62, 226 }
局_間隔 = 100
局_間距 = 20
動畫框_底圖.銷燬所有物體 ()
.計次循環首 (30, 局_計次)
  集_動畫物體 [局_計次] = 動畫框_底圖.創建物體 (動畫物體_撲克, 355, 220, , )
.計次循環尾 ()
局_路線 [1] = 0 ' 直線移動
.計次循環首 (5, 局_計次2)
  .計次循環首 (6, 局_計次)
    局_路線 [2] = 局_座標x [局_計次] + (局_計次2 - 1) × 20 ' 橫向間距向右20像素遞增
    局_路線 [3] = 局_座標y [局_計次] ' 垂直間距固定
    動畫框_底圖.自動前進 (集_動畫物體 [局_計次2 + (局_計次 - 1) × 5], 局_間距, 1, , , 真, , , 局_路線, )
    播放音樂 (#發牌音, )
    延遲 (局_間隔)
  .計次循環尾 ()
.計次循環尾 ()
.子程序 子_計算分值, 小數型
.參數 參_牌型數組, 整數型, 數組, 提供的5個牌,以1-40整數表示
.參數 參_調整位置, 邏輯型, , 真=調整位置
.參數 參_玩家位置, 整數型, , 1-6,調整哪位玩家的牌
.局部變量 局_n, 整數型
.局部變量 局_i, 整數型
.局部變量 局_j, 整數型
.局部變量 局_k, 整數型
.局部變量 局_臨時數組, 整數型, , "5"
.局部變量 局_參照數組, 整數型, , "5"
.局部變量 局_花色, 整數型, , "0", 比較相同點數牌的花色
.局部變量 局_牌點, 整數型, , "5", 存儲每個牌的實際點數
.局部變量 局_路線, 整數型, , "3"
.局部變量 局_返回分值, 小數型
局_n = 取數組成員數 (參_牌型數組)
.計次循環首 (局_n - 2, 局_i) ' 檢測到有牛(3個牌相加爲10的倍數)則跳出循環
  .計次循環首 (局_n - 局_i, 局_j)
    .計次循環首 (局_n - 局_i - 局_j, 局_k)
      .如果真 ((參_牌型數組 [局_i] + 參_牌型數組 [局_j + 局_i] + 參_牌型數組 [局_k + 局_i + 局_j]) % 10 = 0)
        局_臨時數組 [1] = 參_牌型數組 [局_i]
        局_臨時數組 [2] = 參_牌型數組 [局_j + 局_i]
        局_臨時數組 [3] = 參_牌型數組 [局_k + 局_i + 局_j]
        跳出循環 ()
      .如果真結束
    .計次循環尾 ()
  .計次循環尾 ()
.計次循環尾 ()
.計次循環首 (5, 局_n)
  .如果 (參_牌型數組 [局_n] % 10 = 0)
    局_牌點 [局_n] = 參_牌型數組 [局_n] % 10 + 10
  .否則
    局_牌點 [局_n] = 參_牌型數組 [局_n] % 10
  .如果結束
.計次循環尾 ()
數組排序 (局_牌點, 假)
局_參照數組 = 參_牌型數組
.計次循環首 (5, 局_n)
  .計次循環首 (3, 局_i)
    .如果真 (參_牌型數組 [局_n] = 局_臨時數組 [局_i])
      局_參照數組 [局_n] = 0
    .如果真結束
  .計次循環尾 ()
.計次循環尾 ()
數組排序 (局_參照數組, 假)
局_臨時數組 [4] = 局_參照數組 [1]
局_臨時數組 [5] = 局_參照數組 [2]
' [構成牛點分值的整數部分]
.如果 (局_牌點 [1] + 局_牌點 [2] + 局_牌點 [3] + 局_牌點 [4] + 局_牌點 [5] < 10) ' 判斷是否全小,5牌相加小於10
  局_返回分值 = 12
.否則
  .如果 (局_牌點 [1] = 局_牌點 [4] 或 局_牌點 [2] = 局_牌點 [5]) ' 判斷是否爲炸彈牌型,4張牌點數相同
    局_返回分值 = 11
  .否則
    .如果 ((局_臨時數組 [1] + 局_臨時數組 [2] + 局_臨時數組 [3]) % 10 = 0 且 (局_臨時數組 [4] + 局_臨時數組 [5]) % 10 = 0 且 局_臨時數組 [1] > 0) ' 判斷是否牛牛,前3牌相加和後2牌相加均爲10的倍數
      局_返回分值 = 10
    .否則
      .如果 ((局_臨時數組 [1] + 局_臨時數組 [2] + 局_臨時數組 [3]) % 10 = 0 且 局_臨時數組 [1] > 0) ' 如果有牛,則計算牛點分值
        局_返回分值 = (局_臨時數組 [4] + 局_臨時數組 [5]) % 10 ' 餘下的2張牌計算分值
      .否則
        局_返回分值 = 0
      .如果結束
    .如果結束
  .如果結束
.如果結束
清除數組 (局_參照數組)
局_參照數組 = { 1, 2, 3, 4, 5 }
局_返回分值 = 局_返回分值 + 局_牌點 [1] ÷ 100 ' [構成牛點分值的小數部分前2位,最大牌的點數]
' [構成牛點分值的小數部分第3位,花色分]
.計次循環首 (5, 局_n) ' 取出各牌花色分
  .如果 (參_牌型數組 [局_n] % 10 = 0)
    局_參照數組 [局_n] = 取整 (參_牌型數組 [局_n] ÷ 10)
  .否則
    局_參照數組 [局_n] = 取整 (參_牌型數組 [局_n] ÷ 10) + 1
  .如果結束
.計次循環尾 ()
.計次循環首 (5, 局_n)
  .如果 (子_轉換牌點 (參_牌型數組 [局_n]).牌點 = 局_牌點 [1] 且 局_牌點 [1] = 局_牌點 [4]) ' 出現4個相同點數的最大牌時
    加入成員 (局_花色, 局_參照數組 [局_n])
  .否則
    .如果 (子_轉換牌點 (參_牌型數組 [局_n]).牌點 = 局_牌點 [1] 且 局_牌點 [1] = 局_牌點 [3]) ' 出現3個相同點數的最大牌時
      加入成員 (局_花色, 局_參照數組 [局_n])
    .否則
      .如果 (子_轉換牌點 (參_牌型數組 [局_n]).牌點 = 局_牌點 [1] 且 局_牌點 [1] = 局_牌點 [2]) ' 出現2個相同點數的最大牌時
        加入成員 (局_花色, 局_參照數組 [局_n])
      .否則
        .如果 (子_轉換牌點 (參_牌型數組 [局_n]).牌點 = 局_牌點 [1]) ' 取最大牌花色分
          加入成員 (局_花色, 局_參照數組 [局_n])
        .否則
        .如果結束
      .如果結束
    .如果結束
  .如果結束
.計次循環尾 ()
數組排序 (局_花色, 假)
局_返回分值 = 局_返回分值 + 局_花色 [1] ÷ 1000
' 電腦如果有牛,則將有牛的3張牌向左靠攏,餘2張向右靠攏
局_路線 [1] = 0
局_路線 [3] = 0
.判斷開始 (參_調整位置 = 真 且 局_返回分值 ≥ 1)
  .計次循環首 (5, 局_n)
    動畫框_底圖.置圖片 (集_動畫物體 [局_n + (參_玩家位置 - 1) × 5], 子_返回撲克 (子_轉換牌點 (局_臨時數組 [局_n]).花色, 子_轉換牌點 (局_臨時數組 [局_n]).牌點), )
  .計次循環尾 ()
  .計次循環首 (5, 局_n)
    .判斷開始 (局_n ≤ 3)
      局_路線 [2] = (局_n - 1) × -4
      動畫框_底圖.自動前進 (集_動畫物體 [局_n + (參_玩家位置 - 1) × 5], 4, 1, , , 真, , , 局_路線, )
    .判斷 (局_n = 4)
      局_路線 [2] = (局_n - 1) × 2 - 2
      動畫框_底圖.自動前進 (集_動畫物體 [局_n + (參_玩家位置 - 1) × 5], 4, 1, , , 真, , , 局_路線, )
    .判斷 (局_n = 5)
      局_路線 [2] = (局_n - 1) × 2 - 8
      動畫框_底圖.自動前進 (集_動畫物體 [局_n + (參_玩家位置 - 1) × 5], 4, 1, , , 真, , , 局_路線, )
    .默認
    .判斷結束
  .計次循環尾 ()
.判斷 (參_調整位置 = 真 且 局_返回分值 < 1)
  .計次循環首 (5, 局_n)
    動畫框_底圖.置圖片 (集_動畫物體 [局_n + (參_玩家位置 - 1) × 5], 子_返回撲克 (子_轉換牌點 (集_牌型數據 [參_玩家位置] [局_n]).花色, 子_轉換牌點 (集_牌型數據 [參_玩家位置] [局_n]).牌點), )
  .計次循環尾 ()
.默認
.判斷結束
集_各家分值 [參_玩家位置] = 局_返回分值
返回 (局_返回分值)
.子程序 _動畫框_底圖_物體左鍵被按下
.參數 物體標識值, 整數型
.局部變量 局_計次, 整數型
.局部變量 局_a, 整數型, , "5"
.局部變量 局_b, 整數型, , "5"
.局部變量 局_臨時數組, 整數型, , "5"
清除數組 (局_b)
.計次循環首 (5, 局_計次)
  .如果真 (物體標識值 = 集_動畫物體 [局_計次 + 25] 且 集_開始算牌 = 真)
    .判斷開始 (動畫框_底圖.取物體頂邊 (集_動畫物體 [局_計次 + 25]) = 446 且 集_點出牌數 < 3)
      動畫框_底圖.自動前進 (集_動畫物體 [局_計次 + 25], 10, 1, , , 真, , , { 0, 0, -20 }, )
      集_是否點出 [局_計次] = 真
      集_點出牌數 = 集_點出牌數 + 1
    .判斷 (動畫框_底圖.取物體頂邊 (集_動畫物體 [局_計次 + 25]) = 426 且 集_點出牌數 ≤ 3)
      動畫框_底圖.自動前進 (集_動畫物體 [局_計次 + 25], 10, 1, , , 真, , , { 0, 0, 20 }, )
      集_是否點出 [局_計次] = 假
      集_點出牌數 = 集_點出牌數 - 1
    .默認
    .判斷結束
    .如果真 (集_點出牌數 = 3)
      .計次循環首 (5, 局_計次)
        .如果 (集_是否點出 [局_計次] = 真)
          局_a [局_計次] = 子_轉換牌點 (集_牌型數據 [6] [局_計次]).牌點
        .否則
          局_a [局_計次] = 0 - 子_轉換牌點 (集_牌型數據 [6] [局_計次]).牌點
        .如果結束
      .計次循環尾 ()
      .計次循環首 (5, 局_計次)
        .如果 (集_是否點出 [局_計次] = 真)
          加入成員 (局_b, 局_a [局_計次])
        .否則
        .如果結束
      .計次循環尾 ()
      .計次循環首 (5, 局_計次)
        .如果 (集_是否點出 [局_計次] = 假)
          加入成員 (局_b, 0 - 局_a [局_計次])
        .否則
        .如果結束
      .計次循環尾 ()
      局_a = 局_b
      數組排序 (局_a, 假)
      .計次循環首 (5, 局_計次)
        局_臨時數組 [局_計次] = 集_牌型數據 [6] [局_計次]
      .計次循環尾 ()
      .如果 (局_b [1] + 局_b [2] + 局_b [3] + 局_b [4] + 局_b [5] < 10) ' 判斷是否全小,5牌相加小於10
        集_玩家算分 = 子_計算分值 (局_臨時數組, 假, 6)
        子_插入公告 (“【系統】”, “恭喜,您拿到了全小牌型!”)
      .否則
        .如果 (局_a [1] = 局_a [4] 或 局_a [2] = 局_a [5]) ' 判斷是否爲炸彈牌型,4張牌點數相同
          集_玩家算分 = 子_計算分值 (局_臨時數組, 假, 6)
          子_插入公告 (“【系統】”, “恭喜,您拿到了炸彈牌型!”)
        .否則
          .如果 ((局_b [1] + 局_b [2] + 局_b [3]) % 10 = 0) ' 有牛
            集_玩家算分 = 子_計算分值 (局_臨時數組, 假, 6)
            .如果 ((局_b [4] + 局_b [5]) % 10 = 0) ' 牛牛
              子_插入公告 (“【計算】”, 到文本 (局_b [1]) + “ + ” + 到文本 (局_b [2]) + “ + ” + 到文本 (局_b [3]) + “ = ” + 到文本 (局_b [1] + 局_b [2] + 局_b [3]) + “ 此算法[有牛] = [牛牛] ”)
            .否則
              子_插入公告 (“【計算】”, 到文本 (局_b [1]) + “ + ” + 到文本 (局_b [2]) + “ + ” + 到文本 (局_b [3]) + “ = ” + 到文本 (局_b [1] + 局_b [2] + 局_b [3]) + “ 此算法[有牛] = [牛” + 到文本 ((局_b [4] + 局_b [5]) % 10) + “] ”)
            .如果結束
          .否則
            子_插入公告 (“【計算】”, 到文本 (局_b [1]) + “ + ” + 到文本 (局_b [2]) + “ + ” + 到文本 (局_b [3]) + “ = ” + 到文本 (局_b [1] + 局_b [2] + 局_b [3]) + “ 此算法[沒牛]”)
            集_玩家算分 = 0
          .如果結束
        .如果結束
      .如果結束
    .如果真結束
  .如果真結束
.計次循環尾 ()
.子程序 子_插入公告
.參數 參_公告類別, 文本型, , 如:系統、獎池、信息等
.參數 參_公告文字, 文本型, , 插入的文字
.局部變量 局_計次, 整數型
.計次循環首 (4, 局_計次)
  集_公告類別 [局_計次].文本顏色 = 集_公告類別 [局_計次 + 1].文本顏色
  集_公告類別 [局_計次].標題 = 集_公告類別 [局_計次 + 1].標題
  集_公告信息 [局_計次].標題 = 集_公告信息 [局_計次 + 1].標題
.計次循環尾 ()
.判斷開始 (參_公告類別 = “【系統】”)
  集_公告類別 [5].文本顏色 = #紅色
.判斷 (參_公告類別 = “【計算】”)
  集_公告類別 [5].文本顏色 = #黃色
.判斷 (參_公告類別 = “【公告】”)
  集_公告類別 [5].文本顏色 = #品紅
.默認
.判斷結束
集_公告類別 [5].標題 = 參_公告類別
集_公告信息 [5].標題 = 參_公告文字
.子程序 子_置莊家位置
.局部變量 局_計次, 整數型
.局部變量 局_數組, 小數型, , "6"
.局部變量 局_座標x, 整數型, , "6"
.局部變量 局_座標y, 整數型, , "6"
局_座標x = { 716, 716, 260, 14, 14, 472 }
局_座標y = { 388, 126, 14, 126, 388, 500 }
透_莊家.可視 = 真
.計次循環首 (6, 局_計次)
  超級列表框1.置標題 (局_計次 - 1, 4, “”)
.計次循環尾 ()
置隨機數種子 ()
.如果真 (集_莊家位置 = 0) ' 第一局置隨機位置莊家
  集_莊家位置 = 取隨機數 (1, 6)
  .判斷開始 (集_莊家位置 > 0 且 集_莊家位置 ≤ 5)
    子_插入公告 (“【系統】”, “恭喜,電腦” + 數值到大寫 (集_莊家位置, 真) + “吉星高照,第一局隨機坐莊!”)
    子_插入公告 (“【系統】”, “發牌完畢,請各位閒家開始下注!”)
    子_插入公告 (“【系統】”, “買定離手,請玩家六開始下注!”)
  .判斷 (集_莊家位置 = 6)
    子_插入公告 (“【系統】”, “恭喜,玩家六吉星高照,第一局隨機坐莊!”)
  .默認
  .判斷結束
  透_莊家.左邊 = 局_座標x [集_莊家位置]
  透_莊家.頂邊 = 局_座標y [集_莊家位置]
  .計次循環首 (6, 局_計次)
    .如果真 (局_計次 = 集_莊家位置)
      超級列表框1.置標題 (局_計次 - 1, 4, “◆”)
      跳出循環 ()
    .如果真結束
  .計次循環尾 ()
  返回 ()
.如果真結束
局_數組 = 集_各家分值
數組排序 (局_數組, 假)
.計次循環首 (6, 局_計次)
  .如果真 (集_各家分值 [局_計次] = 局_數組 [1] 且 局_數組 [1] ≥ 10) ' 最大牌爲牛牛或以上,則換莊
    集_莊家位置 = 局_計次
    超級列表框1.置標題 (局_計次 - 1, 4, “◆”)
    透_莊家.左邊 = 局_座標x [集_莊家位置]
    透_莊家.頂邊 = 局_座標y [集_莊家位置]
    .判斷開始 (集_莊家位置 > 0 且 集_莊家位置 ≤ 5)
      子_插入公告 (“【系統】”, “恭喜,電腦” + 數值到大寫 (集_莊家位置, 真) + “上局拿到牛牛,開始坐莊!”)
    .判斷 (集_莊家位置 = 6)
      子_插入公告 (“【系統】”, “恭喜,玩家六上局拿到牛牛,開始坐莊!”)
    .默認
    .判斷結束
    跳出循環 ()
  .如果真結束
.計次循環尾 ()
超級列表框1.置標題 (集_莊家位置 - 1, 4, “◆”)
.子程序 子_開始下注
.局部變量 局_計次, 整數型
置隨機數種子 ()
.計次循環首 (5, 局_計次)
  .如果真 (局_計次 ≠ 集_莊家位置) ' 非莊家才能下注,下注金額10 20 30 40 50隨機
    集_下注金額 [局_計次] = 10 × 取隨機數 (1, 5)
    超級列表框1.置標題 (局_計次 - 1, 1, 到文本 (集_下注金額 [局_計次]))
  .如果真結束
.計次循環尾 ()
.如果 (集_莊家位置 ≠ 6)
  .計次循環首 (5, 局_計次)
    集_下注按鈕 [局_計次].可視 = 真
  .計次循環尾 ()
.否則
  .計次循環首 (5, 局_計次)
    動畫框_底圖.置圖片 (集_動畫物體 [局_計次 + 25], 子_返回撲克 (子_轉換牌點 (集_牌型數據 [6] [局_計次]).花色, 子_轉換牌點 (集_牌型數據 [6] [局_計次]).牌點), )
  .計次循環尾 ()
  集_開始算牌 = 真
  按鈕1.標題 = “開  牌”
  按鈕1.可視 = 真
.如果結束
.子程序 子_語音播報
.參數 參_分值, 小數型
.參數 參_男女, 邏輯型, , 男=真 女=假
.如果 (參_男女 = 真)
  .判斷開始 (取整 (參_分值) = 12)
    播放音樂 (#全小男, )
  .判斷 (取整 (參_分值) = 11)
    播放音樂 (#炸彈男, )
  .判斷 (取整 (參_分值) = 10)
    播放音樂 (#牛牛男, )
  .判斷 (取整 (參_分值) = 9)
    播放音樂 (#牛九男, )
  .判斷 (取整 (參_分值) = 8)
    播放音樂 (#牛八男, )
  .判斷 (取整 (參_分值) = 7)
    播放音樂 (#牛七男, )
  .判斷 (取整 (參_分值) = 6)
    播放音樂 (#牛六男, )
  .判斷 (取整 (參_分值) = 5)
    播放音樂 (#牛五男, )
  .判斷 (取整 (參_分值) = 4)
    播放音樂 (#牛四男, )
  .判斷 (取整 (參_分值) = 3)
    播放音樂 (#牛三男, )
  .判斷 (取整 (參_分值) = 2)
    播放音樂 (#牛二男, )
  .判斷 (取整 (參_分值) = 1)
    播放音樂 (#牛一男, )
  .判斷 (取整 (參_分值) = 0)
    播放音樂 (#沒牛男, )
  .默認
  .判斷結束
.否則
  .判斷開始 (取整 (參_分值) = 12)
    播放音樂 (#全小女, )
  .判斷 (取整 (參_分值) = 11)
    播放音樂 (#炸彈女, )
  .判斷 (取整 (參_分值) = 10)
    播放音樂 (#牛牛女, )
  .判斷 (取整 (參_分值) = 9)
    播放音樂 (#牛九女, )
  .判斷 (取整 (參_分值) = 8)
    播放音樂 (#牛八女, )
  .判斷 (取整 (參_分值) = 7)
    播放音樂 (#牛七女, )
  .判斷 (取整 (參_分值) = 6)
    播放音樂 (#牛六女, )
  .判斷 (取整 (參_分值) = 5)
    播放音樂 (#牛五女, )
  .判斷 (取整 (參_分值) = 4)
    播放音樂 (#牛四女, )
  .判斷 (取整 (參_分值) = 3)
    播放音樂 (#牛三女, )
  .判斷 (取整 (參_分值) = 2)
    播放音樂 (#牛二女, )
  .判斷 (取整 (參_分值) = 1)
    播放音樂 (#牛一女, )
  .判斷 (取整 (參_分值) = 0)
    播放音樂 (#沒牛女, )
  .默認
  .判斷結束
.如果結束
.子程序 子_計算牛型, 文本型
.參數 參_分值, 小數型
.局部變量 局_返回文本, 文本型
.判斷開始 (取整 (參_分值) = 12)
  局_返回文本 = “全小”
.判斷 (取整 (參_分值) = 11)
  局_返回文本 = “四炸”
.判斷 (取整 (參_分值) = 10)
  局_返回文本 = “牛牛”
.判斷 (取整 (參_分值) = 0)
  局_返回文本 = “沒牛”
.默認
  局_返回文本 = “牛” + 數值到大寫 (取整 (參_分值), 真)
.判斷結束
返回 (局_返回文本)
.子程序 _按鈕_下注_被單擊
.局部變量 局_計次, 整數型
.局部變量 局_臨時按鈕, 按鈕
局_臨時按鈕 = 取事件組件 ()
.判斷開始 (局_臨時按鈕.標題 = “$10”)
  集_下注金額 [6] = 10
.判斷 (局_臨時按鈕.標題 = “$20”)
  集_下注金額 [6] = 20
.判斷 (局_臨時按鈕.標題 = “$30”)
  集_下注金額 [6] = 30
.判斷 (局_臨時按鈕.標題 = “$40”)
  集_下注金額 [6] = 40
.判斷 (局_臨時按鈕.標題 = “$50”)
  集_下注金額 [6] = 50
.默認
.判斷結束
.計次循環首 (5, 局_計次)
  集_下注按鈕 [局_計次].可視 = 假
.計次循環尾 ()
.計次循環首 (5, 局_計次)
  動畫框_底圖.置圖片 (集_動畫物體 [局_計次 + 25], 子_返回撲克 (子_轉換牌點 (集_牌型數據 [6] [局_計次]).花色, 子_轉換牌點 (集_牌型數據 [6] [局_計次]).牌點), )
.計次循環尾 ()
集_開始算牌 = 真
按鈕1.標題 = “開  牌”
按鈕1.可視 = 真
子_插入公告 (“【公告】”, “請選擇3張牌計算牛型,計算完畢點擊[開牌]!”)
超級列表框1.置標題 (5, 1, 到文本 (集_下注金額 [6]))
.子程序 子_資金結算, , , 此段代碼有點囉嗦,還沒理清
.局部變量 局_計次, 整數型
.局部變量 局_各家經驗, 整數型, , "6", 經過計算後保存的6家經驗值
.局部變量 局_各家盈虧, 整數型, , "6"
.判斷開始 (集_莊家位置 = 1)
  .計次循環首 (5, 局_計次)
    局_各家盈虧 [局_計次 + 1] = 子_浮動盈虧 (集_各家分值 [局_計次 + 1], 集_各家分值 [1], 集_下注金額 [局_計次 + 1])
  .計次循環尾 ()
  局_各家盈虧 [1] = 0 - (局_各家盈虧 [2] + 局_各家盈虧 [3] + 局_各家盈虧 [4] + 局_各家盈虧 [5] + 局_各家盈虧 [6])
.判斷 (集_莊家位置 = 2)
  局_各家盈虧 [1] = 子_浮動盈虧 (集_各家分值 [1], 集_各家分值 [2], 集_下注金額 [1])
  .計次循環首 (4, 局_計次)
    局_各家盈虧 [局_計次 + 2] = 子_浮動盈虧 (集_各家分值 [局_計次 + 2], 集_各家分值 [2], 集_下注金額 [局_計次 + 2])
  .計次循環尾 ()
  局_各家盈虧 [2] = 0 - (局_各家盈虧 [1] + 局_各家盈虧 [3] + 局_各家盈虧 [4] + 局_各家盈虧 [5] + 局_各家盈虧 [6])
.判斷 (集_莊家位置 = 3)
  局_各家盈虧 [1] = 子_浮動盈虧 (集_各家分值 [1], 集_各家分值 [3], 集_下注金額 [1])
  局_各家盈虧 [2] = 子_浮動盈虧 (集_各家分值 [2], 集_各家分值 [3], 集_下注金額 [2])
  .計次循環首 (3, 局_計次)
    局_各家盈虧 [局_計次 + 3] = 子_浮動盈虧 (集_各家分值 [局_計次 + 3], 集_各家分值 [3], 集_下注金額 [局_計次 + 3])
  .計次循環尾 ()
  局_各家盈虧 [3] = 0 - (局_各家盈虧 [1] + 局_各家盈虧 [2] + 局_各家盈虧 [4] + 局_各家盈虧 [5] + 局_各家盈虧 [6])
.判斷 (集_莊家位置 = 4)
  .計次循環首 (3, 局_計次)
    局_各家盈虧 [局_計次] = 子_浮動盈虧 (集_各家分值 [局_計次], 集_各家分值 [4], 集_下注金額 [局_計次])
  .計次循環尾 ()
  .計次循環首 (2, 局_計次)
    局_各家盈虧 [局_計次 + 4] = 子_浮動盈虧 (集_各家分值 [局_計次 + 4], 集_各家分值 [4], 集_下注金額 [局_計次 + 4])
  .計次循環尾 ()
  局_各家盈虧 [4] = 0 - (局_各家盈虧 [1] + 局_各家盈虧 [2] + 局_各家盈虧 [3] + 局_各家盈虧 [5] + 局_各家盈虧 [6])
.判斷 (集_莊家位置 = 5)
  .計次循環首 (4, 局_計次)
    局_各家盈虧 [局_計次] = 子_浮動盈虧 (集_各家分值 [局_計次], 集_各家分值 [5], 集_下注金額 [局_計次])
  .計次循環尾 ()
  局_各家盈虧 [6] = 子_浮動盈虧 (集_各家分值 [6], 集_各家分值 [5], 集_下注金額 [6])
  局_各家盈虧 [5] = 0 - (局_各家盈虧 [1] + 局_各家盈虧 [2] + 局_各家盈虧 [3] + 局_各家盈虧 [4] + 局_各家盈虧 [6])
.判斷 (集_莊家位置 = 6)
  .計次循環首 (5, 局_計次)
    局_各家盈虧 [局_計次] = 子_浮動盈虧 (集_各家分值 [局_計次], 集_各家分值 [6], 集_下注金額 [局_計次])
  .計次循環尾 ()
  局_各家盈虧 [6] = 0 - (局_各家盈虧 [1] + 局_各家盈虧 [2] + 局_各家盈虧 [3] + 局_各家盈虧 [4] + 局_各家盈虧 [5])
.默認
.判斷結束
.計次循環首 (6, 局_計次)
  超級列表框1.置標題 (局_計次 - 1, 3, 到文本 (局_各家盈虧 [局_計次]))
  ' 保存數據到資金項
  集_保存數據 [局_計次 + (局_計次 - 1) × 3 + 1] = 到文本 (到數值 (集_保存數據 [局_計次 + (局_計次 - 1) × 3 + 1]) + 局_各家盈虧 [局_計次]) ' 2 6 10 14 18 22
  .如果 (局_各家盈虧 [局_計次] < 0)
    局_各家經驗 [局_計次] = 2
    超級列表框1.置標題 (局_計次 - 1, 5, “+ 2”)
  .否則
    .如果 (局_各家盈虧 [局_計次] ≥ 0 且 局_各家盈虧 [局_計次] < 25)
      局_各家經驗 [局_計次] = 5
      超級列表框1.置標題 (局_計次 - 1, 5, “+ 5”)
    .否則
      .如果 (局_各家盈虧 [局_計次] ≥ 25 且 局_各家盈虧 [局_計次] < 50)
        局_各家經驗 [局_計次] = 8
        超級列表框1.置標題 (局_計次 - 1, 5, “+ 8”)
      .否則
        .如果 (局_各家盈虧 [局_計次] ≥ 50 且 局_各家盈虧 [局_計次] < 75)
          局_各家經驗 [局_計次] = 10
          超級列表框1.置標題 (局_計次 - 1, 5, “+ 10”)
        .否則
          .如果 (局_各家盈虧 [局_計次] ≥ 75 且 局_各家盈虧 [局_計次] < 110)
            局_各家經驗 [局_計次] = 12
            超級列表框1.置標題 (局_計次 - 1, 5, “+ 12”)
          .否則
            .如果 (局_各家盈虧 [局_計次] ≥ 110 且 局_各家盈虧 [局_計次] < 150)
              局_各家經驗 [局_計次] = 15
              超級列表框1.置標題 (局_計次 - 1, 5, “+ 15”)
            .否則
              .如果 (局_各家盈虧 [局_計次] ≥ 150 且 局_各家盈虧 [局_計次] < 200)
                局_各家經驗 [局_計次] = 18
                超級列表框1.置標題 (局_計次 - 1, 5, “+ 18”)
              .否則
                .如果 (局_各家盈虧 [局_計次] ≥ 200 且 局_各家盈虧 [局_計次] < 300)
                  局_各家經驗 [局_計次] = 25
                  超級列表框1.置標題 (局_計次 - 1, 5, “+ 25”)
                .否則
                  .如果 (局_各家盈虧 [局_計次] ≥ 300 且 局_各家盈虧 [局_計次] < 400)
                    局_各家經驗 [局_計次] = 30
                    超級列表框1.置標題 (局_計次 - 1, 5, “+ 30”)
                  .否則
                    .如果 (局_各家盈虧 [局_計次] ≥ 400)
                      局_各家經驗 [局_計次] = 40
                      超級列表框1.置標題 (局_計次 - 1, 5, “+ 40”)
                    .否則
                    .如果結束
                  .如果結束
                .如果結束
              .如果結束
            .如果結束
          .如果結束
        .如果結束
      .如果結束
    .如果結束
  .如果結束
  ' 保存數據到資金項
  集_保存數據 [局_計次 + (局_計次 - 1) × 3 + 3] = 到文本 (到數值 (集_保存數據 [局_計次 + (局_計次 - 1) × 3 + 3]) + 局_各家經驗 [局_計次]) ' 4 8 12 16 20 24
  ' 如果 經驗 >= 等級 * 所需經驗,則等級+1,經驗爲減去當前等級所需經驗後的剩餘
  .如果真 (到數值 (集_保存數據 [局_計次 + (局_計次 - 1) × 3 + 3]) ≥ 到數值 (集_保存數據 [局_計次 + (局_計次 - 1) × 3]) × 50)
    集_保存數據 [局_計次 + (局_計次 - 1) × 3 + 3] = 到文本 (到數值 (集_保存數據 [局_計次 + (局_計次 - 1) × 3 + 3]) - 到數值 (集_保存數據 [局_計次 + (局_計次 - 1) × 3]) × 50)
    集_保存數據 [局_計次 + (局_計次 - 1) × 3] = 到文本 (到數值 (集_保存數據 [局_計次 + (局_計次 - 1) × 3]) + 1) ' 等級+1
  .如果真結束
.計次循環尾 ()
子_保存存檔文件 ()
.子程序 子_浮動盈虧, 整數型, , 比較閒家與莊家的牌的大小,根據閒家的下注判斷盈虧
.參數 參_A分值, 小數型, , 閒家
.參數 參_B分值, 小數型, , 莊家
.參數 參_閒家下注, 整數型
.局部變量 局_浮動盈虧, 整數型
.局部變量 局_贏家分, 小數型
.局部變量 局_倍率, 整數型
.如果 (參_A分值 > 參_B分值)
  局_贏家分 = 參_A分值
.否則
  局_贏家分 = 參_B分值
.如果結束
.判斷開始 (取整 (局_贏家分) > 11)
  局_倍率 = 5
.判斷 (取整 (局_贏家分) ≥ 10 且 取整 (局_贏家分) < 11)
  局_倍率 = 3
.判斷 (取整 (局_贏家分) ≥ 8 且 取整 (局_贏家分) < 10)
  局_倍率 = 2
.判斷 (取整 (局_贏家分) ≥ 0 且 取整 (局_贏家分) < 8)
  局_倍率 = 1
.默認
.判斷結束
.如果 (參_A分值 > 參_B分值)
  局_浮動盈虧 = 局_倍率 × 參_閒家下注
.否則
  局_浮動盈虧 = 0 - 局_倍率 × 參_閒家下注
.如果結束
返回 (局_浮動盈虧)
.子程序 _按鈕1_被單擊
.局部變量 局_計次, 整數型
.局部變量 局_計次2, 整數型
.局部變量 局_臨時數組, 整數型, , "5"
.判斷開始 (按鈕1.標題 = “開始遊戲”)
  播放音樂 (#開始音, )
  超級列表框1.可視 = 假
  .計次循環首 (6, 局_計次)
    集_牛型標籤 [局_計次].可視 = 假
  .計次循環尾 ()
  按鈕1.可視 = 假
  集_點出牌數 = 0
  集_開始算牌 = 假
  集_是否點出 = { 假, 假, 假, 假, 假 }
  子_讀取存檔文件 ()
  子_數據洗牌 ()
  子_動畫發牌 ()
  集_是否強退 = 真
  子_置莊家位置 ()
  子_開始下注 ()
.判斷 (按鈕1.標題 = “開  牌”)
  集_開始算牌 = 假
  按鈕1.可視 = 假
  .如果 (集_點出牌數 < 3)
    集_各家分值 [6] = 0
  .否則
    集_各家分值 [6] = 集_玩家算分
  .如果結束
  子_語音播報 (集_各家分值 [6], 真)
  集_牛型標籤 [6].可視 = 真
  集_牛型標籤 [6].標題 = 子_計算牛型 (集_各家分值 [6])
  超級列表框1.置標題 (5, 2, 子_計算牛型 (集_各家分值 [6]))
  延遲 (1000)
  .計次循環首 (5, 局_計次2)
    .計次循環首 (5, 局_計次)
      局_臨時數組 [局_計次] = 集_牌型數據 [局_計次2] [局_計次]
    .計次循環尾 ()
    集_各家分值 [局_計次2] = 子_計算分值 (局_臨時數組, 真, 局_計次2)
    .如果 (局_計次2 = 2 或 局_計次2 = 4)
      子_語音播報 (集_各家分值 [局_計次2], 真) ' 男聲
    .否則
      子_語音播報 (集_各家分值 [局_計次2], 假) ' 女聲
    .如果結束
    集_牛型標籤 [局_計次2].可視 = 真
    集_牛型標籤 [局_計次2].標題 = 子_計算牛型 (集_各家分值 [局_計次2])
    超級列表框1.置標題 (局_計次2 - 1, 2, 子_計算牛型 (集_各家分值 [局_計次2]))
    延遲 (1000)
  .計次循環尾 ()
  子_資金結算 ()
  集_是否強退 = 假
  超級列表框1.可視 = 真
  按鈕1.可視 = 真
  按鈕1.標題 = “開始遊戲”
.默認
.判斷結束

運行結果:

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對神馬文庫的支持。如果你想了解更多相關內容請查看下面相關鏈接

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章