<?xml version="1.0" encoding="UTF-8"?>
  <rss version="2.0">
  <channel>
  <title>寒云不落格-计算机</title>
  <link>http://www.linzhiyun.com</link>
  <description>寒云不落格</description>
  <language>zh-cn</language>
  <copyright><![CDATA[Copyright 2005 YOKY-BLOG v1.0]]></copyright>
  <webMaster><![CDATA[yoky@163.com(林志云)]]></webMaster>
  <generator>YOKY-BLOG v1.0</generator> 
  <image>
	<title>寒云不落格</title> 
	<url>http://www.linzhiyun.comimages/logos.gif</url> 
	<link>http://www.linzhiyun.com</link> 
	<description>寒云不落格-计算机</description> 
  </image>

  <item>
  <link>http://www.linzhiyun.com/readblog.asp?id=3</link>
  <title><![CDATA[增加了几个ubb转换功能]]></title>
  <author>yoky@163.com(yoky)</author>
  <category><![CDATA[本站原创]]></category>
  <pubDate>2007-1-11</pubDate>
  <guid>http://www.linzhiyun.com/readblog.asp?id=3</guid>
  <description><![CDATA[这两天又为blog的ubb转换增加了几个功能，分别测试一下<br /> <textarea name="textarea" cols="60" rows="8" id="code01"><br />&lt;script&gt;<br />alert(&quot;可运行html和客户端脚本&quot;);<br />alert(&quot;文本域带行号&quot;);<br />&lt;/script&gt;<br /> </textarea><br /><INPUT onclick="runCode('code01')"  type="button" value="运行代码" style="cursor:hand">  [Ctrl+A 全部选择 提示：你可先修改部分代码，再按运行]<br /><br /> <div class=HtmlCode><br />&lt;script&gt;<br />alert(&quot;带行号的代码段&quot;);<br />&lt;/script&gt;<br /> </div><br /><br />[d]删除线[/d]就比较简单了]]></description>
  </item>

  <item>
  <link>http://www.linzhiyun.com/readblog.asp?id=4</link>
  <title><![CDATA[Javascript引用对象的几种方法]]></title>
  <author>yoky@163.com(yoky)</author>
  <category><![CDATA[本站原创]]></category>
  <pubDate>2007-2-7</pubDate>
  <guid>http://www.linzhiyun.com/readblog.asp?id=4</guid>
  <description><![CDATA[ <div class=HtmlCode><br />&lt;!DOCTYPE html PUBLIC &#34;-//W3C//DTD XHTML 1.0 Transitional//EN&#34; &#34;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&#34;&gt;<br />&lt;html xmlns=&#34;http://www.w3.org/1999/xhtml&#34;&gt;<br />&lt;head&gt;<br />&lt;meta http-equiv=&#34;Content-Type&#34; content=&#34;text/html; charset=gb2312&#34; /&gt;<br />&lt;title&gt;Javascript引用对象几种方法&lt;/title&gt;<br />&lt;/head&gt;<br />&lt;body&gt;<br />&lt;input type=&#34;text&#34; id=&#34;inputid&#34; name=&#34;inputname&#34; value=&#34;inputvalue&#34; /&gt;&lt;br /&gt;<br />&lt;input type=&#34;button&#34; value=&#34;id&#34; onclick=&#34;javascript:m1()&#34; /&gt;&lt;br /&gt;<br />&lt;input type=&#34;button&#34; value=&#34;getElementById&#34; onclick=&#34;javascript:m2()&#34; /&gt;&lt;br /&gt;<br />&lt;input type=&#34;button&#34; value=&#34;name&#34; onclick=&#34;javascript:m3()&#34; /&gt;&lt;br /&gt;<br />&lt;input type=&#34;button&#34; value=&#34;getElementsByName&#34; onclick=&#34;javascript:m4()&#34; /&gt;&lt;br /&gt;<br />&lt;input type=&#34;button&#34; value=&#34;getElementsByTagName&#34; onclick=&#34;javascript:m5()&#34; /&gt;&lt;br /&gt;<br />&lt;input type=&#34;button&#34; value=&#34;sourseIndex&#34; onclick=&#34;javascript:m6()&#34; /&gt;&lt;br /&gt;<br />&lt;script type=&#34;text/javascript&#34;&gt;<br />//1.使用id<br />function m1(){<br />alert(inputid.value);<br />}<br />//2.使用getElementById<br />function m2(){<br />alert(document.getElementById(&#34;inputid&#34;).value);<br />}<br />//3.使用name<br />function m3(){<br />alert(document.all.inputname.value);<br />}<br />//4.使用getElementsByName<br />function m4(){<br />alert(document.getElementsByName(&#34;inputname&#34;)[0].value);<br />}<br />//5.使用getElementsByTagName<br />function m5(){<br />alert(document.getElementsByTagName(&#34;input&#34;)[0].value);<br />}<br />//6.使用sourseIndex<br />function m6(){<br />alert(document.all(6).value);<br />//全部的集合有all、anchors、applets、areas、attributes、behaviorUrns、bookmarks、boundElements、cells、childNodes、children、controlRange、elements、embeds、filters、forms、frames、images、imports、links、mimeTypes、options、plugins、rows、rules、scripts、styleSheets、tBodies、TextRectangle<br />}<br />&lt;/script&gt;<br />&lt;/body&gt;<br />&lt;/html&gt;<br /> </div><br />[zy]<br /> <textarea name="textarea" cols="60" rows="8" id="code01"><br />&lt;!DOCTYPE html PUBLIC &#34;-//W3C//DTD XHTML 1.0 Transitional//EN&#34; &#34;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&#34;&gt;<br />&lt;html xmlns=&#34;http://www.w3.org/1999/xhtml&#34;&gt;<br />&lt;head&gt;<br />&lt;meta http-equiv=&#34;Content-Type&#34; content=&#34;text/html; charset=gb2312&#34; /&gt;<br />&lt;title&gt;Javascript引用对象几种方法&lt;/title&gt;<br />&lt;/head&gt;<br />&lt;body&gt;<br />&lt;input type=&#34;text&#34; id=&#34;inputid&#34; name=&#34;inputname&#34; value=&#34;inputvalue&#34; /&gt;&lt;br /&gt;<br />&lt;input type=&#34;button&#34; value=&#34;id&#34; onclick=&#34;javascript:m1()&#34; /&gt;&lt;br /&gt;<br />&lt;input type=&#34;button&#34; value=&#34;getElementById&#34; onclick=&#34;javascript:m2()&#34; /&gt;&lt;br /&gt;<br />&lt;input type=&#34;button&#34; value=&#34;name&#34; onclick=&#34;javascript:m3()&#34; /&gt;&lt;br /&gt;<br />&lt;input type=&#34;button&#34; value=&#34;getElementsByName&#34; onclick=&#34;javascript:m4()&#34; /&gt;&lt;br /&gt;<br />&lt;input type=&#34;button&#34; value=&#34;getElementsByTagName&#34; onclick=&#34;javascript:m5()&#34; /&gt;&lt;br /&gt;<br />&lt;input type=&#34;button&#34; value=&#34;sourseIndex&#34; onclick=&#34;javascript:m6()&#34; /&gt;&lt;br /&gt;<br />&lt;script type=&#34;text/javascript&#34;&gt;<br />//1.使用id<br />function m1(){<br />alert(inputid.value);<br />}<br />//2.使用getElementById<br />function m2(){<br />alert(document.getElementById(&#34;inputid&#34;).value);<br />}<br />//3.使用name<br />function m3(){<br />alert(document.all.inputname.value);<br />}<br />//4.使用getElementsByName<br />function m4(){<br />alert(document.getElementsByName(&#34;inputname&#34;)[0].value);<br />}<br />//5.使用getElementsByTagName<br />function m5(){<br />alert(document.getElementsByTagName(&#34;input&#34;)[0].value);<br />}<br />//6.使用sourseIndex<br />function m6(){<br />alert(document.all(6).value);<br />//全部的集合有all、anchors、applets、areas、attributes、behaviorUrns、bookmarks、boundElements、cells、childNodes、children、controlRange、elements、embeds、filters、forms、frames、images、imports、links、mimeTypes、options、plugins、rows、rules、scripts、styleSheets、tBodies、TextRectangle<br />}<br />&lt;/script&gt;<br />&lt;/body&gt;<br />&lt;/html&gt;<br /> </textarea><br /><INPUT onclick="runCode('code01')"  type="button" value="运行代码" style="cursor:hand">  [Ctrl+A 全部选择 提示：你可先修改部分代码，再按运行]]]></description>
  </item>

  <item>
  <link>http://www.linzhiyun.com/readblog.asp?id=9</link>
  <title><![CDATA[asp常见错误]]></title>
  <author>yoky@163.com(yoky)</author>
  <category><![CDATA[本站原创]]></category>
  <pubDate>2007-3-23</pubDate>
  <guid>http://www.linzhiyun.com/readblog.asp?id=9</guid>
  <description><![CDATA[<b>错误信息:</b><br />Response 对象, ASP 0106 (0x80020005)<br />遇到未处理的数据类型。<br /><b>出错原因:</b><br />response.write(variable)或&lt;%=variable%&gt;<br />其中variable为“未处理的数据类型”，如数组等。<br /><br /><b>错误信息:</b><br /><a href='http://www.microsoft.com/china/homepage/ms.htm' target=_blank><img src=images/keyimg/microsoft.gif border=0> Microsoft</a> OLE DB Provider for ODBC Drivers (0x80040E21)<br />ODBC 驱动程序不支持所需的属性。<br /><b>出错原因:</b><br />sql语句中的表名在数据库中不存在。<br /><br /><b>错误信息:</b><br />错误类型：<br /><a href='http://www.microsoft.com/china/homepage/ms.htm' target=_blank><img src=images/keyimg/microsoft.gif border=0> Microsoft</a> JET Database Engine (0x80040E10)<br />至少一个参数没有被指定值。<br /><b>出错原因:</b><br />sql语句中的字段在数据库表中不存在。<br /><br /><b>错误信息:</b><br />错误类型：<br />ADODB.Recordset (0x800A0CC1)<br />在对应所需名称或序数的集合中，未找到项目。<br /><b>出错原因:</b><br />recordset对象所对应的名称或序数在sql语句中不存在。<br /><br /><b>错误信息:</b><br />Provider (0x80004005)未指定的错误<br /><b>出错原因:</b><br />调查中<br /><b>解决方法:</b><br />数据库连接字符串<br />&#34;DRIVER={<a href='http://www.microsoft.com/china/homepage/ms.htm' target=_blank><img src=images/keyimg/microsoft.gif border=0> Microsoft</a> Access Driver (*.mdb)};DBQ=&#34;&amp;db<br />改为<br />&#34;Provider=<a href='http://www.microsoft.com/china/homepage/ms.htm' target=_blank><img src=images/keyimg/microsoft.gif border=0> Microsoft</a>.Jet.OLEDB.4.0;Data Source=&#34;&amp;db<br /><br /><b>错误信息:</b><br />错误类型：<br /><a href='http://www.microsoft.com/china/homepage/ms.htm' target=_blank><img src=images/keyimg/microsoft.gif border=0> Microsoft</a> OLE DB Provider for ODBC Drivers (0x80040E10)<br />[<a href='http://www.microsoft.com/china/homepage/ms.htm' target=_blank><img src=images/keyimg/microsoft.gif border=0> Microsoft</a>][ODBC <a href='http://www.microsoft.com/china/homepage/ms.htm' target=_blank><img src=images/keyimg/microsoft.gif border=0> Microsoft</a> Access Driver] 参数不足，期待是 1。<br /><b>出错原因:</b><br />sql语句中的wh&#101;re部分的字段在数据库表中不存在。<br />]]></description>
  </item>

  <item>
  <link>http://www.linzhiyun.com/readblog.asp?id=12</link>
  <title><![CDATA[用JavaScript写的贪食蛇游戏]]></title>
  <author>yoky@163.com(yoky)</author>
  <category><![CDATA[本站原创]]></category>
  <pubDate>2007-5-8</pubDate>
  <guid>http://www.linzhiyun.com/readblog.asp?id=12</guid>
  <description><![CDATA[ <div class=HtmlCode><br />&lt;html&gt;<br />&lt;head&gt;<br />&lt;meta http-equiv=&#34;Content-Type&#34; content=&#34;text/html; charset=gb2312&#34; /&gt;<br />&lt;style type=&#34;text/css&#34;&gt;<br />.snake{ background:#090}<br />.food0{ background:#f90}<br />.food1{ background:#f00}<br />.bar{ background:#000}<br />#state{ color:#090; font-weight:bold}<br />&lt;/style&gt;<br />&lt;script type=&#34;text/javascript&#34;&gt;<br />var rows = 16;<br />var cells = 30;<br />var squareWidth = 20;<br />var speed = 5000;<br />var borderWidth = 5;<br />var times = 200;//0.2秒<br />var start = 0;<br />var pause = 0;<br />var sUp;<br /><br />window.onload = function cr&#101;ateMap()<br />{<br />&nbsp;mapWidth = eval(cells*squareWidth+2*borderWidth);<br />&nbsp;mapHeight = eval(rows*squareWidth+2*borderWidth);<br />&nbsp;mapLeft = (document.body.clientWidth-mapWidth)/2;<br />&nbsp;mapTop = (document.body.clientHeight-mapHeight)/2;<br />&nbsp;document.body.innerHTML += &#34;&lt;div id=\&#34;map\&#34; style=\&#34;position:absolute; left:&#34; + mapLeft + &#34;px; top:&#34; + mapTop + &#34;px; width:&#34; + mapWidth + &#34;px; height:&#34; + mapHeight + &#34;px; border:&#34; + borderWidth + &#34;px solid #789;\&#34;&gt;&lt;/div&gt;&#34;;<br />[zy]&nbsp;<br />&nbsp;gameMap = new Array()<br />&nbsp;for(y=0;y&lt;rows;y++)<br />&nbsp;{<br />&nbsp;&nbsp;gameMap[y]=new Array();<br />&nbsp;&nbsp;for(x=0;x&lt;cells;x++)<br />&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;gameMap[y][x]=&#39;0&#39;;<br />&nbsp;&nbsp;}<br />&nbsp;}&nbsp;<br />&nbsp;snakeX = parseInt(Math.random()*cells);<br />&nbsp;snakeY = parseInt(Math.random()*rows);<br />&nbsp;cr&#101;ateSnake();<br />&nbsp;cr&#101;ateFood();<br />&nbsp;cr&#101;ateBar();<br />&nbsp;snakeDIV = map.all.tags(&#34;DIV&#34;);<br />}<br /><br />function cr&#101;ateSnake()//创建蛇<br />{<br />&nbsp;map.innerHTML += &#34;&lt;div x=\&#34;&#34; + snakeX + &#34;\&#34; y=\&#34;&#34; + snakeY + &#34;\&#34; style=\&#34;position:absolute; left:&#34; + snakeX * squareWidth + &#34;px; top:&#34; + snakeY * squareWidth + &#34;px; width:&#34; + squareWidth + &#34;px; height:&#34; + squareWidth + &#34;px; overflow:hidden;\&#34; class=\&#34;snake\&#34;&gt;&lt;/div&gt;&#34;;<br />&nbsp;gameMap[snakeY][snakeX]=&#39;s&#39;;<br />}<br /><br />function cr&#101;ateFood()//创建食物<br />{<br />&nbsp;foodX = parseInt(Math.random() * cells);<br />&nbsp;foodY = parseInt(Math.random() * rows);<br />&nbsp;if(gameMap[foodY][foodX]==&#39;0&#39;)<br />&nbsp;{<br />&nbsp;&nbsp;map.innerHTML += &#34;&lt;span id=\&#34;food\&#34; style=\&#34;position:absolute; left:&#34; + foodX * squareWidth + &#34;; top:&#34; + foodY * squareWidth + &#34;; width:&#34; + squareWidth + &#34;; height:&#34; + squareWidth +&#34;; overflow:hidden;\&#34; class=\&#34;food&#34; + parseInt(Math.random() * 2) + &#34;\&#34;&gt;&lt;/span&gt;&#34;<br />&nbsp;&nbsp;gameMap[foodY][foodX]=&#39;f&#39;;<br />&nbsp;}<br />&nbsp;else <br />&nbsp;{<br />&nbsp;&nbsp;cr&#101;ateFood();<br />&nbsp;}<br />}<br /><br />function cr&#101;ateBar()//创建障碍物<br />{<br />&nbsp;barX = parseInt(Math.random() * cells);<br />&nbsp;barY = parseInt(Math.random() * rows);<br />&nbsp;if(gameMap[barY][barX]==&#39;0&#39;)<br />&nbsp;{<br />&nbsp;&nbsp;map.innerHTML += &#34;&lt;span id=\&#34;bar\&#34; style=\&#34;position:absolute; left:&#34; + barX * squareWidth + &#34;; top:&#34; + barY * squareWidth + &#34;; width:&#34; + squareWidth + &#34;; height:&#34; + squareWidth +&#34;; overflow:hidden;\&#34; class=\&#34;bar\&#34;&gt;&lt;/span&gt;&#34;<br />&nbsp;&nbsp;gameMap[barY][barX]=&#39;b&#39;;<br />&nbsp;}<br />&nbsp;else <br />&nbsp;{<br />&nbsp;&nbsp;cr&#101;ateBar();<br />&nbsp;}<br />}<br /><br />document.onkeydown = function keyDown(){<br />&nbsp;key = event.keyCode;<br />&nbsp;switch(key)<br />&nbsp;{<br />&nbsp;&nbsp;case 37://左<br />&nbsp;&nbsp;&nbsp;snakeGo(-1,0); <br />&nbsp;&nbsp;&nbsp;document.getElementById(&#34;state&#34;).innerHTML = &#34;左行&#34;; <br />&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;case 39://右<br />&nbsp;&nbsp;&nbsp;snakeGo(1,0); <br />&nbsp;&nbsp;&nbsp;document.getElementById(&#34;state&#34;).innerHTML = &#34;右行&#34;; <br />&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;case 38://上<br />&nbsp;&nbsp;&nbsp;snakeGo(0,-1); <br />&nbsp;&nbsp;&nbsp;document.getElementById(&#34;state&#34;).innerHTML = &#34;上行&#34;; <br />&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;case 40://下<br />&nbsp;&nbsp;&nbsp;snakeGo(0,1); <br />&nbsp;&nbsp;&nbsp;document.getElementById(&#34;state&#34;).innerHTML = &#34;下行&#34;; <br />&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;case 32://空格键<br />&nbsp;&nbsp;&nbsp;if(start == 1)<br />&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;pause = 1; <br />&nbsp;&nbsp;&nbsp;&nbsp;document.getElementById(&#34;state&#34;).innerHTML += &#34;（暂停）&#34;; <br />&nbsp;&nbsp;&nbsp;&nbsp;clearTimeout(sUp);<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;break;<br />&nbsp;}<br />&nbsp;return false;<br />}<br /><br />function snakeGo(x,y)<br />{<br />&nbsp;goX = x;<br />&nbsp;goY = y;<br />&nbsp;if(start == 0)<br />&nbsp;{<br />&nbsp;&nbsp;speedUp();<br />&nbsp;&nbsp;start = 1;<br />&nbsp;&nbsp;move();<br />&nbsp;}<br />&nbsp;else<br />&nbsp;{<br />&nbsp;&nbsp;if(pause == 1)<br />&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;speedUp();<br />&nbsp;&nbsp;&nbsp;pause = 0;<br />&nbsp;&nbsp;&nbsp;move();<br />&nbsp;&nbsp;}<br />&nbsp;}<br />}<br />function speedUp()//蛇越行越快<br />{<br />&nbsp;times -= 4;<br />&nbsp;if(times &gt; 4)<br />&nbsp;{<br />&nbsp;&nbsp;sUp = setTimeout(&#34;speedUp()&#34;,speed);<br />&nbsp;}<br />}<br />&nbsp;<br />function move()//移动并判断蛇前面是什么<br />{<br />&nbsp;snakeX += goX;<br />&nbsp;snakeY += goY;<br />&nbsp;if(snakeY&lt;0||snakeY&gt;=rows||snakeX&lt;0||snakeX&gt;=cells)<br />&nbsp;{<br />&nbsp;&nbsp;gameOver(&#34;撞墙了&#34;);<br />&nbsp;}<br />&nbsp;else<br />&nbsp;{<br />&nbsp;&nbsp;snakeFront = gameMap[snakeY][snakeX];<br />&nbsp;&nbsp;if(snakeFront == &#39;0&#39;)//蛇前面为空<br />&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;crawl();<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;else if(snakeFront == &#39;f&#39;)//蛇前面为食物<br />&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;eat();<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;else if(snakeFront == &#39;b&#39;)//蛇前面为障碍物<br />&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;gameOver(&#34;撞到障碍物&#34;);<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;else if(snakeFront == &#39;s&#39;)//蛇前面为蛇<br />&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;gameOver(&#34;咬到自己了&#34;);<br />&nbsp;&nbsp;}<br />&nbsp;}<br /><br />}<br /><br />function gameOver(type)//游戏结束<br />{<br />&nbsp;document.getElementById(&#34;state&#34;).innerHTML = &#34;游戏结束&#34;; <br />&nbsp;reStart = confirm(&#34;^_^啊哦~，&#34;+type+&#34;，重新开始吗？&#34;)<br />&nbsp;if(reStart)<br />&nbsp;{<br />&nbsp;&nbsp;window.location.reload();//刷新页面<br />&nbsp;}<br />}<br /><br />function crawl()//蛇前是空地时<br />{<br />&nbsp;//清除蛇尾，创建蛇头，产生爬行效果<br />&nbsp;gameMap[snakeDIV[0].y][snakeDIV[0].x] = &#39;0&#39;;<br />&nbsp;snakeDIV[0].removeNode(true);<br />&nbsp;cr&#101;ateSnake();<br />&nbsp;if(pause == 0)<br />&nbsp;{<br />&nbsp;&nbsp;setTimeout(&#34;move()&#34;,times);<br />&nbsp;}<br />}<br /><br />function eat()//蛇前面是食物时<br />{<br />&nbsp;cr&#101;ateSnake();//增加一个蛇的节点<br />&nbsp;document.getElementById(&#34;food&#34;).removeNode(true);//清除食物<br />&nbsp;cr&#101;ateFood();//创建食物<br />&nbsp;if(pause == 0)<br />&nbsp;{<br />&nbsp;&nbsp;setTimeout(&#34;move()&#34;,times);<br />&nbsp;}<br />}<br />&lt;/script&gt;<br />&lt;title&gt;贪食蛇&lt;/title&gt;<br />&lt;/head&gt;<br />&lt;body&gt;<br />&lt;h2&gt;贪食蛇&lt;/h2&gt;<br />&lt;hr style=&#34;color:#333&#34; size=&#34;1px&#34; /&gt;<br />&lt;p style=&#34;font-size:13px;&#34;&gt;说明：1.绿色方块代表蛇，橙色或红色方块代表食物，黑色方块代表障碍物。2.用方向键控制蛇的方向，空格键暂停，方向键开始。&lt;br /&gt;当前状态：&lt;span id=&#34;state&#34;&gt;准备开始&lt;/span&gt;&lt;br /&gt;Author:Yoky&lt;/p&gt;<br />&lt;/body&gt;<br />&lt;/html&gt;<br /> </div><br /> <textarea name="textarea" cols="60" rows="8" id="code01"><br />&lt;html&gt;<br />&lt;head&gt;<br />&lt;meta http-equiv=&#34;Content-Type&#34; content=&#34;text/html; charset=gb2312&#34; /&gt;<br />&lt;style type=&#34;text/css&#34;&gt;<br />.snake{ background:#090}<br />.food0{ background:#f90}<br />.food1{ background:#f00}<br />.bar{ background:#000}<br />#state{ color:#090; font-weight:bold}<br />&lt;/style&gt;<br />&lt;script type=&#34;text/javascript&#34;&gt;<br />var rows = 16;<br />var cells = 30;<br />var squareWidth = 20;<br />var speed = 5000;<br />var borderWidth = 5;<br />var times = 200;//0.2秒<br />var start = 0;<br />var pause = 0;<br />var sUp;<br /><br />window.onload = function cr&#101;ateMap()<br />{<br />&nbsp;mapWidth = eval(cells*squareWidth+2*borderWidth);<br />&nbsp;mapHeight = eval(rows*squareWidth+2*borderWidth);<br />&nbsp;mapLeft = (document.body.clientWidth-mapWidth)/2;<br />&nbsp;mapTop = (document.body.clientHeight-mapHeight)/2;<br />&nbsp;document.body.innerHTML += &#34;&lt;div id=\&#34;map\&#34; style=\&#34;position:absolute; left:&#34; + mapLeft + &#34;px; top:&#34; + mapTop + &#34;px; width:&#34; + mapWidth + &#34;px; height:&#34; + mapHeight + &#34;px; border:&#34; + borderWidth + &#34;px solid #789;\&#34;&gt;&lt;/div&gt;&#34;;<br />&nbsp;<br />&nbsp;gameMap = new Array()<br />&nbsp;for(y=0;y&lt;rows;y++)<br />&nbsp;{<br />&nbsp;&nbsp;gameMap[y]=new Array();<br />&nbsp;&nbsp;for(x=0;x&lt;cells;x++)<br />&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;gameMap[y][x]=&#39;0&#39;;<br />&nbsp;&nbsp;}<br />&nbsp;}&nbsp;<br />&nbsp;snakeX = parseInt(Math.random()*cells);<br />&nbsp;snakeY = parseInt(Math.random()*rows);<br />&nbsp;cr&#101;ateSnake();<br />&nbsp;cr&#101;ateFood();<br />&nbsp;cr&#101;ateBar();<br />&nbsp;snakeDIV = map.all.tags(&#34;DIV&#34;);<br />}<br /><br />function cr&#101;ateSnake()//创建蛇<br />{<br />&nbsp;map.innerHTML += &#34;&lt;div x=\&#34;&#34; + snakeX + &#34;\&#34; y=\&#34;&#34; + snakeY + &#34;\&#34; style=\&#34;position:absolute; left:&#34; + snakeX * squareWidth + &#34;px; top:&#34; + snakeY * squareWidth + &#34;px; width:&#34; + squareWidth + &#34;px; height:&#34; + squareWidth + &#34;px; overflow:hidden;\&#34; class=\&#34;snake\&#34;&gt;&lt;/div&gt;&#34;;<br />&nbsp;gameMap[snakeY][snakeX]=&#39;s&#39;;<br />}<br /><br />function cr&#101;ateFood()//创建食物<br />{<br />&nbsp;foodX = parseInt(Math.random() * cells);<br />&nbsp;foodY = parseInt(Math.random() * rows);<br />&nbsp;if(gameMap[foodY][foodX]==&#39;0&#39;)<br />&nbsp;{<br />&nbsp;&nbsp;map.innerHTML += &#34;&lt;span id=\&#34;food\&#34; style=\&#34;position:absolute; left:&#34; + foodX * squareWidth + &#34;; top:&#34; + foodY * squareWidth + &#34;; width:&#34; + squareWidth + &#34;; height:&#34; + squareWidth +&#34;; overflow:hidden;\&#34; class=\&#34;food&#34; + parseInt(Math.random() * 2) + &#34;\&#34;&gt;&lt;/span&gt;&#34;<br />&nbsp;&nbsp;gameMap[foodY][foodX]=&#39;f&#39;;<br />&nbsp;}<br />&nbsp;else <br />&nbsp;{<br />&nbsp;&nbsp;cr&#101;ateFood();<br />&nbsp;}<br />}<br /><br />function cr&#101;ateBar()//创建障碍物<br />{<br />&nbsp;barX = parseInt(Math.random() * cells);<br />&nbsp;barY = parseInt(Math.random() * rows);<br />&nbsp;if(gameMap[barY][barX]==&#39;0&#39;)<br />&nbsp;{<br />&nbsp;&nbsp;map.innerHTML += &#34;&lt;span id=\&#34;bar\&#34; style=\&#34;position:absolute; left:&#34; + barX * squareWidth + &#34;; top:&#34; + barY * squareWidth + &#34;; width:&#34; + squareWidth + &#34;; height:&#34; + squareWidth +&#34;; overflow:hidden;\&#34; class=\&#34;bar\&#34;&gt;&lt;/span&gt;&#34;<br />&nbsp;&nbsp;gameMap[barY][barX]=&#39;b&#39;;<br />&nbsp;}<br />&nbsp;else <br />&nbsp;{<br />&nbsp;&nbsp;cr&#101;ateBar();<br />&nbsp;}<br />}<br /><br />document.onkeydown = function keyDown(){<br />&nbsp;key = event.keyCode;<br />&nbsp;switch(key)<br />&nbsp;{<br />&nbsp;&nbsp;case 37://左<br />&nbsp;&nbsp;&nbsp;snakeGo(-1,0); <br />&nbsp;&nbsp;&nbsp;document.getElementById(&#34;state&#34;).innerHTML = &#34;左行&#34;; <br />&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;case 39://右<br />&nbsp;&nbsp;&nbsp;snakeGo(1,0); <br />&nbsp;&nbsp;&nbsp;document.getElementById(&#34;state&#34;).innerHTML = &#34;右行&#34;; <br />&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;case 38://上<br />&nbsp;&nbsp;&nbsp;snakeGo(0,-1); <br />&nbsp;&nbsp;&nbsp;document.getElementById(&#34;state&#34;).innerHTML = &#34;上行&#34;; <br />&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;case 40://下<br />&nbsp;&nbsp;&nbsp;snakeGo(0,1); <br />&nbsp;&nbsp;&nbsp;document.getElementById(&#34;state&#34;).innerHTML = &#34;下行&#34;; <br />&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;case 32://空格键<br />&nbsp;&nbsp;&nbsp;if(start == 1)<br />&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;pause = 1; <br />&nbsp;&nbsp;&nbsp;&nbsp;document.getElementById(&#34;state&#34;).innerHTML += &#34;（暂停）&#34;; <br />&nbsp;&nbsp;&nbsp;&nbsp;clearTimeout(sUp);<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;break;<br />&nbsp;}<br />&nbsp;return false;<br />}<br /><br />function snakeGo(x,y)<br />{<br />&nbsp;goX = x;<br />&nbsp;goY = y;<br />&nbsp;if(start == 0)<br />&nbsp;{<br />&nbsp;&nbsp;speedUp();<br />&nbsp;&nbsp;start = 1;<br />&nbsp;&nbsp;move();<br />&nbsp;}<br />&nbsp;else<br />&nbsp;{<br />&nbsp;&nbsp;if(pause == 1)<br />&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;speedUp();<br />&nbsp;&nbsp;&nbsp;pause = 0;<br />&nbsp;&nbsp;&nbsp;move();<br />&nbsp;&nbsp;}<br />&nbsp;}<br />}<br />function speedUp()//蛇越行越快<br />{<br />&nbsp;times -= 4;<br />&nbsp;if(times &gt; 4)<br />&nbsp;{<br />&nbsp;&nbsp;sUp = setTimeout(&#34;speedUp()&#34;,speed);<br />&nbsp;}<br />}<br />&nbsp;<br />function move()//移动并判断蛇前面是什么<br />{<br />&nbsp;snakeX += goX;<br />&nbsp;snakeY += goY;<br />&nbsp;if(snakeY&lt;0||snakeY&gt;=rows||snakeX&lt;0||snakeX&gt;=cells)<br />&nbsp;{<br />&nbsp;&nbsp;gameOver(&#34;撞墙了&#34;);<br />&nbsp;}<br />&nbsp;else<br />&nbsp;{<br />&nbsp;&nbsp;snakeFront = gameMap[snakeY][snakeX];<br />&nbsp;&nbsp;if(snakeFront == &#39;0&#39;)//蛇前面为空<br />&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;crawl();<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;else if(snakeFront == &#39;f&#39;)//蛇前面为食物<br />&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;eat();<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;else if(snakeFront == &#39;b&#39;)//蛇前面为障碍物<br />&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;gameOver(&#34;撞到障碍物&#34;);<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;else if(snakeFront == &#39;s&#39;)//蛇前面为蛇<br />&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;gameOver(&#34;咬到自己了&#34;);<br />&nbsp;&nbsp;}<br />&nbsp;}<br /><br />}<br /><br />function gameOver(type)//游戏结束<br />{<br />&nbsp;document.getElementById(&#34;state&#34;).innerHTML = &#34;游戏结束&#34;; <br />&nbsp;reStart = confirm(&#34;^_^啊哦~，&#34;+type+&#34;，重新开始吗？&#34;)<br />&nbsp;if(reStart)<br />&nbsp;{<br />&nbsp;&nbsp;window.location.reload();//刷新页面<br />&nbsp;}<br />}<br /><br />function crawl()//蛇前是空地时<br />{<br />&nbsp;//清除蛇尾，创建蛇头，产生爬行效果<br />&nbsp;gameMap[snakeDIV[0].y][snakeDIV[0].x] = &#39;0&#39;;<br />&nbsp;snakeDIV[0].removeNode(true);<br />&nbsp;cr&#101;ateSnake();<br />&nbsp;if(pause == 0)<br />&nbsp;{<br />&nbsp;&nbsp;setTimeout(&#34;move()&#34;,times);<br />&nbsp;}<br />}<br /><br />function eat()//蛇前面是食物时<br />{<br />&nbsp;cr&#101;ateSnake();//增加一个蛇的节点<br />&nbsp;document.getElementById(&#34;food&#34;).removeNode(true);//清除食物<br />&nbsp;cr&#101;ateFood();//创建食物<br />&nbsp;if(pause == 0)<br />&nbsp;{<br />&nbsp;&nbsp;setTimeout(&#34;move()&#34;,times);<br />&nbsp;}<br />}<br />&lt;/script&gt;<br />&lt;title&gt;贪食蛇&lt;/title&gt;<br />&lt;/head&gt;<br />&lt;body&gt;<br />&lt;h2&gt;贪食蛇&lt;/h2&gt;<br />&lt;hr style=&#34;color:#333&#34; size=&#34;1px&#34; /&gt;<br />&lt;p style=&#34;font-size:13px;&#34;&gt;说明：1.绿色方块代表蛇，橙色或红色方块代表食物，黑色方块代表障碍物。2.用方向键控制蛇的方向，空格键暂停，方向键开始。&lt;br /&gt;当前状态：&lt;span id=&#34;state&#34;&gt;准备开始&lt;/span&gt;&lt;br /&gt;Author:Yoky&lt;/p&gt;<br />&lt;/body&gt;<br />&lt;/html&gt;<br /> </textarea><br /><INPUT onclick="runCode('code01')"  type="button" value="运行代码" style="cursor:hand">  [Ctrl+A 全部选择 提示：你可先修改部分代码，再按运行]]]></description>
  </item>

  <item>
  <link>http://www.linzhiyun.com/readblog.asp?id=16</link>
  <title><![CDATA[表单中回车键实现Tab键的功能]]></title>
  <author>yoky@163.com(yoky)</author>
  <category><![CDATA[本站原创]]></category>
  <pubDate>2007-5-24</pubDate>
  <guid>http://www.linzhiyun.com/readblog.asp?id=16</guid>
  <description><![CDATA[ <div class=HtmlCode><br />&lt;html&gt;<br />&lt;head&gt;&lt;/head&gt;<br />&lt;body&gt;<br />&lt;form id=&#34;form1&#34;&gt;<br />  username&lt;input type=&#34;text&#34; name=&#34;username&#34; id=&#34;username&#34; /&gt;&lt;br /&gt;<br />  password&lt;input type=&#34;text&#34; name=&#34;password&#34; id=&#34;password&#34; /&gt;&lt;br /&gt;<br />  &lt;input type=&#34;submit&#34; name=&#34;s&#34; id=&#34;s&#34; value=&#34;Submit&#34; /&gt;<br />  &lt;input type=&#34;reset&#34; name=&#34;r&#34; id=&#34;r&#34; value=&#34;Reset&#34; /&gt;&lt;br /&gt;<br />&lt;/form&gt;<br />[zy]<br />&lt;script type=&#34;text/javascript&#34;&gt;<br />var currentForm = document.getElementById(&#34;form1&#34;);<br />function getNumber(id)<br />{<br />&nbsp;for(var i=0;i&lt;document.getElementById(&#34;form1&#34;).length;i++)<br />&nbsp;{<br />&nbsp;&nbsp;if(document.getElementById(id)==currentForm<i>)<br />&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;return i;<br />&nbsp;&nbsp;}<br />&nbsp;}<br />}<br />document.onkeydown = function nextFocus()<br />{<br />&nbsp;var currentID = document.activeElement.id;<br />&nbsp;var Num;<br />&nbsp;if(currentID!=null &amp;&amp; currentID!=&#34;&#34;)<br />&nbsp;{<br />&nbsp;&nbsp;Num = getNumber(currentID);<br />&nbsp;&nbsp;if(window.event.keyCode==13 &amp;&amp; Num&lt;currentForm.length-1) //这里的13可以修改成其他按键相应的键值来代替回车键<br />&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;currentForm[Num+1].focus();<br />&nbsp;&nbsp;&nbsp;return false;<br />&nbsp;&nbsp;}<br />&nbsp;}<br />}<br />&lt;/script&gt;<br />&lt;/body&gt;<br />&lt;/html&gt;<br /> </div><br /> <textarea name="textarea" cols="60" rows="8" id="code01"><br />&lt;html&gt;<br />&lt;head&gt;&lt;/head&gt;<br />&lt;body&gt;<br />&lt;form id=&#34;form1&#34;&gt;<br />  username&lt;input type=&#34;text&#34; name=&#34;username&#34; id=&#34;username&#34; /&gt;&lt;br /&gt;<br />  password&lt;input type=&#34;text&#34; name=&#34;password&#34; id=&#34;password&#34; /&gt;&lt;br /&gt;<br />  &lt;input type=&#34;submit&#34; name=&#34;s&#34; id=&#34;s&#34; value=&#34;Submit&#34; /&gt;<br />  &lt;input type=&#34;reset&#34; name=&#34;r&#34; id=&#34;r&#34; value=&#34;Reset&#34; /&gt;&lt;br /&gt;<br />&lt;/form&gt;<br />&lt;script type=&#34;text/javascript&#34;&gt;<br />var currentForm = document.getElementById(&#34;form1&#34;);<br />function getNumber(id)<br />{<br />&nbsp;for(var i=0;i&lt;document.getElementById(&#34;form1&#34;).length;i++)<br />&nbsp;{<br />&nbsp;&nbsp;if(document.getElementById(id)==currentForm<i>)<br />&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;return i;<br />&nbsp;&nbsp;}<br />&nbsp;}<br />}<br />document.onkeydown = function nextFocus()<br />{<br />&nbsp;var currentID = document.activeElement.id;<br />&nbsp;var Num;<br />&nbsp;if(currentID!=null &amp;&amp; currentID!=&#34;&#34;)<br />&nbsp;{<br />&nbsp;&nbsp;Num = getNumber(currentID);<br />&nbsp;&nbsp;if(window.event.keyCode==13 &amp;&amp; Num&lt;currentForm.length-1) //这里的13可以修改成其他按键相应的键值来代替回车键<br />&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;currentForm[Num+1].focus();<br />&nbsp;&nbsp;&nbsp;return false;<br />&nbsp;&nbsp;}<br />&nbsp;}<br />}<br />&lt;/script&gt;<br />&lt;/body&gt;<br />&lt;/html&gt;<br /> </textarea><br /><INPUT onclick="runCode('code01')"  type="button" value="运行代码" style="cursor:hand">  [Ctrl+A 全部选择 提示：你可先修改部分代码，再按运行]]]></description>
  </item>

  <item>
  <link>http://www.linzhiyun.com/readblog.asp?id=19</link>
  <title><![CDATA[javascript,asp,php,jsp,asp.net中一些取整函数的比较]]></title>
  <author>yoky@163.com(yoky)</author>
  <category><![CDATA[本站原创]]></category>
  <pubDate>2007-7-14</pubDate>
  <guid>http://www.linzhiyun.com/readblog.asp?id=19</guid>
  <description><![CDATA[<b>javascript</b><br /> <div class=HtmlCode><br />&lt;script&gt;<br />&lt;!--//<br />var n = 4.2;<br />document.write(Math.floor(n));//取小于等于n的最大整数（下取整） <br />document.write(Math.ceil(n));//取大于等于n的最小整数（上取整）<br />document.write(Math.round(n));//四舍五入（与符号无关）    <br />//--&gt;<br />&lt;/script&gt;<br /> </div><br /><br /><b>asp(vbscript)</b><br /> <div class=HtmlCode><br />&lt;%<br />dim n<br />n = 4.2<br />response.write(int(n)) &#39;取小于等于n的最大整数（下取整）<br />response.write(fix(n)) &#39;取整数部分（与符号和小数部分无关）<br />response.write(round(n)) &#39;四舍五入（与符号无关） <br />%&gt;   <br /> </div><br /><br /><b>php</b><br /> <div class=HtmlCode><br />&lt;?php<br />$n = 4.2;<br />echo(floor($n));//取小于等于n的最大整数（下取整）<br />echo(ceil($n));//取大于等于n的最小整数（上取整）<br />echo(round($n));//四舍五入（与符号无关）<br />echo(intval($n));//取整数部分（与符号和小数部分无关）<br />?&gt;<br /> </div><br /><br /><b>jsp(java)</b><br /> <div class=HtmlCode><br />&lt;%<br />float n = 4.2F; <br />out.print((int)n);//取整数部分（与符号和小数部分无关）（强制转换为int型）<br />out.print(java.lang.Math.floor(n));//取小于等于n的最大整数（下取整）（数据类型变为double型）<br />out.print(java.lang.Math.ceil(n));//取大于等于n的最小整数（上取整）（数据类型变为double型）<br />out.print(java.lang.Math.round(n));//四舍五入（与符号无关）<br />out.print(new Float(n).intValue());//取整数部分（与符号和小数部分无关）<br />?&gt;<br /> </div><br /><br /><b>asp.net(c#)</b><br /> <div class=HtmlCode><br />&lt;%<br />float n = 4.2; <br />Response.write(Math.Ceiling(n));//取小于等于n的最大整数（下取整）<br />Response.write(Math.Floor(n));//取大于等于n的最小整数（上取整）<br />%&gt;<br /> </div>]]></description>
  </item>

  <item>
  <link>http://www.linzhiyun.com/readblog.asp?id=26</link>
  <title><![CDATA[Javascript数组随机排序]]></title>
  <author>yoky@163.com(yoky)</author>
  <category><![CDATA[本站原创]]></category>
  <pubDate>2008-8-14</pubDate>
  <guid>http://www.linzhiyun.com/readblog.asp?id=26</guid>
  <description><![CDATA[ <textarea name="textarea" cols="60" rows="8" id="code01"><br />&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;<br />&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;<br />&lt;head&gt;<br />&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=gb2312&quot; /&gt;<br />&lt;title&gt;Javascript随机排序&lt;/title&gt;<br />&lt;/head&gt;<br />&lt;body&gt;<br />&lt;script type=&quot;text/javascript&quot;&gt;<br />function RandomArray(arr)<br />{<br />    var arrayLength = arr.length;<br />    var tmpArray1 = new Array();<br />    for(var i = 0; i &lt; arrayLength; i++)<br />    {<br />        tmpArray1<i> = i;<br />    }<br />    var tmpArray2 = new Array();<br />    for(var i = 0; i &lt; arrayLength; i++)<br />    {<br />        tmpArray2<i> = tmpArray1.splice(Math.floor(Math.random() * tmpArray1.length), 1);<br /><br />    }<br />    var randomArray = new Array();<br />    for(var i = 0; i &lt; arrayLength; i ++)<br />    {<br />        randomArray<i> = arr[tmpArray2<i>];<br />    }<br />    return randomArray;<br />}<br /><br />function rndOrder()<br />{<br />var names = document.getElementById(&quot;names&quot;).value;<br />var arr = names.split(&quot;,&quot;);<br />var rndArr = RandomArray(arr);<br />document.getElementById(&quot;result&quot;).innerHTML = rndArr;<br />}<br />&lt;/script&gt;<br />&lt;input type=&quot;text&quot; id=&quot;names&quot; value=&quot;张三,李四,王五,赵六&quot; size=&quot;100&quot; /&gt;&lt;input type=&quot;button&quot; value=&quot;随机排序&quot; onclick=&quot;rndOrder()&quot; <br /><br />/&gt;(每个名字之间用英文逗号,隔开)<br />&lt;div id=&quot;result&quot;&gt;&lt;/div&gt;<br />&lt;/body&gt;<br />&lt;/html&gt;<br /> </textarea><br /><INPUT onclick="runCode('code01')"  type="button" value="运行代码" style="cursor:hand">  [Ctrl+A 全部选择 提示：你可先修改部分代码，再按运行]<br /><br /><u>js中array对象的splice方法</u><br />The splice() method is used to remove and add new elements to an array.<br />splice()可向数组删除并加入新的元素。<br /><br /><b>语法</b><br />arrayObject.splice(index,howmany,element1,.....,elementX)<br /><br /><b>index</b><br />Required. Specify where to add/remove elements. Must be a number<br />必选项。指定在哪个位置加入/删除元素，必须是数字。<br /><br /><b>howmany</b><br />Required Specify how many elements should be removed. Must be a number, but can be &quot;0&quot;<br />必选项。指定有多少元素应该被删除。必须是数字，可以是&quot;0&quot; <br /><br /><b>element1</b><br />Optional. Specify a new element to add to the array<br />可选。指定要加入到数组中的新元素 <br /><br /><b>elementX</b><br />Optional. Several elements can be added<br />可选。可以加入多个元素 <br />]]></description>
  </item>

</channel>
</rss>
