Ejemplo n.º 1
0
 public void SetGameQuestions(GameHeader header)
 {
     foreach (var item in header.Qustions)
     {
         string sql = "INSERT INTO GameQuestions(GameId, QuestionId) VALUES (@gId, @qId)";
         _sqlDataAccess.SaveData(sql, new { gId = item.GameId, qId = item.QuestionId });
     }
 }
Ejemplo n.º 2
0
        public GameHeader CreateGame(GameHeader header)
        {
            string sql   = "INSERT INTO GameHeaders (Name, UserId) VALUES (@name, @userId);SELECT last_insert_rowid();";
            int    rowId = _sqlDataAccess.LoadData <int, dynamic>(sql, new { name = header.Name, userId = header.UserId }).FirstOrDefault();

            sql = "SELECT Id, Name, UserId, IsFinished, IsActive, CreationDate FROM GameHeaders WHERE Id = @id";
            return(_sqlDataAccess.LoadData <GameHeader, dynamic>(sql, new { id = rowId }).FirstOrDefault());
        }
Ejemplo n.º 3
0
 public void OnSwith()
 {
     Debug.Log("OnSwith");
     Master.SetBoard();//clean board
     GameHeader.SetNextPlayerToken();
     HeadText.text = "now put " + GameHeader.CurrentToken + " and press SET when ready to set a win State";
     LoadGene();
 }
Ejemplo n.º 4
0
        private void BorderCatalog_OnTap(object sender, System.Windows.Input.GestureEventArgs e)
        {
            GameHeader currentGame = this.slideView.GetCurrentGame();

            if (currentGame == null || this.ItemsSource == null)
            {
                return;
            }
            FramePageUtils.CurrentPage.OpenGamesPopup((List <object>)Enumerable.ToList <object>(Enumerable.Cast <object>((IEnumerable)this.ItemsSource)), GamesClickSource.catalog, "", this.ItemsSource.IndexOf(currentGame), null);
        }
Ejemplo n.º 5
0
        private void Game_OnTapped(object sender, System.Windows.Input.GestureEventArgs e)
        {
            GameHeader dataContext = ((FrameworkElement)(sender as GamesCatalogHeaderUC)).DataContext as GameHeader;

            if (dataContext == null || dataContext.Game == null)
            {
                return;
            }
            this.VM.OpenGame(dataContext.Game.id);
        }
Ejemplo n.º 6
0
        private void Game_OnTapped(object sender, System.Windows.Input.GestureEventArgs e)
        {
            GameHeader selectedItem = this.listBoxMyGames.SelectedItem as GameHeader;

            if (selectedItem == null)
            {
                return;
            }
            FramePageUtils.CurrentPage.OpenGamesPopup(new List <object>((IEnumerable <object>) this.VM.MyGamesVM.Collection), GamesClickSource.catalog, "", this.VM.MyGamesVM.Collection.IndexOf(selectedItem), null);
        }
Ejemplo n.º 7
0
        private void BtnNextQuestion_Click()
        {
            var answers = AnswerModels.Where(x => x.IsSelected == true).ToList();

            if (answers.Count > 0)
            {
                ActualQuestion.Answer = answers.FirstOrDefault();
                _gameRepository.SendAnswer(ActualQuestion);
                GameHeader = _gameRepository.GetGameHeader(gameId);
            }
        }
Ejemplo n.º 8
0
        public List <GameQuestion> GetGameQuestionsList(GameHeader header)
        {
            string sql    = "SELECT Id, GameId, QuestionId, UserAnswerId, IsActive, CreationDate FROM GameQuestions WHERE GameId = @gId AND IsActive = 1";
            var    result = _sqlDataAccess.LoadData <GameQuestion, dynamic>(sql, new { gId = header.Id });

            foreach (var item in result)
            {
                item.Game     = header;
                item.Question = _questionsRepository.GetQuestion(item.QuestionId);
            }
            return(result);
        }
Ejemplo n.º 9
0
        private GameHeader CreateGameHeader()
        {
            var gameHeader = new GameHeader
            {
                BeginTimestamp = DateTime.Now,
                Rule           = _rulesBindingSource.Current as Rule
            };

            _connectionDb.ConnectionContext.GameHeaders.Add(gameHeader);
            _connectionDb.ConnectionContext.SaveChanges();
            return(gameHeader);
        }
Ejemplo n.º 10
0
 public void Handle(GameDisconnectedEvent data)
 {
     foreach (object obj in (Collection <object>) this.Items)
     {
         GameHeader gameHeader = obj as GameHeader;
         if (gameHeader != null && gameHeader.Game.id == data.GameId)
         {
             this.Items.Remove(obj);
             break;
         }
     }
 }
