Ejemplo n.º 1
0
 private void shopOptionButtonClick(object sender, EventArgs e)
 {
     btnClickSoundAction();
     if (posInBuyingOptions == 0)
     {
         if (coinsAndHeartsManager.curr.bronzeCoins < 100)
         {
             notEnoghMoneyWarning();
         }
         else
         {
             coinsAndHeartsManager.Update(new CoinsAndHearts(0, 7, -100, 0));
             CoinsAndHeartsManager.Save(coinsAndHeartsManager);
         }
     }
     else if (posInBuyingOptions == 1)
     {
         if (coinsAndHeartsManager.curr.silverCoins < 83)
         {
             notEnoghMoneyWarning();
         }
         else
         {
             coinsAndHeartsManager.Update(new CoinsAndHearts(3, -83, 0, 0));
             CoinsAndHeartsManager.Save(coinsAndHeartsManager);
         }
     }
     else if (posInBuyingOptions == 2)
     {
         if (coinsAndHeartsManager.curr.silverCoins < 10)
         {
             notEnoghMoneyWarning();
         }
         else
         {
             coinsAndHeartsManager.Update(new CoinsAndHearts(0, -10, 0, 0));
             CoinsAndHeartsManager.Save(coinsAndHeartsManager);
             DateTime d = SlotMachineState.Load();
             d = new DateTime(d.Year - 1, d.Month, d.Day);
             SlotMachineState.Save(d);
             _game.ChangeState(new LoadingState(_game, _graphicsDevice, _content, graphics, _soundsDict,
                                                new SlotMachineState(_game, _graphicsDevice, _content, graphics, _soundsDict), 2f));
         }
     }
     else if (posInBuyingOptions == 3)
     {
         if (coinsAndHeartsManager.curr.goldCoins < 2)
         {
             notEnoghMoneyWarning();
         }
         else
         {
             coinsAndHeartsManager.Update(new CoinsAndHearts(-2, 0, 0, 1));
             CoinsAndHeartsManager.Save(coinsAndHeartsManager);
         }
     }
 }
Ejemplo n.º 2
0
        public StoreState(Game1 game, GraphicsDevice graphicsDevice, ContentManager content, GraphicsDeviceManager graphics_, Dictionary <string, Song> sounds) :
            base(game, graphicsDevice, content, graphics_, sounds)
        {
            //load coinsAndHeartsManager from file
            coinsAndHeartsManager = new CoinsAndHeartsManager();
            coinsAndHeartsManager = CoinsAndHeartsManager.Load();

            //load backgroound
            background = _content.Load <Texture2D>("Backgrounds/storeBackground");

            //font for the text (i dont use it because i dont write text on the button)
            SpriteFont btnTextFont = _content.Load <SpriteFont>("Fonts/font");

            //handle backButton button
            var backButton = new Button(_content.Load <Texture2D>("Buttons/backBtn"), new Vector2(5, 5),
                                        Color.Black, Color.White, btnTextFont, "", 15);

            backButton.Click += backButtonClick;

            //handle shop option button
            var shopOptionButton = new Button(_content.Load <Texture2D>("Shop/bToSShop"), new Vector2(100, 100),
                                              Color.Black, Color.White, btnTextFont, "", 100);

            shopOptionButton.Click += shopOptionButtonClick;

            //handle next button
            var nextButton = new Button(_content.Load <Texture2D>("Buttons/nextBtn"), new Vector2(550, 420),
                                        Color.Black, Color.White, btnTextFont, "", 15);

            nextButton.Click += nextButtonClick;

            //handle prev button
            var prevButton = new Button(_content.Load <Texture2D>("Buttons/backBtn"), new Vector2(250, 420),
                                        Color.Black, Color.White, btnTextFont, "", 15);

            prevButton.Click += prevButtonClick;

            //create the list
            _components = new List <Button>()
            {
                backButton, shopOptionButton, nextButton, prevButton
            };

            //load list of bying options
            buyingOptions = new List <Texture2D>()
            {
                _content.Load <Texture2D>("Shop/bToSShop"),
                _content.Load <Texture2D>("Shop/sToGShop"),
                _content.Load <Texture2D>("Shop/sTosShop"),
                _content.Load <Texture2D>("Shop/gToElShop")
            };
            posInBuyingOptions = 0;

            //notEnoughMoneyError texture
            notEnoughMoneyError = _content.Load <Texture2D>("Errors/notEnoughMoneyError");
        }
