Hightempler.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Study04
{
    public class Hightempler
    {
       public Hightempler()
            // 생성자
        {
            Console.WriteLine("하이템플러가 생성됩니다.");
        }
    }
}

Archons.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Study04
{
    public class Archons
    {
        public Archons()
            // 생성자
        {
            Console.WriteLine("아칸이 생성되었습니다.");
        }
    }
}

App.cs

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Study04
{
    class App
    {

        public App()
        {
            Console.WriteLine("2020-09-25\n");

            Hightempler hightempler1 = new Hightempler();
            Hightempler hightempler2 = new Hightempler();

            Archons archons = this.CreateArchons(hightempler1, hightempler2);
            Console.WriteLine(archons);
        }

        public Archons CreateArchons(Hightempler hightempler1, Hightempler hightempler2)
        {
            hightempler1 = null;
            hightempler2 = null;

            return new Archons();
        }
    }
}


 

Champion.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Study04
{
    public class Champion
    {
        public Champion()
            // 생성자
        {
            Console.WriteLine("1성급 챔피언이 생성되었습니다.\n");
        }
    }
}

UpgradedChampion.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Study04
{
    public class UpgradedChampion
    {
        public UpgradedChampion()
            // 생성자
        {
            Console.WriteLine("2성급 챔피언이 생성되었습니다.");
        }
    }
}

App.cs

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Study04
{
    class App
    {

        public App()
        {
            Console.WriteLine("2020-09-25\n");

            Champion champ1 = new Champion();
            Champion champ2 = new Champion();
            Champion champ3 = new Champion();

            UpgradedChampion upgradedChampion = this.Upgrade(champ1, champ2, champ3);
            Console.WriteLine(upgradedChampion);

        }

        public UpgradedChampion Upgrade(Champion champ1, Champion champ2, Champion champ3)
        {
            champ1 = null;
            champ2 = null;
            champ3 = null;

            return new UpgradedChampion();
        }
    }
}


BaseItem.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace HomeWork01
{
    public class BaseItem
    {
        public string baseItemName;
        public BaseItem(string baseItemName)
            // 생성자
        {
            this.baseItemName = baseItemName;
            Console.WriteLine("재료아이템<{0}>을 획득했습니다.",baseItemName);
        }
    }
}

Product.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace HomeWork01
{
    public class Product
    {
        public string productName;
        public Product(string productName)
            // 생성자
        {
            this.productName = productName;
            Console.WriteLine("<{0}>아이템이 완성되었습니다.", productName);
        }
    }
}

App.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace HomeWork01
{
    public class App
    {
        public App()
        {
            BaseItem baseItem1 = new BaseItem("철괴");
            BaseItem baseItem2 = new BaseItem("칼손잡이");
            BaseItem baseItem3 = new BaseItem("칼집");
            Console.WriteLine("==========================================");

            Product product = this.MakeProduct(baseItem1, baseItem2, baseItem3);
            Console.WriteLine(product.productName);
        }

        public Product MakeProduct(BaseItem baseItem1, BaseItem baseItem2, BaseItem baseItem3) 
        {
            Console.WriteLine("보유하고 있는 <{0}>, <{1}>, <{2}>을 사용합니다.", baseItem1.baseItemName, baseItem2.baseItemName, baseItem3.baseItemName);
            baseItem1 = null;
            baseItem2 = null;
            baseItem3 = null;

            return new Product("철검");
        }
    } 
}

 

Weapon.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace HomeWork01
{
    public class Weapon
    {
        public string weaponName;

        public Weapon(string weaponName)
            // 생성자
        {
            this.weaponName = weaponName;
            Console.WriteLine("<{0}> 아이템을 보유하고 있습니다.", weaponName);
        }
    }
}

App.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace HomeWork01
{
    public class App
    {

        public App()
        {
            Weapon weapon = new Weapon("바스타드 소드");
            Enhance(weapon);
        }

        public void Enhance(Weapon weapon)
        {
            bool isEnhanced = false;

            Random random = new Random();

            var enhancedPercent = random.Next(0, 101);

            int enhancedCount = 1;

            Console.WriteLine("{0} 의 강화를 시작합니다.\n", weapon.weaponName);
            Console.WriteLine("해당아이템은 최대 5회 강화가 가능합니다.\n");
            Console.Write("연속으로 실행할 강화횟수를 입력해주세요. (1~5) : ");
            string enhancedNum1 = Console.ReadLine();
            int enhancedNum2 = Convert.ToInt32(enhancedNum1);
            Console.WriteLine("강화는 85%의 확률로 성공합니다.\n");

            for(int i = 1; i <= enhancedNum2; i++)
            {
                if (enhancedPercent <= 85)
                {
                    isEnhanced = true;
                    Console.WriteLine("{0} 강화성공! +{1}{0}", weapon.weaponName, enhancedCount + i);
                    Console.WriteLine("===========================================\n");
                }
            }
        }
    }
}

 

Monster.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace HomeWork01
{
    public class Monster
    {
        public string monsterName;
        public int monsterHp;
        public Monster()
        {

        }
    }
}

Player.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace HomeWork01
{
    public class Player
    {
        public string playerName;
        public int playerHp;
        public int playerPower;
        public Player()
        {

        }
    }
}

