ti ho fatto alcune correzioni, gli array in javascript li devi definire prima di usarli, poi nel ciclo devi chiedere i punti relativi per ogni posizione e devi indicare la posizione... ho aumentato le dimensioni del rettangolo canvas comunque vedi tu
va be comunque quasi funziona...
posto solo il body
codice:
<canvas id="lavagna" width="800" height="600"></canvas>
<script>
var x1=parseInt(prompt("quanti sono i lati del poligono"));
var c = document.getElementById('lavagna');
var x = new Array();
var y = new Array();
var ctx=c.getContext("2d");
ctx.moveTo(x[0],y[0]); // primo vertice
for (i=1;i<=x1-1; i++)
{
x[i]=parseInt(prompt("imposta la "+i+" ascissa"));
y[i]=parseInt(prompt("imposta la "+i+" ordinata"));
ctx.lineTo(x[i],y[i]); // si creano i lati
}
ctx.lineTo(x[0],y[0]); // si ritorna al primo vertice
//ctx.closePath(); // in alternativa, si chiude il percorso
ctx.stroke(); //disegna
</script>