Atölye › Amiral Battı › 21/35. adım
Amiral Battı sırayla oynanır. Senin atışından sonra sıra bilgisayara geçsin. Bilgisayar hemen ateş etmesin; yarım
saniye (30 kare) düşünüyormuş gibi beklesin ki ne olduğunu görebilesin. Bunun için bir sayaç (timer)
kullanacağız.
```js
const THINK = 30 // frames the computer waits before it shoots
let turn // 'you' or 'them'
let timer
turn = 'you'
if (state !== 'playing' || turn !== 'you' || myShots[r][c]) return
turn = 'them'
timer = THINK
```const THINK = 30 → bilgisayarın bekleyeceği kare sayısı (60 kare = 1 saniye).let turn → sıra kimde: 'you' (sen) ya da 'them' (onlar). reset onu 'you' yapar.turn !== 'you' → playerShoots'un ilk satırındaki koşullara eklendi: sıra sende değilse ateş etme.turn = 'them' → kazanmayan bir atıştan sonra sıra bilgisayara geçer.timer = THINK → geri sayım 30'dan başlar. Bilgisayarı sonraki adımda yazacağız.const HOME = ... satırının altına THINK satırını; let theirShots ... satırının altına turn ve timer
satırlarını yaz.reset içinde theirShots = grid(null) satırının altına turn = 'you' yaz.playerShoots'un ilk satırında state !== 'playing' || sonrasına turn !== 'you' || ekle.playerShoots'un en sonuna, if (enemyFleet.every(sunk)) { ... } bloğunun altına iki satırı yaz.Beceriler: Oyun durumları
← Onların atışlarının kaydı Bilgisayar karşılık veriyor →