Ejemplo n.º 3
0
        public PrizesState(Game1 game, GraphicsDevice graphicsDevice, ContentManager content, GraphicsDeviceManager graphics_, Dictionary <string, Song> sounds, CoinsAndHearts coins, int seconds, string level) :
            base(game, graphicsDevice, content, graphics_, sounds)
        {
            //load backgroound
            background = _content.Load <Texture2D>("Backgrounds/PrizesBackground");

            //font for the text (i dont use it because i dont write text on the button)
            SpriteFont btnTextFont = _content.Load <SpriteFont>("Fonts/font");

            font = btnTextFont;

            //handle backButton button
            var backButton = new Button(_content.Load <Texture2D>("Buttons/backBtn"), new Vector2(5, 5),
                                        Color.Black, Color.White, btnTextFont, "", 15);

            backButton.Click += backButtonClick;

            //create the list
            _components = new List <Button>()
            {
                backButton
            };

            // data of coins and level
            txt  = "Level: ";
            txt += level;
            txt += "\nTime: ";
            txt += seconds.ToString();
            txt += " sec\nGold: ";
            txt += coins.goldCoins.ToString();
            txt += "\nSilver: ";
            txt += coins.silverCoins.ToString();
            txt += "\nBronze: ";
            txt += coins.bronzeCoins.ToString();

            CoinsAndHeartsManager cahm = CoinsAndHeartsManager.Load();

            cahm.Update(coins);
            CoinsAndHeartsManager.Save(cahm);

            ScoreManager s;

            try
            {
                s = ScoreManager.Load();
            }
            catch
            {
                s = new ScoreManager(new List <Score>());
            }

            s.scores.Add(new Score(DateTime.UtcNow, coins, seconds, level));
            ScoreManager.Save(s);
        }
Ejemplo n.º 4
0
        public GameState(Game1 game, GraphicsDevice graphicsDevice, ContentManager content, GraphicsDeviceManager graphics_, Dictionary <string, Song> sounds, List <Enemy> enemies,
                         List <Platform> platforms, List <DrawablObject> objects, List <Coin> coins, DrawablObject star, int level) : base(game, graphicsDevice, content, graphics_, sounds)
        {
            this.level = level.ToString();
            int h = CoinsAndHeartsManager.Load().curr.hearts;

            coinsAndHeartsManager = new CoinsAndHeartsManager(new CoinsAndHearts(0, 0, 0, h));

            //coins
            this.coins = coins;

            //font
            font = _content.Load <SpriteFont>("Fonts/font");

            //camera staff
            camera = new Camera_();

            //background
            background = _content.Load <Texture2D>("BackGrounds/Background800x480");

            //hero
            hero = new Sprite(SetHeroAnimation(), 15f)
            {
                Position = new Vector2(100, 100),
                Input    = new Input()
                {
                    Up    = Keys.Up,
                    Left  = Keys.Left,
                    Right = Keys.Right,
                },
                hasJumped = true
            };

            //bombs
            bombsList = new List <Bomb>();

            //enemies platforms and objects
            this.enemies   = enemies;
            this.platforms = platforms;
            this.objects   = objects;

            //finishing star
            this.star = star;
        }
Ejemplo n.º 5
0
        public miniGameMenuState(Game1 game, GraphicsDevice graphicsDevice, ContentManager content, GraphicsDeviceManager graphics_, Dictionary <string, Song> sounds) :
            base(game, graphicsDevice, content, graphics_, sounds)
        {
            //load coinsAndHeartsManager from file
            coinsAndHeartsManager = new CoinsAndHeartsManager();
            coinsAndHeartsManager = CoinsAndHeartsManager.Load();

            //load backgroound
            background = _content.Load <Texture2D>("Backgrounds/mainMenuBackground");

            //font for the text (i dont use it because i dont write text on the button)
            SpriteFont btnTextFont = _content.Load <SpriteFont>("Fonts/font");

            //handle the slotMachine button
            var slotMachineButton = new Button(_content.Load <Texture2D>("Buttons/slotMachineBtn"), new Vector2(330, 210),
                                               Color.Black, Color.White, btnTextFont, "", 100);

            slotMachineButton.Click += slotMachineButtonClick;

            //handle backButton button
            var backButton = new Button(_content.Load <Texture2D>("Buttons/backBtn"), new Vector2(5, 5),
                                        Color.Black, Color.White, btnTextFont, "", 15);

            backButton.Click += backButtonClick;

            //handle tictactoeButton button
            var tictactoeButton = new Button(_content.Load <Texture2D>("Buttons/TTTBtn"), new Vector2(330, 300),
                                             Color.Black, Color.White, btnTextFont, "", 100);

            tictactoeButton.Click += tictactoeButtonClick;


            //create the list
            components = new List <Button>()
            {
                slotMachineButton, backButton, tictactoeButton
            };
        }
