묵찌빠만들기 시작
알아두면 좋은내용
break는 실행즉시 현재의 블록을 바로 종료하는 문법입니다.
for(int i=0;i <10; i++){
if(i%7==0){
continue
}
console.log(i)
}
123456 89 이런식으로 숫자가 진행됩니다. 컨티뉴를 마주하는순간 다음블럭으로 넘어갑니다.
아 빡셌다!
반복되는구조
핵심은 while 문을 껐다 켰다하는것이었습니다.
가장 큰 본게임을 지속하는 20바퀴를 도는
가위바위보와 묵찌빠를 동시에 진행하는 반복문하나 사실 이말에는 어폐가있다. 묵찌빠 진행을 위해서는 반드시 가위바위보가 진행되어야 하기때문이다.
반복1{
반복 2{
반복3{
}
}
}
그런데 유의해야 할 부분이 있습니다. 묵찌빠는 한번에 승부가 나는것이 아니고 선공권을 가진 플레이어가 상대방하고 같은 수를 냈을때 점수가 나는 게임이었기때문이죠
그래서 두개의 변수가필요했습니다.
하나는 비기지않거나 내가 내는 수가 바뀌어서 반복 3의 while문을 빠져나가 반복 2를 다시 진행한뒤 나 플레이어가 낼 알고리즘을 다시 찾아가야했습니다.
그래서 게임이 비겨서 처음에 끝나거나 아니면 반복된 순환속에서 끝낼 방법이 필요했고
그방법으로 while문을 떄에따라 끄고 게속 키는 game이라는 변수와 judge 변수를 사용했습니다
game이라는 변수는 배팅한금액을 결과를 받아서 선공권을 가진사람에게 리턴해주기 전까지 계속 돌아가는 while문을 끄고 켜기 위한 방법이었고 (반복 2) 그럼 bet의 결과에 따라 리턴해주고 가장 큰 while문 반복 1로 돌아가게됩니다.
judge라는 변수는 가위 바위 보 내에서 이게 내가 이기고 진것인지 그리고 내가 내는 수가 바뀌었다면 반복 3에서 반복 2로 나가게 해주는 변수입니다.
그런데 문제가 발생합니다. 처음 게임이 비겨서 다시 시작하는 것과 한번 선공이 진행되고 난뒤에 정하는 비기는것은 명확히 결과가 달라야했습니다.
그래서 게임의 1판내에서 진행되는 진행과정을 체크하기위해 depth를 넣었고
depth 가 1일때 비길시 배팅금액을 돌려주고 게임을 다시 진행하는 코드를 넣었습니다.
'언어 > js' 카테고리의 다른 글
| 20230323 나머지 매개변수 IIFE즉시실행함수 (0) | 2023.07.20 |
|---|---|
| 20230316 메서드 this callback (0) | 2023.07.20 |
| 20230315 필터 (0) | 2023.07.20 |
| 20230314 스코프? (0) | 2023.07.20 |
| 20230314 스코프? (0) | 2023.07.19 |