Ejemplo n.º 11
0
 public static void SetNextPlayerToken()
 {
     NextTurn();
     //GetStatesForLayer();//load layer
     if (!GameHeader.DicByLayer.ContainsKey(GameHeader.CurrentTurn + 1))//load this layer
     {
         //Debug.Log("GameHeader.CurrentTurn2=====" + GameHeader.CurrentTurn);
         GameHeader.GetStatesForLayer(DicByLayer);
         //foreach (KeyValuePair<int, List<State>> kv in GameHeader.DicByLayer)
         //    Debug.Log(kv.Key + " 1contains " + kv.Value.Count + " 1states ");
     }
     CurrentToken = Tokens[CurrentTurn % numPlayers];
 }
Ejemplo n.º 12
0
        public void SetDataContext(object obj)
        {
            GameHeader gameHeader = obj as GameHeader;

            if (gameHeader != null)
            {
                this.CatalogBanner = gameHeader;
            }
            else
            {
                this.CatalogBanner = null;
            }
        }
Ejemplo n.º 13
0
    public void OnStartNewGame()
    {
        //Debug.Log("OnStartNewGame");
        // gameMaster.SetCpuPlayer();


        MainPanel.SetActive(false);
        Board3.SetActive(true);
        GameHeader.OnEditWin = false;
        if (GameHeader.DicByLayer == null || (GameHeader.CurrentTurn == 0 && !GameHeader.DicByLayer.ContainsKey(0)))//first play, get the layer 0's states
        {
            //Debug.Log("GameHeader.CurrentTurn==0 and i'm loading the DIC");
            GameHeader.GetStatesForLayer(GameHeader.DicByLayer);//load 0 and 1
        }
    }
Ejemplo n.º 14
0
 public void SetDataContext(object obj)
 {
     this._gameHeader = obj as GameHeader;
     if (this._gameHeader == null)
     {
         Game game = obj as Game;
         if (game != null)
         {
             this._gameHeader = new GameHeader(game);
         }
     }
     ((UIElement)this.gridRoot).Visibility = (this._gameHeader != null ? Visibility.Visible : Visibility.Collapsed);
     this.Header.GameHeader       = this._gameHeader;
     this.HeaderSticky.GameHeader = this._gameHeader;
 }
Ejemplo n.º 15
0
        private List <GameQuestion> CreateGameQuestions(GameHeader game, List <QuestionModel> gameQuestions)
        {
            List <GameQuestion> locallist = new List <GameQuestion>();

            foreach (var item in gameQuestions)
            {
                locallist.Add(new GameQuestion()
                {
                    GameId     = game.Id,
                    Game       = game,
                    QuestionId = item.Id
                });
            }
            return(locallist);
        }
Ejemplo n.º 16
0
 // todo delete member class
 public GameForm(Db connectionDb, Rule rule, IEnumerable <Team> members, GameHeader gameHeader)
 {
     InitializeComponent();
     _connectionDb = connectionDb;
     _gameHeader   = gameHeader;
     _rule         = rule;
     _connectionDb.ConnectionContext.Teams.Load();
     _teams.AddRange(members);
     Text         = GetFormText();
     _gameChecker = GameCheckerFactory.GetGameChecker(_rule);
     _gameFlow    = new GameFlow(_rule, _teams);
     InitThrow();
     AddGrids();
     UpdateGameState();
     LoadExistingGame();
 }
Ejemplo n.º 17
0
        private static void OnCatalogBannerChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            CatalogBannerUC catalogBannerUc = d as CatalogBannerUC;

            if (catalogBannerUc == null)
            {
                return;
            }
            // ISSUE: explicit reference operation
            GameHeader newValue = e.NewValue as GameHeader;

            if (newValue == null)
            {
                ImageLoader.SetUriSource(catalogBannerUc.imageBanner, "");
            }
            else
            {
                ImageLoader.SetUriSource(catalogBannerUc.imageBanner, newValue.Game.banner_1120);
            }
        }
Ejemplo n.º 18
0
 // Use this for initialization
 void Start()
 {
     databaseLoaded = false;
     GameHeader     = GameObject.Find("GameHeader").GetComponent <GameHeader>();
 }
Ejemplo n.º 19
0
        public void FinishGame(GameHeader header)
        {
            string sql = "UPDATE GameHeaders SET IsFinished = 1 WHERE Id = @hId";

            _sqlDataAccess.SaveData(sql, new { hId = header.Id });
        }
Ejemplo n.º 20
0
 private void SetInitialData()
 {
     GameHeader       = _gameRepository.GetGameHeader(gameId);
     _btnNextQuestion = new RelayCommand(x => BtnNextQuestion_Click());
 }
Ejemplo n.º 21
0
 public HandlesPacketAttribute(GameHeader headerType)
 {
     HeaderType = headerType;
 }
