//=================================================
// 移動処理とか画像処理とかをするところ
// 変更する箇所は特に無し
// コマンドはjiencommand.jsで行う
//
// 注意：ループ設定は命令がループするだけで位置が
// 初期化されるわけではありません
//=================================================

//グローバル変数
var now;
var count;
var timer;
var top;
var left;
var loop = false;

img = new Image();
for(var i = 0; i < 10; i++){
	img[i] = new Image();
	img[i].src = "./image/ii" + i + ".gif";
}

//変数の初期化
//第一引数：topからの位置
//第二引数：leftからの位置
//第三引数：ループする(true)、しない(false)
function init(top,left,loop){
	this.top = top;
	this.left = left;
	this.loop = loop;
	now = 0;
	count = 0;
	timer = 0;
	move();
}

//メイン処理
function move(){

	if(count == 0){
		document.getElementById("word").innerHTML = str[now]["comment"];
	}

	setImage(now,count);
	setLocation(now,count);

	count++;
	if((str[now]["count"] <= count && str[now]["move"] != 2) || (count >= 24 && str[now]["move"] == 2)){
		count = 0;
		if(str.length - 1 <= now){
			if(loop == true){
				now = 0;
			}else{
				clearTimeout(timer);
				return;
			}
		}else{
			now++;
		}
	}
	//50ミリ秒後に再度実行
	timer = setTimeout("move()",50);
}


//移動処理
//第一引数：現在の配列番号
//第二引数：現在の命令実行時間
function setLocation(now, count){

	switch(str[now]["move"]){
	case 0:
		break;
	case 1:
		if(str[now]["direction"] == 1){
			left--;
		}else{
			left++;
		}
		break;
	case 2:
		if(str[now]["direction"] == 1){
			left--;
		}else{
			left++;
		}
		if(count < 10){
			top--;
		}
		if(count >= 12 && count < 22){
			top++;
		}
		break;
	}

	document.getElementById("jisakujien").style.left = left;
	document.getElementById("jisakujien").style.top = top;
	document.getElementById("word").style.left = left + 10;
	document.getElementById("word").style.top = str[now]["move"] == 2 ? top - 17 : top - 12;

}


//画像をセット
//第一引数：現在の配列番号
//第二引数：現在の命令実行時間
function setImage(now, count){

	var imgnum;

	switch(str[now]["move"]){
	case 0:
	case 1:
		if(count == 0){
			imgnum = str[now]["direction"] == 1 ? 0 : 1;
			document.getElementById("jisakujien").innerHTML = getIMGTag(img[imgnum]);
		}
		break;
	case 2:
		switch(count){
		case 0:
			imgnum = str[now]["direction"] == 1 ? 5 : 2;
			document.getElementById("jisakujien").innerHTML = getIMGTag(img[imgnum]);
			break;
		case 9:
			imgnum = str[now]["direction"] == 1 ? 8 : 9;
			document.getElementById("jisakujien").innerHTML = getIMGTag(img[imgnum]);
			break;		
		case 13:
			imgnum = str[now]["direction"] == 1 ? 6 : 3;
			document.getElementById("jisakujien").innerHTML = getIMGTag(img[imgnum]);
			break;
		case 22:
			imgnum = str[now]["direction"] == 1 ? 7 : 4;
			document.getElementById("jisakujien").innerHTML = getIMGTag(img[imgnum]);
			break;
		}
		break;
	}
}


//IMGタグ取得
//第一引数：イメージ処理番号
function getIMGTag(img){
	return "<img src=\"" + img.src + "\" width=" + img.width + " height=" + img.height + ">";
}
