스페셜(?) 로또추출기 > 그누보드5 플러그인

그누보드5 플러그인

그누보드 호환이거나 독립적으로 실행되는 플러그인을 소개합니다.

스페셜(?) 로또추출기 정보

스페셜(?) 로또추출기

첨부파일

special_editor.php (7.6K) 40회 다운로드 2024-09-25 02:52:01 포인트 차감1
테스트한 버전5.6.5
호환 가능 버전아마도 전부

본문

 

1. 기본적인 사용법은 https://sir.kr/g5_plugin/12792 와 동일합니다.

 

--------------------

 

2. 개별숫자는 설정이 하나 더 들어간 트리플 옵션입니다. 버튼을 계속 클릭해서 옵션을 바꾸세요.
    1) 회색바탕시 : 기본선택 옵션
    2) 붉은바탕시 : 필수선택 옵션
    3) 흰색바탕시 : 제외선택 옵션
필수선택이나 제외선택이 조합 불가능한 상태(가령 필수선택을 7개 선택하는 경우)가 될 때는 경고 메시지가 들어옵니다.

 

--------------------

 

3. OK:NO 토글버튼은 상단숫자들에서 배제된 숫자들로 하단의 번호를 생성할 때 붉은바탕 필수숫자를 넣을 것이냐 말것이냐를 선택할 수 있는 옵션입니다.

 

--------------------

 

4. 라이센스를 추가합니다. 다운로드 받아가는 분들은 "추천"이 필수입니다.
제가 다운로드 포인트로 고작(?) 1점을 부여한 이유는 어떤 회원이 다운로드를 해 갔는지만을 확인하기 위함입니다.
다운로드 포인트에 0점을 부여하면 비회원도 받아갈 수 있으니까요.
그러니 쪼잔한 심성을 가진 비타주리에게 측은하다는 의미에서 "동정심 추천"이라도 꼭 해 주시기 바랍니다.
또한 로또관련 데이터분석의 경우는 모르겠으나 숫자만 추출하는 플러그인은 이것으로 더 이상의 업뎃은 없습니다.

다들 대박 나시고 1등 당첨되면 비타주리에게 1억 송금도 함께 부탁드립니다.

추천
30

댓글 전체

정말 대단하세요. 그리고 재미도 있구요..ㅎ 닥치고 추천드립니다.

이 거 회원 전용으로하고 번호생성 시 포인트 차감을 하면 더 좋을 듯 한데 저에겐 하늘에 별따기~~^^ 

별거 아닐텐데요.

common.php 인클루드하고 번호생성 후 차감된 포인트는 아작스로 날려주면 됩니다만...

시간 있으연 포인트 연동으로 만들어 드리겠습니다만 너무 기대는 마세요.

미국의 로또(mega milllions)는 5자리 숫자(1~70)와 1자리(1~25자리의 Mega Ball number)로 구성되어 미국식으로 좀 바꿨습니다.

역시 당첨되면 1억 기부하라고 했습니다...ㅎㅎ

이번주 mega million은 181millions(한화 2,624억)입니다. 

40%정도 세금공제하고 전액 현찰 또는 분할로 줍니다.

잘 쓰겠습니다.

감사합니다.

 

test:

https://atlanta.infinityfreeapp.com/special_editor.php

 

아래 미국식 코드쏘스입니다.

 


<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<meta name="theme-color" content="#003152">
<meta http-equiv="imagetoolbar" content="no">
<meta property="og:image" content="https://blog.kakaocdn.net/dn/bB5fdX/btsEiVSs6YB/Pfsk3dlZHAvMZZ53SvgoxK/img.png">
<title>[ Lotto Editor ]</title>
<?php
    include_once('./common.php');
    $g5['title'] = "로또번호 추출기";
    include_once(G5_PATH.'/_head.php');
    ?>    