Ejemplo n.º 6
0
        private void winAction()
        {
            CoinsAndHearts cah = new CoinsAndHearts(coinsAndHeartsManager.curr.goldCoins, coinsAndHeartsManager.curr.silverCoins, coinsAndHeartsManager.curr.bronzeCoins, 0 - (CoinsAndHeartsManager.Load().curr.hearts - coinsAndHeartsManager.curr.hearts));

            _game.ChangeState(new PrizesState(_game, _graphicsDevice, _content, graphics, _soundsDict, cah, (int)time, level));
        }
Ejemplo n.º 7
0
        private void heroDiedAction()
        {
            if (coinsAndHeartsManager.curr.hearts != 0)
            {
                coinsAndHeartsManager.curr.hearts -= 1;
                hero.isPlayerDead = false;
                hero.Position     = hero._position = new Vector2(hero._position.X, 0);
                hero.Update(gt);

                return;
            }
            CoinsAndHearts cah = new CoinsAndHearts(coinsAndHeartsManager.curr.goldCoins, coinsAndHeartsManager.curr.silverCoins, coinsAndHeartsManager.curr.bronzeCoins, CoinsAndHeartsManager.Load().curr.hearts - coinsAndHeartsManager.curr.hearts);

            _game.ChangeState(new PrizesState(_game, _graphicsDevice, _content, graphics, _soundsDict, cah, 1000000, level));
        }
Ejemplo n.º 8
0
        public GameMenuState(Game1 game, GraphicsDevice graphicsDevice, ContentManager content, GraphicsDeviceManager graphics_, Dictionary <string, Song> sounds) :
            base(game, graphicsDevice, content, graphics_, sounds)
        {
            //load coinsAndHeartsManager from file
            coinsAndHeartsManager = new CoinsAndHeartsManager();
            coinsAndHeartsManager = CoinsAndHeartsManager.Load();

            //load backgroound
            background = _content.Load <Texture2D>("Backgrounds/mainMenuBackground");

            //font for the text (i dont use it because i dont write text on the button)
            SpriteFont btnTextFont = _content.Load <SpriteFont>("Fonts/font");

            //handle the story mode button
            var storyModeButton = new Button(_content.Load <Texture2D>("Buttons/storyModeBtn"), new Vector2(200, 210),
                                             Color.Black, Color.White, btnTextFont, "", 100);

            storyModeButton.Click += storyModeButtonClick;

            //handle the machine learning button
            var survivalButton = new Button(_content.Load <Texture2D>("Buttons/survivalBtn"), new Vector2(450, 210),
                                            Color.Black, Color.White, btnTextFont, "", 100);

            survivalButton.Click += survivalButtonClick;

            //handle the 1 vs 1 offline button
            var _1vs1OfflineButton = new Button(_content.Load <Texture2D>("Buttons/1vs1OfflineBtn"), new Vector2(200, 295),
                                                Color.Black, Color.White, btnTextFont, "", 100);

            _1vs1OfflineButton.Click += _1vs1OfflineButtonClick;

            //handle the 1 vs 1 online button
            var _1vs1OnlineButton = new Button(_content.Load <Texture2D>("Buttons/1vs1OnlineBtn"), new Vector2(450, 295),
                                               Color.Black, Color.White, btnTextFont, "", 100);

            _1vs1OnlineButton.Click += _1vs1OnlineButtonClick;

            //handle the CTF button
            var ctfButton = new Button(_content.Load <Texture2D>("Buttons/CTFbtn"), new Vector2(200, 380),
                                       Color.Black, Color.White, btnTextFont, "", 100);

            ctfButton.Click += ctfButtonClick;

            //handle the mini games button
            var miniGamesButton = new Button(_content.Load <Texture2D>("Buttons/miniGamesBtn"), new Vector2(450, 380),
                                             Color.Black, Color.White, btnTextFont, "", 100);

            miniGamesButton.Click += miniGamesButtonClick;

            //handle backButton button
            var backButton = new Button(_content.Load <Texture2D>("Buttons/backBtn"), new Vector2(5, 5),
                                        Color.Black, Color.White, btnTextFont, "", 15);

            backButton.Click += backButtonClick;


            //create the list
            components = new List <Button>()
            {
                storyModeButton, _1vs1OfflineButton, _1vs1OnlineButton, survivalButton, ctfButton, miniGamesButton, backButton
            };
        }
