public void buildMonsters() { Monster dragonShep = new Monster("Dragon Sheppard",1, 815, 400, 11, 85, 50,90,80, moveList,"lava"); Monster triceritops = new Monster("Triceritops", 2, 800, 400, 13, 70, 50, 90, 80, moveList, "plant"); Monster prettyMermaid = new Monster("Pretty Mermaid", 3, 875, 400, 13, 90, 90, 50, 40, moveList, "water"); Monster snowDeamon = new Monster("Snow Deamon", 4, 850, 70, 13, 80, 65, 80, 70, moveList, "ice"); Monster thunderCloud = new Monster("Thunder Cloud", 5, 900, 400, 14, 90, 90, 0, 30, moveList, "light"); monsterDataBase.Add(dragonShep); monsterDataBase.Add(triceritops); monsterDataBase.Add(prettyMermaid); monsterDataBase.Add(snowDeamon); monsterDataBase.Add(thunderCloud); XmlSerializer serializer = new XmlSerializer(typeof(List<Monster>)); TextWriter writer = new StreamWriter("monsterdatabase.xml"); serializer.Serialize(writer, monsterDataBase); writer.Close(); /* List<Monster> monsterDatabase = new List<Monster>(); XmlSerializer serializer = new XmlSerializer(typeof(List<Monster>)); TextReader reader = new StreamReader("monsterdatabase.xml"); monsterDatabase = (List<Monster>)serializer.Deserialize(reader); monsterDataBase =monsterDatabase; reader.Close(); */ }
public Monster buildMonsterFromConsole(List<Move> moveList, int Id) { List<Move> tempMoves = new List<Move>(); String tempString; String name; Console.Write("Input the Name of the monster then press enter" + "\n"); name = Console.ReadLine(); // Console.Write("Input the Monster Id" + "\n"); // tempString = Console.ReadLine(); // int iD = Convert.ToInt32(tempString); int stamina = 0; Console.Write("Input the Max Stamina" + "\n"); tempString = Console.ReadLine(); stamina = Convert.ToInt32(tempString); String type = ""; Console.Write("Input the Type (lava,water,light,rock,plant,ice,normal) " + "\n"); type = Console.ReadLine(); int health = 0; Console.Write("Input the Max Health: " + "\n"); tempString = Console.ReadLine(); health = Convert.ToInt32(tempString); int attackSize = 0; Console.Write("Input the Attack Size" + "\n"); tempString = Console.ReadLine(); attackSize = Convert.ToInt32(tempString); int attackSpeed = 0; Console.Write("Input the attackSpeed: " + "\n"); tempString = Console.ReadLine(); attackSpeed = Convert.ToInt32(tempString); int level = 0; Console.Write("Input the level: " + "\n"); tempString = Console.ReadLine(); level = Convert.ToInt32(tempString); int agility = 0; Console.Write("Input the agility: " + "\n"); tempString = Console.ReadLine(); agility = Convert.ToInt32(tempString); int attackStrength = 0; Console.Write("Input the attackStrength: " + "\n"); tempString = Console.ReadLine(); attackStrength = Convert.ToInt32(tempString); Id += 1; Monster tempMonster = new Monster(name, Id, health, stamina, level, attackSpeed, agility, attackStrength, attackSize, tempMoves,type); return tempMonster; }
public List<Monster> castMove(Monster attackMonster, Move attackMove, Monster defendingMonster) { List<Monster> attackDefenderList = new List<Monster>(); int staminaRequired = attackMove.getStamina(); int staminaPossessed = attackMonster.getstamina(); if (staminaRequired > staminaPossessed) { attackDefenderList.Add(attackMonster); attackDefenderList.Add(defendingMonster); Console.Write("Error Not enough Stamina"+"\n"); return attackDefenderList; } float damage = 0; float netAttack; float netDefense; Console.Write("Move Name: " + attackMove.getName() +", Stamina required: "+attackMove.getStamina()+"\n"); Console.Write("Attacker: " + attackMonster.getName() + ", Level: " + attackMonster.getlevel()+" Health: "+attackMonster.gethealth()+", Stamina: " + attackMonster.getstamina() + "\n"); Console.Write("Defender: " + defendingMonster.getName() + ", Level: " + defendingMonster.getlevel()+" Health: "+defendingMonster.gethealth() + ", Stamina: "+defendingMonster.getstamina() +"\n"); netAttack = principalAttackValue(attackMonster, attackMove); netDefense = principalDefenseValue(defendingMonster, attackMove); damage = netAttack - netDefense; if (attackMove.getType() != "normal") { damage = specailAttack(defendingMonster, attackMove, damage); } else { } // Before damage is rendered the random varible must be applied // the random effectiveness variable, it will be modeled as RE = (2 / 3 + E) + R where 2 / 3 represents 66 % //effective all the time, then E = Level / 300, such that at level 100 a creature will be completely effective while // a creature at 1 will be .661.Then another variable R will be created. R will be a number that is a random // number between the range of 0:X where x = 1 - (.2 / 3 + E), int level=attackMonster.getlevel(); float tempLevel = (float)level; tempLevel = tempLevel / 100; damage = damage * tempLevel; int roundedDamage = (int)damage; defendingMonster.renderDamage(roundedDamage,attackMonster, defendingMonster,attackMove); attackDefenderList.Add(attackMonster); attackDefenderList.Add(defendingMonster); return attackDefenderList; }
public List<Monster> buildMonstersList() { Monster dragonShep = new Monster("Dragon Sheppard", 1, 815, 400, 11, 85, 50, 90, 80, moveList, "lava"); Monster triceritops = new Monster("Triceritops", 2, 800, 400, 13, 70, 50, 90, 80, moveList, "plant"); Monster prettyMermaid = new Monster("Pretty Mermaid", 3, 875, 400, 13, 90, 90, 50, 40, moveList, "water"); Monster snowDeamon = new Monster("Snow Deamon", 4, 850, 70, 13, 80, 65, 80, 70, moveList, "ice"); Monster thunderCloud = new Monster("Thunder Cloud", 5, 900, 400, 14, 90, 90, 0, 30, moveList, "light"); monsterDataBase.Add(dragonShep); monsterDataBase.Add(triceritops); monsterDataBase.Add(prettyMermaid); monsterDataBase.Add(snowDeamon); monsterDataBase.Add(thunderCloud); return monsterDataBase; }
public void buildMonsters() { /* Dragon Shep id=1 type=fire health=815 size=80 strength=80 speed=85 agility=50 fire=85 ice=0 plant=0 rock=0 lighting=0 stamina=100 level=56 */ dragonShep = new Monster("Dragon Sheppard",1, 815, 400, 11, 85, 50,90,80, moveList,"lava"); //List<Move> moveLister = dragonShep.getmoveList(); //Move firstmove = moveLister.ElementAt(0); triceritops = new Monster("Triceritops", 2, 800, 400, 13, 70, 50, 90, 80, moveList, "plant"); Monster prettyMermaid = new Monster("Pretty Mermaid", 3, 875, 400, 13, 90, 90, 50, 40, moveList, "water"); Monster snowDeamon = new Monster("Snow Deamon", 4, 850, 70, 13, 80, 65, 80, 70, moveList, "ice"); Monster thunderCloud = new Monster("Thunder Cloud", 5, 900, 400, 14, 90, 90, 0, 30, moveList, "light"); monsterDataBase.Add(dragonShep); monsterDataBase.Add(triceritops); monsterDataBase.Add(prettyMermaid); monsterDataBase.Add(snowDeamon); monsterDataBase.Add(thunderCloud); // List<Move> moveListerT = dragonShep.getmoveList(); // Move secondMove = moveListerT.ElementAt(0); /* Console.Write("triceritpos health= " + triceritops.gethealth() + "\n"); Console.Write("max damage for bite is " + secondMove.getMaxDamage() + "\n"); Console.Write("dragon shep health= " +dragonShep.gethealth() + "\n"); Console.Write("max damage for bite is " + firstmove.getMaxDamage() + "\n"); Console.ReadLine(); */ }
public void addMonster(Monster newMonster) { monsterRoster.Add(newMonster); }
public void useStamina(int staminaUsed,Monster attackingMonster) { stamina = attackingMonster.stamina - staminaUsed; if(stamina < 1) { hasStamina = false; } }
public void renderDamage(int damage, Monster attackMonster, Monster defendingMonster, Move attackMove) { health = health - damage; if (health < 1) { isAlive = false; } if (defendingMonster.currentlyLiving() == false) { Console.Write(defendingMonster.getName() + " is dead" + "\n"); } useStamina(attackMove.getStamina(),attackMonster); }
public float principalAttackValue(Monster attackMonster, Move attackMove) { float pAV = attackMove.getMaxDamage(); float moveSize = attackMove.getSizeAttacker(); float moveSpeed = attackMove.getSpeed(); float moveStrength = attackMove.getStrength(); moveSize = moveSize / 100; moveSpeed = moveSpeed / 100; moveStrength = moveStrength / 100; int creatureSpeed = attackMonster.getSpeed(); int creatureStrength = attackMonster.getStrength(); int creatureSize = attackMonster.getSize(); moveSize = moveSize * creatureSize; moveSpeed = moveSpeed * creatureSpeed; moveStrength = moveStrength * creatureStrength; //Console.Write("move size " + moveSize + "\n"); //Console.Write("move speed " + moveSpeed + "\n"); //Console.Write("move Strength " + moveStrength + "\n"); float total = moveSize + moveSpeed + moveStrength; float effectivnessDecimal = total / 100; //Console.Write("move max damage @ 100% effecency " + pAV + "\n"); // Console.Write("effectivness deceimal= " + effectivnessDecimal + "\n"); pAV = pAV * effectivnessDecimal; // Console.Write("max damage after applied (defense still to be calculated) " + pAV + "\n"); float levelMod = attackMonster.getLevel(); levelMod = levelMod / 100; // Console.Write(" level mod attacker " + levelMod + "\n"); pAV = pAV * levelMod; // Console.Write(" final pAV w/ level consider " + pAV + "\n"); // Console.Write("\n"); return pAV; }
public float specailAttack(Monster defendingMonster, Move attackMove, float damage) { int keepTrack = 0; if (attackMove.getType() == "lava") { if (defendingMonster.getType() == "plant") { float fireTypeBonus = (float)1.75; damage = typeBonus(fireTypeBonus, damage); keepTrack = 1; Console.Write("check lava on grass" + "\n"); return damage; } if (defendingMonster.getType() == "ice") { float fireTypeBonus = (float)2; damage = typeBonus(fireTypeBonus, damage); keepTrack = 1; Console.Write("check lava on ice" + "\n"); return damage; } if (defendingMonster.getType() == "rock") { float fireTypeBonus = (float).60; damage = typeBonus(fireTypeBonus, damage); keepTrack = 1; Console.Write("check lava on rock" + "\n"); return damage; } if (defendingMonster.getType() == "water") { float fireTypeBonus = (float).5; damage = typeBonus(fireTypeBonus, damage); keepTrack = 1; Console.Write("check lava on water" + "\n"); return damage; } if (defendingMonster.getType() == "lava") { damage = 1; keepTrack = 1; Console.Write("check lava on lava" + "\n"); return damage; } } if (attackMove.getType() == "plant") Console.Write("check plant on first" + "\n"); { if (defendingMonster.getType() == "rock") { float fireTypeBonus = (float)2; damage = typeBonus(fireTypeBonus, damage); keepTrack = 1; Console.Write("check plant on rock" + "\n"); return damage; } if (defendingMonster.getType() == "lava") { Console.Write("check plant on fire " + "\n"); float fireTypeBonus = (float).7; damage = typeBonus(fireTypeBonus, damage); keepTrack = 1; Console.Write("check plant on lava" + "\n"); return damage; } if (defendingMonster.getType() == "ice") { float fireTypeBonus = (float).6; damage = typeBonus(fireTypeBonus, damage); keepTrack = 1; Console.Write("check plant on ice" + "\n"); return damage; } if (defendingMonster.getType() == "water") { float fireTypeBonus = (float)2; damage = typeBonus(fireTypeBonus, damage); keepTrack = 1; Console.Write("check plant on water" + "\n"); return damage; } if (defendingMonster.getType() == "plant") { Console.Write("check plant on fire " + "\n"); float fireTypeBonus = (float)1; damage = typeBonus(fireTypeBonus, damage); keepTrack = 1; return damage; } } if (attackMove.getType() == "ice") { if (defendingMonster.getType() == "rock") { float fireTypeBonus = (float)2; damage = typeBonus(fireTypeBonus, damage); keepTrack = 1; Console.Write("check ice on rock" + "\n"); return damage; } if (defendingMonster.getType() == "lava") { Console.Write("check plant on fire " + "\n"); float fireTypeBonus = (float).7; damage = typeBonus(fireTypeBonus, damage); keepTrack = 1; Console.Write("check ice on lava" + "\n"); return damage; } if (defendingMonster.getType() == "ice") { float fireTypeBonus = (float)1; damage = typeBonus(fireTypeBonus, damage); keepTrack = 1; Console.Write("check ice on ice" + "\n"); return damage; } if (defendingMonster.getType() == "water") { float fireTypeBonus = (float)1.2; damage = typeBonus(fireTypeBonus, damage); keepTrack = 1; Console.Write("check ice on water" + "\n"); return damage; } if (defendingMonster.getType() == "plant") { Console.Write("check ice on fire " + "\n"); float fireTypeBonus = (float)2; damage = typeBonus(fireTypeBonus, damage); keepTrack = 1; return damage; } } if (attackMove.getType() == "rock") { if (defendingMonster.getType() == "rock") { float fireTypeBonus = (float)2; damage = typeBonus(fireTypeBonus, damage); keepTrack = 1; Console.Write("check rock on rock" + "\n"); return damage; } if (defendingMonster.getType() == "lava") { Console.Write("check plant on fire " + "\n"); float fireTypeBonus = (float)1.8; damage = typeBonus(fireTypeBonus, damage); keepTrack = 1; Console.Write("check rock on lava" + "\n"); return damage; } if (defendingMonster.getType() == "ice") { float fireTypeBonus = (float)1; damage = typeBonus(fireTypeBonus, damage); keepTrack = 1; Console.Write("check rock on ice" + "\n"); return damage; } if (defendingMonster.getType() == "water") { float fireTypeBonus = (float).5; damage = typeBonus(fireTypeBonus, damage); keepTrack = 1; Console.Write("check rock on water" + "\n"); return damage; } if (defendingMonster.getType() == "plant") { Console.Write("check rock on plant " + "\n"); float fireTypeBonus = (float)2; damage = typeBonus(fireTypeBonus, damage); keepTrack = 1; return damage; } } if (attackMove.getType() == "light") { if (defendingMonster.getType() == "rock") { float fireTypeBonus = (float).5; damage = typeBonus(fireTypeBonus, damage); keepTrack = 1; Console.Write("check rock on light" + "\n"); return damage; } if (defendingMonster.getType() == "lava") { Console.Write("check plant on fire " + "\n"); float fireTypeBonus = (float)1.8; damage = typeBonus(fireTypeBonus, damage); keepTrack = 1; Console.Write("check light on lava" + "\n"); return damage; } if (defendingMonster.getType() == "ice") { float fireTypeBonus = (float)1.8; damage = typeBonus(fireTypeBonus, damage); keepTrack = 1; Console.Write("check light on ice" + "\n"); return damage; } if (defendingMonster.getType() == "water") { float fireTypeBonus = (float)2; damage = typeBonus(fireTypeBonus, damage); keepTrack = 1; Console.Write("check light on water" + "\n"); return damage; } if (defendingMonster.getType() == "plant") { Console.Write("check light on plant " + "\n"); float fireTypeBonus = (float)1; damage = typeBonus(fireTypeBonus, damage); keepTrack = 1; return damage; } } if (attackMove.getType() == "water") { if (defendingMonster.getType() == "rock") { float fireTypeBonus = (float)2; damage = typeBonus(fireTypeBonus, damage); keepTrack = 1; Console.Write("check water on rock" + "\n"); return damage; } if (defendingMonster.getType() == "lava") { Console.Write("check plant on fire " + "\n"); float fireTypeBonus = (float)1.8; damage = typeBonus(fireTypeBonus, damage); keepTrack = 1; Console.Write("check water on lava" + "\n"); return damage; } if (defendingMonster.getType() == "ice") { float fireTypeBonus = (float)1; damage = typeBonus(fireTypeBonus, damage); keepTrack = 1; Console.Write("check rock on ice" + "\n"); return damage; } if (defendingMonster.getType() == "water") { float fireTypeBonus = (float)1; damage = typeBonus(fireTypeBonus, damage); keepTrack = 1; Console.Write("check water on water" + "\n"); return damage; } if (defendingMonster.getType() == "plant") { Console.Write("check water on plant " + "\n"); float fireTypeBonus = (float).5; damage = typeBonus(fireTypeBonus, damage); keepTrack = 1; return damage; } } if (keepTrack == 0) { Console.Write("something went wrong with a specail move mult" + "\n"); return damage; } else { Console.Write("something else went wrong with a specail move mult" + "\n"); return damage; } }
public void printHealth(Monster attacker, Monster defender) { Console.Write(attacker.getName() + " health = " + attacker.gethealth() + "\n"); Console.Write(defender.getName() + " health = " + defender.gethealth() + "\n"); Console.Write("\n"); }
public float principalDefenseValue(Monster defenseMonster, Move attackMove) { float pDV = attackMove.getMaxDefense(); // Console.Write(" max d =" + pDV + "\n"); float dSpeed = attackMove.getDSpeed(); float dSize = attackMove.getDSize(); float dstrength = attackMove.getDStrength(); // Console.Write("dmove size after " + dSize + "\n"); // Console.Write("dmove speed after " + dSpeed + "\n"); // Console.Write("dmove strength after " + dstrength + "\n"); // Console.Write(" " + "\n"); dSpeed = dSpeed / 100; dSize = dSize / 100; dstrength = dstrength / 100; int defenderSpeed = defenseMonster.getSpeed(); int defenderSize = defenseMonster.getSize(); int defenderStrengh = defenseMonster.getstrength(); dSpeed = dSpeed * defenderSpeed; dSize = dSize * defenderSize; dstrength = dstrength * defenderStrengh; float total = dSpeed + dSize + dstrength; total = total / 100; float levelMod = defenseMonster.getlevel(); levelMod = levelMod / 100; total = total * levelMod; pDV = pDV * total; return pDV; }
public float principalAttackValueFire(Monster attackMonster, Move attackMove) { float pAV = attackMove.getMaxDamage(); float moveSize = attackMove.getSize(); float moveSpeed = attackMove.getSpeed(); float moveStrength = attackMove.getStrength(); moveSize = moveSize / 100; moveSpeed = moveSpeed / 100; moveStrength = moveStrength / 100; int creatureSpeed = attackMonster.getSpeed(); int creatureStrength = attackMonster.getstrength(); int creatureSize = attackMonster.getSize(); moveSize = moveSize * creatureSize; moveSpeed = moveSpeed * creatureSpeed; moveStrength = moveStrength * creatureStrength; float total = moveSize + moveSpeed + moveStrength; float effectivnessDecimal = total / 100; // Console.Write("move max damage @ 100% effecency " + pAV + "\n"); pAV = pAV * effectivnessDecimal; //Console.Write("max damage after applied (defense still to be calculated) " + pAV + "\n"); float levelMod = attackMonster.getlevel(); levelMod = levelMod / 100; // Console.Write(" level mod attacker " + levelMod + "\n"); pAV = pAV * levelMod; // Console.Write("pAV w/ level consider " + pAV + "\n"); float fireMult = attackMove.getFire(); fireMult = fireMult / 100; // Console.Write("fire mult " + fireMult + "\n"); pAV = pAV * fireMult; Console.Write("pAV w/ fire " + pAV + "\n"); Console.Write("\n"); return pAV; }
public void fightTwo(Monster attackMonster, Monster defendingMonster) { Console.Write("\n"); Console.Write("Attacker: " + attackMonster.getName() + ", Level: " + attackMonster.getlevel() + " Health: " + attackMonster.gethealth() + ", Stamina: " + attackMonster.getstamina()+", Type: "+attackMonster.getType() + "\n"); Console.Write("Defender: " + defendingMonster.getName() + ", Level: " + defendingMonster.getlevel() + " Health: " + defendingMonster.gethealth() + ", Stamina: " + defendingMonster.getstamina()+ ", Type: "+defendingMonster.getType() + "\n"); Move toBecastMove = getMoveFromConsole(attackMonster.getmoveList()); castMove(attackMonster, toBecastMove, defendingMonster); if (defendingMonster.currentlyLiving() == true) { fightTwo(defendingMonster, attackMonster); Console.Write("other player's turn " + "\n"); } else { Console.Write("Monster has died" + "\n"); } }
public int getIndex(Monster currentMonster) { int index = monsterRoster.IndexOf(currentMonster); return index; }
public void removeMonster(Monster unwantedMonster) { monsterRoster.Remove(unwantedMonster); }
public Move getMoveFromConsole(List<Move> moveList,Monster attackMonster) { for (int b = 0; b < moveList.Count; b++) { Move moveChoice = new Move(); moveChoice = moveList.ElementAt(b); float pAv= principalAttackValue(attackMonster, moveChoice); pAv = pAv / attackMonster.getLevel(); int a = b; a += 1; Console.Write("Name: " + moveList.ElementAt(b).getName() + ", Choice: " + a + ", Type: " + moveList.ElementAt(b).getType() +", Perfect Hit: "+pAv + "\n"); } string tempMove = Console.ReadLine(); int tempMoveInt = Convert.ToInt32(tempMove); tempMoveInt = tempMoveInt - 1; Console.Write("Move chosen is: " + moveList.ElementAt(tempMoveInt).getName() + "\n"); Console.Write("\n"); return moveList.ElementAt(tempMoveInt); }