App.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace HomeWork01
{
    public class App
    {

        public App()
        {
            Player player = new Player();
            player.playerName = "홍길동";
            player.playerHp = 100;
            player.playerPower = 40;
            Console.WriteLine("<{0}>님이 접속했습니다.", player.playerName);
            Console.WriteLine("============================================");
            Console.WriteLine("플레이어의 정보를 확인합니다.");
            CheckPlayer(player);
            Console.WriteLine("============================================");

            Monster monster = new Monster();
            monster.monsterName = "골렘";
            monster.monsterHp = 160;
            Console.WriteLine("몬스터가 출현했습니다.");
            Console.WriteLine("============================================");
            Console.WriteLine("{0}이 몬스터의 정보를 확인합니다.", player.playerName);
            CheckMonster(monster);
            Console.WriteLine("============================================\n");
        }

        public void CheckMonster(Monster monster)
        {
            Console.WriteLine("<몬스터 정보>");
            Console.WriteLine("이름 : {0}", monster.monsterName);
            Console.WriteLine("체력 : ({0}/{0})", monster.monsterHp);
        }
        public void CheckPlayer(Player player)
        {
            Console.WriteLine("<플레이어 정보>");
            Console.WriteLine("이름 : {0}", player.playerName);
            Console.WriteLine("체력 : ({0}/{0})", player.playerHp);
            Console.WriteLine("공격력 : {0}", player.playerPower);
        }

    }
}

 

Player.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace HomeWork01
{
    public class Player
    {
        public string characterName;
        public int playerBasicHp;
        public int playerBasicMp;
        public int playerBasicPower;
        public Player() 
        {
            
        }
    }
}

App.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace HomeWork01
{
    public class App
    {
        public string characterName;

        public App()
        {
            Player player = new Player();
            player.characterName = "홍길동";
            player.playerBasicHp = 100;
            player.playerBasicMp = 50;
            player.playerBasicPower = 10;

            Console.WriteLine("캐릭터가 생성됩니다.");

            Console.WriteLine("캐릭터정보를 확인합니다.");
            Console.WriteLine("============================================");
            CheckCharacter(player);
        }

        

        public void CheckCharacter(Player player)
        { 
            Console.WriteLine("<캐릭터 정보>");
            Console.WriteLine("캐릭터명 : {0}", player.characterName);
            Console.WriteLine("체력 : {0}/{0}", player.playerBasicHp);
            Console.WriteLine("마나 : {0}/{0}", player.playerBasicMp);
            Console.WriteLine("공격력 : {0}", player.playerBasicPower);

        }
    }
}

 

BaseItem.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace HomeWork01
{
    public class BaseItem
    {
        public string itemName;
        public BaseItem(string itemName)
        {
            this.itemName = itemName;   
        }
    }
}

Product.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace HomeWork01
{
    public class Product
    {
        public string productName;
        public Product(string productName)
        {
            this.productName = productName;

            if (productName == "얼어붙은 심장")
            {
                Console.WriteLine("{0} 아이템이 생성됩니다.", productName);
            }
            else if (productName == "쇼진의 창")
            {
                Console.WriteLine("{0} 아이템이 생성됩니다.", productName);
            }
            else if (productName == "수호천사")
            {
                Console.WriteLine("{0} 아이템이 생성됩니다.", productName);
            }
            else if(productName == "조합불가")
            {
                Console.WriteLine("아이템 조합이 불가능 합니다.");
            }
        }
    }
}

App.cs

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;

namespace HomeWork01
{
    public class App
    {

        public App()
        {
            Console.WriteLine("보유 아이템 리스트");
            Console.WriteLine("==========================================");
            BaseItem item1 = new BaseItem("여신의 눈물");

            BaseItem item2 = new BaseItem("쇠사슬 조끼");

            BaseItem item3 = new BaseItem("B.F. 소드");


            Console.WriteLine("아이템 1 : {0}", item1.itemName);
            Console.WriteLine("아이템 2 : {0}", item2.itemName);
            Console.WriteLine("아이템 3 : {0}", item3.itemName);
            Console.WriteLine("==========================================");

            
            Product product = this.CreateItem(item1, item2, item3);

            
        }

        public Product CreateItem(BaseItem item1, BaseItem item2, BaseItem item3)
        {
            Console.Write("조합할 아이템의 번호를 선택해주세요. (1 ~ 3): ");

            string inputItemName1 = Console.ReadLine();
            int inputItemNum1 = Convert.ToInt32(inputItemName1);

            Console.Write("조합할 아이템의 번호를 선택해주세요. (1 ~ 3): ");

            string inputItemName2 = Console.ReadLine();
            int inputItemNum2 = Convert.ToInt32(inputItemName2);

            if (inputItemNum1 == 1 && inputItemNum2 == 2)
            {
                Console.WriteLine("==========================================");
                Console.WriteLine("{0} 아이템과 {1} 아이템을 조합합니다.", item1.itemName, item2.itemName);
                Console.WriteLine("==========================================");
                item1 = null;
                item2 = null;

                return new Product("얼어붙은 심장");
            }
            else if (inputItemNum1 == 1 && inputItemNum2 == 3)
            {
                Console.WriteLine("==========================================");
                Console.WriteLine("{0} 아이템과 {1} 아이템을 조합합니다.", item1.itemName, item3.itemName);
                Console.WriteLine("==========================================");
                item1 = null;
                item3 = null;

                return new Product("쇼진의 창");
            }
            else if (inputItemNum1 == 2 && inputItemNum2 == 3)
            {
                Console.WriteLine("==========================================");
                Console.WriteLine("{0} 아이템과 {1} 아이템을 조합합니다.", item2.itemName, item3.itemName);
                Console.WriteLine("==========================================");
                item2 = null;
                item3 = null;

                return new Product("수호천사");
            }
            else
            {
                Console.WriteLine("==========================================");
                return new Product("조합불가");
            }       
        }
    }
}

 

결과화면

'C# > 과제' 카테고리의 다른 글

2020.09.29 과제  (0) 2020.10.03
2020.09.28 과제  (0) 2020.09.28
2020.09.24 과제  (0) 2020.09.24
2020.09.23 과제  (0) 2020.09.23
2020.09.22 과제  (0) 2020.09.22

+ Recent posts