티스토리 뷰

C#/수업 과제

class 연습2 (2중 for문 멈추기 이슈)

Game Client Lee Hwanguk 2023. 1. 5. 01:06

#드라군의 공격사거리에 들어온 히드라리스크와 전투한다

#히드라리스크는 점점 다가오고 드라군의 시야에 들어오면 전투시작

 

 

 

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

namespace SCV
{
    internal class App
    {
        public App()
        {
            Dragoon dragoon=new Dragoon();

            Console.WriteLine("드라곤이 생성되었습니다 [100/80].");
            Console.WriteLine();

            dragoon.hydralisk();
        }
    }
}

 

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

namespace SCV
{
    internal class Dragoon
    {
        public int shields=80;
        public int hp = 100;
        public int att =20;
        public int sight = 8;
        
        public float hydraliskRange = 0.092f;
        public float hydraliskHp = 100;

        public Dragoon() 
        {
            
        }
        
        public void hydralisk() //다가오고 있는 hydralisk가 시야 안에 들어오면 전투 시작
        {
            
            

            for (int i=0; i<10; i++)
            {
                hydraliskRange = hydraliskRange + 2.14f;

                if (sight > hydraliskRange)
                {
                    Console.WriteLine("적을 발견하지 못했습니다.");
                    Console.WriteLine("계속 정찰합니다.");
                    Console.WriteLine();
                    
                }

                else if (sight < hydraliskRange)
                {
                    Console.WriteLine("적 히드라리스크가 시야에 들어왔습니다. \n전투를 시작합니다");
                    Console.WriteLine();

                    for (int j=0; j<8; j++)
                    {

                        hydraliskHp = hydraliskHp - att;

                        if (hydraliskHp>0)
                        {
                            
                            Console.WriteLine("적 히드라리스크의 체력은 {0}/100 입니다.", hydraliskHp);
                            Console.WriteLine();
  
                        }

                        else if (hydraliskHp < 0)
                        {
                            Console.WriteLine("적 히드라리스크를 죽였습니다.");
                            Console.WriteLine();
                            break;

                        }




                    }
                    
                }
                
            }
        }

    }
}

#2중 for문에 break를 적용하는 것에 오류가 있다

for (int i=0; i<10; i++)
            {
                hydraliskRange = hydraliskRange + 2.14f;

                if (sight > hydraliskRange)
                {
                    Console.WriteLine("적을 발견하지 못했습니다.");
                    Console.WriteLine("계속 정찰합니다.");
                    Console.WriteLine();
                    
                }

                else if (sight < hydraliskRange)
                {
                    Console.WriteLine("적 히드라리스크가 시야에 들어왔습니다. \n전투를 시작합니다");
                    Console.WriteLine();

                    for (int j=0; j<8; j++)
                    {

                        hydraliskHp = hydraliskHp - att;

                        if (hydraliskHp>0)
                        {
                            
                            Console.WriteLine("적 히드라리스크의 체력은 {0}/100 입니다.", hydraliskHp);
                            Console.WriteLine();
  
                        }

                        else if (hydraliskHp < 0)
                        {
                            hydraliskHp = 0;
                            Console.WriteLine("적 히드라리스크를 죽였습니다.");
                            Console.WriteLine();
                            return;

                        }
                        



                    }
                    
                }
                
            }

#2중 for문 break자리에 return을 넣었더니 정상적으로 작동되었다. (retrun의 기능 다시 이해할 필요가있다...)

 

 

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

배열을 이용한 인벤토리 만들기  (0) 2023.01.10
인벤토리 만들기  (0) 2023.01.09
class연습 SCV  (0) 2023.01.04
메서드 연습4  (1) 2023.01.04
메서드 과제3  (0) 2023.01.04
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함