Ejemplo n.º 9
0
        public CTFState(Game1 game, GraphicsDevice graphicsDevice, ContentManager content, GraphicsDeviceManager graphics_, Dictionary <string, Song> sounds) :
            base(game, graphicsDevice, content, graphics_, sounds)
        {
            //load coinsAndHeartsManager from file
            coinsAndHeartsManager = new CoinsAndHeartsManager();
            coinsAndHeartsManager = CoinsAndHeartsManager.Load();

            //load backgroound
            background = _content.Load <Texture2D>("Backgrounds/mainMenuBackground");

            //font for the text (i dont use it because i dont write text on the button)
            btnTextFont = _content.Load <SpriteFont>("Fonts/font");

            //handle toGitHubButton button
            var toGitHubButton = new Button(_content.Load <Texture2D>("Buttons/toGitHubBtn"), new Vector2(100, 100),
                                            Color.Black, Color.White, btnTextFont, "", 100);

            toGitHubButton.Click += toGitHubButtonClick;

            //handle backButton button
            var backButton = new Button(_content.Load <Texture2D>("Buttons/backBtn"), new Vector2(5, 5),
                                        Color.Black, Color.White, btnTextFont, "", 15);

            backButton.Click += backButtonClick;

            //handle otherCtf button
            var otherCtfButton = new Button(_content.Load <Texture2D>("Buttons/otherCtf1btn"), new Vector2(480, 200),
                                            Color.Black, Color.White, btnTextFont, "", 100);

            otherCtfButton.Click  += otherCtfButtonClick;
            otherCtfButtonTexture2 = _content.Load <Texture2D>("Buttons/otherCtf2btn");

            //handle findThePassCtfButton button
            var findThePassCtfButton = new Button(_content.Load <Texture2D>("Buttons/FTPctf1btn"), new Vector2(180, 200),
                                                  Color.Black, Color.White, btnTextFont, "", 75);

            findThePassCtfButton.Click  += findThePassCtfButtonClick;
            findThePassCtfButtonTexture2 = _content.Load <Texture2D>("Buttons/FTPctf2btn");


            //create the list
            _components = new List <Button>()
            {
                backButton, toGitHubButton, findThePassCtfButton, otherCtfButton
            };

            //load the state of the ctf
            ctflist = Load();

            //load note texture
            noteTexture = _content.Load <Texture2D>("Backgrounds/note");

            if (ctflist[1].isDone == true)
            {
                otherCtfButtonStr = "done in \n mm/dd/yyyy: \n" + ctflist[1].date.ToString("MM/dd/yyyy");
                _components[3].changeTexture(otherCtfButtonTexture2);
            }
            if (ctflist[0].isDone == true)
            {
                findThePassCtfButtonStr = "done in \n mm/dd/yyyy: \n" + ctflist[0].date.ToString("MM/dd/yyyy");
                _components[2].changeTexture(findThePassCtfButtonTexture2);
            }
        }
