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\"> <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\"> <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?" ":"")+(i+1), "\">")
|
pascal@24127
|
141 + document.write("<INPUT "+style+" TYPE=\"button\" onClick=\"Javascript:GoLevel(", i, ");\" value=\"", (i<9?" ":"")+(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
|