1. Finite State Machine (FSM)
2. Pseudocode
using UnityEngine;
using System.Collections;
public class GameFSM : MonoBehaviour {
public enum {Start,BeritaUpdate,login,Buatkarakterbaru,MasukKarakterlama,Masukkelobby,MemilihModegame,Classic,Rank,Brawl,VSA.I,Custom,Attack,Menang,Kalah,Reward,GameOver,MenujuLobby}
public TurnStates state;
public bool gameInProgress = true;
void Start () {
using System.Collections;
public class GameFSM : MonoBehaviour {
public enum {Start,BeritaUpdate,login,Buatkarakterbaru,MasukKarakterlama,Masukkelobby,MemilihModegame,Classic,Rank,Brawl,VSA.I,Custom,Attack,Menang,Kalah,Reward,GameOver,MenujuLobby}
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 ke Lobby;}
break;
if( Masuk ke game()) {* state = Masuk ke Lobby;}
break;
case TurnStates.Login:
if( (Masuk kegane)) {* state = MemilihModegame;}
break;
if( (Masuk kegane)) {* state = MemilihModegame;}
break;
case TurnStates.Attack:
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 = KembalikeLobby;}
break;
}
yield return null;
}
}
if ((StageDone)) {* state = KembalikeLobby;}
break;
}
yield return null;
}
}
0 komentar:
Posting Komentar