사용자:Riemann/numbase: 두 판 사이의 차이

리버티게임, 모두가 만들어가는 자유로운 게임
백괴게임>Riemann
잔글편집 요약 없음
잔글 ("사용자:Riemann/numbase" 문서를 보호했습니다: 많이 쓰이는 틀이나 코드: 숫자야구 시리즈 등에 쓰이기에, 익명 유저의 악의적 변조를 차단할 필요가 있음 ([편집=자동 인증된 사용자만 허용] (무기한) [이동=자동 인증된 사용자만 허용] (무기한)))
 
(사용자 2명의 중간 판 10개는 보이지 않습니다)
6번째 줄: 6번째 줄:
{{#vardefine:name|numbase}}
{{#vardefine:name|numbase}}
{{#vardefine:creat|Riemann}}
{{#vardefine:creat|Riemann}}
{{#vardefine:version|0.8}}
{{#vardefine:version|1.41}}
{{#vardefine:descript|숫자야구 remake}}
{{#vardefine:descript|숫자야구 remake}}
{{#vardefine:local|false}}
{{#vardefine:local|true}}
{{#vardefine:executable|true}}
{{#vardefine:executable|true}}


{{#vardefine:code|
{{#vardefine:code|
<nowiki>
<nowiki>
var title = mw.config.get('wgPageName');
if (title.slice( -1 ) == "4") {
    var no = 4
    }
else {
    var no = 3
}
var trial = 0;
var trial = 0;
var d = new Date();
$("#sBtn").click(function(){
$("#sBtn").click(function(){
     $("#description").css("display", "none");
     $("#description").css("display", "none");
20번째 줄: 29번째 줄:
     cpuNum = initNumbase();
     cpuNum = initNumbase();
     document.getElementById('count').innerHTML = "시도 횟수: " + trial;
     document.getElementById('count').innerHTML = "시도 횟수: " + trial;
     var bDate = Date(milliseconds);
     var bDate = d.getTime();
     numGuess();
     numGuess(bDate);
});
});


28번째 줄: 37번째 줄:
var initArray = [0,1,2,3,4,5,6,7,8,9];
var initArray = [0,1,2,3,4,5,6,7,8,9];
var i, j;
var i, j;
for (i = 0; i < 3; i++) {
for (i = 0; i < no; i++) {
     j = Math.floor(Math.random() * initArray.length);
     j = Math.floor(Math.random() * initArray.length);
     choice += initArray[j];
     choice += initArray[j];
36번째 줄: 45번째 줄:
}
}


function numGuess() {
function numGuess(bDate) {
document.getElementById('disp').style.display = 'block';
document.getElementById('disp').style.display = 'table';
document.getElementById('numList').style.display = 'block';
document.getElementById('numList').style.display = 'block';
var numb = document.getElementById('numList');
var numb = document.getElementById('numList');
51번째 줄: 60번째 줄:


function restrictLen(l,n) {
function restrictLen(l,n) {
   if (l.length < 3) {
   if (l.length < no) {
         l += n;
         l += n;
   } else {
   } else {
         alert("자리로 입력하세요.");
         alert(no + " 자리로 입력하세요.");
   }
   }
   return l;
   return l;
115번째 줄: 124번째 줄:
});
});
$("#numBlockX").click(function(){
$("#numBlockX").click(function(){
     if (disp.length < 3) {
     if (disp.length < no) {
         alert("자리로 입력하세요.")
         alert(no + " 자리로 입력하세요.")
     } else {
     } else {
         trial += 1
         trial += 1
125번째 줄: 134번째 줄:
         document.getElementById('disp').innerHTML = disp;
         document.getElementById('disp').innerHTML = disp;
         $(".numBlock").css("display", "inline-flex");
         $(".numBlock").css("display", "inline-flex");
        if ((v == "0B 3S" && no == 3) || (v == "0B 4S" && no == 4)) {
            var dd = new Date();
            var duration = Math.floor((dd.getTime() - bDate) / 1000);
            document.getElementById('end').innerHTML = "축하합니다. 정수를 맞히셨습니다. " + trial + "회, " + duration + "초가 소비되었습니다. 이용해주셔서 감사합니다.";
            $("#disp").css("display", "none");
            $("#numList").css("display", "none");
            $("#end").css("display", "inline");
            return 0;
        }
     }
     }
});
});
if (disp == cpuNum) {
    var duration = Math.floor((Date(milliseconds) - bDate) / 1000);
    document.getElementById('end').innerHTML = "축하합니다. 세 자리 수를 맞히셨습니다. " + trial + "회, " + duration + "초가 소비되었습니다. 이용해주셔서 감사합니다.";
    $("#disp").css("display", "none");
    $("#numList").css("display", "none");
    $("#end").css("display", "inline");
    return 0;
}
}
}


141번째 줄: 151번째 줄:
     var s = 0;
     var s = 0;
     var bs;
     var bs;
     if (u[0] == c[0]) {
     for (i = 0; i < no; i++) {
         s += 1;
         for (j = 0; j < no; j++) {
    }
            if (u[i] == c[j]) {
    if (u[0] == c[1]) {
                if (i == j) {
        b += 1;
                    s += 1;
    }
                }
    if (u[0] == c[2]) {
                else {
        b += 1;
                    b += 1;
    }
                }
    if (u[1] == c[0]) {
            }
        b += 1;
         }
    }
    if (u[1] == c[1]) {
        s += 1;
    }
    if (u[1] == c[2]) {
        b += 1;
    }
    if (u[2] == c[0]) {
        b += 1;
    }
    if (u[2] == c[1]) {
         b += 1;
    }
    if (u[2] == c[2]) {
        s += 1;
     }
     }
     bs = "" + b + "B " + s + "S"
     bs = "" + b + "B " + s + "S"
175번째 줄: 170번째 줄:


!!!!!!!!!!!!!!!! 플러그인 정보 입력 구간 끝 아래는 만지지 마시오!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!! 플러그인 정보 입력 구간 끝 아래는 만지지 마시오!!!!!!!!!!!!!!!!!
{{플러그인/preset/css}}
</div>{{#switch: {{{1|화면}}}
</div>{{#switch: {{{1|화면}}}
|dump =  
|dump =  
|화면 =  
|화면 = {{플러그인/preset/각주}}
<p<includeonly></includeonly>re class="script" data-name="{{#var:name}}"  
<p<includeonly></includeonly>re class="script" data-name="{{#var:name}}"  
    data-create="{{#var:creat}}"  
    data-create="{{#var:creat}}"  

2024년 7월 12일 (금) 10:47 기준 최신판

요령 => 아래 변수들의 첫번째 인자들을 내용에 맞게 자르고 붙여넣어주세요

!!!!!!!!!!!!!!!! 플러그인 정보 입력 구간 윗부분은 만지지 마시오 절대로!!!!!!!!!!!!!!!!!






!!!!!!!!!!!!!!!! 플러그인 정보 입력 구간 끝 아래는 만지지 마시오!!!!!!!!!!!!!!!!!

이 플러그인에 대한 설명문서는 사용자:Riemann/numbase/설명문서에서 만들 수 있습니다.

		 
var title = mw.config.get('wgPageName');
if (title.slice( -1 ) == "4") {
    var no = 4
    }
else {
    var no = 3
}

var trial = 0;
var d = new Date();
$("#sBtn").click(function(){
    $("#description").css("display", "none");
    $("#sBtn").css("display", "none");
    $("#res").css("display", "table");
    cpuNum = initNumbase();
    document.getElementById('count').innerHTML = "시도 횟수: " + trial;
    var bDate = d.getTime();
    numGuess(bDate);
});

function initNumbase() {
var choice = "";
var initArray = [0,1,2,3,4,5,6,7,8,9];
var i, j;
for (i = 0; i < no; i++) {
    j = Math.floor(Math.random() * initArray.length);
    choice += initArray[j];
    initArray.splice(j,1);
}
return choice;
}

function numGuess(bDate) {
document.getElementById('disp').style.display = 'table';
document.getElementById('numList').style.display = 'block';
var numb = document.getElementById('numList');
var numBlocks = "";
var disp = "";
document.getElementById('disp').innerHTML = disp;
for (i = 0; i < 10; i++) {
    numBlocks += "<div id=\"numBlock" + i + "\" class=\"numBlock\">" + i + "</div>";
}
numBlocks += "<div id=\"numBlockC\" class=\"numBlockC\">C</div>";
numBlocks += "<div id=\"numBlockX\" class=\"numBlockC\">입력</div>";
numb.innerHTML = numBlocks;

function restrictLen(l,n) {
   if (l.length < no) {
        l += n;
   } else {
        alert(no + " 자리로 입력하세요.");
   }
   return l;
}

$("#numBlock0").click(function(){
    disp = restrictLen(disp,0);
    document.getElementById('disp').innerHTML = disp;
    $("#numBlock0").css("display", "none");
});
$("#numBlock1").click(function(){
    disp = restrictLen(disp,1);
    document.getElementById('disp').innerHTML = disp;
    $("#numBlock1").css("display", "none");
});
$("#numBlock2").click(function(){
    disp = restrictLen(disp,2);
    document.getElementById('disp').innerHTML = disp;
    $("#numBlock2").css("display", "none");
});
$("#numBlock3").click(function(){
    disp = restrictLen(disp,3);
    document.getElementById('disp').innerHTML = disp;
    $("#numBlock3").css("display", "none");
});
$("#numBlock4").click(function(){
    disp = restrictLen(disp,4);
    document.getElementById('disp').innerHTML = disp;
    $("#numBlock4").css("display", "none");
});
$("#numBlock5").click(function(){
    disp = restrictLen(disp,5);
    document.getElementById('disp').innerHTML = disp;
    $("#numBlock5").css("display", "none");
});
$("#numBlock6").click(function(){
    disp = restrictLen(disp,6);
    document.getElementById('disp').innerHTML = disp;
    $("#numBlock6").css("display", "none");
});
$("#numBlock7").click(function(){
    disp = restrictLen(disp,7);
    document.getElementById('disp').innerHTML = disp;
    $("#numBlock7").css("display", "none");
});
$("#numBlock8").click(function(){
    disp = restrictLen(disp,8);
    document.getElementById('disp').innerHTML = disp;
    $("#numBlock8").css("display", "none");
});
$("#numBlock9").click(function(){
    disp = restrictLen(disp,9);
    document.getElementById('disp').innerHTML = disp;
    $("#numBlock9").css("display", "none");
});
$("#numBlockC").click(function(){
    disp = "";
    document.getElementById('disp').innerHTML = disp;
    $(".numBlock").css("display", "inline-flex");
});
$("#numBlockX").click(function(){
    if (disp.length < no) {
        alert(no + " 자리로 입력하세요.")
    } else {
        trial += 1
        document.getElementById('count').innerHTML = "시도 횟수: " + trial;
        v = valid(disp,cpuNum);
        $("#res").append("<tr><td>" + trial + "</td><td>" + disp + "</td><td>" + v + "</td></tr>");
        disp = "";
        document.getElementById('disp').innerHTML = disp;
        $(".numBlock").css("display", "inline-flex");
        if ((v == "0B 3S" && no == 3) || (v == "0B 4S" && no == 4)) {
            var dd = new Date();
            var duration = Math.floor((dd.getTime() - bDate) / 1000);
            document.getElementById('end').innerHTML = "축하합니다. 정수를 맞히셨습니다. " + trial + "회, " + duration + "초가 소비되었습니다. 이용해주셔서 감사합니다.";
            $("#disp").css("display", "none");
            $("#numList").css("display", "none");
            $("#end").css("display", "inline");
            return 0;
        }
    }
});
}

function valid(u,c) {
    var b = 0;
    var s = 0;
    var bs;
    for (i = 0; i < no; i++) {
        for (j = 0; j < no; j++) {
            if (u[i] == c[j]) {
                if (i == j) {
                    s += 1;
                }
                else {
                    b += 1;
                }
            }
        }
    }
    bs = "" + b + "B " + s + "S"
    return bs;
}