예제 #1
0
 public ArtViewModel(Game game, GameArt art)
 {
     Art              = art;
     Visitors         = game.VisitorByLocation(TypeLocationMap.TypeToLocation[art.Type]);
     VisitorTypeNames = Visitors.Select(v => v.Type.ToString()).ToArray();
     SetTicketStrings(art);
 }
예제 #2
0
        public static int GetArtValue(this GameArt art)
        {
            var artist    = art.Artist;
            var fame      = artist.Fame;
            var starLevel = 0;

            for (starLevel = 0; starLevel < artist.StarLevels.Count() + 1; starLevel++)
            {
                if (starLevel == artist.StarLevels.Count() || fame < artist.StarLevels[starLevel])
                {
                    break;
                }
            }
            return(StarToMoney[starLevel]);
        }
예제 #3
0
        /// <summary>
        /// LoadContent will be called once per game and is the place to load
        /// all of your content.
        /// </summary>
        protected override void LoadContent()
        {
            // Create a new SpriteBatch, which can be used to draw textures.
            spriteBatch = new SpriteBatch(GraphicsDevice);

            // TODO: use this.Content to load your game content here
            // Load the player resources
            // for menu
            font               = Content.Load <SpriteFont>("TimerFont");
            playGameText       = Content.Load <Texture2D>("GameArt/playButton");
            menuBackground     = Content.Load <Texture2D>("GameArt/menuBackground");
            gameOverBackground = Content.Load <Texture2D>("GameArt/gameover_background");
            selectLevel        = Content.Load <Texture2D>("GameArt/select-level");


            //playGameButton = new Button(new Rectangle(300, 100, playGameText.Width, playGameText.Height), true);
            //playGameButton.load(Content, "GameArt/playButton");

            // MAIN MENU GameButtons
            StartGameButton = new Button(new Rectangle(300, 100, GameArt.StartGameButton.Width, GameArt.StartGameButton.Height), true);
            StartGameButton.load(Content, "GameArt/start-game-button");

            LevelSelectButton = new Button(new Rectangle(300, 200, GameArt.LevelSelectButton.Width, GameArt.LevelSelectButton.Height), true);
            LevelSelectButton.load(Content, "GameArt/level-select-button");

            InstructionsButton = new Button(new Rectangle(300, 300, GameArt.InstructionsButton.Width, GameArt.InstructionsButton.Height), true);
            InstructionsButton.load(Content, "GameArt/instructions-button");

            // In Game Buttons
            InGamePlayButton = new Button(new Rectangle(400, 200, GameArt.InGamePlayButton.Width, GameArt.InGamePlayButton.Height), true);
            InGamePlayButton.load(Content, "GameArt/play-game");

            InGameMainMenuButton = new Button(new Rectangle(200, 200, GameArt.InGameMainMenuButton.Width, GameArt.InGameMainMenuButton.Height), true);
            InGameMainMenuButton.load(Content, "GameArt/main-menu");

            InGameRestartButton = new Button(new Rectangle(300, 300, GameArt.InGameRestartButton.Width, GameArt.InGameRestartButton.Height), true);
            InGameRestartButton.load(Content, "GameArt/restart-game");

            level1 = new Button(new Rectangle(300, 200, GameArt.Level1.Width, GameArt.Level1.Height), true);
            level1.load(Content, "GameArt/restart-game");
            level2 = new Button(new Rectangle(300, 300, GameArt.Level2.Width, GameArt.Level2.Height), true);
            level2.load(Content, "GameArt/restart-game");
            level3 = new Button(new Rectangle(300, 400, GameArt.Level3.Width, GameArt.Level3.Height), true);
            level3.load(Content, "GameArt/level3");

            GameArt.Load(this);
        }
예제 #4
0
        public static void InitializeGame(Game gameRoot, string filename)
        {
            GameRoot    = gameRoot;
            GameFactory = new BHSTGFactory(gameRoot);
            GameArt.Load(gameRoot);


            playerInvulnerable  = TimeSpan.FromSeconds(2.0f);
            playerStatusChecked = false;


            // TO DO: from the main menu, if level selector is chosen, pass
            // the file name to the entity manager here.
            //FileName = "LevelOne";

            // Parse/setup waves for the game from JSON files
            WavesParser = new GameWavesRepository(gameRoot, filename);
            WavesParser.ReadGameLevels();

            WavesParser.SetGameLevels();

            EntitiesFromJson = WavesParser.Entities;

            // Add observer to each of the entities
            foreach (var entity in EntitiesFromJson)
            {
                entity.Add(Instance);
            }

            // HERE HERE HERE HERE HERE HERE HERE HERE HERE HERE HERE HERE HERE HERE HERE HERE HERE HERE HERE HERE
            // Get game wave time based on the file name passed when creating a new game wave repository
            gameWaveTimes  = WavesParser.GetWaveTimeFrame();
            enemyIntervals = WavesParser.GetIntervals();
            waveStartTimes = WavesParser.GetWaveStartTimes();
            waveEndTimes   = WavesParser.GetWaveEndTimes();


            //Console.WriteLine("GAME WAVE TIMES: {0}, {1}, {2}", gameWaveTime[0], gameWaveTime[1], gameWaveTime[2]);
            //Console.WriteLine("GAME WAVE TIMES: {0}, {1}, {2}", enemyIntervals[0], enemyIntervals[1], enemyIntervals[2]);

            // TO DO: move the entities created from the JSON file
            // to an active list of entities based on the
        }
예제 #5
0
 public void SetTicketStrings(GameArt art)
 {
     FirstTicket  = ArtTicketToClass(Art.FirstTicket);
     SecondTicket = "";
     if (Art.NumTickets > 1)
     {
         SecondTicket = ArtTicketToClass(Art.SecondTicket);
     }
     if (SecondTicket == FirstTicket)
     {
         FirstTicket  = "art-tile-ticket-single " + "ticket-any-two";
         SecondTicket = "hidden";
     }
     else if (SecondTicket != "")
     {
         FirstTicket  = "art-tile-ticket " + FirstTicket;
         SecondTicket = "art-tile-ticket " + SecondTicket;
     }
     else
     {
         FirstTicket  = "art-tile-ticket-single " + FirstTicket;
         SecondTicket = "hidden";
     }
 }
예제 #6
0
 public PlayerArtViewModel(GameArt art)
 {
     Art      = art;
     ArtValue = art.GetArtValue().ToString();
 }