Daha önce hiç bu kadar çok programlama yapmadım, oldukça basit bir soru.
Ana döngü böyle bir şeye benzeyen bir Tetris oyunu inşa ettiğimi düşünün.
for every frame
handle input
if it's time to make the current block move down a row
if we can move the block
move the block
else
remove all complete rows
move rows down so there are no gaps
if we can spawn a new block
spawn a new current block
else
game over
Oyunda her şey bugüne kadar anında olur - işler anında kökenli, ben eğer satırlar anında vb Ama ne kaldırılır yok şeyler anında (yani animate şeyler) olmasını istiyorum?
for every frame
handle input
if it's time to make the current block move down a row
if we can move the block
move the block
else
?? animate complete rows disappearing (somehow, wait over multiple frames until the animation is done)
?? animate rows moving downwards (and again, wait over multiple frames)
if we can spawn a new block
spawn a new current block
else
game over
Pong klonumda bu bir sorun değildi, çünkü her kare sadece topu hareket ettiriyordum ve çarpışmaları kontrol ediyordum.
Kafamı bu sorunun etrafına nasıl sarabilirim? Elbette çoğu oyun bir çerçeveden daha fazlasını gerektiren bir eylem içerir ve diğer şeyler eylem tamamlanana kadar durur.
Action
sınıf ve gerçekleştirilecek bir eylem sırası düşünün . Bir eylem tamamlandığında, işlemi kuyruktan kaldırın ve sonraki eylemi gerçekleştirin. Bir durum makinesinden çok daha esnek.