사용자:Cheongseong9473/common.js: 두 판 사이의 차이
백괴게임>Cheongseong9473 (플러그인 exportBitcoin설치) |
백괴게임>Cheongseong9473 (플러그인 numbase설치) |
||
94번째 줄: | 94번째 줄: | ||
$( plugin_exportBitcoin ); | $( plugin_exportBitcoin ); | ||
/* exportBitcoin 끝 */ | /* exportBitcoin 끝 */ | ||
/** 플러그인 numbase*************************** | |||
* 숫자야구 remake | |||
* 버전 => 1.41 | |||
* 작성자 : [[사용자:Riemann|Riemann]] | |||
* JSON => numbase = {"name":"numbase","descript":"숫자야구 remake","version":"1.41","local":true,"creat":"Riemann","state":"사용자:Riemann/numbase","executable":true}; | |||
*/ | |||
function plugin_numbase(){ | |||
if($("[data-name='numbase']").length >= 1){ | |||
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; | |||
} | |||
} | |||
} | |||
$( plugin_numbase ); | |||
/* numbase 끝 */ |
2018년 8월 18일 (토) 14:05 판
/** 플러그인 autosave***************************
* 자동저장 시스템을 위한 플러그인
* 버전 => 2.0.2
* 작성자 : [[사용자:Manymaster|Manymaster]]
* JSON => autosave = {"name":"autosave","descript":"자동저장 시스템을 위한 플러그인","version":"2.0.2","local":false,"creat":"Manymaster","state":"틀:자동저장/플러그인","executable":true};
*/
function plugin_autosave(){
/* 작동 가능한 네임스페이스 */
var safeNameSpace = [""];
/* autosave 편집모드가 아닐 경우 플러그인 종료 */
var searchParams = geturlSearch(location);
var isEditMode = searchParams.action === "edit";
var isAutosaveMode = searchParams.autosave === "1";
if (!(isEditMode && isAutosaveMode)) return "";
/* 자동 저장하기에 안전한 네임스페이스가 아닌 경우 플러그인 종료 */
var thisNamespaceNumber = mw.config.get("wgNamespaceNumber");
var nameSpaceIds = mw.config.get("wgNamespaceIds");
var isSafeNameSpace = safeNameSpace
.map(function (namespace) { return nameSpaceIds[namespace]; })
.some(function (nsNumber) { return nsNumber == thisNamespaceNumber; });
if (!(isSafeNameSpace)) return "";
/* 자동 인증된 사용자가 아닌 경우 플러그인 종료 */
var userGroups = mw.config.get('wgUserGroups');
var autocheck = 0;
if (userGroups) {
for (var i = 0; i < userGroups.length; i++) {
if (userGroups[i] === 'autoconfirmed') {
autocheck++;
}
}
}
if (autocheck != 1) return "";
/* 지정된 단락에서 불러오기 */
var savetempDom = $(".game-autosave");
if ($(".game-autosave").length === 0)
throw new Error("autosave => game-autosave를 클래스명으로 가진 돔을 찾을 수 없습니다.");
var savetemp = $(".game-autosave").html();
/* 문제가 되는 문자열 치환 */
savetemp = savetemp.replace(/(<([^>]+)>)/ig, "");
savetemp = savetemp.replace(/\n+/gi, "\n");
savetemp = savetemp.replace("\n", "");
savetemp = savetemp.replace(/</gi, "<");
savetemp = savetemp.replace(/>/gi, ">");
/* 기록, 저장하고 빠져나오기 */
$("#wpTextbox1").val(savetemp);
$("#wpSave").click();
return;
/** 이 플러그인 제작을 도와주신 분들
* Ver 2 제작자: [[사용자:BANIP|BANIP]]
* 원 코드 작성자: [[사용자:*devunt]]
*/
}
$( plugin_autosave );
/* autosave 끝 */
/** 플러그인 exportBitcoin***************************
* 비트코인 실시간 거래내역 수집, 플러그인 예시
* 버전 => 0.0.6
* 작성자 : [[사용자:BANIP|BANIP]]
* JSON => exportBitcoin = {"name":"exportBitcoin","descript":"비트코인 실시간 거래내역 수집, 플러그인 예시","version":"0.0.6","local":true,"creat":"BANIP","state":"백괴게임:플러그인/예시","executable":true};
*/
function plugin_exportBitcoin(){
if($("[data-name='exportBitcoin']").length >= 1){
// 이부부분에 코드 입력 //
if($(".bitcoin").length === 0) return;
setInterval(function(){
fetch("https://api.bithumb.com/public/orderbook")
.then(function(data){ return data.json() })
.then(function(json){
const price = json.data.asks[0].price
$(".bitcoin").html(price);
})
},1500)
// 여기까지 코드 입력 //
}
}
$( plugin_exportBitcoin );
/* exportBitcoin 끝 */
/** 플러그인 numbase***************************
* 숫자야구 remake
* 버전 => 1.41
* 작성자 : [[사용자:Riemann|Riemann]]
* JSON => numbase = {"name":"numbase","descript":"숫자야구 remake","version":"1.41","local":true,"creat":"Riemann","state":"사용자:Riemann/numbase","executable":true};
*/
function plugin_numbase(){
if($("[data-name='numbase']").length >= 1){
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;
}
}
}
$( plugin_numbase );
/* numbase 끝 */