Ejemplo n.º 22
0
        /// <summary>
        /// Load DAT file and output with multiline comments
        /// </summary>
        /// <param name="pFile"></param>
        public static void SaveAsCommentedDat(string pFile)
        {
            string outputFileName = Path.GetFileNameWithoutExtension(pFile) + "_commented" + Path.GetExtension(pFile);


            using (StreamWriter sw = new StreamWriter(outputFileName))
            {
                DATToChunks.Load(pFile);

                var header = new GameHeader(DATToChunks.GetTokensAsInt(12));

                sw.WriteLine("{0} /*Unknown*/", header.Unknown);
                sw.WriteLine("{0} /*Number of items*/", header.NumItems - 1);
                sw.WriteLine("{0} /*Number of actions*/", header.NumActions - 1);
                sw.WriteLine("{0} /*Number of Noun Verbs*/", header.NumNounVerbs - 1);
                sw.WriteLine("{0} /*Number of Rooms*/", header.NumRooms - 1);
                sw.WriteLine("{0} /*Maximum carry*/", header.MaxCarry);
                sw.WriteLine("{0} /*Start room*/", header.StartRoom);
                sw.WriteLine("{0} /*Total treasures*/", header.TotalTreasures);
                sw.WriteLine("{0} /*Word length*/", header.WordLength);
                sw.WriteLine("{0} /*Light duration*/", header.LightDuration);
                sw.WriteLine("{0} /*Number of messages*/", header.NumMessages - 1);
                sw.WriteLine("{0} /*Treasure room*/", header.TreasureRoom);

                //produces an array of arrays
                var labels = new string[] { "/*NounVerb*/", "/*Condition1*/", "/*Condition2*/", "/*Condition3*/", "/*Condition4*/", "/*Condition5*/", "/*Actions 1 and 2*/", "/*Actions 3 and 4*/" };
                int ctr    = 1;
                foreach (var action in
                         Enumerable.Range(0, header.NumActions).Select(n => DATToChunks.getTokens(8).ToArray()).ToArray())
                {
                    sw.WriteLine("{0}\t\t\t/*Action index {1} - NounVerb*/", action.First(), ctr++);
                    for (int a = 1; a < 8; a++)
                    {
                        sw.WriteLine("{0}\t\t\t{1}", action[a], labels[a]);
                    }
                }

                int vb = 0, nn = 0, j = 0;
                foreach (var w in DATToChunks.getTokens(header.NumNounVerbs * 2))
                {
                    if (j == 0) //verb
                    {
                        if (!w.StartsWith("*"))
                        {
                            vb++;
                        }

                        sw.WriteLine("\"{0}\"\t\t{1}"
                                     , w
                                     , !w.StartsWith("*") ? string.Format("/*Verb index {0}*/", vb)
                                                 : string.Format("/*synonym of verb index {0}*/", vb)
                                     );
                    }
                    else if (j == 1)   //noun
                    {
                        if (!w.StartsWith("*"))
                        {
                            nn++;
                        }

                        sw.WriteLine("\"{0}\"\t\t{1}"
                                     , w
                                     , !w.StartsWith("*") ? string.Format("/*Noun index {0}*/", nn)
                                                 : string.Format("/*synonym of noun index {0}*/", nn)
                                     );
                    }

                    j++;
                    if (j > 1)
                    {
                        j = 0;
                    }
                }

                ctr = 0;
                string[] dire = { "/*North ", "/*South ", "/*East ", "/*West ", "/*Up ", "/*Down " };
                foreach (var room in Enumerable.Range(0, header.NumRooms).Select(n => DATToChunks.getTokens(7).ToArray()))
                {
                    for (int q = 0; q < 6; q++)
                    {
                        sw.WriteLine("{0}\t{1}{2}*/", room[q], dire[q], room[q] == "0" ? " - not used" : " - links to room " + room[q]);
                    }

                    sw.WriteLine("\"{0}\" /*Room {1} Description*/", room.Last(), ctr++);
                }

                ctr = 0;

                foreach (var message in DATToChunks.getTokens(header.NumMessages))
                {
                    sw.WriteLine("\"{0}\" /*Message {1}*/", message, ctr++);
                }


                ctr = 0;
                foreach (var item in Enumerable.Range(0, header.NumItems).Select(n => DATToChunks.getTokens(2).ToArray()))
                {
                    sw.WriteLine("\"{0}\" /*Item {1} Description*/ {2} /*Location*/", item.First(), ctr++, item.Last());
                }

                ctr = 0;
                foreach (var actionMessage in DATToChunks.getTokens(header.NumActions))
                {
                    sw.WriteLine("\"{0}\" /*Action {1} description*/", actionMessage, ctr++);
                }

                var footer = new GameFooter(DATToChunks.GetTokensAsInt(3));

                sw.WriteLine("{0} /*Version number*/", footer.Version);
                sw.WriteLine("{0} /*Adventure number*/", footer.AdventureNumber);
                sw.WriteLine("{0} /*Unknown*/", footer.Unknown);
            }
        }
Ejemplo n.º 23
0
 public static NetworkPacket CreatePacket(this GameHeader header)
 {
     return(new NetworkPacket((ushort)header));
 }