Exemplo n.º 1
0
 private void execute()
 {
     if (instance.execute().isFinish())
     {
         model.setGameState(TexasHoldEmUtil.GameState.END);
         model.setCommunityCars(new List <Card>());
         notifyEndGame();
         instance = null;
     }
 }
Exemplo n.º 2
0
 public void startGame()
 {
     if (instance == null && model != null)
     {
         model.setDeck(new Deck());
         instance = texasStateMachine.startInstance(model);
         model.setDealer(0);
         execute();
     }
 }
Exemplo n.º 3
0
        public static void Run()
        {
            var model   = new StateMachine <StateMachineInstance>("Model");
            var initial = model.CreatePseudoState("Initial", PseudoStateKind.Initial);
            var on      = model.CreateState("On");
            var off     = model.CreateState("Off");
            var clean   = model.CreateState("Clean");
            var final   = model.CreateFinalState("Final");

            var history             = on.CreatePseudoState("History", PseudoStateKind.ShallowHistory);
            var idle                = on.CreateState("Idle");
            var moveItem            = on.CreateState("MoveItem");
            var showItemMovePattern = on.CreateState("ShowItemMovePattern");
            var hideItemMovePattern = on.CreateState("HideItemMovePattern");

            initial.To(idle);
            on.To(clean).When <string>(s => s == "DestroyInput");
            off.To(clean).When <string>(s => s == "DestroyInput");
            on.To(off).When <string>(s => s == "Disable");
            off.To(history).When <string>(s => s == "Enable");
            clean.To(final);
            idle.To(moveItem).When <string>(s => s == "TransformInput");
            moveItem.To(idle).When <string>(s => s == "ReleaseInput");
            idle.To(showItemMovePattern).When <string>(s => s == "ReleaseInput");
            showItemMovePattern.To(hideItemMovePattern).When <string>(s => s == "ReleaseInput");
            hideItemMovePattern.To(idle);

            model.Validate();

            var instance = new StateMachineInstance("instance");

            model.Initialise(instance);

            model.Evaluate(instance, "ReleaseInput");
            model.Evaluate(instance, "Disable");
            model.Evaluate(instance, "Enable");

            Trace.Assert(instance.GetCurrent(on.DefaultRegion) == showItemMovePattern, "History semantics should set current state to " + showItemMovePattern.Name);

            model.Evaluate(instance, "ReleaseInput");
            model.Evaluate(instance, "Disable");
            model.Evaluate(instance, "Enable");

            Trace.Assert(instance.GetCurrent(on.DefaultRegion) == idle, "History semantics should set current state to " + idle.Name);
        }
Exemplo n.º 4
0
		public static void Run () {
			var model = new StateMachine<StateMachineInstance>("Model");
			var initial = model.CreatePseudoState("Initial", PseudoStateKind.Initial);
			var on = model.CreateState("On");
			var off = model.CreateState("Off");
			var clean = model.CreateState("Clean");
			var final = model.CreateFinalState("Final");

			var history = on.CreatePseudoState("History", PseudoStateKind.ShallowHistory);
			var idle = on.CreateState("Idle");
			var moveItem = on.CreateState("MoveItem");
			var showItemMovePattern = on.CreateState("ShowItemMovePattern");
			var hideItemMovePattern = on.CreateState("HideItemMovePattern");

			initial.To(idle);
			on.To(clean).When<string>(s => s == "DestroyInput");
			off.To(clean).When<string>(s => s == "DestroyInput");
			on.To(off).When<string>(s => s == "Disable");
			off.To(history).When<string>(s => s == "Enable");
			clean.To(final);
			idle.To(moveItem).When<string>(s => s == "TransformInput");
			moveItem.To(idle).When<string>(s => s == "ReleaseInput");
			idle.To(showItemMovePattern).When<string>(s => s == "ReleaseInput");
			showItemMovePattern.To(hideItemMovePattern).When<string>(s => s == "ReleaseInput");
			hideItemMovePattern.To(idle);

			model.Validate();

			var instance = new StateMachineInstance("instance");

			model.Initialise(instance);

			model.Evaluate(instance, "ReleaseInput");
			model.Evaluate(instance, "Disable");
			model.Evaluate(instance, "Enable");

			Trace.Assert(instance.GetCurrent(on.DefaultRegion) == showItemMovePattern, "History semantics should set current state to " + showItemMovePattern.Name);

			model.Evaluate(instance, "ReleaseInput");
			model.Evaluate(instance, "Disable");
			model.Evaluate(instance, "Enable");

			Trace.Assert(instance.GetCurrent(on.DefaultRegion) == idle, "History semantics should set current state to " + idle.Name);
		}
Exemplo n.º 5
0
 public State(string name, StateMachineInstance <SMIType> smi)
 {
     this.name = name;
     this.smi  = smi;
 }