public void Draw(SpriteBatch spriteBatch, Extras extra) { spriteBatch.Draw(BG, new Rectangle(0, 0, 1080, 720), Color.White); spriteBatch.DrawString(extra.TitleFont, "Welcome To ToonFight!", new Vector2(10, 05), Color.White); spriteBatch.DrawString(extra.NormalFont, "[Load Toon]", new Vector2(600, 500), Color.White); spriteBatch.DrawString(extra.NormalFont, "[New Toon]", new Vector2(600, 530), Color.White); }
public void Code(Extras extra, KeyboardState keyboard, KeyboardState oldkeyboard, MouseState mouse, MouseState oldmouse, Point mousepoint, Toon [] Character) { switch (State) { case ScreenState.Initialize: Initialize(); break; case ScreenState.Name: NamingCode(extra, keyboard, oldkeyboard); break; case ScreenState.Gender: GenderCode(mouse, oldmouse, mousepoint); break; case ScreenState.Attributes: AttributesCode(mouse, oldmouse, mousepoint, extra); break; case ScreenState.DefenseHP: DefenseHPCode(mouse, oldmouse, mousepoint); break; case ScreenState.MoveTypes: MoveTypesCode(mouse, oldmouse, mousepoint); break; case ScreenState.Done: DoneCode(extra, Character); break; } }
public void InitializeMoves(Toon OtherToon, Toon ActiveToon,Extras extra) { Ability0(OtherToon); Ability1(extra); Ability2(OtherToon); Ability3(OtherToon, ActiveToon, extra); }
public void Code(Toon ChosenOne, Toon OpponentToon, IntMoves ManaMoves, StrMoves RageMoves, AgMoves EnergyMoves, LuckMoves luckMoves, MouseState mouse, MouseState oldmouse, Point mousepoint, KeyboardState keyboard, KeyboardState oldkeyboard, Extras extra) { switch (State) { case FightState.InitiliazeMoves: InitializeMoves(ChosenOne, OpponentToon, ManaMoves, RageMoves, EnergyMoves, luckMoves,extra); break; case FightState.ChosenOnesTurn: OnToon = 0; TurnCode(ChosenOne, mouse, oldmouse, mousepoint, ChosenOne, OpponentToon, extra); break; case FightState.OpponentsTurn: OnToon = 1; TurnCode(OpponentToon, mouse, oldmouse, mousepoint, ChosenOne, OpponentToon, extra); break; case FightState.Attack: AttackCode(keyboard, oldkeyboard); break; case FightState.NoResource: NoResourceCode(keyboard, oldkeyboard); break; case FightState.Special: SpecialCode(keyboard, oldkeyboard, ChosenOne,OpponentToon); break; } }
public void Draw(Toon[] Character, SpriteBatch spriteBatch, Extras extra) { switch (State) { case LoadState.Initialize: break; case LoadState.Present: PresentDraw(spriteBatch, extra, Character); break; } }
private void ChosenCode(Toon [] Character, Toon ChosenOne, Toon OpponentToon, Extras extra) { TransferAttributes(Character, ChosenOne, OnToon); int OpponentNum = rand.Next(0, extra.NumOfToons); if (OpponentNum != OnToon) { TransferAttributes(Character, OpponentToon, OpponentNum); extra.State = Extras.GameState.FIGHT; State = LoadState.Initialize; } }
public void Code(MouseState mouse, MouseState oldmouse, Point mousepoint,Extras extra) { if (LoadRect.Contains(mousepoint) && mouse.LeftButton == ButtonState.Pressed && oldmouse.LeftButton == ButtonState.Released) { if (extra.NumOfToons != 0) extra.State = Extras.GameState.LoadScreen; } if (NewRect.Contains(mousepoint) && mouse.LeftButton == ButtonState.Pressed && oldmouse.LeftButton == ButtonState.Released) { extra.State = Extras.GameState.CreationScreen; } }
private void Ability1(Extras extra) { Ability[1] = new Move(); Ability[1].Resource = "Energy"; Ability[1].Name = "Rain Of Arrows"; Ability[1].Description = "You shoot 4 arrows into the \nair which will come down one at a time and \nhit over the next 4 turns."; Ability[1].Duration = 4; Ability[1].BeenActive = 5; Ability[1].CoolDown = 0; Ability[1].Damage = 15; Ability[1].Cost = 38; Ability[1].Effect = "Four arrows have been launched into \nthe air"; Ability[1].BuffIcon = extra.RainOfArrowsPic; }
private void Ability3(Extras extra, Toon ActiveToon) { Ability[3] = new Move(); Ability[3].Resource = "Energy"; Ability[3].Name = "Stealth"; Ability[3].Description = "You walk into the shadows, \nbecoming untargetable \nfor the next 3 turns."; Ability[3].Duration = 3; Ability[3].BeenActive = 5; Ability[3].CoolDown = 7; Ability[3].Damage = 0; Ability[3].Cost = 85; Ability[3].Effect = ActiveToon.Name + " has walked into the shadows."; Ability[3].BuffIcon = extra.StealthPic; }
private void Ability1(Extras extra) { Ability[1] = new Move(); Ability[1].Name = "Curse of Witches"; Ability[1].Resource = "Mana"; Ability[1].Description = "You cast a curse upon your opponent \nwhich will inflict damage every turn for \nthe next 3 turns."; Ability[1].Duration = 4; Ability[1].CoolDown = 0; Ability[1].Damage = 15; Ability[1].BeenActive = 5; Ability[1].Cost = 150; Ability[1].Effect = "The curse has been cast!"; Ability[1].BuffIcon = extra.CurseofWhitchesPic; }
private void Ability1(Toon OtherToon,Extras extra) { Ability[1] = new Move(); Ability[1].Name = "Concussion"; Ability[1].Resource = "Rage"; Ability[1].Description = "A severe Strike to the head will \ngive " + OtherToon.Name + " head trauma and \nwill cause damage over the next 4 turns"; Ability[1].Duration = 4; Ability[1].CoolDown = 0; Ability[1].BeenActive = 5; Ability[1].Damage = 15; Ability[1].Cost = 25; Ability[1].Effect = OtherToon.Name + " is bleeding internally"; Ability[1].BuffIcon = extra.ConcussionPic; }
int Reason; //reason for not being able to keep going #endregion Fields #region Methods public void BuffDraw(SpriteBatch spriteBatch,Extras extra, int X) { int NumOfRects = 0; Rectangle[] BuffRects = new Rectangle[4]; for (int i = 0; i < 4; i++) { if (Ability[i].BuffIcon != null && Ability[i].Duration > 1 && Ability[i].BeenActive < Ability[i].Duration) { BuffRects[NumOfRects] = new Rectangle(X, (70 + 35 * NumOfRects), 30, 30); spriteBatch.Draw(Ability[i].BuffIcon, BuffRects[NumOfRects], Color.White); NumOfRects++; } } }
public void Code(Toon[] Character,Extras extra,KeyboardState keyboard, KeyboardState oldkeyboard, Toon ChosenOne, Toon OpponentToon, MouseState mouse, Point mousepoint) { switch (State) { case LoadState.Initialize: ToonLoading(Character, extra); break; case LoadState.Present: PresentCode(keyboard, oldkeyboard, Character, ChosenOne,OpponentToon, extra, mouse,mousepoint); break; case LoadState.Chosen: ChosenCode(Character, ChosenOne, OpponentToon, extra); break; } }
public void EndScreenCode(Toon ChosenOne, Toon OpponentToon, Extras extra, KeyboardState keyboard, KeyboardState oldkeyboard) { if (ChosenOne.HP <= 0) { Winner = OpponentToon; Loser = ChosenOne; } else { Winner = ChosenOne; Loser = OpponentToon; } if (keyboard.IsKeyDown(Keys.Enter) && oldkeyboard.IsKeyUp(Keys.Enter)) { extra.State = Extras.GameState.Initialize; } }
private void Ability3(Toon OtherToon, Toon ActiveToon, Extras extra) { Ability[3] = new Move(); Ability[3].Name = "Abyssal Expedition"; Ability[3].Resource = "Mana"; Ability[3].Description = "You send your opponent into \nan abyss for 2 turns in which \nhe cant attack and attains damage \nequal to 60% of \n the Mana cost"; Ability[3].Duration = 2; Ability[3].CoolDown = 7; Ability[3].Damage = 0; Ability[3].BeenActive = 5; Ability[3].Cost = (int)(ActiveToon.MaxMana * 0.9); if (Ability[3].Cost < 290) Ability[3].Cost = 290; Ability[3].Effect = "You have sent " + OtherToon.Name + " into the Abyss"; Ability[3].DamageType = 1; Ability[3].BuffIcon = extra.AbyssPic; }
public void InitializeMoves(Toon OtherToon,Extras extra, Toon ActiveToon) { Ability0(OtherToon); Ability1(extra); Ability2(OtherToon); Ability3(extra, ActiveToon); Ability[4] = new Move(); Ability[4].Resource = "Energy"; Ability[4].Name = "Exploit Chink"; Ability[4].Description = "You find a chink in your opponents armor \nallowing you to bypass 50% of \ndefenses for 2 turns"; Ability[4].Duration = 3; Ability[4].BeenActive = 5; Ability[4].CoolDown = 5; Ability[4].Damage = 0; Ability[4].Cost = 60; Ability[4].Effect = ActiveToon.Name + " found a chink \nin " + OtherToon.Name + "'s armor!"; Ability[4].BuffIcon = extra.ChinkPic; }
public void InitializeMoves(Toon OtherToon, Toon ActiveToon,Extras extra) { Ability0(OtherToon); Ability1(OtherToon,extra); Ability2(OtherToon); Ability[3] = new Move(); Ability[3].Name = "Shout Of Power"; Ability[3].Resource = "Rage"; Ability[3].Description = "You let out a terrible shout \nwhich multiplies all of \nyour damage by 3 for 2 turns"; Ability[3].Duration = 3; Ability[3].CoolDown = 5; Ability[3].Damage = 0; Ability[3].BeenActive = 5; Ability[3].Cost = (int)(ActiveToon.MaxRage * .9); if (Ability[3].Cost < 110) Ability[3].Cost = 110; Ability[3].Effect = "Both you and " + OtherToon.Name + " go down in pain!"; Ability[3].BuffIcon = extra.SOPBuffPic; }
public void Draw(SpriteBatch spriteBatch, Extras extra) { switch (State) { case ScreenState.Name: NamingDraw(spriteBatch, extra); break; case ScreenState.Gender: GenderDraw(spriteBatch, extra); break; case ScreenState.Attributes: AttributesDraw(spriteBatch, extra, toon); break; case ScreenState.DefenseHP: DefenseHPDraw(spriteBatch, extra); break; case ScreenState.MoveTypes: MoveTypesDraw(spriteBatch, extra); break; } }
public void Draw(SpriteBatch spriteBatch, Extras extra, Toon ChosenOne, Toon OpponentToon) { switch (State) { case FightState.ChosenOnesTurn: TurnDraw(spriteBatch, extra, ChosenOne, OpponentToon); break; case FightState.Attack: AttackDraw(spriteBatch, extra, ChosenOne, OpponentToon); break; case FightState.OpponentsTurn: TurnDraw(spriteBatch, extra, ChosenOne, OpponentToon); break; case FightState.NoResource: NoResourceDraw(spriteBatch, extra, ChosenOne, OpponentToon); break; case FightState.Special: SpecialDraw(spriteBatch, extra, ChosenOne, OpponentToon); break; } }
private void SpecialDraw(SpriteBatch spriteBatch, Extras extra, Toon ChosenOne, Toon OpponentToon) { GenericDraw(spriteBatch, extra, ChosenOne, OpponentToon); switch (OnToon) { case 0: ChosenOne.SpecialDraw(spriteBatch, extra, OpponentToon); break; case 1: OpponentToon.SpecialDraw(spriteBatch, extra, ChosenOne); break; } }
private void TurnCode(Toon Activetoon, MouseState mouse, MouseState oldmouse, Point mousepoint, Toon ChosenOne, Toon OpponentToon, Extras extra) { ChosenOne.KeepGoing = true; OpponentToon.KeepGoing = true; FirstTimeThrough(Activetoon); if (possibleMove == false) { State = FightState.NoResource; firstTimeThrough = false; } else MoveSelection(mouse, oldmouse, mousepoint, ChosenOne, OpponentToon, extra); }
private void PresentCode(KeyboardState keyboard, KeyboardState oldkeyboard, Toon [] Character, Toon ChosenOne, Toon OpponentToon, Extras extra, MouseState mouse, Point mousepoint) { PresentNavigation(ref keyboard, ref oldkeyboard, extra); if (keyboard.IsKeyDown(Keys.Enter) && oldkeyboard.IsKeyUp(Keys.Enter)) { State = LoadState.Chosen; } Rectangle DeleteRect = new Rectangle(950, 680, 87, 30); if (DeleteRect.Contains(mousepoint) && mouse.LeftButton == ButtonState.Pressed) { for (int i = OnToon + 1; i < (extra.NumOfToons); i++) { string ToonInfo = File.ReadAllText(@"Content\TextFiles\Toon" + (i + 1).ToString() + ".txt"); File.WriteAllText(@"Content\TextFiles\Toon" + i.ToString() + ".txt", ToonInfo); } File.Delete(@"Content\TextFiles\Toon" + extra.NumOfToons.ToString() + ".txt"); extra.NumOfToons--; File.WriteAllText(@"Content\TextFiles\Character Count.txt", extra.NumOfToons.ToString()); State = LoadState.Initialize; extra.State = Extras.GameState.IntroScreen; } }
private void TurnDraw(SpriteBatch spriteBatch, Extras extra, Toon ChosenOne, Toon OpponentToon) { GenericDraw(spriteBatch, extra, ChosenOne, OpponentToon); if (OnToon == 0) HumansTurnDraw(spriteBatch,extra,OpponentToon,ChosenOne); }
private static void AblityDraw(SpriteBatch spriteBatch, Extras extra, Toon ChosenOne) { spriteBatch.DrawString(extra.NormalFont, ChosenOne.Ability[0].Name, new Vector2(30, 475), Color.White); spriteBatch.DrawString(extra.NormalFont, "Cost: " + ChosenOne.Ability[0].Cost.ToString() + " " + ChosenOne.Ability[0].Resource, new Vector2(20, 505), Color.White); spriteBatch.DrawString(extra.NormalFont, "Raw Damage: " + ChosenOne.Ability[0].Damage.ToString(), new Vector2(20, 535), Color.White); spriteBatch.DrawString(extra.NormalFont, "CoolDown Remaining: " + ChosenOne.CD[0].ToString(), new Vector2(20, 565), Color.White); spriteBatch.DrawString(extra.NormalFont, ChosenOne.Ability[1].Name, new Vector2(318, 475), Color.White); spriteBatch.DrawString(extra.NormalFont, "Cost: " + ChosenOne.Ability[1].Cost.ToString() + " " + ChosenOne.Ability[1].Resource, new Vector2(308, 505), Color.White); spriteBatch.DrawString(extra.NormalFont, "Raw Damage: " + ChosenOne.Ability[1].Damage.ToString(), new Vector2(308, 535), Color.White); spriteBatch.DrawString(extra.NormalFont, "CoolDown Remaining: " + ChosenOne.CD[1].ToString(), new Vector2(308, 565), Color.White); spriteBatch.DrawString(extra.NormalFont, ChosenOne.Ability[2].Name, new Vector2(30, 598), Color.White); spriteBatch.DrawString(extra.NormalFont, "Cost: " + ChosenOne.Ability[2].Cost.ToString() + " " + ChosenOne.Ability[2].Resource, new Vector2(20, 628), Color.White); spriteBatch.DrawString(extra.NormalFont, "Raw Damage: " + ChosenOne.Ability[2].Damage.ToString(), new Vector2(20, 658), Color.White); spriteBatch.DrawString(extra.NormalFont, "CoolDown Remaining: " + ChosenOne.CD[2].ToString(), new Vector2(20, 688), Color.White); spriteBatch.DrawString(extra.NormalFont, ChosenOne.Ability[3].Name, new Vector2(318, 598), Color.White); spriteBatch.DrawString(extra.NormalFont, "Cost: " + ChosenOne.Ability[3].Cost.ToString() + " " + ChosenOne.Ability[3].Resource, new Vector2(308, 628), Color.White); spriteBatch.DrawString(extra.NormalFont, "Raw Damage: " + ChosenOne.Ability[3].Damage.ToString(), new Vector2(308, 658), Color.White); spriteBatch.DrawString(extra.NormalFont, "CoolDown Remaining: " + ChosenOne.CD[3].ToString(), new Vector2(308, 688), Color.White); }
private void ToonLoading(Toon[] Character, Extras extra) { for (int i = 0; i < extra.NumOfToons; i++) { Character[i] = new Toon(); string CharacterInfo = File.ReadAllText(@"Content\TextFiles\Toon" + (i+1).ToString() + ".txt"); string text; FindText(ref CharacterInfo, out CharacterInfo, out text); Character[i].Name = text; FindText(ref CharacterInfo, out CharacterInfo, out text); Character[i].Gender = text; FindText(ref CharacterInfo, out CharacterInfo, out text); Character[i].Agility = int.Parse(text); FindText(ref CharacterInfo, out CharacterInfo, out text); Character[i].Intellect = int.Parse(text); FindText(ref CharacterInfo, out CharacterInfo, out text); Character[i].Strength = int.Parse(text); FindText(ref CharacterInfo, out CharacterInfo, out text); Character[i].HP = int.Parse(text); FindText(ref CharacterInfo, out CharacterInfo, out text); Character[i].Defense = int.Parse(text); FindText(ref CharacterInfo, out CharacterInfo, out text); Character[i].moveClass[0] = text; FindText(ref CharacterInfo, out CharacterInfo, out text); Character[i].moveClass[1] = text; FindText(ref CharacterInfo, out CharacterInfo, out text); Character[i].moveClass[2] = text; FindText(ref CharacterInfo, out CharacterInfo, out text); Character[i].moveClass[3] = text; if (Character[i].Gender == "M") { Character[i].sprite = extra.MalePic; Character[i].Pronoun = "he"; } if (Character[i].Gender == "F") { Character[i].sprite = extra.FemalePic; Character[i].Pronoun = "she"; } State = LoadState.Present; Character[i].Mana = 400 * (Character[i].Intellect) / 10 + 10; Character[i].Rage = Character[i].Strength * 10 + 10; Character[i].Energy = Character[i].Agility * 5 + 10; if (Character[i].Intellect == 0) Character[i].Mana = 1; if (Character[i].Agility == 0) Character[i].Energy = 1; if (Character[i].Strength == 0) Character[i].Rage = 1; } OnToon = 0; }
private void PresentNavigation(ref KeyboardState keyboard, ref KeyboardState oldkeyboard, Extras extra) { if (keyboard.IsKeyDown(Keys.Left) && oldkeyboard.IsKeyUp(Keys.Left)) { if (OnToon == 0) OnToon = (extra.NumOfToons - 1); else OnToon--; } if (keyboard.IsKeyDown(Keys.Right) && oldkeyboard.IsKeyUp(Keys.Right)) { if ((OnToon + 1) == extra.NumOfToons) OnToon = 0; else OnToon++; } }
public void EndScreenDraw(SpriteBatch spriteBatch, Extras extra) { spriteBatch.DrawString(extra.TitleFont, Loser.Name +" LOST TO "+ Winner.Name +"\nWHAT A MATCH!!!!!", new Vector2(20,20), Color.White); }
public void SpecialDraw(SpriteBatch spriteBatch, Extras extra, Toon OtherToon) { switch (Reason) { case 0: spriteBatch.DrawString(extra.NormalFont, Name +" Could not do anything \nbecause " +OtherToon.Name + " is in the Abyss", new Vector2(590, 465), Color.White); break; case 1: spriteBatch.DrawString(extra.NormalFont, Name + " Could not do anything \nbecause "+ Pronoun +" is in \nthe Abyss", new Vector2(590, 465), Color.White); break; } }
private void PresentDraw(SpriteBatch spriteBatch,Extras extra, Toon [] Character) { spriteBatch.Draw(extra.ToonSelectionScreen, new Rectangle(0, 0, 1080, 720), Color.White); if (extra.NumOfToons >= 3) { int Prev; if (OnToon == 0) Prev = extra.NumOfToons -1; else Prev = OnToon - 1; int Next; if (OnToon == (extra.NumOfToons-1)) Next = 0; else Next = OnToon + 1; spriteBatch.Draw(Character[Prev].sprite, new Rectangle(275, 60, 100, 225), Color.White); spriteBatch.DrawString(extra.NormalFont, Character[Prev].Name, new Vector2(295, 290), Color.White); spriteBatch.Draw(Character[Next].sprite, new Rectangle(715, 60, 100, 225), Color.White); spriteBatch.DrawString(extra.NormalFont, Character[Next].Name, new Vector2(730, 290), Color.White); spriteBatch.DrawString(extra.NormalFont, "[DELETE]", new Vector2(950, 680), Color.White); } spriteBatch.Draw(Character[OnToon].sprite, new Rectangle(460, 20, 200, 450), Color.White); spriteBatch.DrawString(extra.TitleFont, Character[OnToon].Name, new Vector2(230, 605), Color.White); spriteBatch.DrawString(extra.NormalFont, "Use Arrow Keys To Navigate", new Vector2(30, 30), Color.White); spriteBatch.DrawString(extra.NormalFont, "Intellect: " + Character[OnToon].Intellect.ToString(), new Vector2(30, 100), Color.White); spriteBatch.DrawString(extra.NormalFont, "Strength: " + Character[OnToon].Strength.ToString(), new Vector2(30, 130), Color.White); spriteBatch.DrawString(extra.NormalFont, "Agility: " + Character[OnToon].Agility.ToString(), new Vector2(30, 160), Color.White); spriteBatch.DrawString(extra.NormalFont, "HP: " + Character[OnToon].HP.ToString(), new Vector2(30, 190), Color.White); spriteBatch.DrawString(extra.NormalFont, "Defense: " + Character[OnToon].Defense.ToString(), new Vector2(30, 220), Color.White); spriteBatch.DrawString(extra.NormalFont, "Mana: " + Character[OnToon].Mana.ToString(), new Vector2(30, 250), Color.White); spriteBatch.DrawString(extra.NormalFont, "Rage: " + Character[OnToon].Rage.ToString(), new Vector2(30, 280), Color.White); spriteBatch.DrawString(extra.NormalFont, "Energy: " + Character[OnToon].Energy.ToString(), new Vector2(30, 310), Color.White); spriteBatch.DrawString(extra.NormalFont, "Class 1: " + Character[OnToon].moveClass[0], new Vector2(30, 340), Color.White); spriteBatch.DrawString(extra.NormalFont, "Class 2: " + Character[OnToon].moveClass[1], new Vector2(30, 370), Color.White); spriteBatch.DrawString(extra.NormalFont, "Class 3: " + Character[OnToon].moveClass[2], new Vector2(30, 400), Color.White); spriteBatch.DrawString(extra.NormalFont, "Class 4: " + Character[OnToon].moveClass[3], new Vector2(30, 430), Color.White); spriteBatch.DrawString(extra.NormalFont, "[DELETE]", new Vector2(950, 680), Color.White); }
private void NoResourceDraw(SpriteBatch spriteBatch, Extras extra, Toon ChosenOne, Toon OpponentToon) { GenericDraw(spriteBatch, extra, ChosenOne, OpponentToon); spriteBatch.DrawString(extra.NormalFont, "The Active Toon does not have enough \nresource to do anything and so his or her \nturn will be skipped", new Vector2(590, 465), Color.White); }