javascriptでスロットを作る

さて前回連想配列を試す為に使用したスロットのソースを、オブジェクト指向もどきで作ってみました!
元のソース完全に変えてしまったから、元のは断片的に晒します。。
ちなみに現時点でできているのは、
startでそれぞれのリールが周り、stopでそれぞれに対応するリールが止まる。
これだけ(死


以下コード


*スタートボタン押したときの処理


function start() {
if (leftflg == 0 && centerflg == 0 && rightflg == 0) {
leftflg = 1;
centerflg = 1;
rightflg = 1;
leftLoop();
ctimerID = setTimeout("centerLoop()",200);
rtimerID = setTimeout("rightLoop()",300);
}
}
*それぞれのリールをまわす処理

//左のリールをまわす
function leftLoop() {
clearTimeout(ltimerID);
if (leftflg == 1) {
for (l = 1;l <= 3;l++) {
document.images["left"+l].src = line[0][(left + l) % line[0].length];
}
left++;
ltimerID = setTimeout("leftLoop()", 100);
}
}
ちなみにこれが真ん中と右の分とあります^^
リールが入ってる配列、lineは真ん中のリールはline[1]、右のリールはline[2]とかになっています。
*止める処理

function Stop(place) {
flg[place] = 0;
stop[place] = 0;
}
これは昨日のやつまんまです。。

で、これをクラス化っぽくしてみたのがこちらです↓


var SlotClass = function(name) {
this.name = name;
this.flg = 0;
this.count = 0;
this.timerID = 0;
this.line = 0;
};

SlotClass.prototype = {
//リールをまわす
loop : function() {
clearTimeout(this.timerID);
if (this.flg == 1) {
for (i = 1;i <= 3;i++) {
document.getElementById(this.name+i).innerHTML = this.line[(this.count + i) % this.line.length];
}
this.count++;
this.setTimer();
}
},
//タイマーをセットする
setTimer : function(){
this.timerID = setTimeout(this.name + ".loop()",100);
},
//ラインの値を入れる
setLine : function(line){
this.line = line;
},
//フラグをセット
setFlg : function(){
this.flg = 1;
},
//フラグを戻す
clearFlg : function(){
this.flg = 0;
}
}

//インスタンス作成
var left = new SlotClass("left");
var center = new SlotClass("center");
var right = new SlotClass("right");

//リール定義
var line = new Array();
line[0] = new Array(1,2,3,4,5,6,7,8,9,0);
line[1] = new Array(0,9,8,7,6,5,4,3,2,1);
line[2] = new Array(1,3,4,6,8,0,2,4,6,8);

left.setLine(line[0]);
center.setLine(line[1]);
right.setLine(line[2]);


function start() {
if (left.flg == 0 && center.flg == 0 && right.flg == 0) {
left.setFlg();
center.setFlg();
right.setFlg();

left.setTimer();
center.setTimer();
right.setTimer();
}
}

う〜んまだ無理矢理かな;
スタートだけそとにあるっていうのもなんか違和感が;
リールを入れるところもなんだかなぁ;と思ってしまう;
setTimeoutのところでthis.loopとできなかったことで、ちょっときもくなってるし。。


あ、ちなみに、今日も昨日も参考にしたサイトは、
第4回 JavaScriptでオブジェクト指向プログラミング − @IT
になります。