全部壊れるスクリプト Ver.1.10 ソース

次のような、たった数行のスクリプトで、度派手なことが出来るんですね〜。
まぁ、えらい迷惑なスクリプトなんですけど。(笑(^^ ;;

ソース



/*-------------------------------------------------------------------
  あ…全部壊れるよ…(笑(^^ ;;
  
       *************************************
       *** 全部壊れるスクリプト Ver.1.10 ***
       *************************************
<address>
  いろきゅう
  http://ir9.jp/
</address>

** コメントはけさないでちょ! **

** ユーザー設定エリアのパラメータは、
   各自で自由に変更してかまいません。 **

// ---- Ver.01.10.0001 : 2001/09/17 ----------
// * スクリプト配布用に組みなおし
// * ベンチマークアルゴリズム 変更

---------------------------------------------------------------------*/
/* ■■■■■ ユーザー設定エリア ■■■■■ */ 

// メッセージのフラグ
var BeforeMsgFlg  = true;
var AfterMsgFlg   = true;
var BenchFlg      = true;
// 表示されるメッセージを記述
var BeforeMessage = "あっ!";
var AfterMessage  = "■ 警告 ■\n\nこれ以上の破壊活動は不可能です! (だって、何も無いもん:笑)\n速やかに破壊活動を停止してください!\n\n…というか、これ以上、破壊ネタないんですケド。(笑(汗\nいやいや、その前に一言!\n\n\nえぇかげん、破壊活動するなぁぁぁぁ〜〜〜っ!(笑\n ";
var AfterStatus   = "シーラ家はあなたの手によって破壊されました。";

/* ■■■■■ ユーザー設定エリア おわり ■■■■■ */ 

//// ブラウザ判定

var bl_user = navigator.userAgent;
var bl_ver  = navigator.appVersion;
var bl_name = navigator.appName;
var bl_id   = 0;

if(bl_name.indexOf('Internet Explorer') >= 0)
{
    if(bl_ver.charAt(0) >= 4)
    {
        bl_id = 1;
    }
}

//////////////////////////
var i = 0;      // 落ちるのと共有してます。

var paramX = 5;
var paramY = 10;
var g_StartElement;
var g_hStopFall;
var g_nAllCount;    // すべてのオブジェクトの数
var g_ProcCount = 0;
var g_nBench    = 0;

// ベンチマーク用
var g_BeforeTime;
var g_NowTime;
var g_TmpTime;
var g_ComTmp;
var g_MaxFps = 0;
var g_MinFps = 99;

/***** 落ちる処理  *****/

function allbreak(){
    if(bl_id != 1) return 0;    // IE 以外さようなら〜

    while(document.body != document.all[i] && i < 9999)
        i++;
    if(i == 1000){ alert("なんかおかしいで。"); return 0;}

    g_StartElement = ++i;
    g_nAllCount = document.all.length;
    if(BeforeMsgFlg) alert(BeforeMessage);

    for(i = g_StartElement; i < g_nAllCount; i++)
    {
        document.all[i].x = Math.ceil((paramX * 2) * Math.random()) - 5;    // マイナスにもプラスにもなるように
        document.all[i].y = Math.ceil(paramY * Math.random()) + 10;         // 最小値は 10です。(正確には11)
        document.all[i].nowX = 0;
        document.all[i].nowY = 0;
        document.all[i].tmpY = 0;

        document.all[i].style.position = "relative";
    }
    g_BeforeTime = (new Date).getTime;  // ベンチ
    g_hStopFall = setInterval("AllFallProc()",50);
}

function AllFallProc(){
    // 落ちましょう♪
    for(i = g_StartElement; i < g_nAllCount; i++)
    {
        document.all[i].nowX += document.all[i].x * 2;  // X 軸については。直でOK!

        document.all[i].tmpY += document.all[i].y;      // Y軸については、直じゃ駄目です。
        document.all[i].nowY += document.all[i].tmpY;   //

        document.all[i].style.left = document.all[i].nowX + "px";
        document.all[i].style.top  = document.all[i].nowY + "px";
    }
////////////////////
    g_NowTime = (new Date()).getTime();
    g_TmpTime = g_NowTime - g_BeforeTime;   // 今の時刻をから、前回の時刻を引いて差を算出

    g_ComTmp = Math.round(1000 / g_TmpTime);
    (g_MaxFps < g_ComTmp) && (g_MaxFps = g_ComTmp); // Max値更新
    (g_MinFps > g_ComTmp) && (g_MinFps = g_ComTmp); // 同じくMin更新に

    if(BenchFlg) window.status = "ベンチマーク " + g_ComTmp + "/20 fps くらい  ||  Max/MIN = " + g_MaxFps + "/" + g_MinFps + "fps";
//////////////////////
    if(g_ProcCount > 20)
    {
        for(i = g_StartElement; i < g_nAllCount; i++)
        {   // 隠しましょう♪
            document.all[i].style.display = "none";
        }
        clearInterval(g_hStopFall);
        if(AfterMsgFlg) alert(AfterMessage);
        window.status = AfterStatus;
    }
    else
    {
        g_BeforeTime = g_NowTime;  // べんち
        g_ProcCount++;
        g_nBench++;
    }

}

▲このページのTOP▲