Ejemplo n.º 10
0
        public override void Update(GameTime gametime)
        {
            Save(ctflist);

            string ch = "";
            var    kb = Keyboard.GetState();

            Keys[] lkb = kb.GetPressedKeys();
            if (lkb.Length > 0)
            {
                ch = lkb[0].ToString();
            }

            if (ctfInsertNum == 1 && ctflist[0].isDone == false)
            {
                if (kb.IsKeyDown(Keys.Enter))
                {
                    if (findThePassCtfButtonStr == ">-{You_Got_My_Pass_Greate_job!_U_R_The_GOAT!}-<")
                    {
                        coinsAndHeartsManager.Update(new CoinsAndHearts(5, 37, 11, 0));
                        CoinsAndHeartsManager.Save(coinsAndHeartsManager);

                        ctflist[0].isDone       = true;
                        ctflist[0].date         = DateTime.UtcNow;
                        findThePassCtfButtonStr = "done in \n mm/dd/yyyy: \n" + DateTime.UtcNow.ToString("dd/MM/yyyy");
                        _components[2].changeTexture(findThePassCtfButtonTexture2);
                    }
                    else
                    {
                        ctflist[0].isDone       = false;
                        findThePassCtfButtonStr = "Wrong Answer.... Try Again!";
                    }
                }
                else if (findThePassCtfButtonStr.Count() < 50)
                {
                    findThePassCtfButtonStr += ch;
                    Console.WriteLine(findThePassCtfButtonStr);
                }
            }
            else if (ctfInsertNum == 2 && ctflist[1].isDone == false)
            {
                if (kb.IsKeyDown(Keys.Enter))
                {
                    if (otherCtfButtonStr == "PSS")
                    {
                        coinsAndHeartsManager.Update(new CoinsAndHearts(0, 0, 1, 0));
                        CoinsAndHeartsManager.Save(coinsAndHeartsManager);

                        ctflist[1].isDone = true;
                        ctflist[1].date   = DateTime.UtcNow;
                        otherCtfButtonStr = "done in \n mm/dd/yyyy: \n" + DateTime.UtcNow.ToString("dd/MM/yyyy");
                        _components[3].changeTexture(otherCtfButtonTexture2);
                    }
                    else
                    {
                        ctflist[0].isDone = false;
                        otherCtfButtonStr = "Wrong Answer.... Try Again!";
                    }
                }
                else if (otherCtfButtonStr.Count() < 50)
                {
                    otherCtfButtonStr += ch;
                }
            }
            try
            {
                Save(ctflist);
            }
            catch
            { }
            foreach (var component in _components)
            {
                component.Update(gametime);
            }
        }
Ejemplo n.º 11
0
        public SlotMachineState(Game1 game, GraphicsDevice graphicsDevice, ContentManager content, GraphicsDeviceManager graphics_, Dictionary <string, Song> sounds) :
            base(game, graphicsDevice, content, graphics_, sounds)
        {
            //load coinsAndHeartsManager from file
            coinsAndHeartsManager = new CoinsAndHeartsManager();
            coinsAndHeartsManager = CoinsAndHeartsManager.Load();

            //load backgroound
            background = _content.Load <Texture2D>("Backgrounds/mainMenuBackground");

            //load won msgs
            wonMsgs = new List <Texture2D>()
            {
                _content.Load <Texture2D>("WonMsgs/goldCoinWon"),
                _content.Load <Texture2D>("WonMsgs/silverCoinsWon"),
                _content.Load <Texture2D>("WonMsgs/bronzeCoinsWon")
            };

            //font for the text (i dont use it because i dont write text on the button)
            SpriteFont btnTextFont = _content.Load <SpriteFont>("Fonts/font");

            //handle backButton button
            var backButton = new Button(_content.Load <Texture2D>("Buttons/backBtn"), new Vector2(5, 5),
                                        Color.Black, Color.White, btnTextFont, "", 15);

            backButton.Click += backButtonClick;

            //handle backButton button
            var clickHereButton = new Button(_content.Load <Texture2D>("Buttons/clickHereBtn"), new Vector2(380, 380),
                                             Color.Black, Color.White, btnTextFont, "", 100);

            clickHereButton.Click += clickHereButtonClick;

            //create the list
            components = new List <Button>()
            {
                backButton, clickHereButton
            };

            //create the list
            smTextures = new List <Texture2D>()
            {
                _content.Load <Texture2D>("SlotMachine/banana"),
                _content.Load <Texture2D>("SlotMachine/bar"),
                _content.Load <Texture2D>("SlotMachine/bell"),
                _content.Load <Texture2D>("SlotMachine/cherry"),
                _content.Load <Texture2D>("SlotMachine/grape"),
                _content.Load <Texture2D>("SlotMachine/lemon"),
                _content.Load <Texture2D>("SlotMachine/plum"),
                _content.Load <Texture2D>("SlotMachine/seven"),
            };

            //handle slot machine texture
            smTexture = _content.Load <Texture2D>("SlotMachine/slotMachine");
            txtr3     = new List <Texture2D> {
                smTextures[0], smTextures[0], smTextures[0]
            };
            insTexture = _content.Load <Texture2D>("Instructions/slotMachimeInstructions"); //slotMachimeInstructions

            //handle error texture
            errorTxtr = _content.Load <Texture2D>("Errors/onceADayError");
        }
