red = color and $FF green = (color and $FF00) / $100 blue = (color and $FF0000) / $10000 ifb fYellow then // 黄色フラグが立っているときは、他のカラー(青、赤)の判定はしない。 ifb 0 = color then // 前回黄色だったら、黒は黄色とみなす。 isYellow = true else exit endif elseif 255 = blue then result = VK_M // 青なので「m」 elseif 255 = green then isYellow = true // 黄色 elseif 255 = red then result = VK_Z // 赤なので「z」 else exit endif ifb isYellow then ifb 4 <= n then // 黄色で確定 // 黄なのでmとzを交互に if key <> VK_M then result = VK_M if key <> VK_Z then result = VK_Z exit endif // 規定個数の箇所をチェックする // (黒を除く)グレーがあれば中断 if ! n then X = X + 35 result = 判定( X + (n * 5), Y, key, fYellow, isYellow, n + 1 ) endif fend
////////////////////////////////////////////////////////////////// // グレーチェック // メーターカラーなどがグレーかどうかを調べる function isGray( color) red = color and $FF green = (color and $FF00) / $100 blue = (color and $FF0000) / $10000 sum = red + green + blue aveH = sum / 3 + 10 aveL = sum / 3 - 10
Ifb ( red < aveL ) or ( aveH < red ) Then RESULT = false elseif ( green < aveL ) or ( aveH < green ) Then RESULT = false elseif ( blue < aveL ) or ( aveH < blue ) Then RESULT = false else RESULT = true endif