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>