Ejemplo n.º 12
0
        public override void Draw(GameTime gametime, SpriteBatch spritebatch)
        {
            //if the animation of the slot machine is off
            spritebatch.Begin();
            spritebatch.Draw(background, new Vector2(0, 0), Color.White);
            spritebatch.Draw(smTexture, new Vector2(300, 200), Color.White);
            spritebatch.Draw(txtr3[0], new Vector2(320, 240), Color.White);
            spritebatch.Draw(txtr3[1], new Vector2(420, 240), Color.White);
            spritebatch.Draw(txtr3[2], new Vector2(520, 240), Color.White);
            spritebatch.Draw(insTexture, new Vector2(15, 100), Color.White);
            foreach (var component in components)
            {
                component.Draw(spritebatch);
            }
            coinsAndHeartsManager.Draw(spritebatch, _content);

            spritebatch.End();

            //handle animation
            if (isAnimation == true)
            {
                DateTime date = Load();
                DateTime curr = DateTime.UtcNow;
                Random   rand = new Random();

                if (date.Day == curr.Day && date.Month == curr.Month && date.Year == curr.Year)
                {
                    if (numOfChanges == 0)
                    {
                        handleErrorMsg(spritebatch, gametime);
                    }
                    else
                    {
                        Thread.Sleep(4000);//sleep
                        isAnimation = false;
                    }
                }
                else
                {
                    if (numOfChanges == 0)
                    {
                        txtr3 = new List <Texture2D> {
                            smTextures[0], smTextures[0], smTextures[0]
                        }
                    }
                    ;

                    if (numOfChanges < 20)
                    {
                        Thread.Sleep(200);//sleep
                        int num1 = rand.Next(0, 8);
                        int num2 = rand.Next(0, 8);
                        int num3 = rand.Next(0, 8);
                        txtr3 = new List <Texture2D> {
                            smTextures[num1], smTextures[num2], smTextures[num3]
                        };
                    }
                    else if (numOfChanges == 20)
                    {
                        //update prize
                        if (txtr3[0] == txtr3[1] && txtr3[0] == txtr3[2])
                        {
                            coinsAndHeartsManager.Update(new CoinsAndHearts(1, 0, 0, 0));
                            CoinsAndHeartsManager.Save(coinsAndHeartsManager);
                            spritebatch.Begin();
                            spritebatch.Draw(wonMsgs[0], new Vector2(270, 50), Color.White);
                            spritebatch.End();
                        }
                        else if (txtr3[0] == txtr3[1] || txtr3[0] == txtr3[2] || txtr3[2] == txtr3[1])
                        {
                            coinsAndHeartsManager.Update(new CoinsAndHearts(0, 5, 0, 0));
                            CoinsAndHeartsManager.Save(coinsAndHeartsManager);
                            spritebatch.Begin();
                            spritebatch.Draw(wonMsgs[1], new Vector2(270, 50), Color.White);
                            spritebatch.End();
                        }
                        else
                        {
                            coinsAndHeartsManager.Update(new CoinsAndHearts(0, 0, 10, 0));
                            CoinsAndHeartsManager.Save(coinsAndHeartsManager);
                            spritebatch.Begin();
                            spritebatch.Draw(wonMsgs[2], new Vector2(270, 50), Color.White);
                            spritebatch.End();
                        }
                    }
                    else
                    {
                        Thread.Sleep(4000);//sleep
                        Save(curr);
                        isAnimation = false;
                    }
                }
                numOfChanges++;
            }
        }