Example #1
0
        /// <summary>
        /// Zapis stanu gry do pliku zwi¹zanego z aktualnym graczem
        /// </summary>
        public void SaveGameState()
        {
            // Create the data to save
            IAsyncResult result = StorageDevice.BeginShowSelector(PlayerIndex.One, null, null);
            //za³adowanie pliku z wynikami dla odpowiedniego poziomu
            GameState.GameStateData saved_data = GameState.LoadGameState(result, player.Name);
            GameState.GameStateData new_saved_data = new GameState.GameStateData(saved_data.Count + 1, game_map.getWidth(), game_map.getHeight());
            for (int i = 0; i < saved_data.Count; i++)
            {
                new_saved_data.Date[i] = saved_data.Date[i];
                new_saved_data.Dynamites[i] = saved_data.Dynamites[i];
                new_saved_data.Rackets[i] = saved_data.Rackets[i];
                new_saved_data.Points[i] = saved_data.Points[i];
                new_saved_data.Levels[i] = saved_data.Levels[i];
                new_saved_data.TotalMinutes[i] = saved_data.TotalMinutes[i];
                new_saved_data.TotalSeconds[i] = saved_data.TotalSeconds[i];
                new_saved_data.Intelligence[i] = saved_data.Intelligence[i];
                new_saved_data.GameMaps[i] = saved_data.GameMaps[i];
            }

            new_saved_data.Date[new_saved_data.Count - 1] = System.DateTime.Now.ToString();
            new_saved_data.Dynamites[new_saved_data.Count - 1] = player.Dynamite;
            new_saved_data.Rackets[new_saved_data.Count - 1] = player.Rackets;
            new_saved_data.Points[new_saved_data.Count - 1] = player.Points;
            new_saved_data.Levels[new_saved_data.Count - 1] = game_map.gameLevel;
            new_saved_data.TotalMinutes[new_saved_data.Count - 1] = totalMinutes;
            new_saved_data.TotalSeconds[new_saved_data.Count - 1] = totalSeconds;
            new_saved_data.Intelligence[new_saved_data.Count - 1] = player.IntelligenceLevel;
            new_saved_data.GameMaps[new_saved_data.Count - 1] = game_map.getIntMap();

            GameState.gameStateToSave = new_saved_data;
            GameState.SaveToDevice(result, player.Name);
            Form.load_game_panel.updateListItems(new_saved_data.Date[new_saved_data.Count - 1]);
        }
Example #2
0
        /// <summary>
        /// Konstruktor ³aduj¹cy zapisan¹ grê
        /// </summary>
        /// <param name="form"> WskaŸnik do okna gry</param>
        /// <param name="player">Instancja gracza</param>
        /// <param name="game_state_data_to_load">Dane stany gry do ³adowania</param>
        /// <param name="data_index">Indeks danych w tablicy stanów gry</param>
        public Game(DungeonVandal.MenuForm form, Player player, GameState.GameStateData game_state_data_to_load, int data_index)
        {
            Form = form;
            graphics = new GraphicsDeviceManager(this)
            {
                PreferredBackBufferWidth = Form.ViewportSize.Width,
                PreferredBackBufferHeight = Form.ViewportSize.Height
            };

            data_to_load = game_state_data_to_load;
            this.data_index = data_index;
            this.player = player;
            this.player.Dynamite = data_to_load.Dynamites[data_index];
            this.player.Points = data_to_load.Points[data_index];
            this.player.Rackets = data_to_load.Rackets[data_index];
            totalMinutes = data_to_load.TotalMinutes[data_index];
            totalSeconds = data_to_load.TotalSeconds[data_index];
            Form.setPlayerName(player.Name);
            graphics.PreparingDeviceSettings += graphics_PreparingDeviceSettings;
            System.Windows.Forms.Control.FromHandle(Window.Handle).VisibleChanged += MainGame_VisibleChanged;
            System.Windows.Forms.Control.FromHandle(Form.Handle).KeyUp += new System.Windows.Forms.KeyEventHandler(Game_KeyUp);
            System.Windows.Forms.Control.FromHandle(Form.Handle).KeyPress += new System.Windows.Forms.KeyPressEventHandler(Game_KeyPress);
            System.Windows.Forms.Control.FromHandle(Form.Handle).KeyDown += new System.Windows.Forms.KeyEventHandler(Game_Key);
            System.Windows.Forms.Control.FromHandle(Form.Handle).PreviewKeyDown += new System.Windows.Forms.PreviewKeyDownEventHandler(Game_PreviewKeyDown);

            Content.RootDirectory = "Content";

            IsMouseVisible = true;
        }
