using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace practice003
{
class APP
{
public APP()
{
//영웅의 공격력은 몇입니까(1~5) ? -1
//범위를 벗어났습니다.
//영웅의 공격력은 몇입니까(1~5) ? 10
//범위를 벗어났습니다.
//영웅의 공격력은 몇입니까(1~5) ? 3
//영웅의 공격력은 3 입니다.
// 1. 영웅의 공격력을 설정하는 것이 반복됨
// 2. 범주 외의 값은 벗어났다고 다시 반복해야함
// 3. 범주 내의 값이 들어올 경우 값이 나오면서 빠져나감
// 변수 선언는 공격력
int damage;
while (true)
{
Console.Write("영웅의 공격력은 몇입니까(1~5)? ");
damage = heroattack;
// 1. 탈출방법 >> 1~5 이내의 숫자가 들어오면 브레이크
if (damage < 1 || damage > 5)
{
Console.WriteLine("범위를 벗어났습니다");
}
else
{
Console.WriteLine("영웅의 공격력은 {0} 입니다.", damage);
break;
}
}
//몬스터의 체력은 몇입니까(10~20) ? 9
//범위를 벗어났습니다.
//몬스터의 체력은 몇입니까(10~20) ? 21
//범위를 벗어났습니다.
//몬스터의 체력은 몇입니까(10~20) ? 10
//몬스터의 체력은 10 입니다.
//1. 반복되는것은 몬스터의 체력을 입력하는게 반복됨
//2. 몬스터의 체력 범주 내라면 break; 범주 외라면 범위 외
//3. 변수 선언은 몬스터의 체력
int monsterHP;
string monsterMAXHP;
while (true)
{
Console.Write("몬스터의 체력은 몇입니까(10~20)?");
monsterMAXHP = Console.ReadLine();
if (monsterHP < 10 || monsterHP > 20)
{
Console.WriteLine("범위를 벗어났습니다.");
}
else
{
Console.WriteLine("몬스터의 체력은 {0} 입니다.", monsterHP);
break;
}
}
//// 변수를 밖으로 빼는걸 아직 잘 파악 못하는거 같음
//몬스터를 공격 하시려면 '공격'을 입력하세요. 공걱
//잘못된 명령어 입니다.
//몬스터를 공격 하시려면 '공격'을 입력하세요. 공격
//몬스터를 공격(-3) 했습니다. (7 / 10)
//몬스터를 공격 하시려면 '공격'을 입력하세요. 공격
//몬스터를 공격(-3) 했습니다. (4 / 10)
//몬스터를 공격 하시려면 '공격'을 입력하세요. 공격
//몬스터를 공격(-3) 했습니다. (1 / 10)
//몬스터를 공격 하시려면 '공격'을 입력하세요. 공격
//몬스터를 공격(-3) 했습니다. (0 / 10)
//몬스터가 쓰러졌습니다.
//1. 반복하는건 '공격'이란 커맨드가 입력될때까지 반복됨
//2. 명확한 값이 아니라면 잘못된 명령어를 표출
//3. '공격'이라고 적히면 계속 반복
//4. 체력 0 같거나 이하일 경우 음수가 아니라 0 이 표기되며 쓰러졌다고 빠져나옴
//5. 빠져나오는건 몬스터가 쓰러지는 조건
while (true)
{
Console.Write("몬스터를 공격하시려면 '공격'을 입력하세요. " );
var input = Console.ReadLine();
if (input == "공격")
{
monsterHP = monsterHP - damage;
//탈출조건 . 몬스터 체력이 0 이거나 음수일 경우 나감
if (monsterHP <= 0)
{
monsterHP = 0;
}
Console.WriteLine("몬스터를 공격 (-{0}) 했습니다. ({1} / {2})", damage, monsterHP, monsterMAXHP);
if (monsterHP <= 0)
{
Console.WriteLine("몬스터가 쓰러졌습니다.");
break;
} // 오늘, 아직 내수준으로는 같은 범위값에서 같이 표헌하는게 어렵기 때문에 각각의 값을 적어서 표현
}
else
{
Console.WriteLine("잘못된 명령어 입니다.");
}
}
//몬스터가 아이템(장검)을 떨어터렸습니다
//아이템을 획득 하시려면 '장검 집어'를 입력 하세요.단검 집어
//단검이라는 아이템은 없습니다.
//아이템을 획득 하시려면 '장검 집어'를 입력 하세요.단검 줍어
//단검이라는 아이템은 없습니다.
//줍어라는 명령어는 없습니다.
//아이템을 획득 하시려면 '장검 집어'를 입력 하세요.장검 집어
//장검을 획득 했습니다.
//1. 해당 부문은 명확한 단어가 입력되었을때 획득 했다며 출력되면 탈출할수있게 짤것
//2. 단어 배열은 아직 배우지 않았으나 이용하여
// 다른 단어일 경우 반복 시행, 같은 단어이면 탈출 출력
Console.WriteLine("몬스터가 아이템(장검)을 떨어트렸습니다.");
while (true)
{
Console.Write("아이템을 획득 하시려면 '장검 집어'를 입력 하세요. ");
var inputCmd = Console.ReadLine();
string itemName = arr[0]; // 공백기준으로 앞 뒤로 나열
string cmd = arr[1];
//탈출기준
if (inputCmd == "장검 집어")
{
Console.WriteLine("장검을 획득 했습니다.");
break;
}
else
{
if (itemName != "장검")
{
Console.WriteLine("{0}이라는 아이템은 없습니다.", itemName);
}
if (cmd != "집어")
{
Console.WriteLine("{0}이라는 명령어는 없습니다.", cmd);
}
}
}
}
}
}