wok-6.x annotate sokojs/stuff/multiset.sh @ rev 24127

sokojs: get slc levels
author Pascal Bellard <pascal.bellard@slitaz.org>
date Sat Oct 16 16:30:13 2021 +0000 (2021-10-16)
parents
children 787a1807d2bb
rev   line source
pascal@24127 1 #!/bin/sh
pascal@24127 2
pascal@24127 3 grep -q 'text/html' level.htm || patch -p0 <<EOT
pascal@24127 4 --- level.htm
pascal@24127 5 +++ level.htm
pascal@24127 6 @@ -22,12 +22,14 @@
pascal@24127 7 <html>
pascal@24127 8 <head>
pascal@24127 9 <title></title>
pascal@24127 10 +<META HTTP-EQUIV="Content Type" CONTENT="text/html;charset=utf-8">
pascal@24127 11 <script type="text/javascript">
pascal@24127 12 <!--
pascal@24127 13 if (parent.frames[0] == null) { document.location = "sokojs.htm" }
pascal@24127 14 -Row=16
pascal@24127 15 -Col=16
pascal@24127 16 -document.write("<body style=\"margin:0\" bgcolor=\"black\">&nbsp;<b><FONT FACE=\"Comic Sans MS\" SIZE=4 COLOR=\"red\">LEVEL ",
pascal@24127 17 +Row = eval(parent.frames[0].document.forms[1].elements[0].value)
pascal@24127 18 +Col = eval(parent.frames[0].document.forms[1].elements[1].value)
pascal@24127 19 +document.write("<body style=\"margin:0\" bgcolor=\"black\">&nbsp;<b><FONT FACE=\"Comic Sans MS\" SIZE=4 COLOR=\"red\">",
pascal@24127 20 + parent.frames[0].document.forms[1].elements[2].value," LEVEL ",
pascal@24127 21 eval(parent.frames[0].document.forms[0].elements[(Row*Col)+1].value) + 1);
pascal@24127 22
pascal@24127 23
pascal@24127 24 --- main.htm
pascal@24127 25 +++ main.htm
pascal@24127 26 @@ -11,8 +11,9 @@
pascal@24127 27 -->
pascal@24127 28 <html>
pascal@24127 29 <head>
pascal@24127 30 +<META HTTP-EQUIV="Content Type" CONTENT="text/html;charset=utf-8">
pascal@24127 31 <meta name="viewport" content="width=device-width, initial-scale=1">
pascal@24127 32 -<style>
pascal@24127 33 +<style type="text/css">
pascal@24127 34 <!--
pascal@24127 35 img.r{
pascal@24127 36 width:30px;
pascal@24127 37 @@ -76,19 +77,19 @@
pascal@24127 38 var ie4= (navigator.appName == "Microsoft Internet Explorer")?1:0;
pascal@24127 39 var ns4= (navigator.appName=="Netscape")?1:0;
pascal@24127 40
pascal@24127 41 -Row = 16
pascal@24127 42 -Col = 16
pascal@24127 43 +Row = eval(parent.frames[0].document.forms[1].elements[0].value)
pascal@24127 44 +Col = eval(parent.frames[0].document.forms[1].elements[1].value)
pascal@24127 45
pascal@24127 46 function Nmajevent(evenement)
pascal@24127 47 {
pascal@24127 48 if (evenement.which == 52 || evenement.which == 37) {
pascal@24127 49 Move(eval(manpos) - 1)
pascal@24127 50 } else if (evenement.which == 56 || evenement.which == 38) {
pascal@24127 51 - Move(eval(manpos) - Row)
pascal@24127 52 + Move(eval(manpos) - Col)
pascal@24127 53 } else if (evenement.which == 54 || evenement.which == 39) {
pascal@24127 54 Move(eval(manpos) + 1)
pascal@24127 55 } else if (evenement.which == 50 || evenement.which == 40) {
pascal@24127 56 - Move(eval(manpos) + Row)
pascal@24127 57 + Move(eval(manpos) + Col)
pascal@24127 58 }
pascal@24127 59 }
pascal@24127 60
pascal@24127 61 @@ -108,7 +109,7 @@
pascal@24127 62 if (window.event.keyCode == 37) {
pascal@24127 63 Move(eval(manpos) - 1)
pascal@24127 64 } else if (window.event.keyCode == 38) {
pascal@24127 65 - Move(eval(manpos) - Row)
pascal@24127 66 + Move(eval(manpos) - Col)
pascal@24127 67 } else if (window.event.keyCode == 39) {
pascal@24127 68 Move(eval(manpos) + 1)
pascal@24127 69 } else if (window.event.keyCode == 40) {
pascal@24127 70 @@ -150,7 +151,7 @@
pascal@24127 71 manD = new Image(30, 30); manD.src = "9.gif"; // down
pascal@24127 72
pascal@24127 73 level = new Array()
pascal@24127 74 -maxLevel = 97
pascal@24127 75 +maxLevel = eval(parent.frames[0].document.forms[1].elements[3].value)
pascal@24127 76 moves = 0
pascal@24127 77
pascal@24127 78 function ReloadLevel() {
pascal@24127 79 @@ -168,14 +169,18 @@
pascal@24127 80
pascal@24127 81 function GoLevel(n) {
pascal@24127 82 if (n == nbLevel) ReloadLevel()
pascal@24127 83 - parent.frames[0].document.location = "level" + n + ".htm"
pascal@24127 84 + parent.frames[0].document.location = parent.frames[0].document.forms[1].elements[2].value + "/level" + n + ".htm"
pascal@24127 85 +}
pascal@24127 86 +
pascal@24127 87 +function GoSet() {
pascal@24127 88 + parent.frames[0].document.location = document.getElementById('set').value + "/level0.htm"
pascal@24127 89 }
pascal@24127 90
pascal@24127 91 function dir(d) {
pascal@24127 92 if (d == -1) return "L";
pascal@24127 93 if (d == 1) return "R";
pascal@24127 94 - if (d == Row) return "D";
pascal@24127 95 - if (d == -Row) return "U";
pascal@24127 96 + if (d == Col) return "D";
pascal@24127 97 + if (d == -Col) return "U";
pascal@24127 98 }
pascal@24127 99
pascal@24127 100 function print_moves(m) {
pascal@24127 101 @@ -226,7 +231,7 @@
pascal@24127 102 if (nbBoxin == 0) {
pascal@24127 103 if (nbLevel < maxLevel) {
pascal@24127 104 alert("You have done a good job !")
pascal@24127 105 - parent.frames[0].location = "level" + (++nbLevel) + ".htm"
pascal@24127 106 + parent.frames[0].document.location = parent.frames[0].document.forms[1].elements[2].value + "/level" + (++nbLevel) + ".htm"
pascal@24127 107 GoLevel(nbLevel)
pascal@24127 108 } else {
pascal@24127 109 alert("Congratulations !")
pascal@24127 110 @@ -246,14 +251,14 @@
pascal@24127 111 for (y = 0 ; y < Row; y++) {
pascal@24127 112 document.write ("<TR>")
pascal@24127 113 for (x = 0; x < Col; x++) {
pascal@24127 114 - level[x + Row * y] = parent.frames[0].document.forms[0].elements[x + Row * y].value
pascal@24127 115 - if (level[x + Row * y] == dest) nbBoxin++
pascal@24127 116 - if (level[x + Row * y] == land || level[x + Row * y] == wall)
pascal@24127 117 + level[x + Col * y] = parent.frames[0].document.forms[0].elements[x + Col * y].value
pascal@24127 118 + if (level[x + Col * y] == dest) nbBoxin++
pascal@24127 119 + if (level[x + Col * y] == land || level[x + Col * y] == wall)
pascal@24127 120 document.write("<TD VALIGN=TOP>",
pascal@24127 121 - "<IMG align=middle class=r border=0 src=\"", level[x + Row * y], ".gif\"<\/TD>")
pascal@24127 122 + "<IMG align=middle class=r border=0 src=\"", level[x + Col * y], ".gif\"<\/TD>")
pascal@24127 123 else
pascal@24127 124 - document.write("<TD VALIGN=TOP><A HREF=\"JavaScript:Move(", x + Row * y, ")\">",
pascal@24127 125 - "<IMG align=middle class=r border=0 src=\"", level[x + Row * y], ".gif\"</A><\/TD>")
pascal@24127 126 + document.write("<TD VALIGN=TOP><A HREF=\"JavaScript:Move(", x + Col * y, ")\">",
pascal@24127 127 + "<IMG align=middle class=r border=0 src=\"", level[x + Col * y], ".gif\"</A><\/TD>")
pascal@24127 128 }
pascal@24127 129 document.write("<\/TR>")
pascal@24127 130 }
pascal@24127 131 @@ -266,8 +271,12 @@
pascal@24127 132 document.write("<FORM>",
pascal@24127 133 "<INPUT TYPE=button onClick=\"Javascript:ReloadLevel();\" value=\"Restart\">",
pascal@24127 134 "<INPUT TYPE=button onClick=\"Javascript:UndoMove();\" value=\"Undo\"><p id=\"moves\" style=\"color:white\">0 moves</p></center>")
pascal@24127 135 + style="style='font-family:Courier New;font-size:14px;font-weight:bold;border:1;border-color:0;padding:0;margin:0px;background-color:#c0c0c0;color:#404040..'"
pascal@24127 136 + document.write("<select id='set' "+style+" onChange=\"Javascript:GoSet();\">")
pascal@24127 137 + document.write("<option>sokojs</option>");
pascal@24127 138 + document.write("</select><br />")
pascal@24127 139 for (i = 0; i <= maxLevel; i++) {
pascal@24127 140 - document.write("<INPUT style='font-family:Courier New;font-size:14px;font-weight:bold;border:1;border-color:0;padding:0;margin:0px;background-color:#c0c0c0;color:#404040รน' TYPE=\"button\" onClick=\"Javascript:GoLevel(", i, ");\" value=\"", (i<9?"&nbsp;":"")+(i+1), "\">")
pascal@24127 141 + document.write("<INPUT "+style+" TYPE=\"button\" onClick=\"Javascript:GoLevel(", i, ");\" value=\"", (i<9?"&nbsp;":"")+(i+1), "\">")
pascal@24127 142 }
pascal@24127 143 document.write("<\/FORM></table>")
pascal@24127 144
pascal@24127 145 --- sokojs.htm
pascal@24127 146 +++ sokojs.htm
pascal@24127 147 @@ -22,13 +22,13 @@
pascal@24127 148 <html>
pascal@24127 149 <head>
pascal@24127 150 <TITLE>Sokoban (C) Michel Buze</TITLE>
pascal@24127 151 -<META HTTP-EQUIV="Keywords" CONTENT="boxworld,javascript,sokoban,jeu,jeux,game,buze,web">
pascal@24127 152 +<META HTTP-EQUIV="Content Type" CONTENT="text/html;charset=utf-8">
pascal@24127 153 <META NAME="Keywords" CONTENT="boxworld,javascript,sokoban,jeu,jeux,game,buze,web">
pascal@24127 154 <meta name="viewport" content="width=device-width, initial-scale=1">
pascal@24127 155 </head>
pascal@24127 156
pascal@24127 157 <frameset border="0" rows="0,700,*">
pascal@24127 158 -<frame src="level0.htm">
pascal@24127 159 +<frame src="sokojs/level0.htm">
pascal@24127 160 <frame src="0.gif">
pascal@24127 161 <frame src="0.gif">
pascal@24127 162 <noframes>
pascal@24127 163 EOT
pascal@24127 164 [ -s level0.htm ] && mkdir sokojs && mv level?*.htm sokojs &&
pascal@24127 165 sed -i 's|location = "|&../|;/.*main.htm/i document.write("<FORM ACTION=\\"\\">")\
pascal@24127 166 document.write("<INPUT TYPE=\\"button\\" value=\\""+Row+"\\">",\
pascal@24127 167 "<INPUT TYPE=\\"button\\" value=\\""+Col+"\\">",\
pascal@24127 168 "<INPUT TYPE=\\"button\\" value=\\"sokojs\\">",\
pascal@24127 169 "<INPUT TYPE=\\"button\\" value=\\"97\\"><\\/FORM>")' sokojs/level*.htm