딜리버리 타이쿤 퀘스트 과제 로직 정리
- 배달 게임은 각 주문마다 배달맨이 주문 목록 순서대로 음식 버튼을 눌러 배달한다.
-> 주문 내역과 배달내역을 비교하는 로직이 필요하다.
- 햄버거, 피자, 치킨, 커피, 케이크 버튼을 누르면 deliveryList라는 ArrayList에 누른 버튼의 음식 이름이 담기도록 해준다.
- 가장 최근에 내가 누른 버튼의 음식 이름은 deliveryList.get(deliveryList.size()-1)) 을 하면 가져올 수 있다.
예를 들어 햄버거, 피자, 케이크 버튼을 순서대로 눌렀다고 해보자. 그렇다면 deliveryList에는 햄버거, 피자, 케이크가 저장되어 있을 것이다. 그랬을 때 가장 최근에 내가 누른 버튼은 케이크이고, 이는 delivertList.get(2)를 하면 가져올 수 있다. 이때 2라는 숫자는 deliveryList의 크기인 3에서 1을 뺀 수이다.
- 이렇게 해서 가져온 내가 누른 버튼의 음식 이름과 주문 내역의 음식 이름을 비교해주어야 하는데 내가 누른 버튼과 주문 내역의 index는 같아야 한다.
예를 들어
주문 내역 : 피자, 치킨, 케이크
내가 누른 버튼의 음식 이름 : 케이크, 치킨, 피자
라고 했을 때 나는 피자와 케이크, 치킨과 치킨, 케이크와 피자를 비교해주어야 할 것이다.
그러므로 아래와 같이 코드를 써주어야 한다.
orders[deliveryList.size() - 1].getName()
- 이제 배달리스트와 주문 내역을 비교해주면 된다.
if (deliveryList.get(deliveryList.size() - 1).equals(orders[deliveryList.size() - 1].getName())) { System.out.println("성공!");} if (!deliveryList.get(deliveryList.size() - 1).equals(orders[deliveryList.size() - 1].getName())) { System.out.println("실패!");}