</head>
<style>
/*
@font-face { font-family:'NEXON Lv1 Gothic OTF'; src:url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_20-04@2.1/NEXON Lv1 Gothic OTF.woff') format('woff'); }
* { font-size:18px; font-family:'NEXON Lv1 Gothic OTF' !important; }
@media screen and (hover:none) and (pointer:coarse) { * { font-size:16px; } }
*/
@font-face { font-family:'NEXON Lv1 Gothic OTF'; src:url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_20-04@2.1/NEXON Lv1 Gothic OTF.woff') format('woff'); }
#lottoDiv * { font-size:18px; font-family:'NEXON Lv1 Gothic OTF' !important; }
@media screen and (hover:none) and (pointer:coarse) { #lottoDiv * { font-size:16px; } }
 
body::-webkit-scrollbar { width:10px; height:10px; }
body::-webkit-scrollbar-thumb { background-color:#003152; border-radius:10px; }
body::-webkit-scrollbar-track { background-color:transparent; }
#lottoDiv { max-width:720px; margin:0 auto; }
#lottoTitle { color:#ffffff; font-weight:bold; background-color:#003152; text-align:center; margin-bottom:10px; padding:15px; }
#lotto45Div { box-sizing:border-box; border-top:1px solid #cccccc; }
#lotto45Div div { color:#000000; font-weight:bold; width:10%; float:left; text-align:center; padding:10px 0px; box-sizing:border-box; border-bottom:1px solid #cccccc; border-right:1px solid #cccccc; background-color:#eeeeee; cursor:pointer;  }
.lotto-left-border { border-left : 1px solid #cccccc; }
#changeButton { color:#886a08; background-color:#fdfdae; display:block; text-align:center; padding:10px 0px; width:10%; float:left; font-weight:bold; cursor:pointer; box-sizing:border-box; border-right:1px solid #cccccc; border-bottom:1px solid #cccccc; }
#lotto45Div input { color:#642efe; font-weight:bold; text-align:center; width:calc(20% - 1px); border:1px solid #cccccc; border-top:none; border-left:none; float:left; outline:none; padding:10px 0px; background-color:#e6e0f8; }
#lottoButton { color:#f9ee07; font-weight:bold; cursor:pointer; background-color:#900000; text-align:center; margin-top:10px; padding:15px;}
#lotto6sDiv { color:#0b3b0b; font-weight:bold; text-align:center; padding:15px; border:1px solid #cccccc; background-color:#d9eccc; box-sizing:border-box; }
#lotto6sDiv span { display:inline-block; text-align:center; color:#0b3861; font-weight:bold; width:9%; padding:1%; background-color:#d5e6f9; border:1px solid #ffffff; border-radius:10px; }
</style>
<body>
<div id="lottoDiv">
    <div id="lottoTitle">로또번호 추출기</div>
    <div id="lotto45Div"></div>
    <div id="lottoButton">로또번호 생성</div>
    <div id="lotto6sDiv">1) 회색바탕시 : 기본선택 옵션<br>
    2) 붉은바탕시 : 필수선택 옵션<br>
    3) 흰색바탕시 : 제외선택 옵션<br>
    *게임으로만 즐기세요. 너무 진심이시면 곤란*<br>
    *당첨되면 1억은 커뮤니티 발전을 위해 우리에게 기부해주세요*
    </div>
</div>
<script>
function firstMade() {
    first = choiceLotto;
    for (first45 in first) {
        firstRandom = Math.floor(Math.random() * first.length);
        firstChange = first[firstRandom];
        first[firstRandom] = first[first45];
        first[first45] = firstChange;  
    }
    first = requiredLotto.concat(first.slice(0, 6 - requiredLotto.length)).sort(function(...sort) { return sort[0] - sort[1]; });
    //first = requiredLotto.concat(first.slice(0, 6 - requiredLotto.length));
    // Sort all numbers except the last one
    first.slice(0, 5).sort((a, b) => a - b);    
    // Find a number less than 25 for the last position
    let under25Numbers = choiceLotto.filter(num => parseInt(num) < 25);
    first[5] = under25Numbers[Math.floor(Math.random() * under25Numbers.length)];
}
function lotto45Mode(...mode) {
    mode[0].dataset.lotto = mode[1];
    mode[0].style.fontWeight = mode[2];
    mode[0].style.color = mode[3];
    mode[0].style.backgroundColor = mode[4];
}
for (lotto45 = 1; lotto45 <= 70; lotto45++) {
    if (lotto45 == 70) lotto45Div.innerHTML += "<div data-lotto='basic'>" + lotto45 + "</div><span class='lotto-left-border' id='changeButton' data-lotto='yes'>OK</span><input id='firstInput' style='color:#0b3861;background-color:#d5e6f9' value=5><input id='lastInput' value=5><br style='clear:both'>";
    else if (lotto45 % 10 == 1) lotto45Div.innerHTML += "<div class='lotto-left-border' data-lotto='basic'>" + lotto45 + "</div>";
    else lotto45Div.innerHTML += "<div data-lotto='basic'>" + lotto45 + "</div>";
}
document.querySelector("#changeButton").addEventListener("click", function() {
    if (this.dataset.lotto == "yes") {
        lotto45Mode(this, "basic");
        this.innerHTML = "NO";
    }
    else {
        lotto45Mode(this, "yes");
        this.innerHTML = "OK";
    }
});
for (choice of document.querySelectorAll("#lotto45Div div")) {
    choice.addEventListener("click", function() {
        checkYes = checkNo = 0;
        for (choice of document.querySelectorAll("#lotto45Div div")) {
            if (choice.dataset.lotto == "yes") checkYes += 1;
            if (choice.dataset.lotto == "no") checkNo += 1;
        }
        if (this.dataset.lotto == "basic") {
            if (checkYes == 6) alert("6개 초과");
            else lotto45Mode(this, "yes", "bold", "#900000", "#f7d7e4");
        }
        else if (this.dataset.lotto == "yes") {
            if (checkNo == 39) {
                alert("6개 미만");
                lotto45Mode(this, "basic", "bold", "#000000", "#eeeeee");
            }
            else lotto45Mode(this, "no", "normal", "#cccccc", "#ffffff");
        }
        else if (this.dataset.lotto == "no") lotto45Mode(this, "basic", "bold", "#000000", "#eeeeee");
    });
}
/*
function lastMade() {
    last = choiceLotto.filter(filter => !firstLotto.includes(filter));
    if (last.length < 6) {
        last = ["X", "X", "X", "X", "X", "X"];
        lastAuto = 1;
    }
    else {
        for (last39 in last) {
            lastRandom = Math.floor(Math.random() * last.length);
            lastChange = last[lastRandom];
            last[lastRandom] = last[last39];
            last[last39] = lastChange;  
        }
        if (document.querySelector("#changeButton").dataset.lotto == "basic") last = last.slice(0, 6).sort(function(...sort) { return sort[0] - sort[1]; });
        else last = requiredLotto.concat(last.slice(0, 6 - requiredLotto.length)).sort(function(...sort) { return sort[0] - sort[1]; });
    }
}
*/
function lastMade() {
    last = choiceLotto.filter(filter => !firstLotto.includes(filter));
    if (last.length < 6) {
        last = ["X", "X", "X", "X", "X", "X"];
        lastAuto = 1;
    }
    else {
        for (last39 in last) {
            lastRandom = Math.floor(Math.random() * last.length);
            lastChange = last[lastRandom];
            last[lastRandom] = last[last39];
            last[last39] = lastChange;  
        }
        if (document.querySelector("#changeButton").dataset.lotto == "basic") {
            last = requiredLotto.concat(last.slice(0, 6 - requiredLotto.length)).sort(function(...sort) { return sort[0] - sort[1]; });
            //last = last.slice(0, 6);
            last.slice(0, 5).sort((a, b) => a - b);            
            let under25Numbers = choiceLotto.filter(num => parseInt(num) < 25);
            last[5] = under25Numbers[Math.floor(Math.random() * under25Numbers.length)];
        } else {
            last = requiredLotto.concat(last.slice(0, 6 - requiredLotto.length)).sort(function(...sort) { return sort[0] - sort[1]; });
            last.slice(0, 5).sort((a, b) => a - b);
            let under25Numbers = choiceLotto.filter(num => parseInt(num) < 25);
            last[5] = under25Numbers[Math.floor(Math.random() * under25Numbers.length)];
        }
    }
}
 
 document.querySelector("#lottoButton").addEventListener("click", function() {
    firstAuto= firstInput.value.trim();
    lastAuto = lastInput.value.trim();
    requiredLotto = [];
    choiceLotto = [];
    for (choice of document.querySelectorAll("#lotto45Div div")) {
        if (choice.dataset.lotto == "yes") requiredLotto.push(choice.innerHTML);
        if (choice.dataset.lotto == "basic") choiceLotto.push(choice.innerHTML);
    }
    for (firstLotto = [], fn = 1; fn <= firstAuto; fn++) {
        firstMade();
        firstLotto = firstLotto.concat(first);
    }
    for (lastLotto = [], ln = 1; ln <= lastAuto; ln++) {
        lastMade();
        lastLotto = lastLotto.concat(last);
    }
    totalLotto = firstLotto.concat(lastLotto);
    lotto6sDiv.innerHTML = "";
    lotto6sDiv.style.backgroundColor = "#ffffff";
   
    for (tn in totalLotto) {
        if (tn ==  totalLotto.length - 1) lotto6sDiv.innerHTML += "<span>" + totalLotto[tn] + "</span>";
        else if (tn ==  firstAuto * 6 - 1) lotto6sDiv.innerHTML += "<span>" +  totalLotto[tn] + "</span><div style='height:10px'></div>";
        else if (tn % 6 == 5) lotto6sDiv.innerHTML += "<span>" + totalLotto[tn] + "</span><br>";
        else lotto6sDiv.innerHTML += "<span>" + totalLotto[tn] + "</span>";
    }
    for (sn in document.querySelectorAll("#lotto6sDiv span")) {
        if (sn > firstAuto * 6 - 1)  {
            document.querySelectorAll("#lotto6sDiv span")[sn].style.color = "#642efe";
            document.querySelectorAll("#lotto6sDiv span")[sn].style.backgroundColor = "#e6e0f8";
        }
        for (rn of requiredLotto) {
            if (rn == document.querySelectorAll("#lotto6sDiv span")[sn].innerHTML) {
                document.querySelectorAll("#lotto6sDiv span")[sn].style.color = "#900000";
                document.querySelectorAll("#lotto6sDiv span")[sn].style.backgroundColor = "#f7d7e4";
            }
        }
    }
});
</script>
</body>
</html>
<?php
include_once(G5_PATH.'/_tail.php');
?>

 

이리하면 가령 body 와 html 마감이 중복이지 않나요?

 

그리고 무엇보다도 이 게시글의 코드는 저에게 1포인트를 주신 분께만 다운로드 되는 코드인데 댓글로 코드를 다 까발리시니 제가 심기가 편하지 않네요.

아고..전 아무 생각없이 무조건 공유하는거라고 생각했네요.

생각이 짧았습니다.

근데 제 글 지울려고 수정할려고 해도 수정못하게 되있네요...

다시 로그인해도 마찬가지...ㅠ.ㅠ

제글 지워주시면 감사하겠습니다.

제가 직접 댓글신고해도 신고 자체가 안되네요...ㅠ.ㅠ

아님 제가 어떻게 하면 지울수 있나 알려주시면 업뎃하겠습니다.

다시한번 사과드립니다.

아닙니다.

다음부터라도 좀더 신중하겠습니다.

다시한번 사과드립니다.

저 쏘스는 신고밖에 없는거 같네요. 제 댓글 대신 신고해서 지워주시면 감사하겠습니다.

전체 639
그누보드5 플러그인 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT