Finite State Machine (FSM) dan Pseudocode
Alhamdulillah
segala Puji kehadirat Allah SWT, kali ini saya membuat sebuah artikel yang saya
buat dari tugas kuliah saya, lebih tepatnya mata kuliah Game Education. Dalam artikel ini saya membuat Finite State Machine (FSM) dan Pseudocode dari game Dragon Nest Mobile.
Langsung saja gan, monggo diserap ilmunya :D
1. Finite State Machine (FSM)
FSM sederhana game Dragon Nest Mobile
2. Pseudocode
using UnityEngine;
using System.Collections;
public class GameFSM : MonoBehaviour {
public enum {Start Game, BeritaUpdate, Login, BuatKarakterBaru, LanjutKarakterLama, MasukSaintHeaven, MemilihJenisStage, DongeonStage, NestStage, Attact, Menang, Reward, Gagal, GameOver, KembalikeSainHeaven}
public TurnStates state;
public bool gameInProgress = true;
void Start () {
using System.Collections;
public class GameFSM : MonoBehaviour {
public enum {Start Game, BeritaUpdate, Login, BuatKarakterBaru, LanjutKarakterLama, MasukSaintHeaven, MemilihJenisStage, DongeonStage, NestStage, Attact, Menang, Reward, Gagal, GameOver, KembalikeSainHeaven}
public TurnStates state;
public bool gameInProgress = true;
void Start () {
state = GameFSM.Mulai.Init;
StartCoroutine ("TurnFSM");
}
}
private IEnumerator
TurnFSM (){
while(gameInProgress){w
switch(state){
while(gameInProgress){w
switch(state){
case TurnStates.:
if(Melihat()) {* state = BeritaUpdate;}
break;
case TurnStates.StartGame:
if( Memasukkan ID()) {* state = Login;}
break;
case TurnStates.Login:
if( ID Baru()) {* state = BuatKarakterBaru;}
break;
case TurnStates.Login:
if( ID Lama()) {* state = LanjutKarakterLama;}
break;
if(Melihat()) {* state = BeritaUpdate;}
break;
case TurnStates.StartGame:
if( Memasukkan ID()) {* state = Login;}
break;
case TurnStates.Login:
if( ID Baru()) {* state = BuatKarakterBaru;}
break;
case TurnStates.Login:
if( ID Lama()) {* state = LanjutKarakterLama;}
break;
case
TurnStates.Login:
if( Masuk ke game()) {* state = Masuk Saint Heaven;}
break;
if( Masuk ke game()) {* state = Masuk Saint Heaven;}
break;
case
TurnStates.Login:
if( (Masuk teleportasi)) {* state = MemilihJenisStage;}
break;
if( (Masuk teleportasi)) {* state = MemilihJenisStage;}
break;
case
TurnStates.Ready:
if( (BP Rendah)) {* state =
DongeonStage;}
break;
break;
case
TurnStates.Ready:
if( (BP Cukup)) {* state =
NestStage;}
break;
break;
case TurnStates.Attack:
if((Lolos)) {* state = Menang;}
if((Lolos)) {* state = Menang;}
if((Mati))
{* state = GameOver;}
break;
case TurnState.Reward :
if ((Lolos)) {* state = Reward;}
break;
break;
case TurnState.Reward :
if ((Lolos)) {* state = Reward;}
break;
case
TurnState.KembalikeSaintHeaven :
if ((StageDone)) {* state = KembalikeSaintHeaven;}
break;
}
yield return null;
}
}
if ((StageDone)) {* state = KembalikeSaintHeaven;}
break;
}
yield return null;
}
}
3.
Penjelasan
Dalam
permainan ini pemain diharuskan untuk membuka permainan yang berupa Start Game,
kemudian dapat melihat informasi terbaru tentang game ini di Berita Update atau
langsung Login dengan memasukkan ID telebih dahulu. Saat sudah keadaan Login
dapat membuat karakter baru atau dapat juga melanjutkan karakter yang sudah
dibuat sebelumnya, selanjutnya akan masuk ke kota utama yang bernama Saint
Heaven. Di dalam Saint Heaven dapat langsung menaikkan level atau tingkat
dengan memilih jenis stage, terdapat 2 stage yaitu Dongeon Stage untuk BP rendah
dan Nest Stage untuk BP cukup. Langsung menuju permainan dengan melakukan
attact saat menemui monster di dalam game, apabila gagal akan langsung game
over karena system nyawa di game ini menggunakan Healt Point, namun apabila
lolos akan menang dan akan mendapatkan reward. Selesai menakhlukkan musuh baik
gagal maupun menang dapat langsung kembali ke Saint Heaven.
Sekian dulu gan, semoga artikel saya dapat membantu agan, terlebih kalau mendapat tugas tentang FSM dan Pseudocode nya. Terima kasih atas kunjungannya. :D
Tidak ada komentar:
Posting Komentar