Membuat FSM sederhana minimal 10 states yang dilengkapi dengan Pseudocode dan penjelasannya.
Finite State Machine (FSM)
Finite State Machine (FSM)
Pseudocode
void Step(int *state) { // call by reference since state can change
switch(state) {
case 0: // level awal
LevelAwal();
if( SeeEnemy() ) { *state = 1; }
break;
case 1: // Diam
Diam();
if( LowOnHealth() ) { *state = 2; }
if( NoEnemy() ) { *state = 0; }
break;
case 2: // Jalan
Jalan();
if( LowOnHealth() ) { *state = 2; }
if( NoEnemy() ) { *state = 0; }
break;
case 3: // Kotak
Kotak();
if( LowOnHealth() ) { *state = 2; }
if( NoEnemy() ) { *state = 0; }
break;
case 4: // Soal
Soal();
if( LowOnHealth() ) { *state = 3; }
if( Enemy() ) { *state = 7; }
break;
case 5: // Menembak
Menembak();
if( LowOnHealth() ) { *state = 5; }
if( Enemy() ) { *state = 02 }
break;
case 6: // Lari
Lari();
if( LowOnHealth() ) { *state = 5; }
if( Enemy() ) { *state = 2; }
break;
case 7: // Musuh
Musuh();
if( LowOnHealth() ) { *state = 6; }
if( Enemy() ) { *state = 4; }
break;
case 8: // Next Level
NextLevel();
if( LowOnHealth() ) { *state = 7; }
if( Enemy() ) { *state = 9; }
break;
case 9: // Game Over
GameOver();
if( NoEnemy() ) { *state = 0; }
break;
}
}
Penjelasannya:
Pemain akan bermain dengan level awal, kemudian diam lalu mencari jalan dan di perjalanan menemukan sebuah kotak yang dimana kotak tersebut terdapat soal yang sudah berisi huruf hijaiyah. Jika pemain dapat menjawab soal akan ke level selanjutnya. untuk mendapatkan kotak tersebut tentunya tidak mudah karena harus melewati rintangan atau membunuh musuh terlebih dahulu untuk bisa menjawab soal. Pemain dapat menghindari musuh dengan menembak atau menghindar terlebih dahulu tetapi jika pemain tidak dapat menghindar maka akan game over sebaliknya jika pemain dapat menghindar dari musuh akan ke level selanjutnya.
Referensi:
http://pzuh.blogspot.com/2011/09/actionscript-30-finite-state-machine.html
https://web.cs.wpi.edu/~imgd4000/d07/slides/AI.pp
Referensi:
http://pzuh.blogspot.com/2011/09/actionscript-30-finite-state-machine.html
https://web.cs.wpi.edu/~imgd4000/d07/slides/AI.pp