#============================================================================== # –ถ‰JŽฎŠศˆีƒuƒ‰ƒbƒNƒWƒƒƒbƒNB # Fmisty_rain (http://kilisamenosekai.web.fc2.com/) # šššššŠT—v‚ศ‚วššššš # 2006/09/27 # ‚ฟ‚ๅ‚ม‚ฦ‚ต‚ฝCณB # 2006/08/07 # ŽแŠฑ‚ฬ•ฯXBŒ๘‰ส‰น•t‰มB # 2006/05/02~05/03B‚ข‚ซ‚ศ‚่–ณ—“๏‘่‚ษ’งํ‚ต‚ฤ‚�‚้B # ŽQ‰มl”‚อˆ๊lBƒvƒŒƒCƒ„[‚ฬ‚�BŒป‹เ‚ล‚โ‚่Žๆ‚่B # 2016/10/20 hengmana โมโบนัส ค่าต่างๆ เปลี่ยนเป็นภาษาไทย # 2016/11/12 hengmana โมคำสั่ง "ขอเพิ่ม" "โจมตี" "ตั้งรับ" # 2016/12/13 hengmana โมเพิ่มโชว์ จำนวนรอบเล่นกี่ครั้งต่อเกม และจัดย้ายตำแหน่งวางไพ่ใหม่ # 2016/12/20 hengmana แก้บัคแต้มตัวA จาก 11แต้ม หนึ่งใบแรกในมือ ให้กลายเป็น 1แต้ม เมื่อรวมเกิน 21 #============================================================================== #============================================================================== # ฃ Window_Rate #------------------------------------------------------------------------------ # @”z“–‹เ‚ฬ”{—ฆ‚๐•\Žฆ‚ท‚้ƒEƒBƒ“ƒhƒE‚ล‚ทB #============================================================================== class Window_Rate < Window_Base #-------------------------------------------------------------------------- # š ƒIƒuƒWƒFƒNƒg‰Š๚‰ป #-------------------------------------------------------------------------- def initialize(rate = 1.0000, jackcount = 0 , jackturn = @Jackturn) @rate = rate @JackCount = jackcount @Jackturn = jackturn super(0, 0, 100, 64 + 32) self.contents = Bitmap.new(width - 32, height - 32) refresh end #-------------------------------------------------------------------------- # š ƒŠƒtƒŒƒbƒVƒ… #-------------------------------------------------------------------------- def refresh(rate = 1.0000, jackcount = 0 , jackturn = @Jackturn ) @rate = rate @JackCount = jackcount @Jackturn = jackturn self.contents.clear cx = 32 #contents.text_size("#{@rate}").width # self.contents.font.color = system_color # self.contents.draw_text(0, 0, cx , 32, "x", 0) self.contents.font.color = normal_color self.contents.font.bold = true self.contents.font.size = 35 self.contents.draw_text(cx - 32, 0-2, cx + 32 , 32,"#{@JackCount} / #{@Jackturn}", 2) self.contents.font.bold = false self.contents.font.size = 40 self.contents.draw_text(cx - 32, 32, cx + 36, 32, sprintf("%4.4f", @rate), 2) end end #============================================================================== # ฃ BlackJack #------------------------------------------------------------------------------ # @–ถ‰JŽฎŠศˆีƒuƒ‰ƒbƒNƒWƒƒƒbƒN‚ฬ–{‘ฬ‚ล‚ทB #============================================================================== class BlackJack #-------------------------------------------------------------------------- # šƒtƒ@ƒCƒ‹–ผ #-------------------------------------------------------------------------- #รูปไพ่ TrumpFIle = "Graphics/Pictures/trump" #ฉากหลัง JackBackFile = "Graphics/Titles/001-Title01" #เสียง แพ้ Lse = "Audio/SE/057-Wrong01" #เสียง ชนะ Wse = "Audio/SE/056-Right02" #เสียง จบเกม Pse = "Audio/SE/006-System06" #-------------------------------------------------------------------------- # š ƒIƒuƒWƒFƒNƒg‰Š๚‰ป # menu_index : ƒRƒ}ƒ“ƒh‚ฬƒJ[ƒ\ƒ‹‰Š๚ˆส’u #-------------------------------------------------------------------------- def initialize(menu_index = 0) #—”‰Š๚‰ป‚ต‚ฟ‚แ‚ค srand end #-------------------------------------------------------------------------- # š ƒƒCƒ“ˆ— #-------------------------------------------------------------------------- def main #rate ############################################################ @rate_m = 0.5000 # ถ้าแพ้จะ คูณ ด้วยจำนวนนั้น @rate_p = 0.5000 # ถ้าชนะจะ บวก ด้วยจำนวนนั้น @rate_b = 1.5000 # โบนัส21 คูณ (ด้วยจำนวนนั้น + @rate_p) ################################################################### @rate = 1.0000 @JackBack = Sprite.new @JackBack.bitmap = Bitmap.new(JackBackFile) @Trump = Sprite.new @Trump.bitmap = Bitmap.new(TrumpFIle) @Trump.visible = FALSE #ตัวกำหนดเล่นกี่ครั้ง ต่อ หนึ่งเกม และไม่ควรกำหนดเกิน 7 ครั้ง เพราะไพ่มันจะหมดซะก่อน ####### @Jackturn = 5 ################################################################### #เป็นตัวควบคุณเทิร์น @JackCount = 0 #เจ้ามือชนะ @dealWin = 0 #เราชนะ @playWin = 0 #เสมอกัน @drawCount = 0 #เป็นตัวกำหนด ระบบขั้นตอนต่างๆ @JackPhase = 0 #เดิมพัน @Bet = 0 #ƒvƒŒƒCƒ„[ŠŽƒJ[ƒh @playerCards = [] # ƒvƒŒƒCƒ„[ƒJ[ƒh‘}“�ˆส’u @playerInsert = 0 # ƒvƒŒƒCƒ„[‡Œv @playerSum = 0 #ƒfƒB[ƒ‰[ŠŽƒJ[ƒh @dealerCards = [] # ƒfƒB[ƒ‰[ƒJ[ƒh‘}“�ˆส’u @dealerInsert = 0 # ƒfƒB[ƒ‰[‡Œv @dealerSum = 0 #ŽR‚ฉ‚็o‚ทˆส’u @motherOut = 0 #52Žํ—�‚ฬƒgƒ‰ƒ“ƒv‚ฬ‰ๆ‘œ @OneTrumpBmp = [] # @TrumpRect = Rect.new(x, y, width, height) for i in 0..51 @OneTrumpBmp[i] = Sprite.new @OneTrumpBmp[i].bitmap = Bitmap.new(64,96) @OneTrumpBmp[i].bitmap.blt(0, 0, @Trump.bitmap, Rect.new(320,384, 64, 96)) @OneTrumpBmp[i].visible = TRUE @OneTrumpBmp[i].x = 640 / 2 - 32 + 144 @OneTrumpBmp[i].y = -96 end #ƒgƒ‰ƒ“ƒv‚ชd‚ศ‚ม‚ฤ‚ข‚้•\Œป @StackBmp = Sprite.new @StackBmp.bitmap = Bitmap.new(64,20) @StackBmp.bitmap.blt(0, 0, @Trump.bitmap, Rect.new(384,384, 64, 20)) @StackBmp.visible = TRUE @StackBmp.x = 640 / 2 - 32 + 144 @StackBmp.y = -96 #Žภ�‚ฬƒgƒ‰ƒ“ƒv‚ฬ•ภ‚ั @TrumpsRow = [] #‚�‚ธ‚อ‡”ิ‚ว‚จ‚่‚ษ•ภ‚ื‚้ for i in 0..51 @TrumpsRow[i] = i end #ƒ‰ƒ“ƒ_ƒ€‚ษ•ภ‚ั‘ึ‚ฆ‚้ for i in 0..51 j = rand(52) tmp = @TrumpsRow[j] @TrumpsRow[j] = @TrumpsRow[i] @TrumpsRow[i] = tmp end # ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚๐์ฌ s1 = "เริ่มเล่น" s2 = "ออก" @command_window = Window_Command.new(100, [s1,s2]) @command_window.index = 0 @command_window.x = 320 - (@command_window.width / 2) @command_window.y = 240 - (@command_window.height / 2) + 80 @command_window.active = TRUE @command_window.opacity = 160 #ƒqƒbƒgEƒXƒeƒCƒEƒBƒ“ƒhƒE‚๐์ฌ ƒ_ƒuƒ‹ƒ_ƒEƒ“AƒXƒvƒŠƒbƒg‚อ–ขŽภ‘• s3 = "ขอเพิ่ม" s4 = " โจมตี" s5 = " ตั้งรับ" @Hit_Stay_window = Window_Command.new(95, [s3,s4,s5]) @Hit_Stay_window.index = 0 @Hit_Stay_window.x = 640 - @Hit_Stay_window.width - 5 @Hit_Stay_window.y = 240 - (@Hit_Stay_window.height / 2) - 16 @Hit_Stay_window.visible = FALSE ############################### @Hit_Stay_window.active = FALSE @Hit_Stay_window.opacity = 160 #Ace‚๐‚ว‚ค”‚ฆ‚้‚ฉH‘‚ซ‚�‚ต‚ฝ‚ชAŽg‚ม‚ฤ‚ข‚�‚น‚๑B s6 = "1" s7 = "11" @AceChoice_window = Window_Command.new(100, [s6,s7]) @AceChoice_window.index = 0 @AceChoice_window.x = 0 @AceChoice_window.y = 480 - @AceChoice_window.height @AceChoice_window.active = FALSE @AceChoice_window.visible = FALSE @AceChoice_window.opacity = 160 #ƒwƒ‹ƒvƒEƒBƒ“ƒhƒE‚๐์ฌ @Help_window = Window_Help.new @Help_window.opacity = 160 # ƒS[ƒ‹ƒhƒEƒBƒ“ƒhƒE‚๐์ฌ @gold_window = Window_Gold.new #@gold_window.height = 48 @gold_window.x = 640 - @gold_window.width @gold_window.y = @Help_window.height @gold_window.opacity = 160 #“q‚ฏ‹เ‚๐Œˆ‚฿‚้ƒEƒBƒ“ƒhƒE‚๐o‚ท @Bet_windowPare = Window_Base.new(640-100,480-64,100,64) @Bet_windowPare.opacity = 255 @Bet_window = Window_InputNumber.new(2) @Bet_window.x = 640 - @Bet_window.width @Bet_window.y = 480 - @Bet_window.height @Bet_window.visible = FALSE @Bet_window.active = FALSE # ”{—ฆƒEƒBƒ“ƒhƒE‚๐์ฌ @rate_window = Window_Rate.new(@rate ,@JackCount ,@Jackturn) @rate_window.x = 640 - @rate_window.width @rate_window.y = 480 - @Bet_window.height - @rate_window.height @rate_window.opacity = 255 # ƒwƒ‹ƒvƒEƒBƒ“ƒhƒE‚๐Šึ˜A•t‚ฏ # @Bet_window.help_window = @Help_window @Help_window.set_text("คุณจะพร้อมที่จะเริ่มหรือยัง") q = 0 u = 0 # ƒgƒ‰ƒ“ƒWƒVƒ‡ƒ“Žภs Graphics.transition # ƒƒCƒ“ƒ‹[ƒv loop do case @JackPhase when 0 #‚โ‚้‚ฉA‚โ‚็‚ศ‚ข‚ฉEEEH # if @command_window.active # @JackPhase = 0 # else # @JackPhase = 1 # end j = 0 when 1 @Help_window.set_text(" ") #ƒJ[ƒh‚ช๊‚ษŒป‚๊‚้B #for i in 0..51 #if @OneTrumpBmp[i].y < 128 and i <= j #@OneTrumpBmp[i].y = @OneTrumpBmp[i].y + 8 #end #end j = j + 1 if @OneTrumpBmp[0].y < 128 + 16 @OneTrumpBmp[0].y = @OneTrumpBmp[0].y + 8 @StackBmp.y = @OneTrumpBmp[0].y + 96 end if @OneTrumpBmp[0].y >= 128 + 16 #j >= 80# and @OneTrumpBmp[i].y >= 128 for i in 0..51 @OneTrumpBmp[i].y = 128 + 16 end @Help_window.set_text("วางเดิมพัน") @Bet_window.visible = TRUE @Bet_window.active = TRUE @JackPhase = 2 end when 2 #BETEƒtƒFƒCƒY #‰ฝ‚เ‚ต‚�‚น‚๑B #“q‚ฏ‹เ‚ฬ“�—อ‚๐‘า‚ฟ‚�‚ทB when 3 #ƒJ[ƒh”z‚้ #ƒfƒB[ƒ‰[‚ฬƒJ[ƒh ss = 64 if @OneTrumpBmp[@NextHit].x > 64 + ss @OneTrumpBmp[@NextHit].x = @OneTrumpBmp[@NextHit].x - 8 end if @OneTrumpBmp[@NextHit+2].x > 128 + ss and @p > 8 @OneTrumpBmp[@NextHit+2].x = @OneTrumpBmp[@NextHit+2].x - 8 end #ƒvƒŒƒCƒ„[‚ฬƒJ[ƒh if @OneTrumpBmp[@NextHit+1].x > 64 + ss @OneTrumpBmp[@NextHit+1].x = @OneTrumpBmp[@NextHit+1].x - 8 end if @OneTrumpBmp[@NextHit+1].y < 322 - 16 @OneTrumpBmp[@NextHit+1].y = @OneTrumpBmp[@NextHit+1].y + 8 end if @p > 8 and @OneTrumpBmp[@NextHit+3].x > 128 + ss @OneTrumpBmp[@NextHit+3].x = @OneTrumpBmp[@NextHit+3].x - 8 end if @p > 8 and @OneTrumpBmp[@NextHit+3].y < 322 - 16 @OneTrumpBmp[@NextHit+3].y = @OneTrumpBmp[@NextHit+3].y + 8 end @p = @p + 1 if @OneTrumpBmp[@NextHit].x <=64 + ss and @OneTrumpBmp[@NextHit+2].x <= 128 + ss and @OneTrumpBmp[@NextHit+1].x <= 64 + ss and @OneTrumpBmp[@NextHit+1].y >= 322 - 16 and @OneTrumpBmp[@NextHit+3].x <= 128 + ss and @OneTrumpBmp[@NextHit+3].y >= 322 - 16 @Help_window.set_text("A123456789") trumpPrint(@NextHit,@dealerCards[0],TRUE) trumpPrint(@NextHit+1,@playerCards[0],TRUE) trumpPrint(@NextHit+3,@playerCards[1],TRUE) @Hit_Stay_window.visible = TRUE ################################## @Hit_Stay_window.active = TRUE @JackCount = @JackCount + 1 @rate_window.refresh(@rate ,@JackCount ,@Jackturn) @JackPhase = 4 @DealerNext = @NextHit + 2 @NextHit = @NextHit + 4 # ‡Œvƒ`ƒFƒbƒN PlayerSumCheck() end when 4 #ƒqƒbƒg‚ท‚้‚ฉƒXƒeƒC‚ท‚้‚ฉ - ‘I‘๐ #‰ฝ‚เ‚ต‚ศ‚ข when 5 #ƒqƒbƒg ’ว‰ม if @OneTrumpBmp[@NextHit].x > ((@playerInsert % 4)+1 + 1) * 64 @OneTrumpBmp[@NextHit].x = @OneTrumpBmp[@NextHit].x - 8 end if @OneTrumpBmp[@NextHit].y < (322 - 16 + (((@playerInsert / 4)) * 32) ) @OneTrumpBmp[@NextHit].y = @OneTrumpBmp[@NextHit].y + 8 end if @OneTrumpBmp[@NextHit].x <= ((@playerInsert % 4)+1 +1) * 64 and @OneTrumpBmp[@NextHit].y >= (322 - 16 + (((@playerInsert / 4)) * 32) ) PlayerCardInsert() trumpPrint(@NextHit,@playerCards[@playerInsert-1],TRUE) @NextHit = @NextHit + 1 @Help_window.set_text("000") @JackPhase = 6 @Hit_Stay_window.visible = TRUE ################################ @Hit_Stay_window.active = TRUE # ‡Œvƒ`ƒFƒbƒN PlayerSumCheck() if @playerSum > 21 @Help_window.set_text("เลยแล้วครับ") @Hit_Stay_window.active = FALSE trumpPrint(@DealerNext,@dealerCards[@dealerInsert-1],TRUE) DealerSumCheck() @JackPhase = 7 end end when 6 #ฤ‘I‘๐ when 7 #ƒXƒeƒCEƒfƒB[ƒ‰[‚อ16ˆศ‰บ‚ฬŠิˆ๘‚ซ‘ฑ‚ฏ‚้ if @dealerSum <= 16 @JackPhase = 8 else @JackPhase = 9 end when 8 # ƒfƒB[ƒ‰[‚ชˆ๘‚ญB if @OneTrumpBmp[@NextHit].y > 96 + 32 +16 - (@dealerInsert / 4) * 32 @OneTrumpBmp[@NextHit].y = @OneTrumpBmp[@NextHit].y - 8 end if @OneTrumpBmp[@NextHit].x > (((@dealerInsert) % 4 + 1 + 1) * 64) @OneTrumpBmp[@NextHit].x = @OneTrumpBmp[@NextHit].x - 8 end if @OneTrumpBmp[@NextHit].x <= (((@dealerInsert) % 4 + 1 + 1) * 64) and @OneTrumpBmp[@NextHit].y <= 96 + 32 + 16 - (@dealerInsert / 4) * 32 DealerCardInsert() trumpPrint(@NextHit,@dealerCards[@dealerInsert-1],TRUE) @NextHit = @NextHit + 1 DealerSumCheck() @JackPhase = 7 q = 1 end when 9 # Ÿ”s& if (q == 1) ############################################ #@JackCount = @JackCount + 1 if( @playerSum > 21 and @dealerSum > 21 ) or ( @playerSum == @dealerSum) @Help_window.set_text("เสมอ") @drawCount = @drawCount + 1 @rate = @rate + @rate_p * 3 if @pp == 1 elsif (@playerSum > 21 and @dealerSum <= 21) or ( @playerSum < @dealerSum and @dealerSum <= 21) #”s–k @Help_window.set_text("คุณแพ้แล้ว") Audio.se_play(Lse, 80, 100) @dealWin = @dealWin + 1 # ”z“–‚ฬ”{—ฆ‚๐Œธญ @rate = @rate * @rate_m if @pp == 0 @rate = @rate * (@rate_m + (@rate_m / 2)) if @pp == 1 @rate = 0.0000 if @rate < 0.0000 elsif (@playerSum <= 21 and @dealerSum > 21) or ( @playerSum > @dealerSum and @playerSum <= 21) @Help_window.set_text("คุณชนะแล้ว") Audio.se_play(Wse, 80, 100) @playWin = @playWin + 1 # ”z“–‚ฬ”{—ฆ‚๐‘‰ม @rate = @rate + @rate_p if @pp == 0 @rate = @rate + (@rate_p / 2) if @pp == 1 # โบนัส ################################################### @rate = @rate * @rate_b if @playerSum == 21 for i in 11..20 @rate = @rate + (0.0100 * ( 21 - i ) ) if @playerSum == i end ########################################################## else @Help_window.set_text("#{@playerSum} VS #{@dealerSum}") end if @rate < 0.0000 @rate = 0.0000 end @rate_window.refresh(@rate ,@JackCount ,@Jackturn) end for k in 0...@NextHit if @OneTrumpBmp[k].x >= -64 and q > 50 @OneTrumpBmp[k].x = @OneTrumpBmp[k].x - 16 end end q = q + 1 if q >= 100 q = 0 @p = 0 @pp = 0 @playerCards = [] @dealerCards = [] @playerSum = 0 @dealerSum = 0 @JackPhase = 3 @playerInsert = 0 @dealerInsert = 0 DealerCardInsert() PlayerCardInsert() DealerCardInsert() PlayerCardInsert() if @JackCount == @Jackturn @JackPhase = 10 @Jackturn += 1 if @Jackturn < 8 u = 1 end end when 10 # จบเกม ได้รับ if $game_variables[] if u == 1 Audio.se_play(Pse, 80, 100) $game_party.gain_gold((@Bet*@rate).truncate) @gold_window.refresh u = 0 end bb = (@Bet*@rate).truncate rrss = sprintf("%4.4f", 1 + @rate * (@Jackturn - 5) / 10) jturn = @Jackturn @Help_window.set_text("จบเกม ได้รับ #{bb} บาท ถ้าเล่นต่อ รับโบนัสเริ่มต้น #{rrss} +เล่น #{jturn} ครั้ง") # @Hit_Stay_window.visible = FALSE @command_window.active = TRUE @command_window.visible = TRUE when 11 # ต่อ @Hit_Stay_window.visible = FALSE @command_window.active = FALSE @command_window.visible = FALSE if @rate < 0.0000 ################################################### @rate = 0.0000 else @rate = 1 + (@rate * (@Jackturn - 5) / 10) ########################################## end @rate_window.refresh(@rate , 0,@Jackturn) j = 0 q = 0 @p = 0 @pp = 0 @Bet = 0 @playerInsert = 0 @playerSum = 0 @dealerInsert = 0 @dealerSum = 0 @motherOut = 0 for i in 0..51 @OneTrumpBmp[i].dispose end for i in 0..51 @OneTrumpBmp[i] = Sprite.new @OneTrumpBmp[i].bitmap = Bitmap.new(64,96) @OneTrumpBmp[i].bitmap.blt(0, 0, @Trump.bitmap, Rect.new(320,384, 64, 96)) @OneTrumpBmp[i].visible = TRUE @OneTrumpBmp[i].x = 640 / 2 - 32 + 144 @OneTrumpBmp[i].y = -96 end for i in 0..51 @TrumpsRow[i] = i end for i in 0..51 j = rand(52) tmp = @TrumpsRow[j] @TrumpsRow[j] = @TrumpsRow[i] @TrumpsRow[i] = tmp end @JackPhase = 1 @JackCount = 0 when 12 # I—น‚ท‚้ # ƒ}ƒbƒv‰ๆ–ส‚ษุ‚่‘ึ‚ฆ $scene = Scene_Map.new end # ƒQ[ƒ€‰ๆ–ส‚๐XV Graphics.update # “�—อ๎•๑‚๐XV Input.update # ƒtƒŒ[ƒ€XV update # ‰ๆ–ส‚ชุ‚่‘ึ‚ํ‚ม‚ฝ‚็ƒ‹[ƒv‚๐’†’f if $scene != self break end end # ƒgƒ‰ƒ“ƒWƒVƒ‡ƒ“€”๕ Graphics.freeze #ŠJ•๚‚ต‚�‚ท @AceChoice_window.dispose @Hit_Stay_window.dispose @command_window.dispose @JackBack.dispose @Trump.dispose @Bet_window.dispose @gold_window.dispose for i in 0..51 @OneTrumpBmp[i].dispose end @StackBmp.dispose @Help_window.dispose @Bet_windowPare.dispose @rate_window.dispose end #-------------------------------------------------------------------------- # š ƒtƒŒ[ƒ€XV #-------------------------------------------------------------------------- def update # ƒEƒBƒ“ƒhƒE‚๐XV @gold_window.update @rate_window.update #ƒqƒbƒgorƒXƒeƒCƒEƒBƒ“ƒhƒE‚ฬXV if @Hit_Stay_window.active @Hit_Stay_window.update update_Hit_Stay #return end #ƒxƒbƒgƒEƒBƒ“ƒhƒE‚ฬXV if @Bet_window.active @Bet_window.update @Bet_windowPare.update update_Bet #return end #ƒxƒbƒgƒEƒBƒ“ƒhƒE‚ฬXV if @command_window.active @command_window.update update_command #return end #Ace‘I‘๐ƒEƒBƒ“ƒhƒEXV if @AceChoice_window.active @AceChoice_window.update update_command #return end end #---------------------- ---------------------------------------------------- # š ƒtƒŒ[ƒ€XV(“q‚ฏ‹เ“�—อƒEƒBƒ“ƒhƒE‚ชƒAƒNƒeƒBƒu‚ฬ๊‡) #-------------------------------------------------------------------------- def update_Bet if Input.trigger?(Input::B) # ƒLƒƒƒ“ƒZƒ‹ SE ‚๐‰‰‘t $game_system.se_play($data_system.cancel_se) @JackPhase = 12 end # C ƒ{ƒ^ƒ“‚ช‰Ÿ‚ณ‚๊‚ฝ๊‡ if Input.trigger?(Input::C) #ŠŽ‹เˆศ‰บ‚ฉH if $game_variables[] if @Bet_window.number <= $game_party.gold if @Bet_window.number > 0 # Œˆ’่ SE ‚๐‰‰‘t $game_system.se_play($data_system.decision_se) @Help_window.set_text("เริ่มแจกไพ่") @Bet_window.active = FALSE @JackPhase = 3 @p = 0 @pp = 0 @Bet = @Bet_window.number $game_party.lose_gold(@Bet) @gold_window.refresh @NextHit = 0 DealerCardInsert() PlayerCardInsert() DealerCardInsert() PlayerCardInsert() else #ƒuƒU[ $game_system.se_play($data_system.buzzer_se ) @Help_window.set_text("ต้องมากกว่า 1 #{$data_system.words.gold}") end else #ƒuƒU[ $game_system.se_play($data_system.buzzer_se ) @Help_window.set_text("ชิปไม่พอจะลง") end return end end #-------------------------------------------------------------------------- # œ ƒtƒŒ[ƒ€XV (ƒqƒbƒgƒXƒeƒC‘I‘๐ƒEƒBƒ“ƒhƒE‚ชƒAƒNƒeƒBƒu‚ฬ๊‡) #-------------------------------------------------------------------------- def update_Hit_Stay # C ƒ{ƒ^ƒ“‚ช‰Ÿ‚ณ‚๊‚ฝ๊‡ if Input.trigger?(Input::C) # ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚ฬƒJ[ƒ\ƒ‹ˆส’u‚ล•ชŠ๒ case @Hit_Stay_window.index when 0 # ƒqƒbƒg จั่วเพิ่ม # Œˆ’่ SE ‚๐‰‰‘t $game_system.se_play($data_system.decision_se) @Help_window.set_text("รอสักครู่") @Hit_Stay_window.active = FALSE @JackPhase = 5 when 1 # ƒXƒeƒC โจมตี # Œˆ’่ SE ‚๐‰‰‘t $game_system.se_play($data_system.decision_se) @Hit_Stay_window.active = FALSE trumpPrint(@DealerNext,@dealerCards[@dealerInsert-1],TRUE) DealerSumCheck() @JackPhase = 7 when 2 # ƒXƒeƒC ตั้งรับ # Œˆ’่ SE ‚๐‰‰‘t $game_system.se_play($data_system.decision_se) @Hit_Stay_window.active = FALSE trumpPrint(@DealerNext,@dealerCards[@dealerInsert-1],TRUE) DealerSumCheck() @pp = 1 @JackPhase = 7 end return end end #-------------------------------------------------------------------------- # œ ƒtƒŒ[ƒ€XV (ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚ชƒAƒNƒeƒBƒu‚ฬ๊‡) #-------------------------------------------------------------------------- def update_command # B ƒ{ƒ^ƒ“‚ช‰Ÿ‚ณ‚๊‚ฝ๊‡ if Input.trigger?(Input::B) # ƒLƒƒƒ“ƒZƒ‹ SE ‚๐‰‰‘t $game_system.se_play($data_system.cancel_se) # ƒ}ƒbƒv‰ๆ–ส‚ษุ‚่‘ึ‚ฆ $scene = Scene_Map.new return end # C ƒ{ƒ^ƒ“‚ช‰Ÿ‚ณ‚๊‚ฝ๊‡ if Input.trigger?(Input::C) if @JackPhase == 10 # Œˆ’่ SE ‚๐‰‰‘t $game_system.se_play($data_system.decision_se) case @command_window.index when 0 #@‘ฑ‚ฏ‚�‚ท @JackPhase = 11 when 1 # ‚โ‚฿‚�‚ทBi�‹เŽx•ฅ‚ขƒtƒFƒCƒY‚ึj @JackPhase = 12 end else # ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚ฬƒJ[ƒ\ƒ‹ˆส’u‚ล•ชŠ๒ case @command_window.index when 0 # ‚โ‚่‚�‚ท #ˆ๊•ถ–ณ‚ต‚ศ‚็ƒ_ƒ‚ล‚ทB if $game_variables[] if $game_party.gold == 0 #ƒuƒU[ $game_system.se_play($data_system.buzzer_se ) @Help_window.set_text("ชิบหมดแล้ว") else # Œˆ’่ SE ‚๐‰‰‘t $game_system.se_play($data_system.decision_se) @Help_window.set_text("ต่อ") @command_window.active = FALSE @command_window.visible = FALSE @JackPhase = 1 end when 1 # ‚โ‚่‚�‚น‚๑ # Œˆ’่ SE ‚๐‰‰‘t $game_system.se_play($data_system.decision_se) # ƒ}ƒbƒv‰ๆ–ส‚ษุ‚่‘ึ‚ฆ $scene = Scene_Map.new end end return end end #-------------------------------------------------------------------------- # š ƒvƒŒƒCƒ„[‚ษƒJ[ƒh‘}“� #-------------------------------------------------------------------------- def PlayerCardInsert @playerCards[@playerInsert] = @TrumpsRow[@motherOut] @playerInsert = @playerInsert + 1 @motherOut = @motherOut + 1 end #-------------------------------------------------------------------------- # š ƒfƒB[ƒ‰[‚ษƒJ[ƒh‘}“� #-------------------------------------------------------------------------- def DealerCardInsert @dealerCards[@dealerInsert] = @TrumpsRow[@motherOut] @dealerInsert = @dealerInsert + 1 @motherOut = @motherOut + 1 end #-------------------------------------------------------------------------- # š ƒvƒŒƒCƒ„[‚ฬƒJ[ƒh‚ฬ‡Œv‚๐Žๆ‚้B #-------------------------------------------------------------------------- def PlayerSumCheck() sum = 0 acecount = 0 toone = 0 for i in 0...@playerInsert count = (@playerCards[i] % 13) + 1 if count > 10 # J,Q,K‚อ10‚ฦ”‚ฆ‚้B count = 10 end if count == 1 # A‚๐Ž‚ม‚ฤ‚ข‚ฝ๊‡B acecount = acecount + 1 count = 0 end sum = sum + count end while acecount > 0 if sum+11 > 21 sum = sum + 1 else sum = sum + 11 toone = 1 end acecount = acecount - 1 end sum = sum - 10 if toone == 1 and sum > 21 @Help_window.set_text(" คุณรวมได้ #{sum} แต้ม") @playerSum = sum end #-------------------------------------------------------------------------- # š ƒfƒB[ƒ‰[‚ฬƒJ[ƒh‚ฬ‡Œv‚๐Žๆ‚้B #-------------------------------------------------------------------------- def DealerSumCheck() sum = 0 acecount = 0 toone = 0 for i in 0...@dealerInsert count = (@dealerCards[i] % 13) + 1 if count > 10 # J,Q,K‚อ10‚ฦ”‚ฆ‚้B count = 10 end if count == 1 # A‚๐Ž‚ม‚ฤ‚ข‚ฝ๊‡B acecount = acecount + 1 count = 0 end sum = sum + count end while acecount > 0 if sum+11 > 21 sum = sum + 1 else sum = sum + 11 toone = 1 end acecount = acecount - 1 end sum = sum - 10 if toone == 1 and sum > 21 @Help_window.set_text(" เจ้ามือ #{sum} แต้ม") @dealerSum = sum end #-------------------------------------------------------------------------- # š ƒJ[ƒh•\Žฆ # ”Cˆำ‚ฬƒX[ƒcA”Žš‚ฬƒJ[ƒh‚๐x,y‚ษ•\Žฆ‚ท‚้ #-------------------------------------------------------------------------- def trumpPrint( card,num,flag) # num = num - 1 if flag == TRUE @OneTrumpBmp[card].bitmap.blt(0, 0, @Trump.bitmap, Rect.new(((num % 13) * 64),((num / 13) * 96), 64, 96)) else @OneTrumpBmp[card].bitmap.blt(0, 0, @Trump.bitmap, Rect.new(320,384, 64, 96)) end end end