create :
_state_start = 0
_state_begin = 100
_state_turn_begin = 200
_state_turn_begin_wait = 201
_state_turn_playing = 250
_state_turn_ending = 299
_state = _state_begin
player = noone
_wait_begin = room_speed * 10
_wait_turn_begin = room_speed * 3
step :
switch(_state)
{
case _state_start : //init of alarm0 for rules display
alarm[0] = _wait_begin
_state = _state_begin
player = noone
break
case _state_begin :
if(alarm[0] <= 0)
{
_state = _state_turn_begin
}
break
case _state_turn_begin :
switch(player)
{
default:
case noone :
player = 1;
break
case 1 :
player = 2;
break
case 2 :
player = 1;
}
_state = _state_turn_begin_wait
alarm[0] = _wait_turn_begin
break
case _state_turn_begin_wait:
if(alarm[0] <= 0)
{
_state = _state_turn_playing
}
break
case _state_turn_playing:
//player turn ?
//something as to make _state to something else to play and at the end to _state_turn_end (with a alarm[0] to some time to display something if you want)
break
.....
}
draw gui :
switch(_state)
{
case _state_begin :
//draw rules of the game
draw_text(10,10,"Rules # blablabla")
break
case _state_turn_begin_wait :
//draw witch player it's turn
draw_text(10,10,"Player " + string(player) + " 's turn")
break
}
alarm 0 : add a commentary or the alarm won't decrease