사용자:Riemann/numbase: 두 판 사이의 차이
백괴게임>Riemann 잔글편집 요약 없음 |
잔글 ("사용자:Riemann/numbase" 문서를 보호했습니다: 많이 쓰이는 틀이나 코드: 숫자야구 시리즈 등에 쓰이기에, 익명 유저의 악의적 변조를 차단할 필요가 있음 ([편집=자동 인증된 사용자만 허용] (무기한) [이동=자동 인증된 사용자만 허용] (무기한))) |
||
(사용자 2명의 중간 판 10개는 보이지 않습니다) | |||
6번째 줄: | 6번째 줄: | ||
{{#vardefine:name|numbase}} | {{#vardefine:name|numbase}} | ||
{{#vardefine:creat|Riemann}} | {{#vardefine:creat|Riemann}} | ||
{{#vardefine:version| | {{#vardefine:version|1.41}} | ||
{{#vardefine:descript|숫자야구 remake}} | {{#vardefine:descript|숫자야구 remake}} | ||
{{#vardefine:local| | {{#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 = | 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 < | 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 = ' | 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 < | 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 < | 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; | |||
} | |||
} | } | ||
}); | }); | ||
} | } | ||
141번째 줄: | 151번째 줄: | ||
var s = 0; | var s = 0; | ||
var bs; | 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" | bs = "" + b + "B " + s + "S" | ||
175번째 줄: | 170번째 줄: | ||
!!!!!!!!!!!!!!!! 플러그인 정보 입력 구간 끝 아래는 만지지 마시오!!!!!!!!!!!!!!!!! | !!!!!!!!!!!!!!!! 플러그인 정보 입력 구간 끝 아래는 만지지 마시오!!!!!!!!!!!!!!!!! | ||
</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; }