<Item Guide 실행 이미지>

 

using System;
using System.Collections.Generic;


namespace ItemGuide
{
    public class App
    {
        // 생성자
        public App()
        {

        }
        public void Run()
        {
            List<Weapon> weapons = WeaponCreate();
            bool isOpen = false;
            int num=0;
            while (true)
            {
                Console.WriteLine("===============================");
                Console.WriteLine("[Item Guide]");

                foreach (WeaponType type in Enum.GetValues(typeof(WeaponType)))
                {
                    Console.WriteLine($"{(int)type + 1}) {type}");
                }

                Console.WriteLine("===============================");

                if (isOpen == false)
                {
                    Console.Write("정보를 확인 할 아이템의 번호 입력 >> ");
                    num = Convert.ToInt32(Console.ReadLine());
                    isOpen = true;
                    Console.Clear();
                    continue;
                }


                if (num - 1 >= 0 && num - 1 < weapons.Count)
                {
                    Weapon selectedWeapon = weapons[num - 1];

                    Console.WriteLine($"[{selectedWeapon.GetWeaponName()}]");
                    Console.WriteLine(selectedWeapon.GetWeaponType());
                    Console.WriteLine();
                    Console.WriteLine(selectedWeapon.GetDps());
                    Console.WriteLine("Damage Per Second");
                    Console.WriteLine();
                    Console.WriteLine($"{selectedWeapon.GetMinDamage()}" +
                        $"-" + 
                        $"{selectedWeapon.GetMaxDamage()} " + 
                        $"Damaged");
                    Console.WriteLine($"{selectedWeapon.GetAps()} Attacks per Seconds");

                }
                else
                {
                    Console.WriteLine("잘못된 번호입니다.");
                }
                Console.WriteLine("===============================");
                Console.Write("정보를 확인 할 아이템의 번호 입력 >> ");
                num = Convert.ToInt32(Console.ReadLine());
                Console.Clear();

            }
        }

        public List<Weapon> WeaponCreate()
        {
            List<Weapon> weapons = new List<Weapon>();

            weapons.Add(new Weapon("Hand Axe", WeaponType.Axe, 3.2f, 2, 3, 1.30f));
            weapons.Add(new Weapon("Simple Dagger", WeaponType.Dagger, 6.0f, 2, 6, 1.50f));
            weapons.Add(new Weapon("Club", WeaponType.Mace, 5.4f, 3, 6, 1.20f));
            weapons.Add(new Weapon("Javelin", WeaponType.Spear, 7.2f, 5, 7, 1.20f));
            weapons.Add(new Weapon("Sabre", WeaponType.Sword, 8.4f, 4, 8, 1.40f));
            weapons.Add(new Weapon("Pike", WeaponType.Polearm, 15.2f, 15, 17, 0.95f));
            weapons.Add(new Weapon("Battle Flail", WeaponType.Flail, 14.9f, 13, 13, 1.15f));
            weapons.Add(new Weapon("Sharp Scythe", WeaponType.Scythe, 15.4f, 14, 14, 1.10f));
            weapons.Add(new Weapon("Short Bow", WeaponType.Bow, 6.3f, 1, 8, 1.40f));
            weapons.Add(new Weapon("Light Crossbow", WeaponType.Crossbow, 9.4f, 8, 9, 1.10f));

            return weapons;
        }

       




    }
}

App.cs

 

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

namespace ItemGuide
{
    public enum WeaponType
    {
        Axe,
        Dagger,
        Mace,
        Spear,
        Sword,
        Polearm,
        Bow,
        Crossbow,
        Scythe,
        Flail
    }
    public class Weapon
    {
        public string name;
        private WeaponType type;
        public float dps; // Damage per Seconds
        public int minDamage;
        public int maxDamage;
        public float aps; // Attack per Seconds


        // 생성자
        //public Weapon() { }
        public Weapon(string name, WeaponType type, float dps, int minDamage, int maxDamage, float aps)
        {
            this.name = name;
            this.type = type;
            this.dps = dps;
            this.minDamage = minDamage;
            this.maxDamage = maxDamage;
            this.aps = aps;
        }

        
        public WeaponType GetWeaponType()
        {
            return this.type;
        }
        public string GetWeaponName()
        {
            return this.name;
        }
        public float GetDps()
        {
            return this.dps;
        }
        public int GetMinDamage()
        {
            return this.minDamage;
        }
        public int GetMaxDamage()
        {
            return this.maxDamage;
        }
        public float GetAps()
        {
            return this.aps;
        }

       
  
    }
}

Weapon.cs

1-1.&nbsp; Axe 이미지
1-2. Axe 출력 확인

 

2-1. Dagger 이미지
2-2. Dagger 출력 확인
3-1. Mace 이미지
3-2. Mace 출력 확인
4-1. Spear 이미지
4-2. Spear 출력 확인
5-1. Sword 이미지
5-2. Sword 출력 확인
6-1. Polearm 이미지
6-2. Polearm 출력 확인
7-1. Flail 이미지
7-2. Flail 출력 확인
8-1. Scythe 이미지
8-2. Scythe 출력 확인
9-1. Bow 이미지
9-2. Bow 출력 확인
10-1. CrossBow 이미지
10-2. CrossBow 출력 확인

 

'산대특 > 게임 알고리즘' 카테고리의 다른 글

디자인 패턴  (0) 2024.02.05
싱글톤 패턴  (0) 2024.02.05
스레드(Thread)와 코루틴(Coroutine)  (0) 2024.02.03
프로세스(Process)와 스레드(Thread)  (0) 2024.02.02
자료구조 - [Tree]  (0) 2024.02.01

+ Recent posts