C#/수업과제

연산자 연습

minquu 2021. 3. 9. 23:55
반응형

목표

 

연산자의 대한 이해가 아직 부족하여 조금 더 스스로 만들어보았습니다.

->

연산자와 선택문, 반복문, 구분하여 연습을 하였습니다.

 

 

-- 단순 산술  연산(복합 할당 활용)식

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

namespace study01
{
    class Program
    {
        static void Main(string[] args)
        {

            string unitName = "홍길동";
            string monsterName = "고블린";
            int unitMaxHp = 10;
            int unitHp = unitMaxHp;
            int monsterdamage = 5;
            int monsterLevel = 1;

            Console.WriteLine("{0}이 {1}을 공격({2}) 했습니다.", monsterName, unitName, monsterdamage);
            unitHp -= monsterdamage;
            float per = (float)unitHp / unitMaxHp * 100f;
            Console.WriteLine("{0} hp : {1} / {2} ({3}%)", unitName, unitHp, unitMaxHp,per);
            Console.WriteLine("{0}이 {1}을 공격({2}) 했습니다.", monsterName, unitName, monsterdamage);
            unitHp -= monsterdamage;
            float per2 = (float)unitHp / unitMaxHp * 100f;
            Console.WriteLine("{0} hp : {1} / {2} ({3}%)", unitName, unitHp, unitMaxHp, per2);

            if (unitHp <= 0)
            {

                Console.WriteLine("{0}님이 사망하였습니다.", unitName);

            }




        }
    }
}

 

 

-- 증가/증감연산자를 추가하여 레벨업 구현

 

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

namespace study01
{
    class Program
    {
        static void Main(string[] args)
        {

            string unitName = "홍길동";
            string monsterName = "고블린";
            int unitMaxHp = 10;
            int unitHp = unitMaxHp;
            int monsterdamage = 5;
            int monsterLevel = 1;

            Console.WriteLine("{0}이 {1}을 공격({2}) 했습니다.", monsterName, unitName, monsterdamage);
            unitHp -= monsterdamage;
            float per = (float)unitHp / unitMaxHp * 100f;
            Console.WriteLine("{0} hp : {1} / {2} ({3}%)", unitName, unitHp, unitMaxHp,per);
            Console.WriteLine("{0}이 {1}을 공격({2}) 했습니다.", monsterName, unitName, monsterdamage);
            unitHp -= monsterdamage;
            float per2 = (float)unitHp / unitMaxHp * 100f;
            Console.WriteLine("{0} hp : {1} / {2} ({3}%)", unitName, unitHp, unitMaxHp, per2);

            if (unitHp <= 0)
            {

                Console.WriteLine("{0}님이 사망하였습니다.", unitName);

            }


            Console.WriteLine("{0}님이 레벨업을 하였습니다.", monsterName,monsterLevel++);
            Console.WriteLine("{0}님의 레벨이 {1}가 되었습니다.", monsterName, monsterLevel);


        }
    }
}

 

 

-- 비교 연산자 (if 문까지 추가함)

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

namespace study01
{
    class Program
    {
        static void Main(string[] args)
        {

            //엑스칼리버는 20%의 강화 성공 확률을 가지고 있다.
            //강화 확률 : xx !
            //강화 성공!
            //흐미! 강화 실패닷~
            //현재 무기 상태


            string itemName = "엑스칼리버";
            int itemReinforce = 1;
            Random rand = new Random();
            int num = rand.Next(0, 101);

            Console.WriteLine("{0}는 20%의 강화 성공 확률을 가지고 있다.", itemName);
            Console.WriteLine("강화 확률 : {0} !", num);

            if (num >= 20)
            {

                Console.WriteLine("좋아! 강화 성공!",itemReinforce++);
                Console.WriteLine("현재 무기 상태 : {0} +{1}", itemName, itemReinforce);
                
            }
            else
            {

                Console.WriteLine("흐미! 강화 실패닷!");
                Console.WriteLine("현재 무기 상태 : {0} +{1}", itemName, itemReinforce);

            }

            
        }
    }
}

 

강화 성공 시

강화 실패 시

 

--부울 논리 연산자를 활용 (if문과 nested if-else 문 추가적으로 활용)

 

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

namespace study01
{
    class Program
    {
        static void Main(string[] args)
        {

            //바보 동산은 IQ가 50 이하만 들어올 수 있습니다.
            //친구 A (IQ 60)와 친구 B (IQ 40)가 들어가려한다.
            //직원 : 저희 동산은 똑똑한 친구와 함께 들어 올 수 없어요!
            //친구 A 가 자신의 머리를 때립니다!
            //친구 A 의 IQ가 10 떨어졌습니다!
            //직원 : 어서오세요! 바보동산에!

            int stupidWorldLimit = 50;
            int userAIQ = 60;
            int userBIQ = 40;
            int userAdamage = 10;
            Console.WriteLine("바보 동산은 IQ가 {0} 이하만 들어 올 수 있습니다.", stupidWorldLimit);
            Console.WriteLine("친구 A(IQ {0})와 친구 B(IQ {1})가 들어가려고 한다.", userAIQ, userBIQ);
            if (userAIQ <= 50 && userBIQ <= 50)
            {

                Console.WriteLine("직원 : 어서오세요! 바보 동산에!");

            }
            else
            {

                Console.WriteLine("직원 : 똑똑한 사람은 들어올 수 없어요!");
                Console.WriteLine("친구 A가 자신의 머리를 때립니다!");
                userAIQ -= userAdamage;
                Console.WriteLine("친구 A의 IQ가 {0} 떨어졌습니다.",userAdamage);

                if (userAIQ <= 50 && userBIQ <= 50)
                {

                    Console.WriteLine("직원 : 어서오세요! 바보 동산에!");

                }
                else

                {

                    Console.WriteLine("직원 : 똑똑한 사람은 들어올 수 없어요!");

                }

            }
            
        }
    }
}

 

 

 

반응형