전까지는, 실제로 야구게임을 하기 전에
구단을 생성하고, 원하는 선수들을 영입하는 식의 코드만 구현했었다.
4일간 진행하면서 중간중간 번쩍 떠오르는 아이디어들도 있었고
'이건 무조건 오류난다...'라는 것도 있었는데
일단, 기본적인 틀을 만들어놓고 하나씩 해결해 나가야 할 것 같다
InGame 클래스 에서는
실제로 사용자가 게임을 진행하였을 때 게임설명을 볼 수 있는 inGame_des 함수와
(사용자는 GameStart클래스에서만 진행되기 때문에 함수로 나누었다)
각각의 선수들의 스탯'만' 가져올 수 있는 int형 타입 bringPlayerStats 함수
(후에 인게임에서 스탯별로 확률이 달라지기 때문에 구현하였다)
그리고,. String타입으로 선수들의 목록 = 매개변수가 들어오면
그것을 한명한명의 선수들로 나누어, 스트링 배열에 넣는 retunr_array 함수가 존재한다
(전에는 txt파일안에 있는 모든 선수들이 한 String에 들어가 있는데, 이것을 배열로 한 명 한 명씩 끊어줘야
타석 바꾸기와 같이 한 명씩 불러올 때 사용하기 위해서 구현하였다)
지금 드는 생각인데,
나중에 GameStart의 첫부분 sysout 설명도 나누어서 메인에서는 함수로만 작동할 수 있게 바꾸어야겠다
while 반복문안에가 생각보다 복잡했는데, (지금 봐도 복잡함)
함수명을 조금 더 가독성있게 짜야겠다는 생각도 들고,
너무 나눴나..? 라는 생각도 든다
# 가장 애먹었던 구간....#
"토이 프로젝트는 스트레스받으면서 할 이유는 없다"라는 말이 생각나며,
노트북을 닫았다가 '아 찝찝한데'하면서 열었다를 무수히 반복했었다
타석바꾸기인데,
1. ArrayList의 swap기능을 사용해보자! - 실패!
2. HashSet으로 무작위로..? - 말도 안 돼
3. 그냥 String배열로 replace 기능 쓰면서? - 맨 처음에 실패해서 안 되는 줄 알았다..ㅠ
4. 그냥 타석 바꾸는 기능 추가하지 말까..? ㅋㅅㅋ
많은 노력 끝에, 다시 원점으로 돌아와 String 기능은 replace를 써서 코드를 구현하였다
감동..
'Project > ToyProject' 카테고리의 다른 글
[Baseball - Restrict console] 7th (InGame #2) (0) | 2021.08.01 |
---|---|
[Baseball - Restrict console] 6th (InGame) (0) | 2021.08.01 |
[Baseball - Restrict console] 4th (0) | 2021.08.01 |
[Baseball - Restrict console] 3rd (0) | 2021.08.01 |
[Baseball - Restrict console] 2nd (0) | 2021.08.01 |