경일게임아카데미 프로그래밍반 28기 10일차 수업과제 (2021. 04. 21)
구현해야 할 목록
1. 상점에서 아이템 구매 기능 만들기
방법 - 1. 아이템에 넘버링을 하는 방식
2. 구매안 아이템 목록이 나의 인벤토리로 들어오기
방법 - 1. 각 카테고리별(무기, 아머, 악세사리 등) 배열로 설정하여 구매하는 방법
방법 - 2. for문을 이용하여 배열의 시작과 끝을 돌리며, if문으로 해당 아이템을 구매하는 방법을 사용한다
3. (심화) 구매시 방법들을 설정한다. (중복구매허용, 매장에서 수량부족, 중복구매 불가능 등)
4. 인벤토리 내에서 구매한 물건들을 판매하는 기능
메모사항 -
getVShopItem(); 함수는 getVShopItem 베열이 있는 모든 정보를 가져오는 것, 일부분이 아니다. 이로인해 내가 고른 아이템을 찾아내고, 인벤토리에 저장하는 기능을 만들어야 한다.
결론
아쉽지만 멍청하게도 인벤토리를 구현하지 못했다.
아이템을 switch 형태로 구현 방법을 생각은 해보았지만 switch 형태로는 구현 할 수가 없었다. 왜냐하면 무기, 방어구, 악세서리 카테고리 모두가 switch 문으로 빠지게 되었기 때문이다.
만약 무기류가 4개이고, 방어구류가 3개일 떄 나는 무기류 생각하고 switch 문을 만들어 4개의 case를 만들었지만 해당 switch 문이 무기류에만 해당되는 것이 아니라 방어구류에서도 해당 switch 문이 동작했다. 이 때 방어구류가 3개 밖에 없기 때문에 방어구류 switch문에서는 case가 3개가 필요한데 이미 만들어놓은 무기류 switch문의 case(4개)가 동작하여 4를 입력하여도 4번 방어구류를 구매했다고 뜨게 되기 때문이다.
이로 인해 switch로 작업했던 내용들을 모두 지우고 동기들에게 물어보며 진행하기로 하였다. 아울러 switch문이 가변적인 배열에서는 상황에서 어울리지 않는다는 것을 깨달았다.
이번주에는 정보처리기사 실기가 있기 때문에 잠시 접어두고, 다음 주 시간이 있을 때 잘하는 동기들에게 점심 사주면서 배워야겠다.
'학원 > 경일게임아카데미' 카테고리의 다른 글
16. 열한번째 수업과제 [이름 그리기 및 도막사라무 제작] (0) | 2022.12.19 |
---|---|
15. 열한번째 수업 (0) | 2022.12.16 |
13. 열번째 수업 (1) | 2022.12.14 |
12. 아홉번째 수업 (0) | 2022.12.12 |
11. 여덟번째 수업 (0) | 2022.12.12 |