오늘은 개인과제 1번 상태창 구현에서 "스탯 상자 만들기"와 "깐깐한 입력 검사" 까지 코드를 짜보았습니다.

<천천히 읽기>
1. 전역 설정 및 함수 정의
- 라이브러리 포함 및 네임스페이스: iostream을 포함하고 std 네임스페이스를 사용하여 입출력 도구(cout, cin)를 준비합니다.
- setPotion 함수: 세 개의 매개변수(count, p_HPPotion, p_MPotion)를 받습니다.
// 다음에 작성할 포션시스템을 위해 미리 작성.- 포인터를 사용하여 전달받은 주소의 값을 count 값으로 직접 변경합니다.
2. main 함수: 변수 초기화
- 배열 선언: status[4] 배열을 만들고 모두 0으로 초기화합니다.
- status[0]: HP
- status[1]: MP
- status[2]: 공격력
- status[3]: 방어력
- 일반 변수: 포션 개수를 저장할 HPPotion, MPotion을 0으로 초기화합니다.
3. 첫 번째 반복문: HP와 MP 입력 (do-while)
do-while문은 **"먼저 실행하고, 나중에 조건을 체크"**합니다. 즉, 최소 한 번은 무조건 실행됩니다.
- 실행: "HP와 MP를 입력하세요 (각 50 초과):" 문구를 출력합니다.
- 입력: 사용자가 두 숫자를 입력하면 status[0]과 status[1]에 저장합니다.
- 검사 (if): 만약 둘 중 하나라도 50 이하(<= 50)라면 "50이하로 입력이 불가합니다. 다시 입력하세요."라는 경고를 띄웁니다.
- 조건 체크 (while): status[0] <= 50 || status[1] <= 50 조건이 참이면 다시 1번으로 돌아가 반복합니다.
- 예: HP에 40을 입력하면 조건이 참이 되어 다시 입력창이 뜹니다.
4. 두 번째 반복문: 공격력과 방어력 입력
- 실행: "공격력과 방어력을 입력하세요.(각 0 초과)" 문구를 출력합니다.
- 입력: 사용자가 입력한 값을 status[2]와 status[3]에 저장합니다.
- 검사 (if): 둘 중 하나라도 0 이하(<= 0)라면 경고 메시지를 출력합니다.
- 조건 체크 (while): status[2] <= 0 || status[3] <= 0 조건이 참인 동안 계속 반복합니다.
'코딩' 카테고리의 다른 글
| [C++] 전직 & 전투 시스템 구현— Project HW02 (0) | 2026.03.11 |
|---|---|
| CH2 개인과제 1번 상태창 구현(2) (0) | 2026.03.05 |
| 챕터 2-4 : [심화] 비트 논리 연산자, 비트 이동 연산자 (0) | 2026.02.24 |
| 챕터 2-3 : 형변환 연산자, 삼항 연산자, sizeof (0) | 2026.02.24 |
| 챕터 2-2 : 증감 연산자, 논리 연산자, 비교 연산자 (0) | 2026.02.24 |