• Posted by : Unknown Rabu, 30 Mei 2018

    Assalamu'alaikum warahmatullahi wabarakatuh..

    FSM (Finite State Machine) pada dasarnya adalah melakukan pemecahan behavior dari objek/agen berdasarkan statenya yang harus didefinisikan aturan-aturan transisi sehingga state dapat berubah dari yang satu ke yang lain.

    FSM adalah sebuah metodologi perancanfan sistem kontrol yang menggambarkan tingkah laku atau prinsip kerja sistwm dengan menggunakan tigal hal berikut:
    1. State (Keadaan)
    2. Event (Kejadian)
    3. Action (Aksi)

    A. Finite State Machine:


    B. Pseudocode:

    using UnityEngine;
    using System.Collections;

    public class GameFSM : MonoBehaviour {
      public enum {Start, idle, run, benda, jawaban, menghindar, enemy, health, GameOver, NextLevel}

    public TurnStates state;
    public bool gameInProgress = true;

    void Start () {
     state = GameFSM.Mulai.Init;
     StartCoroutine ("TurnFSM");
    }
    private IEnumerator TurnFSM (){
     while(gameInProgress){
      switch(state){
      case TurnStates.Start:
         if( Permainan Awal()) {* state = idle:}
        break;
      case TurnStates.idle:
        if(Mulai()) {* state = run;}
        break;
      case TurnStates.Run:
        if( Jalan()) {* state = benda;}
        break;
      case TurnStates.benda:
         if( mencari benda()) {* state = jawaban;}
    if (menghindar ()) {* state = enemy;}
    break;
      case TurnStates.enemy:
      if( Terkena Enemy ()) {* state = health;}
      break;
      
      case TurnStates.health:
         if(nyawa masih tersedia ()) {* state = idle;}
         else (nyawa masih habis ()) {* state = GameOver;}
    break;
      
      case TurnState.NextGame :
      if (DoneLevel ()) {* state = LevelBaru;}
      break;
     }
     yield return null;
        } 
    }

    Penjelasan:
    Pada pseudocode di atas player (pemain) akan berada pada permainan awal. Setelah itu pemain akan berada diposisi idle atau diam. Kemudian pemain akan run (berjalan) melewati rintangan yang ada. Pemain harus terus menemukan sebuah benda (huruf hijaiyah) yang merupakan jawaban dari pertanyaan yang sebelumnya sudah muncul. Pemain harus menghindari musuh agar nyawa tidak berkurang. Jika pemain menabrak musuh maka otomatis nyawa pemain akan berkurang 1. Jika nyawa masih tersedia pemain akan diam. Namun, jika nyawa sudah habis maka akan game over. Jika pemain berhasil menyelesaikan permainan dengan mendapatkan semua jawaban (huruf hijaiyah) maka pemain akan lanjut ke level berikutnya. 


    Leave a Reply

    Subscribe to Posts | Subscribe to Comments

  • Copyright © - Al Hasna Sadira

    Al Hasna Sadira - Powered by Blogger - Designed by Johanes Djogan