Ejemplo n.º 1
0
        public override WayToSetNewStay Logic()
        {
            WayToSetNewStay hcm = HandlingControlMessages();

            ComputingOfModeling();

            WayToSetNewStay hgm = HandlingGameMessages();

            return(hcm != WayToSetNewStay.NotSet ? hcm : hgm);
        }
Ejemplo n.º 2
0
        public virtual WayToSetNewStay IterationOfProgramCycle()
        {
            Controller();

            WayToSetNewStay outMes = Logic();

            Visio();

            if (outMes != WayToSetNewStay.NotSet)
            {
                return(outMes);
            }

            return(WayToSetNewStay.NotSet);
        }
Ejemplo n.º 3
0
        WayToSetNewStay HandlingGameMessages()
        {
            KeyValuePair <Message, object> mes;

            while ((mes = logicMessageTurn.popByCode(Message.GameOver)).Key != Message.EmptyTurn)
            {
                switch (mes.Key)
                {
                case Message.GameOver:

                    visioMessageTurn.push(mes);

                    WayToSetNewStay newStay = WayToSetNewStay.GameOver;
                    return(newStay);
                }
            }

            return(WayToSetNewStay.NotSet);
        }
Ejemplo n.º 4
0
        public static void IterationOfProgramCycle(object sender, EventArgs ea)
        {
            try
            {
                MainWindow.window.PlayingCanvas.Focus();

                WayToSetNewStay wayToSetNewStay = currently.IterationOfProgramCycle();

                if (wayToSetNewStay != WayToSetNewStay.NotSet)
                {
                    switch (wayToSetNewStay)
                    {
                    case WayToSetNewStay.GameOver:
                        (setOfStay[WayToSetNewStay.GameOver] as GameOverStay).SetResultOfPlaying(currently as PlayingStay);

                        currently = setOfStay[WayToSetNewStay.GameOver];

                        currently.Set();
                        break;



                    case WayToSetNewStay.Pause:

                        var list = (currently as PlayingStay).rocket.InteractToCondit.MethodsPairsToNamesP();

                        StreamWriter file = new StreamWriter("List.txt", false);

                        var jsonSerializer = new Newtonsoft.Json.JsonSerializer();
                        jsonSerializer.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
                        jsonSerializer.TypeNameHandling      = TypeNameHandling.Auto;
                        jsonSerializer.Formatting            = Formatting.Indented;

                        JsonWriter jsonWriter = new JsonTextWriter(file);
                        jsonSerializer.Serialize(jsonWriter, list);

                        jsonWriter.Close();
                        file.Close();



                        (setOfStay[WayToSetNewStay.Pause] as PauseStay).SetResultOfPlaying(currently as PlayingStay);

                        currently = setOfStay[WayToSetNewStay.Pause];

                        currently.Set();
                        break;



                    case WayToSetNewStay.FromPauseToPlay:
                        (currently as PauseStay).RemoveToPlay();

                        currently = (currently as PauseStay).currentGameStay;
                        break;



                    default:
                        currently.Remove();

                        currently = setOfStay[wayToSetNewStay];

                        currently.Set();
                        break;
                    }
                }
            }
            catch (Exception e)
            {
                MessageBox.Show(e.ToString(), "Exception", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
        }