관리 메뉴

LC Studio

시즌별 선수 불러오기(FIFAONLINE RandomSquadMaker #3) 본문

프로젝트/FIFAONLINE4 RandomSquadMaker

시즌별 선수 불러오기(FIFAONLINE RandomSquadMaker #3)

Leopard Cat 2022. 5. 25. 12:17

서론

목표한 RandomSquadMaker을 만들기 위해선 크게 3가지 과정을 해내야 한다.

 

1. Random한 선수 데이터 불러오기

2. "포지션"별 Random한 선수 데이터 불러오기

3. "시즌"별 Random한 선수 데이터 불러오기

 

이번에는 "시즌"별 Random한 선수 데이터 불러오기" 부분을 해보겠다.


본론

FIFAONLINE4에는 현재 65개의 시즌이 있다.

이 시즌들을 checkbox 형태로 만들어, checked된 상태일때 해당 값을 불러올 수 있도록 해보았다.

 

처음에는 기존방식에서 해당하는 시즌이 아니라면 재귀호출하는 방식으로 함수를 작성했다.

하지만 너무 많이 반복되다보니 시간이 오래걸렸고, 시간이 오래 걸린것을 떠나 데이터가 너무 쌓여 오류가 발생했다.

 

그래서 아예 시즌자체를 random으로 생성해 보았다.

0~64까지 random으로 생성하여 checked검사를 통과하면,

해당 시즌에 해당하는 범위의 random한 값이 반환되는 형태이다.

while (true) {
                Random random = new Random();

                seasonNum = random.nextInt(2);
                System.out.println("시즌" + seasonNum);

                if (!(MainActivity.icon)) {
                    if (seasonNum == 0) {
                        System.out.println("icon false");
                        continue;
                    }
                }
                if (!(MainActivity.nhd)) {
                    if (seasonNum == 1) {
                        System.out.println("nhd false");
                        continue;
                    }
                }
                break;
            }

                if(seasonNum == 0){
                    int min = 0;
                    int max = 111;
                    Num = (int) (Math.random()*(max - min)) + min;
                }
                else if(seasonNum == 1){
                    int min = 112;
                    int max = 398;
                    Num = (int) (Math.random()*(max - min)) + min;
                }

결론

동영상을 보면,

ICON이 checked인 상태에선 nhd 클래스(첫 3개의 숫자가 201)가 출력되는 모습을 볼 수 있다.

반대로 NHD이 checked인 상태에선 icon 클래스(첫 3개의 숫자가 101)가 출력되는 모습을 볼 수 있다.

시즌을 어떻게 처리할까 고민이 많았는데, 해결되서 다행이다.

 

이제 큰 목표들은 정리가 되었다.

다음 단계는 디자인부분이다.

UI가 잘 만들어진 후 자잘한 문제들을 해결해나가자!

반응형