Witam!
Chciałem ostatnio stworzyć grę piłkarzyki i przerobić ją później na multiplayer w PHP. Problem polega na tym że tabela tab[] pokazuje ciąg znaków które później w funkcji split nie działa prawidłowo bo jak np. w tab[] ósma część ma zmienną 2 to split pokazuje wszystkie zmienne jako 1 mimo że zrobiłem ruch. Idea polega na tym że każda kropka ma 8 kierunków. Jeśli choć jeden kierunek będzie zajęty.... nie można wykonać ruchu... pole uznane za wartość 1 pozwala na ruch. Czy ktoś mi pomoże? A oto kod:
<script type="text/javascript" src="jquery.js"></script>
<meta name="viewport" content="width=device-width">
<body >
<center>
<canvas id="myCanvas" width="400" height="400" >
</canvas>
<script>
//----------------------------------var
var akx=160;
var aky=100;
var first=1;
var str = new Array();
var dotab;
var loncz;
var pom;
var pom2;
var tab = new Array();
//tabela wygenerowana przez PHP
//koniec tabeli
//------------------------------------------------------canvas
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
ctx.fillStyle = "#000000";
for (var i=0;i<=10;i++){
for(var j=1;j<=15;j++){
ctx.fillRect(i*20,j*20,5,5);
}
}
ctx.fillRect(80,0,5,5);
ctx.fillRect(100,0,5,5);
ctx.fillRect(120,0,5,5);
ctx.fillRect(80,320,5,5);
ctx.fillRect(120,320,5,5);
ctx.fillRect(100,320,5,5);
ctx.beginPath();
ctx.rect(100,160,5,5);
ctx.fillStyle = "red";
ctx.fill();
ctx.beginPath();
ctx.lineWidth="2";
ctx.strokeStyle="black";
ctx.rect(0,20,205,285);
ctx.stroke();
ctx.beginPath();
ctx.lineWidth="2";
ctx.strokeStyle="white";
ctx.moveTo(80,20);
ctx.lineTo(120,20);
ctx.moveTo(80,305);
ctx.lineTo(120,305);
ctx.stroke();
document.addEventListener("DOMContentLoaded", init, false);
//----------------------------------------init
function init()
{
var canvas = document.getElementById("myCanvas");
canvas.addEventListener("mousedown", getPosition, false);
}
//--------------------------------------onclick
function getPosition(event)
{
obtocz=$("#obtocz").val();
var x = new Number();
var y = new Number();
var canvas = document.getElementById("canvas");
if (event.x != undefined && event.y != undefined)
{
x = event.x;
y = event.y;
}
else // Firefox method to get the position
{
x = event.clientX + document.body.scrollLeft +
document.documentElement.scrollLeft;
y = event.clientY + document.body.scrollTop +
document.documentElement.scrollTop;
}
x -= myCanvas.offsetLeft;
y -= myCanvas.offsetTop;
var rx=x;
var ry=y;
rx=rx/20;
ry=ry/20;
rx=Math.round(rx);
ry=Math.round(ry);
rx=rx*20;
ry=ry*20;
if (first==1){
str=tab["1"+rx+""+ry].split("a");
//1 -20 -20
if (rx == aky-20 && ry == akx-20){
alert('end1');
str=tab["1"+rx+""+ry].split("a");
if(str[1] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a2"+"a"+str[2]+"a"+str[3]+"a"+str[4]+"a"+str[5]+"a"+str[6]+"a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
}else if(str[1] == 2){ alert("not to way");
}else if(str[2] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a2"+"a"+str[2]+"a"+str[3]+"a"+str[4]+"a"+str[5]+"a"+str[6]+"a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
}else if(str[2] == 2){ alert("not to way");
}else if(str[3] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a2"+"a"+str[2]+"a"+str[3]+"a"+str[4]+"a"+str[5]+"a"+str[6]+"a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
} else if(str[3] == 2){ alert("not to way");
}else if(str[4] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a2"+"a"+str[2]+"a"+str[3]+"a"+str[4]+"a"+str[5]+"a"+str[6]+"a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
} else if(str[4] == 2){ alert("not to way");
}else if(str[5] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a2"+"a"+str[2]+"a"+str[3]+"a"+str[4]+"a"+str[5]+"a"+str[6]+"a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
} else if(str[5] == 2){ alert("not to way");
}else if(str[6] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a2"+"a"+str[2]+"a"+str[3]+"a"+str[4]+"a"+str[5]+"a"+str[6]+"a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
} else if(str[6] == 2){ alert("not to way");
}else if(str[7] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a2"+"a"+str[2]+"a"+str[3]+"a"+str[4]+"a"+str[5]+"a"+str[6]+"a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
} else if(str[7] == 2){ alert("not to way");
}else if(str[8] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a2"+"a"+str[2]+"a"+str[3]+"a"+str[4]+"a"+str[5]+"a"+str[6]+"a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
} else if(str[8] == 2){ alert("not to way");
}else{
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a2"+"a"+str[2]+"a"+str[3]+"a"+str[4]+"a"+str[5]+"a"+str[6]+"a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("ends");
}
console.log(dotab);
}
//2 +20 +20
}
}
</script>
[...]
-------------------------tabela w php:
<?
for ($i=0;$i<=10;$i++){
for($j=1;$j<=15;$j++){
$w1=$i*20;
$w2=$j*20;
echo "tab[1".$w1."".$w2."]=\"a1a1a1a1a1a1a1a1\";";
}
}
?>
[..] cd...
//2 +20 +20
if (rx == aky+20 && ry == akx+20){
alert('end2');
str=tab["1"+rx+""+ry].split("a");
if(str[1] == 2){ alert("not to way");
}else if(str[1] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry;
dotab="a"+str[1]+"a2"+"a"+str[3]+"a"+str[4]+"a"+str[5]+"a"+str[6]+"a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
}else if(str[1] == 2){ alert("not to way");
}else if(str[2] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a"+str[1]+"a2"+"a"+str[3]+"a"+str[4]+"a"+str[5]+"a"+str[6]+"a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
}else if(str[2] == 2){ alert("not to way");
}else if(str[3] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a"+str[1]+"a2"+"a"+str[3]+"a"+str[4]+"a"+str[5]+"a"+str[6]+"a"+str[7]+"a"+str[8];tab["1"+rx+""+ry]=dotab; alert("end");
} else if(str[3] == 2){ alert("not to way");
}else if(str[4] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a"+str[1]+"a2"+"a"+str[3]+"a"+str[4]+"a"+str[5]+"a"+str[6]+"a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
} else if(str[4] == 2){ alert("not to way");
}else if(str[5] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a"+str[1]+"a2"+"a"+str[3]+"a"+str[4]+"a"+str[5]+"a"+str[6]+"a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
} else if(str[5] == 2){ alert("not to way");
}else if(str[6] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a"+str[1]+"a2"+"a"+str[3]+"a"+str[4]+"a"+str[5]+"a"+str[6]+"a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
} else if(str[6] == 2){ alert("not to way");
}else if(str[7] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a2"+"a"+str[2]+"a"+str[3]+"a"+str[4]+"a"+str[5]+"a"+str[6]+"a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
} else if(str[7] == 2){ alert("not to way");
}
else if(str[8] == 2){ alert("not to way");
}else if(str[8] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a2"+"a"+str[2]+"a"+str[3]+"a"+str[4]+"a"+str[5]+"a"+str[6]+"a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
}
else{
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a2"+"a"+str[2]+"a"+str[3]+"a"+str[4]+"a"+str[5]+"a"+str[6]+"a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("ends");
}
console.log(dotab);
}
//3 -20 0
if (rx == aky-20 && ry == akx){
alert('end3');
str=tab["1"+rx+""+ry].split("a");
if(str[1] == 2){ alert("not to way");
}else if(str[1] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a"+str[1]+"a"+str[2]+"a"+"a2a"+str[4]+"a"+str[5]+"a"+str[6]+"a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
}else if(str[2] == 2){ alert("not to way");
}else if(str[2] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a"+str[1]+"a"+str[2]+"a"+"a2a"+str[4]+"a"+str[5]+"a"+str[6]+"a"+str[7]+"a"+str[8];tab["1"+rx+""+ry]=dotab; alert("end");
}else if(str[3] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a"+str[1]+"a"+str[2]+"a"+"a2a"+str[4]+"a"+str[5]+"a"+str[6]+"a"+str[7]+"a"+str[8];tab["1"+rx+""+ry]=dotab; alert("end");
}else if(str[3] == 2){ alert("not to way");
}else if(str[4] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a"+str[1]+"a"+str[2]+"a"+"a2a"+str[4]+"a"+str[5]+"a"+str[6]+"a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
} else if(str[4] == 2){ alert("not to way");
}else if(str[5] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a"+str[1]+"a"+str[2]+"a"+"a2a"+str[4]+"a"+str[5]+"a"+str[6]+"a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
} else if(str[5] == 2){ alert("not to way");
}else if(str[6] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a"+str[1]+"a"+str[2]+"a"+"a2a"+str[4]+"a"+str[5]+"a"+str[6]+"a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
} else if(str[6] == 2){ alert("not to way");
}else if(str[7] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a"+str[1]+"a"+str[2]+"a"+"a2a"+str[4]+"a"+str[5]+"a"+str[6]+"a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
} else if(str[7] == 2){ alert("not to way");
}else if(str[8] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a"+str[1]+"a"+str[2]+"a"+"a2a"+str[4]+"a"+str[5]+"a"+str[6]+"a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
}
else if(str[8] == 2){ alert("not to way");
}
else{
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a"+str[1]+"a"+str[2]+"a"+"a2a"+str[4]+"a"+str[5]+"a"+str[6]+"a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("ends");
}
console.log(dotab);
}
[..]. cd...
//4 +20 0
if ((rx == aky+20 && ry == akx) ){
alert('end4');
str=tab["1"+rx+""+ry].split("a");
if(str[1] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry;
dotab="a"+str[1]+"a"+str[2]+"a"+str[3]+"a2"+"a"+str[5]+"a"+str[6]+"a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
}else if(str[1] == 2){ alert("not to way");
}else if(str[2] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry;
dotab="a"+str[1]+"a"+str[2]+"a"+str[3]+"a2"+"a"+str[5]+"a"+str[6]+"a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
}else if(str[2] == 2){ alert("not to way");
}else if(str[3] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry;
dotab="a"+str[1]+"a"+str[2]+"a"+str[3]+"a2"+"a"+str[5]+"a"+str[6]+"a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
} else if(str[3] == 2){ alert("not to way");
}else if(str[4] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry;
dotab="a"+str[1]+"a"+str[2]+"a"+str[3]+"a2"+"a"+str[5]+"a"+str[6]+"a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
} else if(str[4] == 2){ alert("not to way");
}else if(str[5] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry;
dotab="a"+str[1]+"a"+str[2]+"a"+str[3]+"a2"+"a"+str[5]+"a"+str[6]+"a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
} else if(str[5] == 2){ alert("not to way");
}else if(str[6] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry;
dotab="a"+str[1]+"a"+str[2]+"a"+str[3]+"a2"+"a"+str[5]+"a"+str[6]+"a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
} else if(str[6] == 2){ alert("not to way");
}else if(str[7] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry;
dotab="a"+str[1]+"a"+str[2]+"a"+str[3]+"a2"+"a"+str[5]+"a"+str[6]+"a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
}else if(str[7] == 2){ alert("not to way");
}else if(str[8] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry;
dotab="a"+str[1]+"a"+str[2]+"a"+str[3]+"a2"+"a"+str[5]+"a"+str[6]+"a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
}else if(str[8] == 2){ alert("not to way");
}else{
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry;
dotab="a"+str[1]+"a"+str[2]+"a"+str[3]+"a2"+"a"+str[5]+"a"+str[6]+"a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("endcos");
}
console.log(dotab);
}
//5 0 -20
if (rx == aky && ry == akx-20){
alert('end5');
str=tab["1"+rx+""+ry].split("a");
if(str[1] == 2){ alert("not to way");
}else if(str[1] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a"+str[1]+"a"+str[2]+"a"+str[3]+"a"+str[4]+"a2"+"a"+str[6]+"a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
}else if(str[1] == 2){ alert("not to way");
}else if(str[2] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a"+str[1]+"a"+str[2]+"a"+str[3]+"a"+str[4]+"a2"+"a"+str[6]+"a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
}else if(str[2] == 2){ alert("not to way");
}else if(str[3] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a"+str[1]+"a"+str[2]+"a"+str[3]+"a"+str[4]+"a2"+"a"+str[6]+"a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
} else if(str[3] == 2){ alert("not to way");
}else if(str[4] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a"+str[1]+"a"+str[2]+"a"+str[3]+"a"+str[4]+"a2"+"a"+str[6]+"a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
} else if(str[4] == 2){ alert("not to way");
}else if(str[5] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a"+str[1]+"a"+str[2]+"a"+str[3]+"a"+str[4]+"a2"+"a"+str[6]+"a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
} else if(str[5] == 2){ alert("not to way");
}else if(str[6] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a"+str[1]+"a"+str[2]+"a"+str[3]+"a"+str[4]+"a2"+"a"+str[6]+"a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
} else if(str[6] == 2){ alert("not to way");
}else if(str[7] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a"+str[1]+"a"+str[2]+"a"+str[3]+"a"+str[4]+"a2"+"a"+str[6]+"a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
} else if(str[7] == 2){ alert("not to way");
}else if(str[8] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a"+str[1]+"a"+str[2]+"a"+str[3]+"a"+str[4]+"a2"+"a"+str[6]+"a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
} else if(str[8] == 2){ alert("not to way");
}else{
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a"+str[1]+"a"+str[2]+"a"+str[3]+"a"+str[4]+"a2"+"a"+str[6]+"a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("ends");
}
console.log(dotab);
}
//6 0 +20
[...] cd....
if (rx == aky && ry == akx+20){
alert('end6');
str=tab["1"+rx+""+ry].split("a");
if(str[1] == 2){ alert("not to way");
}else if(str[1] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a"+str[1]+"a"+str[2]+"a"+str[3]+"a"+str[4]+"a"+str[5]+"a2a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
}else if(str[2] == 2){ alert("not to way");
}else if(str[2] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a"+str[1]+"a"+str[2]+"a"+str[3]+"a"+str[4]+"a"+str[5]+"a2a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
}
else if(str[3] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a"+str[1]+"a"+str[2]+"a"+str[3]+"a"+str[4]+"a"+str[5]+"a2a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
} else if(str[3] == 2){ alert("not to way");
}else if(str[4] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a"+str[1]+"a"+str[2]+"a"+str[3]+"a"+str[4]+"a"+str[5]+"a2a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
} else if(str[4] == 2){ alert("not to way");
}else if(str[5] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a"+str[1]+"a"+str[2]+"a"+str[3]+"a"+str[4]+"a"+str[5]+"a2a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
} else if(str[5] == 2){ alert("not to way");
}else if(str[6] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a"+str[1]+"a"+str[2]+"a"+str[3]+"a"+str[4]+"a"+str[5]+"a2a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
} else if(str[6] == 2){ alert("not to way");
}else if(str[7] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a"+str[1]+"a"+str[2]+"a"+str[3]+"a"+str[4]+"a"+str[5]+"a2a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
} else if(str[7] == 2){ alert("not to way");
}else if(str[8] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a"+str[1]+"a"+str[2]+"a"+str[3]+"a"+str[4]+"a"+str[5]+"a2a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
} else if(str[8] == 2){ alert("not to way");
}else{
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a"+str[1]+"a"+str[2]+"a"+str[3]+"a"+str[4]+"a"+str[5]+"a2a"+str[7]+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("ends");
}
console.log(dotab);
}
//7 -20 +20
if (rx == aky-20 && ry == akx+20){
alert('end7');
str=tab["1"+rx+""+ry].split("a");
if(str[1] == 2){ alert("not to way");
}else if(str[1] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry;
dotab="a"+str[1]+"a"+str[2]+"a"+str[3]+"a"+str[4]+"a"+str[5]+"a"+str[6]+"a2"+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
}else if(str[2] == 2){ alert("not to way");
}else if(str[2] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a"+str[1]+"a"+str[2]+"a"+str[3]+"a"+str[4]+"a"+str[5]+"a"+str[6]+"a2"+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
}else if(str[3] == 2){ alert("not to way");
}else if(str[3] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a"+str[1]+"a"+str[2]+"a"+str[3]+"a"+str[4]+"a"+str[5]+"a"+str[6]+"a2"+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
} else if(str[4] == 2){ alert("not to way");
}else if(str[4] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a"+str[1]+"a"+str[2]+"a"+str[3]+"a"+str[4]+"a"+str[5]+"a"+str[6]+"a2"+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
} else if(str[5] == 2){ alert("not to way");
}else if(str[5] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a"+str[1]+"a"+str[2]+"a"+str[3]+"a"+str[4]+"a"+str[5]+"a"+str[6]+"a2"+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
} else if(str[5] == 2){ alert("not to way");
}else if(str[6] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a"+str[1]+"a"+str[2]+"a"+str[3]+"a"+str[4]+"a"+str[5]+"a"+str[6]+"a2"+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
} else if(str[6] == 2){ alert("not to way");
}else if(str[7] == 2){ alert("not to way");
}else if(str[7] == 1){
}else if(str[8] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a"+str[1]+"a"+str[2]+"a"+str[3]+"a"+str[4]+"a"+str[5]+"a"+str[6]+"a2"+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("end");
}
else if(str[8] == 2){ alert("not to way");
}
else{
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a"+str[1]+"a"+str[2]+"a"+str[3]+"a"+str[4]+"a"+str[5]+"a"+str[6]+"a2"+"a"+str[8]; tab["1"+rx+""+ry]=dotab; alert("ends");
}
console.log(dotab);
}
[...] cd...
//8 +20 -20
if (rx == aky+20 && ry == akx-20){
alert('end8');
if(str[1] == 2){ alert("not to way");
}else if(str[1] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a"+str[1]+"a"+str[2]+"a"+str[3]+"a"+str[4]+"a"+str[5]+"a"+str[6]+"a"+str[7]+"a2"; tab["1"+rx+""+ry]=dotab; alert("end");
}else if(str[2] == 2){ alert("not to way");
}else if(str[2] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a"+str[1]+"a"+str[2]+"a"+str[3]+"a"+str[4]+"a"+str[5]+"a"+str[6]+"a"+str[7]+"a2"; tab["1"+rx+""+ry]=dotab; alert("end");
}else if(str[3] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a"+str[1]+"a"+str[2]+"a"+str[3]+"a"+str[4]+"a"+str[5]+"a"+str[6]+"a"+str[7]+"a2"; tab["1"+rx+""+ry]=dotab; alert("end");
} else if(str[3] == 2){ alert("not to way");
}else if(str[4] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; ddotab="a"+str[1]+"a"+str[2]+"a"+str[3]+"a"+str[4]+"a"+str[5]+"a"+str[6]+"a"+str[7]+"a2"; tab["1"+rx+""+ry]=dotab; alert("end");
} else if(str[4] == 2){ alert("not to way");
}else if(str[5] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a"+str[1]+"a"+str[2]+"a"+str[3]+"a"+str[4]+"a"+str[5]+"a"+str[6]+"a"+str[7]+"a2"; tab["1"+rx+""+ry]=dotab; alert("end");
}
else if(str[5] == 2){ alert("not to way");
}
else if(str[6] == 2){ alert("not to way");
}else if(str[6] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a"+str[1]+"a"+str[2]+"a"+str[3]+"a"+str[4]+"a"+str[5]+"a"+str[6]+"a"+str[7]+"a2"; tab["1"+rx+""+ry]=dotab; alert("end");
}else if(str[7] == 2){ alert("not to way");
}else if(str[7] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a"+str[1]+"a"+str[2]+"a"+str[3]+"a"+str[4]+"a"+str[5]+"a"+str[6]+"a"+str[7]+"a2"; tab["1"+rx+""+ry]=dotab; alert("end");
}
else if(str[8] == 2){ alert("not to way");
}else if(str[8] == 1){
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a"+str[1]+"a"+str[2]+"a"+str[3]+"a"+str[4]+"a"+str[5]+"a"+str[6]+"a"+str[7]+"a2"; tab["1"+rx+""+ry]=dotab; alert("end");
}
else{
ctx.beginPath(); ctx.lineWidth="2"; ctx.strokeStyle="black"; ctx.moveTo(aky,akx); ctx.lineTo(rx,ry); ctx.stroke(); aky=rx; akx=ry; dotab="a"+str[1]+"a"+str[2]+"a"+str[3]+"a"+str[4]+"a"+str[5]+"a"+str[6]+"a"+str[7]+"a2"; tab["1"+rx+""+ry]=dotab; alert("ends");
}
console.log(dotab+"8");
console.log(str);
console.log(tab["1"+rx+""+ry]+" tab");
}