Atölye › Blackjack › 14/22. adım
finish eli bitiriyor: elleri karşılaştırıyor, bir mesaj yazıyor ve ödüyor. 21'i geçen patlar ve hemen
kaybeder. Yoksa toplamı büyük olan kazanır; eşitse "push" (berabere) olur ve bahsin geri gelir. Kazanmak bahsin
iki katını öder (bahsin geri + bir o kadar). Kartla 21'e ulaşırsan otomatik durursun; 21'i geçemezsin zaten.
```js
let message
if (handValue(player) > 21) finish()
else if (handValue(player) === 21) stand()
// Compare the hands and pay: a win returns the bet twice, blackjack two and a half times, a push gives it back.
function finish() {
phase = 'done'
const p = handValue(player)
const d = handValue(dealer)
let paid = 0
if (p > 21) message = 'Bust!'
else if (d > 21) [message, paid] = ['Dealer busts, you win', bet * 2]
else if (p > d) [message, paid] = ['You win', bet * 2]
else if (p < d) message = 'Dealer wins'
else [message, paid] = ['Push', bet]
bank += paid
message = ''
if (message) {
ctx.fillStyle = '#fde047'
ctx.font = 'bold 22px sans-serif'
ctx.textAlign = 'center'
ctx.fillText(message, canvas.width / 2, 212)
}
```[message, paid] = ['You win', bet * 2] → iki değişkene tek satırda değer verir.paid → masadan sana dönen fiş; kaybedince 0.message = ''); boş mesaj çizilmez (if (message)).let phase satırının altına let message yaz; deal'da phase = 'player' satırının üstüne message = '' yaz.hit'in sonuna patlama ve 21 satırlarını yaz.reset'in üstüne yorumuyla finish fonksiyonunu yaz.draw'da fiş satırının altına, bir boş satırdan sonra mesaj bloğunu yaz. Çalıştır ve patlayana kadar H'ye bas.Beceriler: Oyun durumları