C#/문제 해결

메서드 복습

Game Client Lee Hwanguk 2023. 1. 6. 00:29

# 23/1/5 class를 배웠지만 메서드 이해가 안 된 상태에서는 이해하기 힘들다 복습이 반드시 필요하다

#지역변수와 맴버변수를 반환하여 저장하는 return 사용법을 알아야한다

#

 

#매개변수가 있고 맴버변수가 있는 타입

1.가격이 있는 아이템을 구매하는 메서드를 만들었다

2.나의 돈을 맴버변수지정해줬다

3.메서드 호출시 어떤아이템을(itemName) 얼마에(iteamPrice)에 구입했는지 보여준다(메서드 안에서 console.WriteLine)

4.맴버변수에 있는 myMoney가 메서드 호출시 'myMoney=myMoney-itemPrice;' 로 값을 초기화했다. (값을 초기화헀음으로 맴버변수의 값도 변했다.)

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

namespace Test01
{
    
    internal class App
    {

        //맴버변수
        int myMoney = 2000;

        public App()
        {
            Console.WriteLine("App");

            BuyItem("장검",200);
            BuyItem("단검",700);
            BuyItem("창",1000);
            BuyItem("도끼",1300);

            Console.WriteLine("나는 돈이 {0}원 남았습니다",myMoney);
            

        }

        void BuyItem(string itemName,int itemPrice)
        {
            Console.WriteLine("{0}을 구입했습니다. 가격은 {1}원 입니다",itemName,itemPrice);

            myMoney=myMoney - itemPrice;
            

            
        }


    }
}

#만약 myMoney가 0원 이하면 아이템 구매를 못하게 하고싶다.

#if문을 만들어 돈이 부족한 상황을 만들고 myMoney 값을 더이상 itemPrice만큼 닳지 않게 하고싶다

#if 문 안에서 myMoney값을 반환? -return에 오류가 뜬다

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

namespace Test01
{
    
    internal class App
    {

        //맴버변수

        int myMoney = 2000;


        public App()
        {
            Console.WriteLine("App");

            BuyItem("장검", 200);
            BuyItem("단검", 700);
            BuyItem("창", 1000);
            BuyItem("도끼", 1300);
            



        }

        void BuyItem(string itemName, int itemPrice)
        {
            myMoney = myMoney - itemPrice;

            if (myMoney >= 0)
            {
                Console.WriteLine("{0}을 구입했습니다. 가격은 {1}원 입니다", itemName, itemPrice);
                Console.WriteLine("나는 돈이 {0}원 남았습니다", myMoney);
                Console.WriteLine();

            }

            else if(myMoney <=0)
            {
                Console.WriteLine("돈이 부족하여 {0}을 구입할수 없습니다. ",itemName);
                Console.WriteLine();
            }
            


            



        }

    }
}

#해결했다

#myMoney = myMoney - itemPrice;  if문 밖으로 뺐다

#return은 아직 어떻게 쓰는지 모르겠다 return을 이용하여 해결해봐야겠다

 

 

#상점에 아이템을 넣고 아이템을 구입해보자

#아이템이 있다면 Hero에게 착용까지 시켜보자

=>https://cafe.naver.com/gameprogramming25