private void AttackPlayer() { bool attacking = true; //Scan For the Player if (gwinfo.IsPlayerWithinAttackRange(col, row)) { GameState.SuspendEnemies(GameState.currentRoom, this); GameState.setBattleOn(this); GameState.enemyobj = this; // Register Attacker //Launch indicator GameBattleIndicator gind = new GameBattleIndicator(); gind.thisEnemy = this; gind.thisPlayer = gwinfo.The_Player; gind.WakeUp(); GameState.gmind = gind; //************************************ PlayUIRightPanel.UpdateEnemyTitle(InstanceName + " Health Level"); PlayUIRightPanel.UpdateEnemyHealthLevel(HealthLevel); //************************************ while (attacking && !_pause) { Utility.Wait(300); if (gwinfo.The_Player.HealthLevel <= 0) { //Play health is Zero. attacking = false; GameState.setBatteOff(); Sleep(); } GameDataFactory.curr_gwinfo.The_Player.getHit(HitPower); //Attack //######################### PlayUILeftPanel.UpdateArmourPowerLevel( ((IShield)GameState.GetFirstArmourInInventory()).shieldPower); PlayUIRightPanel.UpdateHealthLevel(gwinfo.The_Player.HealthLevel); PlayUITopItem.UpdateHealthLevel(gwinfo.The_Player.GetHealthLevel()); //######################### } } //Scan For the Player }
public static void Init() { gwinfo = GameDataFactory.CreateInitialWorldData(); GameState.currentGameMode = GameState.GAME_MODE.WORLD; PlayUIWorldMap.Init(gwinfo.WorldMapInfo.MapInfo); PlayUITopItem.Init(); PlayUIBottomItem.Init(); PlayUILeftPanel.Init(); PlayUIRightPanel.Init(); //**************************************************************************** ScreenManager.printInitScreen(); //************************************************************************************ ScreenManager.ClearScreen(); PlayUITopItem.Update(); PlayUIWorldMap.Update(); PlayUIBottomItem.Update(); }
public static void printScreenGoldAndSilver() { GameRoom gm; Player player; GameWorldInfo gwinfo; //Item item; gm = GameDataFactory.curr_gwinfo.GetGameRoombyNumber(GameState.currentRoom); gwinfo = GameDataFactory.curr_gwinfo; player = GameDataFactory.curr_gwinfo.The_Player; PlayUILeftPanel.UpdateSilverItem(GameState.CountSilverInInventory()); PlayUILeftPanel.UpdateGoldItem(GameState.CountGoldInInventory()); PlayUITopItem.UpdateSilverLevel(GameState.CountSilverInInventory()); PlayUITopItem.UpdateGoldLevel(GameState.CountGoldInInventory()); PlayUILeftPanel.UpdateHealthPotiontem(GameState.CountHealthPotionInInventory()); PlayUITopItem.UpdateScore(GameState.score); PlayUILeftPanel.UpdateTotalItem(GameState.TotalItemInInventory()); PlayUITopItem.UpdateHealthPotion(GameState.CountHealthPotionInInventory()); PlayUIRightPanel.UpdateHealthLevel(player.GetHealthLevel()); PlayUITopItem.UpdateHealthLevel(player.GetHealthLevel()); }
public static void upDatePassageLocation() { PlayUITopItem.UpdateRoomasPassageWay(); }
public static void upDateRoomLocation() { PlayUITopItem.UpdateRoom(GameState.currentRoom); PlayUIBottomItem.updateMessageBox( ConfigManager.GetStringResource(13) + GameState.currentRoom); }
public static void printInitScreen() { GameRoom gm; Player player; GameWorldInfo gwinfo; Item item; gm = GameDataFactory.curr_gwinfo.GetGameRoombyNumber(GameState.currentRoom); gwinfo = GameDataFactory.curr_gwinfo; player = GameDataFactory.curr_gwinfo.The_Player; //**************************************************************************** PlayUIBottomItem.UpdateInstruction( PlayUIBottomItem.QUIT_INSTRUNCTION //PlayUIBottomItem.UP_INSTRUNCTION ^ //PlayUIBottomItem.DOWN_INSTRUNCTION ^ //PlayUIBottomItem.RIGHT_INSTRUNCTION ^ //PlayUIBottomItem.LEFT_INSTRUNCTION ); PlayUIBottomItem.UpdateMenuOption( // PlayUIBottomItem.QUIT_INSTRUNCTION ^ PlayUIBottomItem.UP_INSTRUNCTION ^ PlayUIBottomItem.DOWN_INSTRUNCTION ^ PlayUIBottomItem.RIGHT_INSTRUNCTION ^ PlayUIBottomItem.LEFT_INSTRUNCTION ); PlayUIBottomItem.updateMessageBox( ConfigManager.GetStringResource(2) + "\n" + ConfigManager.GetStringResource(3)); PlayUITopItem.UpdateGameLevel(GameState.gameLevel); PlayUITopItem.UpdateExperienceLevel(GameState.experience); PlayUITopItem.UpdateNoOfRoom(gwinfo.NumberOfRooms); PlayUITopItem.UpdateHealthLevel(player.GetHealthLevel()); PlayUITopItem.UpdateSilverLevel(GameState.CountSilverInInventory()); PlayUITopItem.UpdateGoldLevel(GameState.CountGoldInInventory()); PlayUITopItem.UpdateHealthPotion(GameState.CountHealthPotionInInventory()); item = GameState.GetFirstArmourInInventory(); if (item != null) { PlayUITopItem.UpdateArmourType(item.descriptions); } else { PlayUITopItem.UpdateArmourType("No"); } item = GameState.GetFirstSwordInInventory(); if (item != null) { PlayUITopItem.UpdateWeaponType(item.descriptions); } else { PlayUITopItem.UpdateWeaponType("No"); } PlayUITopItem.UpdateScore(GameState.score); //************************************************************************************ }
public static bool HandleSword(Object item) { ConsoleKeyInfo keyInfo; bool toProcessing = true; bool toPickup = false; GameRoom gm; ScreenManager.WaitForBufferClear(); //Clear Buffer gm = GameDataFactory.curr_gwinfo.GetGameRoombyNumber(GameState.currentRoom); if (GameState.CountSwordInInventory() > 0) { //************************************ PlayUIBottomItem.updateMessageBox(ConfigManager.GetStringResource(21) + ((Item)item).descriptions + "\r\n" + ConfigManager.GetStringResource(26) + GameState.GetFirstSwordInInventory().descriptions + "?\r\n" + ConfigManager.GetStringResource(28) + ((IWeapon)item).capableHit + "%" + "\r\n" + ConfigManager.GetStringResource(23)); PlayUIBottomItem.UpdateInstruction( PlayUIBottomItem.YES_INSTRUNCTION | PlayUIBottomItem.NO_INSTRUNCTION); PlayUIBottomItem.UpdateMenuOption(PlayUIBottomItem.CLEAR); //*********************************** } else { //************************************ PlayUIBottomItem.updateMessageBox(ConfigManager.GetStringResource(21) + ((Item)item).descriptions + "\r\n" + ConfigManager.GetStringResource(28) + ((IWeapon)item).capableHit + "%" + "\r\n" + ConfigManager.GetStringResource(22) + "\r\n" + ConfigManager.GetStringResource(23)); PlayUIBottomItem.UpdateInstruction( PlayUIBottomItem.YES_INSTRUNCTION | PlayUIBottomItem.NO_INSTRUNCTION); PlayUIBottomItem.UpdateMenuOption(PlayUIBottomItem.CLEAR); //*********************************** } while (toProcessing) { keyInfo = Console.ReadKey(true); switch (Char.ToUpper(keyInfo.KeyChar)) { case 'N': toProcessing = false; //*************************** PlayUIBottomItem.UpdateInstruction(PlayUIBottomItem.QUIT_INSTRUNCTION); PlayUIBottomItem.UpdateMenuOption( PlayUIBottomItem.UP_INSTRUNCTION ^ PlayUIBottomItem.DOWN_INSTRUNCTION ^ PlayUIBottomItem.RIGHT_INSTRUNCTION ^ PlayUIBottomItem.LEFT_INSTRUNCTION ); //****************************** ((IAvailable)item).SetNotAvailable(ConfigManager.ItemNotAvailableTime); break; case 'Y': toProcessing = false; toPickup = true; gm.ItemsHashTable.Remove(((Item)item).InstanceKey); //Remove from room GameState.RemoveSwordFromInventory(); GameState.inventory.Add((Item)item); ((ITakable)item).Take(); //************************************* PlayUITopItem.UpdateWeaponType(((Item)item).descriptions); PlayUILeftPanel.UpdateSwordItem(GameState.CountSwordInInventory()); PlayUILeftPanel.UpdateWeaponTypeVal(((Item)item).descriptions); PlayUILeftPanel.UpdateWeaponrPowerLevel( Utility.getPercentageVal(((IWeapon)item).capableHit, 400)); PlayUIBottomItem.UpdateInstruction(PlayUIBottomItem.QUIT_INSTRUNCTION); PlayUIBottomItem.UpdateMenuOption( PlayUIBottomItem.UP_INSTRUNCTION ^ PlayUIBottomItem.DOWN_INSTRUNCTION ^ PlayUIBottomItem.RIGHT_INSTRUNCTION ^ PlayUIBottomItem.LEFT_INSTRUNCTION ); PlayUIRightPanel.PaintLegendOption(GameState.currentRoom); //*************************************** break; } } return(toPickup); }
public static bool HandleChest(Object item) { ConsoleKeyInfo keyInfo; bool toProcessing = true; bool toProcessing1 = true; bool toPickup = false; GameWorldInfo gwinfo; GameRoom gm; ScreenManager.WaitForBufferClear(); //Clear Buffer gm = GameDataFactory.curr_gwinfo.GetGameRoombyNumber(GameState.currentRoom); gwinfo = GameDataFactory.curr_gwinfo; if (GameState.CounKeyInInventory() <= 0) { //********************************************************* PlayUIBottomItem.updateMessageBox(ConfigManager.GetStringResource(21) + ((Item)item).descriptions + "\r\n" + ConfigManager.GetStringResource(32)); PlayUIBottomItem.UpdateInstruction(PlayUIBottomItem.CONTINUE_INSTRUNCTION); PlayUIBottomItem.UpdateMenuOption(PlayUIBottomItem.CLEAR); //******************************************************** while (toProcessing) { keyInfo = Console.ReadKey(true); switch (Char.ToUpper(keyInfo.KeyChar)) { case 'C': toProcessing = false; PlayUIBottomItem.UpdateInstruction(PlayUIBottomItem.QUIT_INSTRUNCTION); PlayUIBottomItem.UpdateMenuOption( PlayUIBottomItem.UP_INSTRUNCTION ^ PlayUIBottomItem.DOWN_INSTRUNCTION ^ PlayUIBottomItem.RIGHT_INSTRUNCTION ^ PlayUIBottomItem.LEFT_INSTRUNCTION ); ((IAvailable)item).SetNotAvailable(ConfigManager.ItemNotAvailableTime); return(toPickup); } } } else { PlayUIBottomItem.updateMessageBox(ConfigManager.GetStringResource(21) + ((Item)item).descriptions + "\r\n" + ConfigManager.GetStringResource(35)); PlayUIBottomItem.UpdateInstruction( PlayUIBottomItem.YES_INSTRUNCTION | PlayUIBottomItem.NO_INSTRUNCTION); PlayUIBottomItem.UpdateMenuOption(PlayUIBottomItem.CLEAR); } while (toProcessing) { keyInfo = Console.ReadKey(true); switch (Char.ToUpper(keyInfo.KeyChar)) { case 'N': toProcessing = false; //*************************** PlayUIBottomItem.UpdateInstruction(PlayUIBottomItem.QUIT_INSTRUNCTION); PlayUIBottomItem.UpdateMenuOption( PlayUIBottomItem.UP_INSTRUNCTION ^ PlayUIBottomItem.DOWN_INSTRUNCTION ^ PlayUIBottomItem.RIGHT_INSTRUNCTION ^ PlayUIBottomItem.LEFT_INSTRUNCTION ); //****************************** ((IAvailable)item).SetNotAvailable(ConfigManager.ItemNotAvailableTime); break; case 'Y': toProcessing = false; toPickup = true; gm.ItemsHashTable.Remove(((Item)item).InstanceKey); //Remove from room ((ITakable)item).Take(); //Pocess item inside treasure chest foreach (Item itemobj in ((Chest)item).Goldlist.itemList) { gwinfo.GetGameRoombyNumber(GameState.currentRoom).TotalGoldItem--; gwinfo.GetGameRoombyNumber(GameState.currentRoom).TotalItem--; GameState.inventory.Add(itemobj); } GameState.UpdateScore(); foreach (Item itemobj in ((Chest)item).Silverlist.itemList) { gwinfo.GetGameRoombyNumber(GameState.currentRoom).TotalSilverItem--; gwinfo.GetGameRoombyNumber(GameState.currentRoom).TotalItem--; GameState.inventory.Add(itemobj); } GameState.UpdateScore(); foreach (Item itemobj in ((Chest)item).HealthPotionlist.itemList) { gwinfo.GetGameRoombyNumber(GameState.currentRoom).TotalHealthPotionItem--; gwinfo.GetGameRoombyNumber(GameState.currentRoom).TotalItem--; gwinfo.UpdatePlyerHealth(((HealthPotion)itemobj).lifeLine); GameState.inventory.Add(itemobj); } //Remove 1 Key GameState.RemoveKeyFromInventory(); //************************************************************ PlayUIBottomItem.updateMessageBox( ConfigManager.GetStringResource(37) + ((Item)item).descriptions + "\r\n" + ConfigManager.GetStringResource(29) + ((Chest)item).Goldlist.GetCount() + "\n" + ConfigManager.GetStringResource(30) + ((Chest)item).Silverlist.GetCount() + "\n" + ConfigManager.GetStringResource(31) + ((Chest)item).HealthPotionlist.GetCount()); PlayUIBottomItem.UpdateInstruction(PlayUIBottomItem.CONTINUE_INSTRUNCTION); PlayUIBottomItem.UpdateMenuOption(PlayUIBottomItem.CLEAR); PlayUILeftPanel.UpdateSilverItem(GameState.CountSilverInInventory()); PlayUILeftPanel.UpdateGoldItem(GameState.CountGoldInInventory()); PlayUILeftPanel.UpdateHealthPotiontem(GameState.CountHealthPotionInInventory()); PlayUILeftPanel.UpdateKeyItem(GameState.CounKeyInInventory()); PlayUILeftPanel.UpdateTotalItem(GameState.TotalItemInInventory()); PlayUITopItem.UpdateHealthPotion(GameState.CountHealthPotionInInventory()); PlayUITopItem.UpdateHealthLevel(gwinfo.The_Player.GetHealthLevel()); PlayUITopItem.UpdateSilverLevel(GameState.CountSilverInInventory()); PlayUITopItem.UpdateGoldLevel(GameState.CountGoldInInventory()); PlayUIRightPanel.UpdateHealthLevel(gwinfo.The_Player.GetHealthLevel()); PlayUIRightPanel.PaintLegendOption(GameState.currentRoom); //************************************************************* while (toProcessing1) { keyInfo = Console.ReadKey(true); switch (Char.ToUpper(keyInfo.KeyChar)) { case 'C': toProcessing1 = false; break; } } //********************************************************* PlayUIBottomItem.UpdateInstruction(PlayUIBottomItem.QUIT_INSTRUNCTION); PlayUIBottomItem.UpdateMenuOption( PlayUIBottomItem.UP_INSTRUNCTION ^ PlayUIBottomItem.DOWN_INSTRUNCTION ^ PlayUIBottomItem.RIGHT_INSTRUNCTION ^ PlayUIBottomItem.LEFT_INSTRUNCTION ); //**************************************************************** break; } } return(toPickup); }
// Main Attack Function. private static void HandleBattle(int col, int row, int room) { ConsoleKeyInfo keyInfo; bool toProcessing = true; Item weapon = null; //while (!Console.KeyAvailable && GameState.isBattleOn() && toProcessing) while (GameState.isBattleOn() && toProcessing) { if (Console.KeyAvailable) { keyInfo = Console.ReadKey(true); switch (Char.ToUpper(keyInfo.KeyChar)) { case 'A': if (GameState.GetFirstSwordInInventory() == null) { PlayUIBottomItem.updateMessageBox(ConfigManager.GetStringResource(51) + "\r\n" + ConfigManager.GetStringResource(52)); toProcessing = false; break; } weapon = GameState.GetFirstSwordInInventory(); if (weapon is IronSword || weapon is WoodenSword) { ((ILivingOrganism)GameState.enemyobj).getHit(((IWeapon)weapon).hitPower); //Reduce SWord Power. ((IWeapon)weapon).doHit(); PlayUIRightPanel.UpdateEnemyHealthLevel(((ILivingOrganism)GameState.enemyobj).HealthLevel); if (((ILivingOrganism)GameState.enemyobj).HealthLevel == 0) { //Enmey Health gone. //Stop the Enemy ((ILivingOrganism)GameState.enemyobj).Sleep(); ((GameRoom)gwinfo.GetGameRoombyNumber(GameState.currentRoom)).ItemsHashTable.Remove(GameState.enemyobj.InstanceKey); if (GameState.enemyobj is Monster) { ((GameRoom)gwinfo.GetGameRoombyNumber(GameState.currentRoom)).MonsterList.Remove((Monster)GameState.enemyobj); gwinfo.NumberOfMonster--; } else if (GameState.enemyobj is Globin) { ((GameRoom)gwinfo.GetGameRoombyNumber(GameState.currentRoom)).GlobinList.Remove((Globin)GameState.enemyobj); gwinfo.NumberOfGlobin--; } if (GameState.enemyobj is ITakable) { ((ITakable)GameState.enemyobj).Take(); } GameState.setBatteOff(); GameState.LastWin = true; GameState.ReleaseEnemies(GameState.currentRoom); //******************************************** PlayUIRightPanel.UpdateEnemyTitle(""); PlayUIRightPanel.UpdateEnemyHealthLevel(0); PlayUILeftPanel.UpdateTotalEnemyItem( ((GameRoom)gwinfo.GetGameRoombyNumber(GameState.currentRoom)).GlobinList.Count + ((GameRoom)gwinfo.GetGameRoombyNumber(GameState.currentRoom)).MonsterList.Count); PlayUILeftPanel.UpdateTotalGlobinWItem(gwinfo.NumberOfGlobin); PlayUILeftPanel.UpdateTotalMonsterItem(gwinfo.NumberOfMonster); PlayUITopItem.UpdateHealthLevel(gwinfo.The_Player.GetHealthLevel()); PlayUIRightPanel.PaintLegendOption(GameState.currentRoom); //********************************************* } if (((IWeapon)weapon).capableHit > 0) { PlayUILeftPanel.UpdateWeaponTypeVal(weapon.descriptions); PlayUILeftPanel.UpdateWeaponrPowerLevel( Utility.getPercentageVal(((IWeapon)weapon).capableHit, 400)); PlayUILeftPanel.UpdateSwordItem(GameState.CountSwordInInventory()); } else { GameState.RemoveSwordFromInventory(); PlayUILeftPanel.UpdateWeaponTypeVal("Not Found"); PlayUILeftPanel.UpdateWeaponrPowerLevel(0); PlayUILeftPanel.UpdateSwordItem(GameState.CountSwordInInventory()); PlayUITopItem.UpdateWeaponType("No"); } } toProcessing = false; break; /* * case 'Q': * //DEBUG * ScreenManager.WriteDebugLine("Quit Attack @@@@@@@@@@@@@@@@@@@@@@@@@@@@"); * toProcessing = false; * GameState.setBatteOff(); * //DEBUG * break; */ } } } }