Example #3
0
 /// <summary>
 /// Podmiana gry na zapisan¹ instancjê
 /// </summary>
 /// <param name="game_state_data_to_load">Dane zapisanej gry</param>
 /// <param name="data_index">Indeks zapisanej gry</param>
 public void LoadSavedGame(GameState.GameStateData game_state_data_to_load, int data_index)
 {
     data_to_load = game_state_data_to_load;
     this.data_index = data_index;
     this.player.Dynamite = data_to_load.Dynamites[data_index];
     this.player.Points = data_to_load.Points[data_index];
     this.player.Rackets = data_to_load.Rackets[data_index];
     totalMinutes = data_to_load.TotalMinutes[data_index];
     totalSeconds = data_to_load.TotalSeconds[data_index];
     game_map = new Map.Map(tile_size, map_width, map_height, data_to_load.GameMaps[data_index], this.Content, player);
     MediaPlayer.Resume();
     MediaPlayer.Volume = (float)player.AudioSettings.MusicVolume;
     IsPaused = false;
 }
Example #4
0
 /// <summary>
 /// Konstruktor �aduj�cy zapisan� gr�
 /// </summary>
 /// <param name="player">Instancja gracza</param>
 /// <param name="game_state_data_to_load">Dane stany gry do �adowania</param>
 /// <param name="data_index">Indeks danych w tablicy stan�w gry</param>
 public void SavedGame(Player player, GameState.GameStateData game_state_data_to_load, int data_index)
 {
     this.player = player;
     data_to_load = game_state_data_to_load;
     if (data_to_load.Count != 0)
         game_map = new Map.Map(tile_size, map_width, map_height, data_to_load.GameMaps[data_index], this.Content, player);
     music = Content.Load<Song>("Audio\\background_music");
     MediaPlayer.IsRepeating = true;
     MediaPlayer.Play(music);
     if (!player.AudioSettings.IsMuted)
         MediaPlayer.Volume = (float)player.AudioSettings.MusicVolume;
     else MediaPlayer.Volume = 0;
     MediaPlayer.Volume = (float)player.AudioSettings.MusicVolume;
     this.data_index = data_index;
     this.player.Dynamite = data_to_load.Dynamites[data_index];
     this.player.Points = data_to_load.Points[data_index];
     this.player.Rackets = data_to_load.Rackets[data_index];
     totalMinutes = data_to_load.TotalMinutes[data_index];
     totalSeconds = data_to_load.TotalSeconds[data_index];
     Form.Invoke(new Action(() => Form.game_panel.playerName.Text = player.Name));
     graphics.PreparingDeviceSettings += graphics_PreparingDeviceSettings;
     System.Windows.Forms.Control.FromHandle(Window.Handle).VisibleChanged += MainGame_VisibleChanged;
     System.Windows.Forms.Control.FromHandle(Form.Handle).KeyUp += new System.Windows.Forms.KeyEventHandler(Game_KeyUp);
     System.Windows.Forms.Control.FromHandle(Form.Handle).KeyPress += new System.Windows.Forms.KeyPressEventHandler(Game_KeyPress);
     System.Windows.Forms.Control.FromHandle(Form.Handle).KeyDown += new System.Windows.Forms.KeyEventHandler(Game_Key);
     System.Windows.Forms.Control.FromHandle(Form.Handle).PreviewKeyDown += new System.Windows.Forms.PreviewKeyDownEventHandler(Game_PreviewKeyDown);
     IsMouseVisible = true;
     isStarted = true;
 }