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); } } }
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"); }
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); }
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; }
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 }; }
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)); }
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)); }
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 }; }
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); } }
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); } }
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"); }
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++; } }