[JS/jQuery] 야구 게임 / PHP 간단한 숫자 야구 게임
PHP 웹페이지로 만든 간단한 숫자 야구게임
web.paper | PHP 야구게임PHP로 만든 간단한 야구게임http://webpaper.kr/baseball/
방식 1. 1~9 사이의 숫자 중 중복되지 않는 3자리의 숫자를 입력한다. 2. 세자리의 숫자 중 숫자와 자리가 모두 맞으면 스트라이크 3. 숫자는 맞고, 자리가 틀리면 볼 4. 1번 숫자를 입력하는 것이 1회가 되며, 9회까지 기회가 제공됨.5. 입력된 숫자 중 스트라이크와 볼이 모두 없으면 아웃이 되며, 3아웃이 되면 게임이 종료된다. #1. 정답이 될 3자리 숫자를 랜덤 함수를 이용해서, 만든다. function makeNum(){ //중복없는 3자리 숫자 생성 var numbers = []; var pickNumbers = 3; for(insertCur = 0; insertCur < pickNumbers ; insertCur++){ numbers[insertCur] = Math.floor(Math.random() * 9) + 1; for(searchCur = 0; searchCur < insertCur; searchCur ++){ if(numbers[insertCur] == numbers[searchCur]){ insertCur--; // insertCur를 앞으로 민다 break; } } } return numbers;}#2. 입력된 숫자와 정답숫자를 비교 function setGame(a,b){// console.log(a);//공격번호// console.log(b);//맞출번호 var sCnt = 0; // 스트라이크 var bCnt = 0; // 볼 for(var i = 0; i<3; i++){ if(a[i] == b[i]){ //자리와 숫자가 맞으면 Strike 증가 sCnt++; }else{ for(var j = 0; j<3; j++){ //자리가 맞지 않고 숫자만 맞을 경우 Ball 증가 if(a[j] == b[i]){ bCnt++; } } } } gameCnt++; // 실행횟수 증가 // Strike 도 Ball 도 없는 경우 Out Count 증가 if(sCnt == 0 && bCnt == 0){ gameOutCnt++; } // Outdl 3일 경우 // 9번의 기회가 종료될때까지 3Strike가 되지 않은 경우 if(gameOutCnt > 2 || gameCnt == 9 && sCnt != 3){ chkGameOver = true; } if(sCnt == 3){ // win } }#3. 게임의 재미를 위해 최초로 숫자를 입력한 후에는 다음 입력시까지 30초의 제한을 둔다. function statrTimer(){ //타이머 if(setTimer == null){ timer = 30; setTimer = setInterval(function() { // 10초 이하일 경우 숫자에 색상 추가 if(timer < 10 ){ if($(".timer").hasClass() != 'on'){ $(".timer").addClass('on'); } } if(timer == 0 ){ // 제한시간 종료 시 숫자는 000 으로 입력됨 stopTimer('end'); statrTimer(); }else if(chkGameOver == true){ // 게임종료시 타이머 종료 stopTimer(); }else{ // 타이머 화면 표출 영역 $(".timer").html(timer); timer--; } }, 1000); } } function stopTimer(a){ // 타이머 중지 if(a=='end'){ // 타이머 오버 시 000 입력 setGame('000',rndNum); } // 타이머 색상 초기화 $(".timer").removeClass('on'); // 타이머 종료설정 clearInterval(setTimer); setTimer = null; $(".timer").html('30');}그렇게 만들어진 게임
calendar_today19-02-20 09:49
remove_red_eye6939
favorite_border0