아기에게 밥과 물을 주면서 잠을 관리하는 프로그램을 짜봤다.
클래스에서 아기의 속성을 정의하고
아기의 행동을 구현했다.
package com.my;
// Baby 클래스 설계
public class Baby1 {
//속성
private String name;
private int hunger;
private int thirst;
private int sleepy;
//생성자
public Baby1(String babyNm, int babyHn, int babyTs, int babySp) {
name = babyNm;
hunger = babyHn;
thirst = babyTs;
sleepy = babySp;
}
//getter 메서드
public int getSleepy() {
return sleepy;
}
public int getHunger() {
return hunger;
}
public int getThirst() {
return thirst;
}
//메서드
public void showInfo() {
System.out.println("===== 아기상태창 =====");
System.out.println("배고픔" + hunger);
System.out.println("목마름" + thirst);
System.out.println("졸림" + sleepy);
}
// 물마심
public void drinkWater(int amount) {
if (amount >= thirst) {
System.out.println(thirst + "ml 물을 마셨다");
thirst -= thirst;
sleepy += 5;
System.out.println("목마름:" + thirst);
System.out.println("졸림:" + sleepy);
} else if (thirst > amount && amount >= 0) {
System.out.println(amount + "ml 물을 마셨다");
thirst -= amount;
sleepy += 5;
System.out.println("목마름:" + thirst);
System.out.println("졸림:" + sleepy);
}
}
// 밥먹음
public void eatFood(int amount) {
if (amount >= hunger) {
System.out.println(hunger + "g 밥을 먹었다");
hunger -= hunger;
sleepy += 15;
System.out.println("배고픔:" + hunger);
System.out.println("졸림:" + sleepy);
} else if (hunger > amount && amount >= 0) {
System.out.println(amount + "g 밥을 먹었다");
hunger -= amount;
sleepy += 15;
System.out.println("배고픔:" + hunger);
System.out.println("졸림:" + sleepy);
}
}
// 잠
public void goToSleep(int amount) {
if (amount <= sleepy) {
System.out.println("잠을 잤다");
sleepy -= amount;
hunger += 25;
thirst += 25;
System.out.println("졸림:" + sleepy);
System.out.println("배고픔:" + hunger);
System.out.println("목마름:" + thirst);
} else if (amount > sleepy) {
System.out.println(amount + "잠을 자지 않았다");
sleepy -= 10;
System.out.println("졸림:" + sleepy);
}
}
}//end of class
규칙은
졸림이 100이 되면 게임오버
배고픔과 목마름이 0이 되면 승리하는 것
package com.my;
import java.util.Scanner;
public class BabyMainTest {
//main
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Baby1 baby1 = new Baby1("민준", 100, 100, 50);
while (true) {
int outerBSleepy = baby1.getSleepy();
int outerBHunger = baby1.getHunger();
int outerBThirst = baby1.getThirst();
if (outerBSleepy > 100) {
System.out.println("게임오버");
break;
}
if (outerBHunger <= 0 && outerBThirst <= 0) {
System.out.println("아기는 행복합니다");
break;
}
System.out.println("1.물주기 2.밥주기 3.재우기 0.종료");
int choice = sc.nextInt();
if (choice == 1) {
baby1.drinkWater(20);
} else if (choice == 2) {
baby1.eatFood(20);
} else if (choice == 3) {
baby1.goToSleep(50);
} else if (choice == 0) {
System.out.println("게임오버");
break;
}
}
}//end of main
}//end of class

승리 조건 달성

패배 조건 달성

'Java' 카테고리의 다른 글
| 배열 array (0) | 2025.04.17 |
|---|---|
| static 변수 개념 (0) | 2025.04.17 |
| getter, setter메서드와 this 키워드 (0) | 2025.04.16 |
| 접근 제어 지시자 Accecc Modifier (0) | 2025.04.16 |
| 생성자를 호출해 클래스 상호작용 (0) | 2025.04.16 |