<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_专注一件事情</title><subtitle type="text"/><id>http://feed.cnblogs.com/blog/u/17043/rss</id><updated>2010-07-18T15:35:01Z</updated><author><name>Lixy</name><uri>http://www.cnblogs.com/lixyvip/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lixyvip/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/17043/rss"/><entry><id>http://www.cnblogs.com/lixyvip/archive/2010/07/18/1780389.html</id><title type="text">t-sql判断一个字符串是否为bigint的函数（全角数字需要判断为不合格）</title><summary type="text">作者: 左其盛 发表于 2010-07-18 22:30 原文链接 阅读: 131 评论: 0最近在做的一个项目遇到这么一个问题：需要把一个字符串格式的卡号转换为bigint格式的卡号。t-sql自带的isnumeric函数不能用。它认为合格的数字不一定是bigint，比如一些带小数点的数字，科学计数的数字。上网搜，中文资料中没发现有帮助的，在sqlservercentral上发现有人写过这个函数...</summary><published>2010-07-18T15:35:00Z</published><updated>2010-07-18T15:35:00Z</updated><author><name>Lixy</name><uri>http://www.cnblogs.com/lixyvip/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lixyvip/archive/2010/07/18/1780389.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lixyvip/archive/2010/07/18/1780389.html"/><content type="html">&lt;p&gt;&lt;a href="http://www.cnblogs.com/zuoqs/"&gt;&lt;img src="http://pic.cnblogs.com/face/u90986.jpg" alt="" border="0"/&gt;&lt;/a&gt;&lt;br/&gt;作者: &lt;a href="http://www.cnblogs.com/zuoqs/" target="_blank"&gt;左其盛&lt;/a&gt; 发表于 2010-07-18 22:30 &lt;a href="http://www.cnblogs.com/zuoqs/archive/2010/07/18/1780350.html" target="_blank"&gt;原文链接&lt;/a&gt; 阅读: 131 评论: 0&lt;/p&gt;&lt;p&gt;最近在做的一个项目遇到这么一个问题：需要把一个字符串格式的卡号转换为bigint格式的卡号。t-sql自带的isnumeric函数不能用。它认为合格的数字不一定是bigint，比如一些带小数点的数字，科学计数的数字。上网搜，中文资料中没发现有帮助的，在sqlservercentral上发现有人写过这个函数了。关键的算法就是charindex + substring循环，一个一个看有没有不合法的字符。文章的评论中有人说可以用patindex函数，更快。不过用了这两个都解决不了全角数字的问题，他们都认为全角数字是合法的数字，当然实际转换为bigint的时候会报错。&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;又上网搜了搜，注意到了COLLATE关键字。一般的解释是它可以指定排序规则。可以改变的规则有大小写、重音、假名（日语才有）、全角半角。中文系统中很少用到这个关键字。一般就用默认的大小写不敏感。我这里想区分全角半角，必须用COLLATE关键字。可以这么用：charindex(substring(@s, @i, 1), '0123456789' COLLATE&amp;nbsp; Chinese_PRC_CS_AS_KS_WS)，其中COLLATE后面的参数中Chinese_PRC指定字符集所使用的代码页（其实就是所用的语言），后面最多可以跟四个&amp;#215;s，S表示敏感，对应的I表示不敏感。比如Chinese_PRC_CS_AS_KS_WS表示是简体中文，大小写敏感（CS），重音敏感（AS，这个对汉语没意义），区分假名类型（KS，这个对汉语也没意义），区分全角半角（KS），Chinese_PRC_CI_AI表示简体中文，大小写不敏感，重音不敏感，不区分假名类型，不区分全角半角。后两个参数忽略掉就表示否定。当然还可以直接指定二进制排序，全角半角的问题就自然解决了，而且二进制排序还更快一些：charindex(substring(@s, @i, 1), '0123456789' COLLATE&amp;nbsp; Chinese_PRC_BIN)&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;因此，理论上这个判断字符串是否为bigint的问题的核心算法有四种解决方案：&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;charindex(substring(@s, @i, 1), '0123456789' COLLATE&amp;nbsp; Chinese_PRC_CS_AS_KS_WS)&lt;br /&gt;&amp;nbsp;charindex(substring(@s, @i, 1), '0123456789' COLLATE&amp;nbsp; Chinese_PRC_BIN)&lt;br /&gt;&amp;nbsp;patindex('%[^0-9]%',@s COLLATE&amp;nbsp; Chinese_PRC_CS_AS_KS_WS )&lt;br /&gt;&amp;nbsp;patindex('%[^0-9]%',@s COLLATE&amp;nbsp; Chinese_PRC_BIN )&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;不过实验发现第三种不能解决问题，仍然认为全角数字是合法的数字。看微软msdn文档，上网搜都没有找到答案。其他三种都可以。理论上最后一种最快。&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;下面是完整的函数的代码：&lt;/p&gt;&#xD;
&lt;p&gt;&lt;br /&gt;/*&lt;br /&gt;-- Tests pass isnumeric AND fail IsBigInt AND fail cast(vc as bigint)&lt;/p&gt;&#xD;
&lt;p&gt;-- range&lt;br /&gt;SELECT IsNumeric('-9223372036854775809'), dbo.IsBigInt('-9223372036854775809')&lt;br /&gt;SELECT IsNumeric('9223372036854775808'), dbo.IsBigInt('9223372036854775808')&lt;/p&gt;&#xD;
&lt;p&gt;-- invalid chars&lt;br /&gt;SELECT IsNumeric('-5d2'), dbo.IsBigInt('-5d2')&lt;br /&gt;SELECT IsNumeric('-5e2'), dbo.IsBigInt('-5e2')&lt;br /&gt;SELECT IsNumeric('+3,4'), dbo.IsBigInt('+3,4')&lt;br /&gt;SELECT IsNumeric('+3.4'), dbo.IsBigInt('+3.4')&lt;/p&gt;&#xD;
&lt;p&gt;-- pass this strange case&lt;br /&gt;SELECT IsNumeric('00000000000000000000000000001'), dbo.IsBigInt('00000000000000000000000000001')&lt;br /&gt;*/&lt;/p&gt;&#xD;
&lt;p&gt;IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'dbo.IsBigInt') AND type IN (N'FN', N'IF', N'TF', N'FS', N'FT'))&lt;br /&gt;DROP FUNCTION dbo.IsBigInt&lt;br /&gt;GO&lt;/p&gt;&#xD;
&lt;p&gt;CREATE FUNCTION dbo.IsBigInt (@a varchar(30))&lt;br /&gt;returns bit&lt;br /&gt;AS&lt;br /&gt;BEGIN&lt;br /&gt;&amp;nbsp;-- Submitted to SqlServerCentral by William Talada&lt;br /&gt;&amp;nbsp;DECLARE&lt;br /&gt;&amp;nbsp;&amp;nbsp;@s varchar(30),&lt;br /&gt;&amp;nbsp;&amp;nbsp;@i int,&lt;br /&gt;&amp;nbsp;&amp;nbsp;@IsNeg bit,&lt;br /&gt;&amp;nbsp;&amp;nbsp;@valid int&lt;/p&gt;&#xD;
&lt;p&gt;-- assume the best&lt;br /&gt;&amp;nbsp;SET @valid = 1&lt;br /&gt;&amp;nbsp;SET @IsNeg=0&lt;br /&gt;&amp;nbsp;SET @s = ltrim(rtrim(@a))&lt;/p&gt;&#xD;
&lt;p&gt;-- strip OFF negative sign&lt;br /&gt;&amp;nbsp;IF len(@s) &amp;gt; 0&lt;br /&gt;&amp;nbsp;AND LEFT(@s, 1) = '-'&lt;br /&gt;&amp;nbsp;BEGIN&lt;br /&gt;&amp;nbsp;&amp;nbsp;SET @IsNeg=1&lt;br /&gt;&amp;nbsp;&amp;nbsp;SET @s = RIGHT(@s, len(@s) - 1)&lt;br /&gt;&amp;nbsp;END&lt;/p&gt;&#xD;
&lt;p&gt;-- strip OFF positive sign&lt;br /&gt;&amp;nbsp;IF len(@s) &amp;gt; 0&lt;br /&gt;&amp;nbsp;AND LEFT(@s, 1) = '+'&lt;br /&gt;&amp;nbsp;BEGIN&lt;br /&gt;&amp;nbsp;&amp;nbsp;SET @s = RIGHT(@a, len(@a) - 1)&lt;br /&gt;&amp;nbsp;END&lt;/p&gt;&#xD;
&lt;p&gt;-- strip leading zeros&lt;br /&gt;&amp;nbsp;while len(@s) &amp;gt; 1 and left(@s,1) = '0'&lt;br /&gt;&amp;nbsp;&amp;nbsp;set @s = right(@s, len(@s) - 1)&lt;/p&gt;&#xD;
&lt;p&gt;-- 19 digits max&lt;br /&gt;&amp;nbsp;IF len(@s) &amp;gt; 19 SET @valid = 0&lt;/p&gt;&#xD;
&lt;p&gt;-- the rest must be numbers only&lt;br /&gt;&amp;nbsp;--SET @i = len(@s)&lt;/p&gt;&#xD;
&lt;p&gt;--WHILE @i &amp;gt;= 1&lt;br /&gt;&amp;nbsp;--BEGIN&lt;br /&gt;&amp;nbsp;----IF charindex(substring(@s, @i, 1), '0123456789' COLLATE&amp;nbsp; Chinese_PRC_CI_AS_WS ) = 0 SET @valid = 0&lt;br /&gt;&amp;nbsp;--&amp;nbsp;IF charindex(substring(@s, @i, 1), '0123456789' COLLATE&amp;nbsp; Chinese_PRC_BIN ) = 0 SET @valid = 0&lt;/p&gt;&#xD;
&lt;p&gt;--&amp;nbsp;SET @i = @i - 1&lt;br /&gt;&amp;nbsp;--END&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;--if patindex('%[^0-9]%',@s COLLATE&amp;nbsp; Chinese_PRC_CI_AS_WS )&amp;gt;0&lt;br /&gt;&amp;nbsp;if patindex('%[^0-9]%',@s COLLATE&amp;nbsp; Chinese_PRC_BIN )&amp;gt;0&lt;br /&gt;&amp;nbsp;&amp;nbsp;set @valid=0&lt;/p&gt;&#xD;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;-- check range&lt;br /&gt;&amp;nbsp;IF @valid = 1 AND len(@s) = 19&lt;br /&gt;&amp;nbsp;BEGIN&lt;br /&gt;&amp;nbsp;&amp;nbsp;IF @isNeg = 1 AND @s &amp;gt; '9223372036854775808' SET @valid = 0&lt;br /&gt;&amp;nbsp;&amp;nbsp;IF @IsNeg = 0 AND @s &amp;gt; '9223372036854775807' SET @valid = 0&lt;br /&gt;&amp;nbsp;END&lt;/p&gt;&#xD;
&lt;p&gt;RETURN @valid&lt;br /&gt;END&lt;br /&gt;go&lt;br /&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/zuoqs/aggbug/1780350.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;评论: 0　&lt;a href="http://www.cnblogs.com/zuoqs/archive/2010/07/18/1780350.html#pagedcomment" target="_blank"&gt;查看评论&lt;/a&gt;　&lt;a href="http://www.cnblogs.com/zuoqs/archive/2010/07/18/1780350.html#commentform" target="_blank"&gt;发表评论&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://job.cnblogs.com/enterprise/2453/" target="_blank"&gt;百度期待您的加盟&lt;/a&gt;&lt;/p&gt;&lt;hr/&gt;&lt;p&gt;最新新闻：&lt;br/&gt;· &lt;a href="http://news.cnblogs.com/n/68591/" target="_blank"&gt;微软不为外界所知的十件趣事&lt;/a&gt;&lt;span style="color:gray"&gt;(2010-07-18 22:58)&lt;/span&gt;&lt;br/&gt;· &lt;a href="http://news.cnblogs.com/n/68590/" target="_blank"&gt;中国第2季搜索引擎市场规模达26亿 百度破70%&lt;/a&gt;&lt;span style="color:gray"&gt;(2010-07-18 22:54)&lt;/span&gt;&lt;br/&gt;· &lt;a href="http://news.cnblogs.com/n/68589/" target="_blank"&gt;Facebook用户数下周达5亿 邀请用户共享故事&lt;/a&gt;&lt;span style="color:gray"&gt;(2010-07-18 22:49)&lt;/span&gt;&lt;br/&gt;· &lt;a href="http://news.cnblogs.com/n/68584/" target="_blank"&gt;开源的可视化编辑器 KindEditor 3.5.1 发布&lt;/a&gt;&lt;span style="color:gray"&gt;(2010-07-18 22:35)&lt;/span&gt;&lt;br/&gt;· &lt;a href="http://news.cnblogs.com/n/68581/" target="_blank"&gt;WordPress 陷入开源‘边界’之争&lt;/a&gt;&lt;span style="color:gray"&gt;(2010-07-18 17:47)&lt;/span&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;编辑推荐：&lt;a href="http://news.cnblogs.com/n/68453/" target="_blank"&gt;揭秘Facebook背后的那些软件&lt;/a&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;网站导航：&lt;a href="http://www.cnblogs.com" target="_blank"&gt;博客园首页&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://home.cnblogs.com/" target="_blank"&gt;个人主页&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://news.cnblogs.com" target="_blank"&gt;新闻&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://home.cnblogs.com/ing/" target="_blank"&gt;闪存&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://home.cnblogs.com/group/" target="_blank"&gt;小组&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://space.cnblogs.com/q/" target="_blank"&gt;博问&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://space.cnblogs.com" target="_blank"&gt;社区&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://kb.cnblogs.com" target="_blank"&gt;知识库&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/lixyvip/aggbug/1780389.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lixyvip/archive/2010/07/18/1780389.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lixyvip/archive/2010/07/18/1780390.html</id><title type="text">Head.First.Object-Oriented.Design.and.Analysis《深入浅出面向对象的分析与设计》读书笔记（一）</title><summary type="text">作者: virus 发表于 2010-07-18 21:47 原文链接 阅读: 275 评论: 0　　题外话　　又是一本Head.First系列的书，这个系列很多，包括：SQL、设计模式、C#、面向对象分析与设计、软件开发等。里面的语言生动活泼，很好的以故事的形式引出正文，而不是枯燥的文字。　　书中开篇的建议　　1、放慢速度。理解的越多，需要记忆的越少。　　不要只是读，要停下来思考。当书中出现一个...</summary><published>2010-07-18T15:35:00Z</published><updated>2010-07-18T15:35:00Z</updated><author><name>Lixy</name><uri>http://www.cnblogs.com/lixyvip/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lixyvip/archive/2010/07/18/1780390.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lixyvip/archive/2010/07/18/1780390.html"/><content type="html">&lt;p&gt;&lt;a href="http://www.cnblogs.com/virusswb/"&gt;&lt;img src="http://pic.cnblogs.com/face/u24476.jpg" alt="" border="0"/&gt;&lt;/a&gt;&lt;br/&gt;作者: &lt;a href="http://www.cnblogs.com/virusswb/" target="_blank"&gt;virus&lt;/a&gt; 发表于 2010-07-18 21:47 &lt;a href="http://www.cnblogs.com/virusswb/archive/2010/07/18/Head-First-Object-Oriented-Design-and-Analysis-1.html" target="_blank"&gt;原文链接&lt;/a&gt; 阅读: 275 评论: 0&lt;/p&gt;&lt;p&gt;&lt;strong style="background-color: #c0c0c0"&gt;题外话&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;又是一本Head.First系列的书，这个系列很多，包括：SQL、设计模式、C#、面向对象分析与设计、软件开发等。里面的语言生动活泼，很好的以故事的形式引出正文，而不是枯燥的文字。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong style="background-color: #c0c0c0"&gt;书中开篇的建议&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;1、放慢速度。理解的越多，需要记忆的越少。&lt;/p&gt;&#xD;
&lt;p&gt;不要只是读，要停下来思考。当书中出现一个问题的时候，不要着急浏览答案，假设真的有人问你这个问题。你强迫你的大脑思考的越深，越是你学习和记忆的好机会。&lt;/p&gt;&#xD;
&lt;p&gt;2、做练习。写读书笔记。&lt;/p&gt;&#xD;
&lt;p&gt;不要只是看练习。拿起纸笔。大量的证据表明，学习时候的物理活动可以增加学习的效果。&lt;/p&gt;&#xD;
&lt;p&gt;3、不要跳着读&lt;/p&gt;&#xD;
&lt;p&gt;有一些内容会让你觉得没有太大的用处，其实他们都是内容的一部分，不要跳过他们。这不是可有可无的旁注。&lt;/p&gt;&#xD;
&lt;p&gt;4、确保这是你上床之前的最后一件事，或者至少是最后一件有挑战的事&lt;/p&gt;&#xD;
&lt;p&gt;学习的一部分，尤其是需要长期记忆的，通常在你放下书之后会在大脑中发生，这时候你的大脑需要自己的时间去做更多的处理。如果你在这段处理的过程中又放入新东西，你刚才学的一些内容会丢失。&lt;/p&gt;&#xD;
&lt;p&gt;5、喝大量的水&lt;/p&gt;&#xD;
&lt;p&gt;你的大脑在一个流动的液体中会工作的更好。脱氢胆固醇会降低认识能力，脱氢胆固醇在你感觉渴的时候会产生。&lt;/p&gt;&#xD;
&lt;p&gt;6、大声的说出来&lt;/p&gt;&#xD;
&lt;p&gt;说话时大脑的另一部分。如果你正在理解一些东西，或者想要在一会想起来什么东西，可以大声的讲出来。可以向其他人大声的解释它。你将会学的更快。&lt;/p&gt;&#xD;
&lt;p&gt;7、听从你的大脑&lt;/p&gt;&#xD;
&lt;p&gt;要注意你的大脑负荷是否已经过载。如果你发现自己开始忘记刚才读过的内容，是该休息的时候了。&lt;/p&gt;&#xD;
&lt;p&gt;8、Feel something&lt;/p&gt;&#xD;
&lt;p&gt;your brain needs to know that this&amp;nbsp;matters.Get involved with the stories. Make up your own captions for the photos.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;9、设计一些东西&lt;/p&gt;&#xD;
&lt;p&gt;将你读到的新东西进行自己的设计，或者是重新设计以前的东西。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong style="background-color: #c0c0c0"&gt;正文&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;对于什么是好的软件，通常会有不同的意见。因为站的角度不同，关注点不同，得出的结论就会不同。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;用户友好的程序员说：&lt;/p&gt;&#xD;
&lt;p&gt;好的软件通常会做用户想要它做的事情。因此，即使用户想以一种新的方式使用它，它也不应该挂掉或者是给出一个不在预期的结果。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;面相对象的程序员说：&lt;/p&gt;&#xD;
&lt;p&gt;好的软件的代码应该是面向对象的，因此不应该有一群重复的代码，每一个对象应该很好的控制自己的行为。应该很容易扩展，因为你的设计是可靠并且灵活的。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;设计大师说：&lt;/p&gt;&#xD;
&lt;p&gt;好的软件就是使用可靠的设计模式和原则。保持对象的松散耦合，代码对扩展开放，对修改关闭。保持代码的重用性。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;轻松使用三步达到好的软件&lt;/p&gt;&#xD;
&lt;ol&gt;&lt;li&gt;　　保证你的软件做了用户想要做的事情。&lt;/li&gt;&lt;li&gt;　　应用基本的OO设计原则来增加灵活性。&lt;/li&gt;&lt;li&gt;　　追求一个可维护，可重用的设计。&lt;/li&gt;&lt;/ol&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;为了证明什么是有缺陷的，下面是一些原则，可以帮助你找出不匹配的对象类型：&lt;/p&gt;&#xD;
&lt;ul&gt;&lt;li&gt;　　对象应该做和他们的名字相符的事情。如果一个对象叫做Jet，他应该会takeOff（）和land（），不应该有takeTicket（），这很有可能是另外一个对象的任务，而不属于Jet。&lt;/li&gt;&lt;li&gt;　　每一个对象应该只代表一个概念。不应该让一个对象有两个或者三个职责。避免Duck对象代表木头鸭子，又代表橡皮鸭子。&lt;/li&gt;&lt;/ul&gt;&#xD;
&lt;p&gt;封装允许你将应用按照不同的逻辑分组。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt; &lt;img src="http://www.cnblogs.com/virusswb/aggbug/1780327.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;评论: 0　&lt;a href="http://www.cnblogs.com/virusswb/archive/2010/07/18/Head-First-Object-Oriented-Design-and-Analysis-1.html#pagedcomment" target="_blank"&gt;查看评论&lt;/a&gt;　&lt;a href="http://www.cnblogs.com/virusswb/archive/2010/07/18/Head-First-Object-Oriented-Design-and-Analysis-1.html#commentform" target="_blank"&gt;发表评论&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://job.cnblogs.com/enterprise/2453/" target="_blank"&gt;百度期待您的加盟&lt;/a&gt;&lt;/p&gt;&lt;hr/&gt;&lt;p&gt;最新新闻：&lt;br/&gt;· &lt;a href="http://news.cnblogs.com/n/68591/" target="_blank"&gt;微软不为外界所知的十件趣事&lt;/a&gt;&lt;span style="color:gray"&gt;(2010-07-18 22:58)&lt;/span&gt;&lt;br/&gt;· &lt;a href="http://news.cnblogs.com/n/68590/" target="_blank"&gt;中国第2季搜索引擎市场规模达26亿 百度破70%&lt;/a&gt;&lt;span style="color:gray"&gt;(2010-07-18 22:54)&lt;/span&gt;&lt;br/&gt;· &lt;a href="http://news.cnblogs.com/n/68589/" target="_blank"&gt;Facebook用户数下周达5亿 邀请用户共享故事&lt;/a&gt;&lt;span style="color:gray"&gt;(2010-07-18 22:49)&lt;/span&gt;&lt;br/&gt;· &lt;a href="http://news.cnblogs.com/n/68584/" target="_blank"&gt;开源的可视化编辑器 KindEditor 3.5.1 发布&lt;/a&gt;&lt;span style="color:gray"&gt;(2010-07-18 22:35)&lt;/span&gt;&lt;br/&gt;· &lt;a href="http://news.cnblogs.com/n/68581/" target="_blank"&gt;WordPress 陷入开源‘边界’之争&lt;/a&gt;&lt;span style="color:gray"&gt;(2010-07-18 17:47)&lt;/span&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;编辑推荐：&lt;a href="http://news.cnblogs.com/n/68453/" target="_blank"&gt;揭秘Facebook背后的那些软件&lt;/a&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;网站导航：&lt;a href="http://www.cnblogs.com" target="_blank"&gt;博客园首页&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://home.cnblogs.com/" target="_blank"&gt;个人主页&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://news.cnblogs.com" target="_blank"&gt;新闻&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://home.cnblogs.com/ing/" target="_blank"&gt;闪存&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://home.cnblogs.com/group/" target="_blank"&gt;小组&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://space.cnblogs.com/q/" target="_blank"&gt;博问&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://space.cnblogs.com" target="_blank"&gt;社区&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://kb.cnblogs.com" target="_blank"&gt;知识库&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/lixyvip/aggbug/1780390.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lixyvip/archive/2010/07/18/1780390.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lixyvip/archive/2010/07/18/1780391.html</id><title type="text">分享自己写的一个贪吃蛇的游戏(Linux)</title><summary type="text">作者: dave_cn 发表于 2010-07-18 21:20 原文链接 阅读: 148 评论: 2转载请注明出处。http://www.cnblogs.com/dave_cn/本程序需要ncurses库，ubuntu下安装ncurses可以执行下面命令：sudo apt-get install libncurses5-dev关于ncurses的用法，读者可以Google之。程序运行的效果如下：...</summary><published>2010-07-18T15:35:00Z</published><updated>2010-07-18T15:35:00Z</updated><author><name>Lixy</name><uri>http://www.cnblogs.com/lixyvip/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lixyvip/archive/2010/07/18/1780391.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lixyvip/archive/2010/07/18/1780391.html"/><content type="html">&lt;p&gt;&lt;a href="http://www.cnblogs.com/dave_cn/"&gt;&lt;img src="http://pic.cnblogs.com/face/u84422.bmp" alt="" border="0"/&gt;&lt;/a&gt;&lt;br/&gt;作者: &lt;a href="http://www.cnblogs.com/dave_cn/" target="_blank"&gt;dave_cn&lt;/a&gt; 发表于 2010-07-18 21:20 &lt;a href="http://www.cnblogs.com/dave_cn/archive/2010/07/18/1780317.html" target="_blank"&gt;原文链接&lt;/a&gt; 阅读: 148 评论: 2&lt;/p&gt;&lt;p&gt;&lt;span  style="font-family: verdana, ����, Arial; line-height: 19px; color: #333333; "&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.4; color: red; "&gt;转载请注明出处。&lt;/span&gt;&lt;a href="http://www.cnblogs.com/dave_cn/" target="_blank" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-decoration: none; color: #000000; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #333333; "&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.4; color: red; "&gt;http://www.cnblogs.com/dave_cn/&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;本程序需要ncurses库，ubuntu下安装ncurses可以执行下面命令：&lt;/p&gt;&lt;p&gt;&lt;span  style="font-family: verdana, sans-serif; "&gt;sudo apt-get install libncurses5-dev&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;关于ncurses的用法，读者可以Google之。&lt;/p&gt;&lt;p&gt;程序运行的效果如下：&lt;/p&gt;&lt;p&gt;其中包含两个窗口，一个为game窗口，一个为日志窗口。&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/dave_cn/snake.GIF" border="0" alt="" width="496" height="409" /&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;代码如下：&lt;/p&gt;&lt;p&gt;&lt;span  style="font-family: 'Courier New'; font-size: 13px; "&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;&amp;nbsp;1&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;*&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&lt;div&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;&amp;nbsp;2&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000;"&gt;&amp;nbsp;*&amp;nbsp;Snake&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;&amp;nbsp;3&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000;"&gt;&amp;nbsp;*&amp;nbsp;author:&amp;nbsp;dave_cn&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;&amp;nbsp;4&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000;"&gt;&amp;nbsp;*&amp;nbsp;date&amp;nbsp;&amp;nbsp;:&amp;nbsp;2010/7/14&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;&amp;nbsp;5&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000;"&gt;&amp;nbsp;*&amp;nbsp;info&amp;nbsp;&amp;nbsp;:&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;&amp;nbsp;6&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000;"&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@&amp;nbsp;......&amp;nbsp;food&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;&amp;nbsp;7&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;&amp;nbsp;8&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;#include&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;stdio.h&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;&amp;nbsp;9&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;#include&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;stdlib.h&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;10&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;#include&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;string&lt;/span&gt;&lt;span style="color: #000000;"&gt;.h&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;11&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;#include&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;sys&lt;/span&gt;&lt;span style="color: #000000;"&gt;/&lt;/span&gt;&lt;span style="color: #000000;"&gt;time.h&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;12&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;#include&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;sys&lt;/span&gt;&lt;span style="color: #000000;"&gt;/&lt;/span&gt;&lt;span style="color: #000000;"&gt;types.h&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;13&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;#include&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;unistd.h&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;14&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;#include&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;ncurses.h&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;15&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;16&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;#define&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TBool&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;17&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;#define&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;True&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;18&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;#define&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;False&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;19&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;#define&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;SHAPE_FOOD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'@'&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;20&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;#define&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;SHAPE_SNAKE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'*'&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;21&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;#define&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;GAMEWIN_YLEN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;15&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;22&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;#define&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;GAMEWIN_XLEN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;60&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;23&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;#define&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;LOGWIN_YLEN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;24&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;#define&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;LOGWIN_XLEN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(GAMEWIN_XLEN)&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;25&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;#define&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;LOGBUF_NUM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(LOGWIN_YLEN-2)&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;26&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;#define&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;LOGBUF_LEN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(GAMEWIN_XLEN-2)&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;27&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;#define&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;MAXLEVEL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;12&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;28&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;29&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;#define&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;GetSnakeTail(s)&amp;nbsp;&amp;nbsp;((s)-&amp;gt;head-&amp;gt;front)&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;30&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;31&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;WINDOW&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;logwin;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;32&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;#define&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;INITRUNLOG()&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;logwin&amp;nbsp;=&amp;nbsp;newlogw()&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;33&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;#define&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;RUNLOG(str)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;runlog(logwin,&amp;nbsp;str)&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;34&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;#define&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;DESTROYRUNLOG()&amp;nbsp;&amp;nbsp;delwin(logwin)&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;35&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;36&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;g_level;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;37&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;38&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;enum&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TDirection&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;39&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DIR_UP,&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;40&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DIR_DOWN,&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;41&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DIR_LEFT,&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;42&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DIR_RIGHT&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;43&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;};&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;44&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;45&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TFood&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;46&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;y;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;47&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;x;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;48&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;};&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;49&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;50&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TSnakeNode&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;51&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;y;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;52&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;x;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;53&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TSnakeNode&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;front;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;54&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;};&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;55&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;56&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TSnake&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;57&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;length;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;58&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TSnakeNode&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;head;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;59&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;enum&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;TDirection&amp;nbsp;&amp;nbsp;dir;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;60&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;};&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;61&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;62&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;refreshgamew(WINDOW&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;win,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TSnake&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;psnake);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;63&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;void&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;movesnake(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TSnake&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;psnake);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;64&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;checksnake(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TFood&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;pfood,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TSnake&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;psnake);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;65&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;void&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;snakegrowup(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TFood&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;pfood,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TSnake&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;psnake);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;66&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;void&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;gameover(WINDOW&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;win,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;char&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;str);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;67&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TSnakeNode&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;newsnakenode(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TSnakeNode&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;**&lt;/span&gt;&lt;span style="color: #000000;"&gt;ppsnode,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;y,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;x);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;68&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;WINDOW&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;newgamew();&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;69&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TSnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;initsnake();&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;70&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;void&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;destroysnake(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TSnake&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;psnake);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;71&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;void&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;drawsnakew(WINDOW&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;win,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TSnake&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;psnake);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;72&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;void&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;drawfoodw(WINDOW&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;win,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TFood&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;pfood,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TSnake&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;psnake);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;73&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;TBool&amp;nbsp;checkfood(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TFood&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;pfood,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TSnake&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;psnake);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;74&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;WINDOW&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;newlogw();&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;75&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;void&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;runlog(WINDOW&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;win,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;char&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;str);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;76&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;void&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;cleanline(WINDOW&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;win,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;y,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;x);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;77&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;78&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;main()&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;79&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;80&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;initscr();&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;81&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;raw();&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;82&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;noecho();&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;83&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;keypad(stdscr,&amp;nbsp;TRUE);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;84&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;curs_set(&lt;/span&gt;&lt;span style="color: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;85&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;refresh();&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;86&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;87&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;g_level&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;88&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;INITRUNLOG();&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;89&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RUNLOG(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;nbsp;&amp;nbsp;Press&amp;nbsp;'q'&amp;nbsp;or&amp;nbsp;'Q'&amp;nbsp;to&amp;nbsp;quit.&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;90&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RUNLOG(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;nbsp;&amp;nbsp;Press&amp;nbsp;'w/s/a/d'&amp;nbsp;or&amp;nbsp;'W/S/A/D'&amp;nbsp;to&amp;nbsp;move&amp;nbsp;the&amp;nbsp;snake.&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;91&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RUNLOG(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;Info:&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;92&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;93&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WINDOW&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;gwin&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;newgamew();&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;94&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TSnake&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;psnake&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;initsnake();&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;95&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;drawsnakew(gwin,&amp;nbsp;psnake);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;96&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;97&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;while&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(refreshgamew(gwin,&amp;nbsp;psnake)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;)&amp;nbsp;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;98&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;99&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;getch();&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;100&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;101&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;destroysnake(psnake);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;102&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;delwin(gwin);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;103&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DESTROYRUNLOG();&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;104&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;endwin();&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;105&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;106&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;107&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;108&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;109&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;refreshgamew(WINDOW&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;win,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TSnake&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;psnake)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;110&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;111&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;static&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TBool&amp;nbsp;ffood&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;False;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;112&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TFood&amp;nbsp;pfood;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;113&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;114&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;if&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #000000;"&gt;!&lt;/span&gt;&lt;span style="color: #000000;"&gt;ffood)&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;115&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;drawfoodw(win,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;pfood,&amp;nbsp;psnake);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;116&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ffood&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;True;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;117&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;118&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;119&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;key&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;120&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;121&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fd_set&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;set&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;122&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FD_ZERO(&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;set&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;123&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FD_SET(&lt;/span&gt;&lt;span style="color: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;set&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;124&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;125&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;timeval&amp;nbsp;timeout;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;126&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;timeout.tv_sec&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;127&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;timeout.tv_usec&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #800080;"&gt;6&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;)(g_level&lt;/span&gt;&lt;span style="color: #000000;"&gt;/&lt;/span&gt;&lt;span style="color: #800080;"&gt;3&lt;/span&gt;&lt;span style="color: #000000;"&gt;))&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;100&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #800080;"&gt;1000&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;128&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;129&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;if&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(select(&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;set&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;NULL,&amp;nbsp;NULL,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;timeout)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;130&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;131&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;132&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;if&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(FD_ISSET(&lt;/span&gt;&lt;span style="color: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;set&lt;/span&gt;&lt;span style="color: #000000;"&gt;))&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;133&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;while&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;((key&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;getch())&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;==&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;)&amp;nbsp;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;134&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;135&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;switch&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(key)&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;136&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;case&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;'&lt;/span&gt;&lt;span style="color: #800000;"&gt;w&lt;/span&gt;&lt;span style="color: #800000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;137&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;case&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;'&lt;/span&gt;&lt;span style="color: #800000;"&gt;W&lt;/span&gt;&lt;span style="color: #800000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;138&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(psnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;dir&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;==&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;DIR_DOWN)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;?&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;:&amp;nbsp;(psnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;dir&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;DIR_UP);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;139&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;break&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;140&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;141&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;case&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;'&lt;/span&gt;&lt;span style="color: #800000;"&gt;s&lt;/span&gt;&lt;span style="color: #800000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;142&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;case&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;'&lt;/span&gt;&lt;span style="color: #800000;"&gt;S&lt;/span&gt;&lt;span style="color: #800000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;143&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(psnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;dir&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;==&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;DIR_UP)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;?&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;:&amp;nbsp;(psnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;dir&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;DIR_DOWN);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;144&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;break&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;145&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;146&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;case&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;'&lt;/span&gt;&lt;span style="color: #800000;"&gt;a&lt;/span&gt;&lt;span style="color: #800000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;147&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;case&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;'&lt;/span&gt;&lt;span style="color: #800000;"&gt;A&lt;/span&gt;&lt;span style="color: #800000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;148&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(psnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;dir&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;==&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;DIR_RIGHT)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;?&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;:&amp;nbsp;(psnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;dir&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;DIR_LEFT);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;149&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;break&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;150&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;151&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;case&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;'&lt;/span&gt;&lt;span style="color: #800000;"&gt;d&lt;/span&gt;&lt;span style="color: #800000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;152&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;case&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;'&lt;/span&gt;&lt;span style="color: #800000;"&gt;D&lt;/span&gt;&lt;span style="color: #800000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;153&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(psnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;dir&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;==&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;DIR_LEFT)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;?&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;:&amp;nbsp;(psnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;dir&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;DIR_RIGHT);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;154&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;break&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;155&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;156&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;case&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;'&lt;/span&gt;&lt;span style="color: #800000;"&gt;q&lt;/span&gt;&lt;span style="color: #800000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;157&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;case&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;'&lt;/span&gt;&lt;span style="color: #800000;"&gt;Q&lt;/span&gt;&lt;span style="color: #800000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;158&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RUNLOG(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;Quit&amp;nbsp;Game!&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;159&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;gameover(win,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;Quit&amp;nbsp;Game!&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;160&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;161&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;162&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;default&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;163&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;break&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;164&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;165&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;166&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;167&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;movesnake(psnake);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;168&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;drawsnakew(win,&amp;nbsp;psnake);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;169&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;switch&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(checksnake(&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;pfood,&amp;nbsp;psnake))&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;170&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;case&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;171&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;break&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;172&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;173&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;case&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;174&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ffood&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;False;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;175&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;if&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #000000;"&gt;++&lt;/span&gt;&lt;span style="color: #000000;"&gt;g_level&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;MAXLEVEL)&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;176&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RUNLOG(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;Win!!!&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;177&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;gameover(win,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;Win!!!&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;178&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;179&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;180&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mvwprintw(win,&amp;nbsp;GAMEWIN_YLEN&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;2&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;nbsp;Level:&amp;nbsp;%d&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;g_level);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;181&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mvwprintw(win,&amp;nbsp;GAMEWIN_YLEN&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;30&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;nbsp;Speed:&amp;nbsp;%d&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;)(g_level&lt;/span&gt;&lt;span style="color: #000000;"&gt;/&lt;/span&gt;&lt;span style="color: #800080;"&gt;3&lt;/span&gt;&lt;span style="color: #000000;"&gt;));&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;182&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wrefresh(win);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;183&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RUNLOG(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;Level&amp;nbsp;UP!&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;184&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;snakegrowup(&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;pfood,&amp;nbsp;psnake);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;185&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;break&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;186&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;187&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;default&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;188&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RUNLOG(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;Game&amp;nbsp;over!&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;189&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;gameover(win,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;Game&amp;nbsp;over!&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;190&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;191&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;192&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;193&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;194&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;195&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;196&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;*&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;197&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000;"&gt;&amp;nbsp;*&amp;nbsp;stuct&amp;nbsp;TSnake是一个倒置的首尾相连的链表,head-&amp;gt;front指向snake的尾部&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;198&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000;"&gt;&amp;nbsp;*&amp;nbsp;如:&amp;nbsp;[a]&amp;lt;-[b]&amp;lt;-[c]&amp;lt;-[d]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;a为head&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;199&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000;"&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;^&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;snake移动的时候,只用head指向d,&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;200&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000;"&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;`--------------'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;并且修改d的(y,x)为snake头移动到的位置.&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;201&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;202&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;void&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;movesnake(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TSnake&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;psnake)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;203&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;204&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;hy&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;psnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;head&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;y;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;205&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;hx&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;psnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;head&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;x;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;206&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;207&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;psnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;head&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;GetSnakeTail(psnake);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;208&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;209&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;switch&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(psnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;dir)&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;210&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;case&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;DIR_UP:&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;211&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;psnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;head&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;y&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;hy&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;212&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;psnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;head&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;hx;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;213&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;break&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;214&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;215&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;case&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;DIR_DOWN:&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;216&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;psnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;head&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;y&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;hy&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;217&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;psnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;head&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;hx;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;218&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;break&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;219&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;220&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;case&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;DIR_LEFT:&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;221&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;psnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;head&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;y&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;hy;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;222&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;psnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;head&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;hx&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;223&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;break&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;224&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;225&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;case&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;DIR_RIGHT:&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;226&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;psnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;head&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;y&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;hy;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;227&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;psnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;head&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;hx&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;228&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;break&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;229&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;230&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;default&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;231&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;break&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;232&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;233&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;234&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;235&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;checksnake(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TFood&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;pfood,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TSnake&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;psnake)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;236&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;237&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;if&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(&amp;nbsp;psnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;head&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;y&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;||&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;psnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;head&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;y&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;GAMEWIN_YLEN&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;238&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;||&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;psnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;head&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;||&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;psnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;head&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;GAMEWIN_XLEN)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;239&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;240&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;241&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;242&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;243&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TSnakeNode&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;pnode&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;GetSnakeTail(psnake);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;244&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;245&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;for&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;psnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;length&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;++&lt;/span&gt;&lt;span style="color: #000000;"&gt;i,&amp;nbsp;pnode&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;pnode&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;front)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;246&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;if&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(psnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;head&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;y&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;==&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;pnode&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;y&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;psnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;head&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;==&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;pnode&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;x)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;247&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;248&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;249&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;if&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(psnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;head&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;y&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;==&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;pfood&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;y&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;psnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;head&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;==&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;pfood&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;x)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;250&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;251&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;252&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;253&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;254&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;255&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;void&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;snakegrowup(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TFood&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;pfood,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TSnake&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;psnake)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;256&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;257&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TSnakeNode&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;pnode&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TSnakeNode&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;)malloc(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;sizeof&lt;/span&gt;&lt;span style="color: #000000;"&gt;(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TSnakeNode));&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;258&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;259&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;switch&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(psnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;dir)&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;260&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;case&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;DIR_UP:&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;261&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pnode&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;y&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;psnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;head&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;y&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;262&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pnode&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;psnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;head&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;x;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;263&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;break&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;264&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;265&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;case&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;DIR_DOWN:&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;266&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pnode&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;y&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;psnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;head&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;y&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;267&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pnode&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;psnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;head&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;x;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;268&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;break&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;269&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;270&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;case&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;DIR_LEFT:&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;271&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pnode&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;y&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;psnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;head&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;y;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;272&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pnode&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;psnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;head&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;273&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;break&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;274&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;275&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;case&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;DIR_RIGHT:&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;276&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pnode&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;y&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;psnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;head&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;y;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;277&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pnode&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;psnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;head&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;278&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;break&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;279&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;280&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;default&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;281&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;break&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;282&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;283&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;284&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pnode&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;front&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;GetSnakeTail(psnake);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;285&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;psnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;head&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;front&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;pnode;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;286&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;psnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;head&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;pnode;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;287&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;++&lt;/span&gt;&lt;span style="color: #000000;"&gt;psnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;length;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;288&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;289&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;290&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;void&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;gameover(WINDOW&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;win,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;char&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;str)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;291&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;292&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mvwprintw(win,&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;)(GAMEWIN_YLEN&lt;/span&gt;&lt;span style="color: #000000;"&gt;/&lt;/span&gt;&lt;span style="color: #800080;"&gt;2&lt;/span&gt;&lt;span style="color: #000000;"&gt;),&amp;nbsp;(GAMEWIN_XLEN&lt;/span&gt;&lt;span style="color: #000000;"&gt;/&lt;/span&gt;&lt;span style="color: #800080;"&gt;2&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;strlen(str)&lt;/span&gt;&lt;span style="color: #000000;"&gt;/&lt;/span&gt;&lt;span style="color: #800080;"&gt;2&lt;/span&gt;&lt;span style="color: #000000;"&gt;),&amp;nbsp;str);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;293&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mvwprintw(win,&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;)(GAMEWIN_YLEN&lt;/span&gt;&lt;span style="color: #000000;"&gt;/&lt;/span&gt;&lt;span style="color: #800080;"&gt;2&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;),&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;20&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;Press&amp;nbsp;any&amp;nbsp;key&amp;nbsp;to&amp;nbsp;quit...&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;294&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wrefresh(win);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;295&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;296&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;297&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;WINDOW&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;newgamew()&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;298&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;299&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WINDOW&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;win&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;newwin(GAMEWIN_YLEN,&amp;nbsp;GAMEWIN_XLEN,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;3&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;300&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;box(win,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;301&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mvwprintw(win,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;2&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;nbsp;GAME&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;302&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mvwprintw(win,&amp;nbsp;GAMEWIN_YLEN&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;2&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;nbsp;Level:&amp;nbsp;%d&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;g_level);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;303&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mvwprintw(win,&amp;nbsp;GAMEWIN_YLEN&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;30&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;nbsp;Speed:&amp;nbsp;%d&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;)(g_level&lt;/span&gt;&lt;span style="color: #000000;"&gt;/&lt;/span&gt;&lt;span style="color: #800080;"&gt;3&lt;/span&gt;&lt;span style="color: #000000;"&gt;));&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;304&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wrefresh(win);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;305&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;306&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;win;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;307&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;308&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;309&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TSnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;initsnake()&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;310&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;311&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TSnake&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;psnake&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TSnake&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;)malloc(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;sizeof&lt;/span&gt;&lt;span style="color: #000000;"&gt;(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TSnake));&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;312&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;313&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;psnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;dir&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;DIR_LEFT;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;314&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;psnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;length&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;4&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;315&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;316&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;newsnakenode&amp;nbsp;(&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;317&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;newsnakenode&amp;nbsp;(&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;318&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;newsnakenode&amp;nbsp;(&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;319&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;newsnakenode(&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;psnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;head,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;4&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;50&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;)&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;front,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;4&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;53&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;320&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;front,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;4&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;52&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;321&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;front,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;4&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;51&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;322&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;front&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;psnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;head;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;323&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;324&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;psnake;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;325&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;326&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;327&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TSnakeNode&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;newsnakenode(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TSnakeNode&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;**&lt;/span&gt;&lt;span style="color: #000000;"&gt;ppsnode,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;y,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;x)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;328&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;329&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;ppsnode&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TSnakeNode&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;)malloc(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;sizeof&lt;/span&gt;&lt;span style="color: #000000;"&gt;(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TSnakeNode));&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;330&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;ppsnode)&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;y&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;y;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;331&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;ppsnode)&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;x;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;332&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;ppsnode)&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;front&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;NULL;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;333&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;334&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;ppsnode;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;335&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;336&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;337&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;void&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;destroysnake(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TSnake&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;psnake)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;338&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;339&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TSnakeNode&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;psnode&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;GetSnakeTail(psnake);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;340&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TSnakeNode&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;ptmp&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;NULL;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;341&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;342&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;343&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;for&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;psnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;length;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;++&lt;/span&gt;&lt;span style="color: #000000;"&gt;i)&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;344&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ptmp&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;psnode;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;345&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;psnode&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;psnode&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;front;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;346&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;free(ptmp);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;347&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;348&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;349&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;free(psnake);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;350&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;psnake&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;NULL;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;351&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;352&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;353&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;void&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;drawsnakew(WINDOW&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;win,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TSnake&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;psnake)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;354&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;355&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;static&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;taily&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;356&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;static&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;tailx&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;357&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;if&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(taily&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;!=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;tailx&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;!=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;)&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;358&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mvwaddch(win,&amp;nbsp;taily,&amp;nbsp;tailx,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;'&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;359&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;360&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;361&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TSnakeNode&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;psnode&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;GetSnakeTail(psnake);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;362&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;363&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;364&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;for&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;psnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;length;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;++&lt;/span&gt;&lt;span style="color: #000000;"&gt;i)&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;365&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mvwaddch(win,&amp;nbsp;psnode&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;y,&amp;nbsp;psnode&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;x,&amp;nbsp;SHAPE_SNAKE);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;366&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;psnode&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;psnode&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;front;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;367&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;368&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;369&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;taily&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;GetSnakeTail(psnake)&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;y;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;370&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tailx&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;GetSnakeTail(psnake)&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;x;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;371&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;372&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wrefresh(win);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;373&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;374&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;375&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;void&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;drawfoodw(WINDOW&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;win,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TFood&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;pfood,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TSnake&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;psnake)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;376&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;377&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;do&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;378&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pfood&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;y&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;random()&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;%&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(GAMEWIN_YLEN&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;379&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pfood&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;random()&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;%&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(GAMEWIN_XLEN&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;380&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;while&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(False&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;==&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;checkfood(pfood,&amp;nbsp;psnake));&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;381&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;checkfood(pfood,&amp;nbsp;psnake);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;382&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;383&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mvwaddch(win,&amp;nbsp;pfood&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;y,&amp;nbsp;pfood&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;x,&amp;nbsp;SHAPE_FOOD);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;384&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wrefresh(win);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;385&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;386&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;387&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;TBool&amp;nbsp;checkfood(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TFood&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;pfood,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TSnake&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;psnake)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;388&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;389&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;struct&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;TSnakeNode&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;pnode&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;GetSnakeTail(psnake);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;390&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;391&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;392&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;for&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;psnake&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;length;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;++&lt;/span&gt;&lt;span style="color: #000000;"&gt;i,&amp;nbsp;pnode&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;pnode&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;front)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;393&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;if&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(pfood&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;y&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;==&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;pnode&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;y&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;pfood&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;==&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;pnode&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;x)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;394&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;False;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;395&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;396&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;True;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;397&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;398&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;399&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;WINDOW&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;newlogw()&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;400&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;401&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WINDOW&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;win&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;newwin(LOGWIN_YLEN,&amp;nbsp;LOGWIN_XLEN,&amp;nbsp;GAMEWIN_YLEN&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;2&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;3&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;402&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;box(win,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;403&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mvwprintw(win,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;2&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;nbsp;LOG&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;404&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wrefresh(win);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;405&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;406&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;win;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;407&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;408&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;409&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;void&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;runlog(WINDOW&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;win,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;char&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;str)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;410&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;411&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;static&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;char&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;logbuf[LOGBUF_NUM][LOGBUF_LEN]&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;{&lt;/span&gt;&lt;span style="color: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;};&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;412&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;static&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;index&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;413&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;414&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;strcpy(logbuf[index],&amp;nbsp;str);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;415&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;416&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;417&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;for&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;LOGBUF_NUM;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;++&lt;/span&gt;&lt;span style="color: #000000;"&gt;i)&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;418&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cleanline(win,&amp;nbsp;i&lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;419&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mvwprintw(win,&amp;nbsp;i&lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;logbuf[(index&lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt;i)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;%&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;LOGBUF_NUM]);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;420&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wrefresh(win);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;421&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;422&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;423&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;index&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(index&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;LOGBUF_NUM&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;%&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;LOGBUF_NUM;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;424&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;425&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;426&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;void&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;cleanline(WINDOW&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;win,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;y,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;x)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;427&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;428&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;char&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;EMPTYLINE[LOGBUF_LEN]&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;{&lt;/span&gt;&lt;span style="color: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;};&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;429&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;memset(EMPTYLINE,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;'&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;LOGBUF_LEN&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;430&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;431&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mvwprintw(win,&amp;nbsp;y,&amp;nbsp;x,&amp;nbsp;EMPTYLINE);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;432&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wrefresh(win);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;433&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;我在ubuntu10.04下面测试过。&lt;/p&gt;&lt;p&gt;编译方法:&lt;/p&gt;&lt;p&gt;cc -o snake filename.c -lncurses&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/dave_cn/aggbug/1780317.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;评论: 2　&lt;a href="http://www.cnblogs.com/dave_cn/archive/2010/07/18/1780317.html#pagedcomment" target="_blank"&gt;查看评论&lt;/a&gt;　&lt;a href="http://www.cnblogs.com/dave_cn/archive/2010/07/18/1780317.html#commentform" target="_blank"&gt;发表评论&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://job.cnblogs.com/enterprise/2453/" target="_blank"&gt;百度期待您的加盟&lt;/a&gt;&lt;/p&gt;&lt;hr/&gt;&lt;p&gt;最新新闻：&lt;br/&gt;· &lt;a href="http://news.cnblogs.com/n/68591/" target="_blank"&gt;微软不为外界所知的十件趣事&lt;/a&gt;&lt;span style="color:gray"&gt;(2010-07-18 22:58)&lt;/span&gt;&lt;br/&gt;· &lt;a href="http://news.cnblogs.com/n/68590/" target="_blank"&gt;中国第2季搜索引擎市场规模达26亿 百度破70%&lt;/a&gt;&lt;span style="color:gray"&gt;(2010-07-18 22:54)&lt;/span&gt;&lt;br/&gt;· &lt;a href="http://news.cnblogs.com/n/68589/" target="_blank"&gt;Facebook用户数下周达5亿 邀请用户共享故事&lt;/a&gt;&lt;span style="color:gray"&gt;(2010-07-18 22:49)&lt;/span&gt;&lt;br/&gt;· &lt;a href="http://news.cnblogs.com/n/68584/" target="_blank"&gt;开源的可视化编辑器 KindEditor 3.5.1 发布&lt;/a&gt;&lt;span style="color:gray"&gt;(2010-07-18 22:35)&lt;/span&gt;&lt;br/&gt;· &lt;a href="http://news.cnblogs.com/n/68581/" target="_blank"&gt;WordPress 陷入开源‘边界’之争&lt;/a&gt;&lt;span style="color:gray"&gt;(2010-07-18 17:47)&lt;/span&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;编辑推荐：&lt;a href="http://news.cnblogs.com/n/68453/" target="_blank"&gt;揭秘Facebook背后的那些软件&lt;/a&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;网站导航：&lt;a href="http://www.cnblogs.com" target="_blank"&gt;博客园首页&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://home.cnblogs.com/" target="_blank"&gt;个人主页&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://news.cnblogs.com" target="_blank"&gt;新闻&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://home.cnblogs.com/ing/" target="_blank"&gt;闪存&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://home.cnblogs.com/group/" target="_blank"&gt;小组&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://space.cnblogs.com/q/" target="_blank"&gt;博问&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://space.cnblogs.com" target="_blank"&gt;社区&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://kb.cnblogs.com" target="_blank"&gt;知识库&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/lixyvip/aggbug/1780391.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lixyvip/archive/2010/07/18/1780391.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lixyvip/archive/2010/07/18/1780392.html</id><title type="text">Asp.net mvc 2中使用Ajax的三种方式</title><summary type="text">作者: 麒麟 发表于 2010-07-18 19:58 原文链接 阅读: 631 评论: 9 在Asp.net MVC中，我们能非常方便的使用Ajax。这篇文章将介绍三种Ajax使用的方式，分别为原始的Ajax调用、Jquery、Ajax Helper。 首先看一下原始的Ajax的调用的 在Asp.net MVC中添加一个custom_ajax.js，加入下面使用ajax的脚本代码在View中引入...</summary><published>2010-07-18T15:35:00Z</published><updated>2010-07-18T15:35:00Z</updated><author><name>Lixy</name><uri>http://www.cnblogs.com/lixyvip/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lixyvip/archive/2010/07/18/1780392.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lixyvip/archive/2010/07/18/1780392.html"/><content type="html">&lt;p&gt;&lt;a href="http://www.cnblogs.com/zhuqil/"&gt;&lt;img src="http://pic.cnblogs.com/face/u38542.jpg" alt="" border="0"/&gt;&lt;/a&gt;&lt;br/&gt;作者: &lt;a href="http://www.cnblogs.com/zhuqil/" target="_blank"&gt;麒麟&lt;/a&gt; 发表于 2010-07-18 19:58 &lt;a href="http://www.cnblogs.com/zhuqil/archive/2010/07/18/1780285.html" target="_blank"&gt;原文链接&lt;/a&gt; 阅读: 631 评论: 9&lt;/p&gt;&lt;p&gt;在Asp.net MVC中，我们能非常方便的使用Ajax。这篇文章将介绍三种Ajax使用的方式，分别为原始的Ajax调用、Jquery、Ajax Helper。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font size="5"&gt;首先看一下原始的Ajax的调用的&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;在Asp.net MVC中添加一个custom_ajax.js，加入下面使用ajax的脚本代码&lt;/p&gt;&lt;pre &gt;&lt;span style="color: blue"&gt;function &lt;/span&gt;getXmlHttpRequest() {&#xD;
    &lt;span style="color: blue"&gt;var &lt;/span&gt;xhr;&#xD;
    &lt;span style="color: #006400"&gt;//check for IE implementation(s)&#xD;
    &lt;/span&gt;&lt;span style="color: blue"&gt;if &lt;/span&gt;(&lt;span style="color: blue"&gt;typeof &lt;/span&gt;ActiveXObject != &lt;span style="color: maroon"&gt;'undefined'&lt;/span&gt;) {&#xD;
        &lt;span style="color: blue"&gt;try &lt;/span&gt;{&#xD;
            xhr = &lt;span style="color: blue"&gt;new &lt;/span&gt;ActiveXObject(&lt;span style="color: maroon"&gt;"Msxml2.XMLHTTP"&lt;/span&gt;);&#xD;
        } &lt;span style="color: blue"&gt;catch &lt;/span&gt;(e) {&#xD;
            xhr = &lt;span style="color: blue"&gt;new &lt;/span&gt;ActiveXObject(&lt;span style="color: maroon"&gt;"Microsoft.XMLHTTP"&lt;/span&gt;);&#xD;
        }&#xD;
    } &lt;span style="color: blue"&gt;else if &lt;/span&gt;(XMLHttpRequest) {&#xD;
        &lt;span style="color: #006400"&gt;//this works for Firefox, Safari, Opera    &#xD;
        &lt;/span&gt;xhr = &lt;span style="color: blue"&gt;new &lt;/span&gt;XMLHttpRequest();&#xD;
    } &lt;span style="color: blue"&gt;else &lt;/span&gt;{&#xD;
        alert(&lt;span style="color: maroon"&gt;"对不起，你的浏览器不支持ajax"&lt;/span&gt;);&#xD;
    }&#xD;
&#xD;
    &lt;span style="color: blue"&gt;return &lt;/span&gt;xhr;&#xD;
}&#xD;
    &#xD;
&lt;span style="color: blue"&gt;function &lt;/span&gt;getMessage() {&#xD;
    &lt;span style="color: #006400"&gt;//get our xml http request object&#xD;
    &lt;/span&gt;&lt;span style="color: blue"&gt;var &lt;/span&gt;xhr = getXmlHttpRequest();&#xD;
&#xD;
    &lt;span style="color: #006400"&gt;//prepare the request&#xD;
    &lt;/span&gt;xhr.open(&lt;span style="color: maroon"&gt;"GET"&lt;/span&gt;, &lt;span style="color: maroon"&gt;"get_message.html"&lt;/span&gt;, &lt;span style="color: blue"&gt;true&lt;/span&gt;)&#xD;
    &#xD;
    &lt;span style="color: #006400"&gt;//setup the callback function&#xD;
    &lt;/span&gt;xhr.onreadystatechange = &lt;span style="color: blue"&gt;function&lt;/span&gt;() {&#xD;
        &lt;span style="color: #006400"&gt;//readyState 4 means we're done&#xD;
        &lt;/span&gt;&lt;span style="color: blue"&gt;if&lt;/span&gt;(xhr.readyState != 4) &lt;span style="color: blue"&gt;return&lt;/span&gt;;&#xD;
            &#xD;
        &lt;span style="color: #006400"&gt;//populate the page with the result&#xD;
        &lt;/span&gt;document.getElementById(&lt;span style="color: maroon"&gt;'result'&lt;/span&gt;).innerHTML = xhr.responseText;&#xD;
    };&#xD;
&#xD;
    &lt;span style="color: #006400"&gt;//fire our request&#xD;
    &lt;/span&gt;xhr.send(&lt;span style="color: blue"&gt;null&lt;/span&gt;);&#xD;
}&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&#xD;
&lt;p&gt;在View中引入此脚本，并添加触发的代码：&lt;/p&gt;&lt;pre &gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;asp&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: maroon"&gt;Content &lt;/span&gt;&lt;span style="color: red"&gt;ID&lt;/span&gt;&lt;span style="color: blue"&gt;="Content1" &lt;/span&gt;&lt;span style="color: red"&gt;ContentPlaceHolderID&lt;/span&gt;&lt;span style="color: blue"&gt;="TitleContent" &lt;/span&gt;&lt;span style="color: red"&gt;runat&lt;/span&gt;&lt;span style="color: blue"&gt;="server"&amp;gt;&#xD;
    &lt;/span&gt;第一种方式&#xD;
&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon"&gt;asp&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: maroon"&gt;Content&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&#xD;
&amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;asp&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: maroon"&gt;Content &lt;/span&gt;&lt;span style="color: red"&gt;ID&lt;/span&gt;&lt;span style="color: blue"&gt;="Content3" &lt;/span&gt;&lt;span style="color: red"&gt;ContentPlaceHolderID&lt;/span&gt;&lt;span style="color: blue"&gt;="headContent" &lt;/span&gt;&lt;span style="color: red"&gt;runat&lt;/span&gt;&lt;span style="color: blue"&gt;="server"&amp;gt;&#xD;
    &amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;script &lt;/span&gt;&lt;span style="color: red"&gt;src&lt;/span&gt;&lt;span style="color: blue"&gt;="http://www.cnblogs.com/Scripts/custom_ajax.js" &lt;/span&gt;&lt;span style="color: red"&gt;type&lt;/span&gt;&lt;span style="color: blue"&gt;="text/javascript"&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon"&gt;script&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&#xD;
&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon"&gt;asp&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: maroon"&gt;Content&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&#xD;
&amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;asp&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: maroon"&gt;Content &lt;/span&gt;&lt;span style="color: red"&gt;ID&lt;/span&gt;&lt;span style="color: blue"&gt;="Content2" &lt;/span&gt;&lt;span style="color: red"&gt;ContentPlaceHolderID&lt;/span&gt;&lt;span style="color: blue"&gt;="MainContent" &lt;/span&gt;&lt;span style="color: red"&gt;runat&lt;/span&gt;&lt;span style="color: blue"&gt;="server"&amp;gt;&#xD;
     &amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;p&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;strong&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;点击按钮处罚一个Ajax请求: &lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon"&gt;strong&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&#xD;
        &amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;button &lt;/span&gt;&lt;span style="color: red"&gt;type&lt;/span&gt;&lt;span style="color: blue"&gt;="button" &lt;/span&gt;&lt;span style="color: red"&gt;onclick&lt;/span&gt;&lt;span style="color: blue"&gt;="getMessage()"&amp;gt;&lt;/span&gt;Get the Message&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon"&gt;button&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&#xD;
    &amp;lt;/&lt;/span&gt;&lt;span style="color: maroon"&gt;p&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&#xD;
    &amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;div &lt;/span&gt;&lt;span style="color: red"&gt;id&lt;/span&gt;&lt;span style="color: blue"&gt;="result"&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon"&gt;div&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&#xD;
&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon"&gt;asp&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: maroon"&gt;Content&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&#xD;
&lt;font color="#000000"&gt;效果如下：&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre &gt;&lt;span style="color: blue"&gt;&lt;font color="#000000"&gt;触发之前：&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre &gt;&lt;span style="color: blue"&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/zhuqil/WindowsLiveWriter/Asp.netmvc2Ajax_EBA5/1_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="1" border="0" alt="1" src="http://images.cnblogs.com/cnblogs_com/zhuqil/WindowsLiveWriter/Asp.netmvc2Ajax_EBA5/1_thumb.jpg" width="834" height="253" /&gt;&lt;/a&gt; &lt;/span&gt;&lt;/pre&gt;&lt;pre &gt;&lt;span style="color: blue"&gt;&lt;font color="#000000"&gt;触发之后：&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre &gt;&lt;span style="color: blue"&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/zhuqil/WindowsLiveWriter/Asp.netmvc2Ajax_EBA5/2_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="2" border="0" alt="2" src="http://images.cnblogs.com/cnblogs_com/zhuqil/WindowsLiveWriter/Asp.netmvc2Ajax_EBA5/2_thumb.jpg" width="839" height="248" /&gt;&lt;/a&gt; &lt;/span&gt;&lt;/pre&gt;&lt;pre &gt;&lt;font color="#000000"&gt;&lt;span&gt;&lt;font size="5"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre &gt;&lt;font color="#000000"&gt;&lt;span&gt;&lt;font size="5"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre &gt;&lt;font color="#000000"&gt;&lt;span&gt;&lt;font size="5"&gt;&lt;strong&gt;第二种方式，利用Jquery：&lt;/strong&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre &gt;&lt;font color="#000000"&gt;&lt;span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre &gt;&lt;font color="#000000"&gt;&lt;span&gt;&lt;/span&gt;&lt;/font&gt;这里&lt;font color="#000000"&gt;&lt;span&gt;实现一个最简单的留言板，数据存储在一个List&amp;lt;string&amp;gt;中。&lt;/span&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre &gt;&lt;font color="#000000"&gt;&lt;span&gt;在View中引用Jquery：&lt;/span&gt;&lt;/font&gt;&lt;/pre&gt;&lt;pre &gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;script &lt;/span&gt;&lt;span style="color: red"&gt;src&lt;/span&gt;&lt;span style="color: blue"&gt;="http://www.cnblogs.com/Scripts/jquery-1.4.1.min.js" &lt;/span&gt;&lt;span style="color: red"&gt;type&lt;/span&gt;&lt;span style="color: blue"&gt;="text/javascript"&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon"&gt;script&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&#xD;
&lt;/span&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font color="#000000" face="Courier New"&gt;添加下面脚本：&lt;/font&gt;&lt;/p&gt;&lt;pre &gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;script &lt;/span&gt;&lt;span style="color: red"&gt;type&lt;/span&gt;&lt;span style="color: blue"&gt;="text/javascript"&amp;gt;&#xD;
        &lt;/span&gt;&lt;span style="color: #006400"&gt;//execute when the DOM has been loaded&#xD;
        &lt;/span&gt;$(document).ready(&lt;span style="color: blue"&gt;function &lt;/span&gt;() {&#xD;
            &lt;span style="color: #006400"&gt;//wire up to the form submit event&#xD;
            &lt;/span&gt;$(&lt;span style="color: maroon"&gt;"form.hijax"&lt;/span&gt;).submit(&lt;span style="color: blue"&gt;function &lt;/span&gt;(event) {&#xD;
                event.preventDefault();  &lt;span style="color: #006400"&gt;//prevent the actual form post&#xD;
                &lt;/span&gt;hijack(&lt;span style="color: blue"&gt;this&lt;/span&gt;, update_sessions, &lt;span style="color: maroon"&gt;"html"&lt;/span&gt;);&#xD;
            });&#xD;
        });&#xD;
&#xD;
        &lt;span style="color: blue"&gt;function &lt;/span&gt;hijack(form, callback, format) {&#xD;
            $(&lt;span style="color: maroon"&gt;"#indicator"&lt;/span&gt;).show();&#xD;
            $.ajax({&#xD;
                url: form.action,&#xD;
                type: form.method,&#xD;
                dataType: format,&#xD;
                data: $(form).serialize(),&#xD;
                completed: $(&lt;span style="color: maroon"&gt;"#indicator"&lt;/span&gt;).hide(),&#xD;
                success: callback&#xD;
            });&#xD;
        }&#xD;
&#xD;
        &lt;span style="color: blue"&gt;function &lt;/span&gt;update_sessions(result) {&#xD;
            &lt;span style="color: #006400"&gt;//clear the form&#xD;
            &lt;/span&gt;$(&lt;span style="color: maroon"&gt;"form.hijax"&lt;/span&gt;)[0].reset();&#xD;
            $(&lt;span style="color: maroon"&gt;"#comments"&lt;/span&gt;).append(result);&#xD;
        }&#xD;
    &#xD;
    &lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon"&gt;script&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&#xD;
&lt;/span&gt;&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&#xD;
&lt;p&gt;&lt;font color="#000000" face="Courier New"&gt;&lt;/font&gt;&lt;/p&gt;&lt;pre &gt;&lt;span style="color: blue"&gt;&lt;font color="#000000"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre &gt;&lt;span style="color: blue"&gt;&lt;font color="#000000"&gt;创建控制器：&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre &gt;&lt;span style="color: blue"&gt;public class &lt;/span&gt;&lt;span style="color: #2b91af"&gt;CommentController &lt;/span&gt;: &lt;span style="color: #2b91af"&gt;Controller&#xD;
&lt;/span&gt;{&#xD;
    &lt;span style="color: blue"&gt;private &lt;/span&gt;&lt;span style="color: #2b91af"&gt;IList&lt;/span&gt;&amp;lt;&lt;span style="color: blue"&gt;string&lt;/span&gt;&amp;gt; _comments = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: blue"&gt;string&lt;/span&gt;&amp;gt;();&#xD;
&#xD;
    &lt;span style="color: blue"&gt;public &lt;/span&gt;&lt;span style="color: #2b91af"&gt;ActionResult &lt;/span&gt;Index()&#xD;
    {&#xD;
        &lt;span style="color: blue"&gt;return &lt;/span&gt;View(_comments);&#xD;
    }&#xD;
&#xD;
    &lt;span style="color: blue"&gt;public &lt;/span&gt;&lt;span style="color: #2b91af"&gt;ActionResult &lt;/span&gt;IndexAjaxHelp()&#xD;
    {&#xD;
        &lt;span style="color: blue"&gt;return &lt;/span&gt;View(_comments);&#xD;
    }&#xD;
&#xD;
    &lt;span style="color: blue"&gt;public &lt;/span&gt;&lt;span style="color: #2b91af"&gt;ActionResult &lt;/span&gt;AddComment(&lt;span style="color: blue"&gt;string &lt;/span&gt;comment)&#xD;
    {&#xD;
        _comments.Add(&lt;span style="color: #a31515"&gt;"&amp;lt;li&amp;gt;" &lt;/span&gt;+ comment + &lt;span style="color: #a31515"&gt;"&amp;lt;/li&amp;gt;"&lt;/span&gt;);&#xD;
        &lt;span style="color: blue"&gt;return &lt;/span&gt;Content(&lt;span style="color: blue"&gt;string&lt;/span&gt;.Join(&lt;span style="color: #a31515"&gt;"\n"&lt;/span&gt;, _comments.ToArray()));&#xD;
    }&#xD;
&#xD;
}&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;pre &gt;&lt;span style="color: blue"&gt;&lt;font color="#000000"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre &gt;&lt;span style="color: blue"&gt;&lt;font color="#000000"&gt;创建View表单：&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre &gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;h4&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;Comments&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon"&gt;h4&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;    &#xD;
    &amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;ul &lt;/span&gt;&lt;span style="color: red"&gt;id&lt;/span&gt;&lt;span style="color: blue"&gt;="comments"&amp;gt;        &#xD;
    &amp;lt;/&lt;/span&gt;&lt;span style="color: maroon"&gt;ul&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&#xD;
    &#xD;
    &lt;/span&gt;&lt;span style="background: yellow"&gt;&amp;lt;%&lt;/span&gt; &lt;span style="color: blue"&gt;using &lt;/span&gt;(Html.BeginForm(&lt;span style="color: #a31515"&gt;"AddComment"&lt;/span&gt;,&lt;span style="color: #a31515"&gt;"Comment"&lt;/span&gt;,&lt;span style="color: #2b91af"&gt;FormMethod&lt;/span&gt;.Post,&lt;span style="color: blue"&gt;new &lt;/span&gt;{@class=&lt;span style="color: #a31515"&gt;"hijax"&lt;/span&gt;})) { &lt;span style="background: yellow"&gt;%&amp;gt;&lt;/span&gt;    &#xD;
        &lt;span style="background: yellow"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color: blue"&gt;= &lt;/span&gt;Html.TextArea(&lt;span style="color: #a31515"&gt;"Comment"&lt;/span&gt;, &lt;span style="color: blue"&gt;new&lt;/span&gt;{rows=5, cols=50}) &lt;span style="background: yellow"&gt;%&amp;gt;&#xD;
&lt;/span&gt;        &lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;button &lt;/span&gt;&lt;span style="color: red"&gt;type&lt;/span&gt;&lt;span style="color: blue"&gt;="submit"&amp;gt;&lt;/span&gt;Add Comment&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon"&gt;button&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&#xD;
             &amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;span &lt;/span&gt;&lt;span style="color: red"&gt;id&lt;/span&gt;&lt;span style="color: blue"&gt;="indicator" &lt;/span&gt;&lt;span style="color: red"&gt;style&lt;/span&gt;&lt;span style="color: blue"&gt;="&lt;/span&gt;&lt;span style="color: red"&gt;display&lt;/span&gt;&lt;span style="color: blue"&gt;:none"&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;img &lt;/span&gt;&lt;span style="color: red"&gt;src&lt;/span&gt;&lt;span style="color: blue"&gt;="http://www.cnblogs.com/content/load.gif" &lt;/span&gt;&lt;span style="color: red"&gt;alt&lt;/span&gt;&lt;span style="color: blue"&gt;="loading..." /&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon"&gt;span&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;                                 &#xD;
    &lt;/span&gt;&lt;span style="background: yellow"&gt;&amp;lt;%&lt;/span&gt; } &lt;span style="background: yellow"&gt;%&amp;gt;&#xD;
&lt;/span&gt;&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;pre &gt;&lt;span style="color: blue"&gt;&lt;font color="#000000"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre &gt;&lt;span style="color: blue"&gt;&lt;font color="#000000"&gt;&lt;font size="5"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre &gt;&lt;span style="color: blue"&gt;&lt;font color="#000000"&gt;&lt;font size="5"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre &gt;&lt;span style="color: blue"&gt;&lt;font color="#000000" size="3"&gt;效果：&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre &gt;&lt;span style="color: blue"&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/zhuqil/WindowsLiveWriter/Asp.netmvc2Ajax_EBA5/3_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="3" border="0" alt="3" src="http://images.cnblogs.com/cnblogs_com/zhuqil/WindowsLiveWriter/Asp.netmvc2Ajax_EBA5/3_thumb.png" width="900" height="321" /&gt;&lt;/a&gt; &lt;/span&gt;&lt;/pre&gt;&lt;pre &gt;&lt;span style="color: blue"&gt;&lt;font color="#000000"&gt;&lt;font size="5"&gt;&lt;strong&gt;第三种方式：Ajax Helper。&lt;/strong&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre &gt;&lt;span style="color: blue"&gt;&lt;strong&gt;&lt;font color="#000000" size="5"&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre &gt;&lt;span style="color: blue"&gt;&lt;font color="#000000"&gt;将最简单的留言板修改成Ajax Helper的方式。&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&#xD;
&lt;p&gt;1、首先了解一下Ajax Helper下面四种方法。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; a、Ajax.ActionLink()：&lt;/strong&gt;它将渲染成一个超链接的标签，类似于Html.ActionLink()。当它被点击之后，将获取新的内容并将它插入到HTML页面中。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; b、Ajax.BeginForm()：&lt;/strong&gt;它将渲染成一个HTML的Form表单，类似于Html.BeginForm()。当它提交之后，将获取新的内容并将它插入到HTML页面中。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; c、Ajax.RouteLink()：&lt;/strong&gt;Ajax.RouteLink()类似于Ajax.ActionLink()。不过它可以根据任意的routing参数生成URL,不必包含调用的action。使用最多的场景是自定义的IController，里面没有action。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; d、Ajax.BeginRouteForm()：&lt;/strong&gt;同样Ajax.BeginRouteForm()类似于Ajax.BeginForm()。这个Ajax等同于Html.RouteLink()。&lt;/p&gt;&#xD;
&lt;p&gt;这个例子中使用Ajax.BeginForm()，下面具体了解Ajax.BeginForm()的参数。看下面代码&lt;/p&gt;&lt;pre &gt;&lt;span style="background: yellow"&gt;&amp;lt;%&lt;/span&gt; &lt;span style="color: blue"&gt;using &lt;/span&gt;(Ajax.BeginForm(&lt;span style="color: #a31515"&gt;"AddComment"&lt;/span&gt;, &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;AjaxOptions&#xD;
                                            &lt;/span&gt;{&#xD;
                                                HttpMethod = &lt;span style="color: #a31515"&gt;"POST"&lt;/span&gt;, &#xD;
                                                UpdateTargetId = &lt;span style="color: #a31515"&gt;"comments"&lt;/span&gt;,&#xD;
                                                InsertionMode = &lt;span style="color: #2b91af"&gt;InsertionMode&lt;/span&gt;.InsertAfter                                                &#xD;
                                            })) { &lt;span style="background: yellow"&gt;%&amp;gt;&#xD;
&lt;/span&gt;&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&#xD;
&lt;p&gt;actionName：&lt;span style="color: blue"&gt;&lt;/span&gt;AddComment（action的名字）&lt;/p&gt;&#xD;
&lt;p&gt;controllerName：CommentController（Controller的名字）&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #2b91af"&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ajaxOptions：&lt;/p&gt;&#xD;
&lt;p&gt;HttpMethod：Ajax的请求方式,这里为POST &lt;/p&gt;&#xD;
&lt;p&gt;UpdateTargetId :Ajax请求的结果显示的标签的ID，这里为comments&lt;/p&gt;&#xD;
&lt;p&gt;InsertionMode：将Ajax结果插入页面的方式，这里将ajax的结果放置到comments的后面&lt;/p&gt;&#xD;
&lt;p&gt;2、实现：&lt;/p&gt;&#xD;
&lt;p&gt;首先要在View中添加下面两个脚本文件：&lt;/p&gt;&lt;pre &gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;script &lt;/span&gt;&lt;span style="color: red"&gt;src&lt;/span&gt;&lt;span style="color: blue"&gt;="http://www.cnblogs.com/Scripts/MicrosoftAjax.js" &lt;/span&gt;&lt;span style="color: red"&gt;type&lt;/span&gt;&lt;span style="color: blue"&gt;="text/javascript"&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon"&gt;script&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&#xD;
    &amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;script &lt;/span&gt;&lt;span style="color: red"&gt;src&lt;/span&gt;&lt;span style="color: blue"&gt;="http://www.cnblogs.com/Scripts/MicrosoftMvcAjax.js" &lt;/span&gt;&lt;span style="color: red"&gt;type&lt;/span&gt;&lt;span style="color: blue"&gt;="text/javascript"&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon"&gt;script&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&#xD;
&lt;/span&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;定义表单：&lt;/p&gt;&lt;pre &gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;h4&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;Comments&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon"&gt;h4&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;    &#xD;
    &amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;ul &lt;/span&gt;&lt;span style="color: red"&gt;id&lt;/span&gt;&lt;span style="color: blue"&gt;="comments"&amp;gt;        &#xD;
    &amp;lt;/&lt;/span&gt;&lt;span style="color: maroon"&gt;ul&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&#xD;
    &#xD;
    &lt;/span&gt;&lt;span style="background: yellow"&gt;&amp;lt;%&lt;/span&gt; &lt;span style="color: blue"&gt;using &lt;/span&gt;(Ajax.BeginForm(&lt;span style="color: #a31515"&gt;"AddComment"&lt;/span&gt;, &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;AjaxOptions&#xD;
                                            &lt;/span&gt;{&#xD;
                                                HttpMethod = &lt;span style="color: #a31515"&gt;"POST"&lt;/span&gt;, &#xD;
                                                UpdateTargetId = &lt;span style="color: #a31515"&gt;"comments"&lt;/span&gt;,&#xD;
                                                InsertionMode = &lt;span style="color: #2b91af"&gt;InsertionMode&lt;/span&gt;.InsertAfter                                                &#xD;
                                            })) { &lt;span style="background: yellow"&gt;%&amp;gt;&#xD;
&lt;/span&gt;    &#xD;
        &lt;span style="background: yellow"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color: blue"&gt;= &lt;/span&gt;Html.TextArea(&lt;span style="color: #a31515"&gt;"Comment"&lt;/span&gt;, &lt;span style="color: blue"&gt;new&lt;/span&gt;{rows=5, cols=50}) &lt;span style="background: yellow"&gt;%&amp;gt;&#xD;
&lt;/span&gt;        &lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;button &lt;/span&gt;&lt;span style="color: red"&gt;type&lt;/span&gt;&lt;span style="color: blue"&gt;="submit"&amp;gt;&lt;/span&gt;Add Comment&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon"&gt;button&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&#xD;
                                            &#xD;
    &lt;/span&gt;&lt;span style="background: yellow"&gt;&amp;lt;%&lt;/span&gt; } &lt;span style="background: yellow"&gt;%&amp;gt;&#xD;
&lt;/span&gt;&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp; 这样就行了，我们发现比用Jquery方便很多，但是使用Jquery将灵活很多。 &#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;3、效果：和第二种一样。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="5"&gt;&lt;strong&gt;总结：&lt;/strong&gt;&lt;/font&gt;本文非常的简单，在asp.net mvc中实现了3中ajax的调用方式。推荐使用Jquery和Ajax Helper这两种。Ajax Helper使用非常简单，Jquery比较灵活。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;font size="5"&gt;参考：&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;ASP.NET MVC 2 In Action&lt;/p&gt;&#xD;
&lt;p&gt;Pro ASP.NET MVC 2 Framework, Second Edition&lt;/p&gt;&lt;img src="http://www.cnblogs.com/zhuqil/aggbug/1780285.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;评论: 9　&lt;a href="http://www.cnblogs.com/zhuqil/archive/2010/07/18/1780285.html#pagedcomment" target="_blank"&gt;查看评论&lt;/a&gt;　&lt;a href="http://www.cnblogs.com/zhuqil/archive/2010/07/18/1780285.html#commentform" target="_blank"&gt;发表评论&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://job.cnblogs.com/enterprise/2453/" target="_blank"&gt;百度期待您的加盟&lt;/a&gt;&lt;/p&gt;&lt;hr/&gt;&lt;p&gt;最新新闻：&lt;br/&gt;· &lt;a href="http://news.cnblogs.com/n/68591/" target="_blank"&gt;微软不为外界所知的十件趣事&lt;/a&gt;&lt;span style="color:gray"&gt;(2010-07-18 22:58)&lt;/span&gt;&lt;br/&gt;· &lt;a href="http://news.cnblogs.com/n/68590/" target="_blank"&gt;中国第2季搜索引擎市场规模达26亿 百度破70%&lt;/a&gt;&lt;span style="color:gray"&gt;(2010-07-18 22:54)&lt;/span&gt;&lt;br/&gt;· &lt;a href="http://news.cnblogs.com/n/68589/" target="_blank"&gt;Facebook用户数下周达5亿 邀请用户共享故事&lt;/a&gt;&lt;span style="color:gray"&gt;(2010-07-18 22:49)&lt;/span&gt;&lt;br/&gt;· &lt;a href="http://news.cnblogs.com/n/68584/" target="_blank"&gt;开源的可视化编辑器 KindEditor 3.5.1 发布&lt;/a&gt;&lt;span style="color:gray"&gt;(2010-07-18 22:35)&lt;/span&gt;&lt;br/&gt;· &lt;a href="http://news.cnblogs.com/n/68581/" target="_blank"&gt;WordPress 陷入开源‘边界’之争&lt;/a&gt;&lt;span style="color:gray"&gt;(2010-07-18 17:47)&lt;/span&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;编辑推荐：&lt;a href="http://news.cnblogs.com/n/68453/" target="_blank"&gt;揭秘Facebook背后的那些软件&lt;/a&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;网站导航：&lt;a href="http://www.cnblogs.com" target="_blank"&gt;博客园首页&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://home.cnblogs.com/" target="_blank"&gt;个人主页&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://news.cnblogs.com" target="_blank"&gt;新闻&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://home.cnblogs.com/ing/" target="_blank"&gt;闪存&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://home.cnblogs.com/group/" target="_blank"&gt;小组&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://space.cnblogs.com/q/" target="_blank"&gt;博问&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://space.cnblogs.com" target="_blank"&gt;社区&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://kb.cnblogs.com" target="_blank"&gt;知识库&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/lixyvip/aggbug/1780392.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lixyvip/archive/2010/07/18/1780392.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lixyvip/archive/2010/07/18/1780393.html</id><title type="text">《实践与思考》系列连载（5）&amp;mdash;&amp;mdash;问答Hprose，以及关于技术与开源的思考</title><summary type="text">作者: 陈希章 发表于 2010-07-18 18:29 原文链接 阅读: 481 评论: 6引子 之前我写过一篇文章，讨论了在XML Web Service或者WCF中，多次发起异步调用可能导致的问题，请参考http://www.cnblogs.com/chenxizhang/archive/2010/05/31/1747812.html 在这一片文章中，我介绍了问题的症状以及发生的原因，及其解...</summary><published>2010-07-18T15:35:00Z</published><updated>2010-07-18T15:35:00Z</updated><author><name>Lixy</name><uri>http://www.cnblogs.com/lixyvip/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lixyvip/archive/2010/07/18/1780393.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lixyvip/archive/2010/07/18/1780393.html"/><content type="html">&lt;p&gt;&lt;a href="http://www.cnblogs.com/chenxizhang/"&gt;&lt;img src="http://pic.cnblogs.com/face/u9072.jpg" alt="" border="0"/&gt;&lt;/a&gt;&lt;br/&gt;作者: &lt;a href="http://www.cnblogs.com/chenxizhang/" target="_blank"&gt;陈希章&lt;/a&gt; 发表于 2010-07-18 18:29 &lt;a href="http://www.cnblogs.com/chenxizhang/archive/2010/07/18/1780258.html" target="_blank"&gt;原文链接&lt;/a&gt; 阅读: 481 评论: 6&lt;/p&gt;&lt;p&gt;&lt;strong&gt;引子&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;之前我写过一篇文章，讨论了在XML Web Service或者WCF中，多次发起异步调用可能导致的问题，请参考&lt;a title="http://www.cnblogs.com/chenxizhang/archive/2010/05/31/1747812.html" href="http://www.cnblogs.com/chenxizhang/archive/2010/05/31/1747812.html"&gt;http://www.cnblogs.com/chenxizhang/archive/2010/05/31/1747812.html&lt;/a&gt;&lt;/p&gt; &lt;p&gt;在这一片文章中，我介绍了问题的症状以及发生的原因，及其解决方法。这篇文章收到了一些反馈，其中有朋友介绍到了Hprose这个产品。我后来也实际用了一下，确实在Hprose中是可以避免这种问题的。(有兴趣的朋友，可以参考这里 &lt;a title="http://www.cnblogs.com/chenxizhang/archive/2010/05/31/1747812.html#1873774" href="http://www.cnblogs.com/chenxizhang/archive/2010/05/31/1747812.html#1873774"&gt;http://www.cnblogs.com/chenxizhang/archive/2010/05/31/1747812.html#1873774&lt;/a&gt;）&lt;/p&gt; &lt;p&gt;本着实践和求真的精神，我也专门对Hprose这个产品也做了一些深入的探究，包括和他们的开发团队做了一些交流。同时，因为这个产品是商业开源（与一般的开源还不太一样），所以也引发了一些对技术和开源的思考。今天整理出来，给大家参考参考&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;什么是Hprose？&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.hprose.com/products.php"&gt;Hprose (High Performance Remote Object Service Engine)&lt;/a&gt; 是一个商业开源的新型轻量级跨语言跨平台的面向对象的高性能远程动态通讯中间件。它支持众多语言，例如 &lt;a href="http://www.hprose.com/cpp.php"&gt;C++&lt;/a&gt;, &lt;a href="http://www.hprose.com/dotnet.php"&gt;.NET&lt;/a&gt;, &lt;a href="http://www.hprose.com/java.php"&gt;Java&lt;/a&gt;, &lt;a href="http://www.hprose.com/pascal.php"&gt;Delphi&lt;/a&gt;, &lt;a href="http://www.hprose.com/objc.php"&gt;Objective-C&lt;/a&gt;, &lt;a href="http://www.hprose.com/actionscript.php"&gt;ActionScript&lt;/a&gt;, &lt;a href="http://www.hprose.com/javascript.php"&gt;JavaScript&lt;/a&gt;, &lt;a href="http://www.hprose.com/asp.php"&gt;ASP&lt;/a&gt;, &lt;a href="http://www.hprose.com/php.php"&gt;PHP&lt;/a&gt;, &lt;a href="http://www.hprose.com/python.php"&gt;Python&lt;/a&gt;, &lt;a href="http://www.hprose.com/ruby.php"&gt;Ruby&lt;/a&gt;, &lt;a href="http://www.hprose.com/perl.php"&gt;Perl&lt;/a&gt; 等语言，通过 Hprose 可以在这些语言之间实现方便且高效的互通。&lt;/p&gt; &lt;p&gt;Hprose 是商业开源软件，在取得 Hprose 商业使用授权后，您可以将它用于您所拥有所有权的商业项目的开发当中，Hprose 商业使用授权没有开发者人数、服务器CPU数量、授权年限等限制，但对二次分发有一定的特别要求。如果您所开发的项目或产品涉及到对 Hprose 的二次分发，还需要取得相应的二次分发授权。&lt;/p&gt; &lt;p&gt;关于Hprose的详细介绍和有关资源，请访问其官方网站： &lt;a href="http://www.hprose.com"&gt;http://www.hprose.com&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;问答Hprose&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;下面记录了我和他们的团队几次邮件交流讨论到的几个一些问题。取自邮件的原文，比较直白，但是原汁原味。&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;问：协议层面,我关心的是主要包括两个层面：Hprose如何支持不同的传输协议（例如Http和Tcp或者还有更多的），以及Hprose的数据序列化格式是否有公开的规范书？&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;答：协议实现方面我们是这样考虑的，通过uri来区分不同的协议，目前http://、https://开头的是表示Http客户端和Https客户端，他们由HproseClient的子类HproseHttpClient来具体实现。当以后提供tcp、udp等实现后，tcp://、udp://开头的表示TCP客户端和UDP客户端，他们可能会分别由HproseClient的子类HproseTcpClient和HproseUdpClient来分别实现，每个不同类型的客户端肯定会有他们特有的属性，并且内部通讯机制也完全不同，所以由不同的子类实现是必要的，但是它们又都是HproseClient的子类，在不需要设置特殊属性的情况下，可以使用HproseClient来统一访问，另外，当tcp、udp版本实现之后，我们会给HproseClient类提供一个工厂方法，通过不同协议的uri来创建不同类型的HproseClient对象不需要指定使用哪个子类，这样就可以将不同协议的实现进行统一管理了。&lt;/p&gt; &lt;p&gt;&lt;font color="#ff0000"&gt;【我的评论】这个做法也是可以的，采用类似于.NET中WebRequest那种工厂方法模式的设计，也能保证一定的灵活性。虽然与WCF那样通过配置文件直接就可以改变传输协议（其实是所谓的binding)的做法是有些差别的。&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;br&gt;而数据序列化协议部分，目前我们没有公开的数据格式描述文档，这部分我们以后可能会通过标准或者专利的形式进行发布。格式的公开不是一个简单的问题，它有多方面的因素所制约，AMF这个格式从最初制定实施到最后公开也是花了5-6年的时间（2002-2006年制定，2007年公开发布），对于Adobe那样的大厂商尚且如此，对于我们而言也需要慎之又慎啊。&lt;/p&gt; &lt;p&gt;&lt;font color="#ff0000"&gt;【我的评论】可以理解&lt;/font&gt; &lt;p&gt;&lt;p&gt;&lt;strong&gt;问：数据传输层面，有没有办法由用户决定是否进行加密或者压缩？&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;答：可以由用户来决定加密和压缩。目前压缩是通过直接使用http的压缩方式，服务器端有个IsCompressionEnabled开关，当打开这个开关后，客户端只需要添加Accept-Encoding: gzip,deflate这个http头，就可以开始压缩传输了。不过说实话，压缩开启之后，数据量不够大时，数据压缩之后反而会增大，而且数据压缩传输会对CPU消耗相当严重，所以我们是不推荐使用压缩传输的，因此文档中并没有提到IsCompressionEnabled开关，也没有说明客户端如何开启压缩传输的方法，这样可以避免用户在误用这个功能后抱怨占用太多CPU。至于用户自定义加密传输，我们现在还没有提供这个功能，一是因为https本身可以提供加密传输，在tcp上也可以通过tcp+ssl实现加密传输。因为ssl是标准的，所以要比用户自定义的方式可靠一些。另一个原因是，加密传输要保证安全性需要用到密钥交换技术，这个同样占用大量的CPU计算时间，我们在Hprose的前身PHPRPC中提供了这个功能，但是我们发现它带来的这个缺点远远大于它所带来的问题（例如黑客可以通过这一点很轻松的发起DoS攻击，导致服务器计算资源耗尽而停止正常服务）。另外，密钥交换本身必须是一个同步调用的过程，在实现远程异步调用时，又要保证同步，会大大增加实现的复杂度，以及降低异步调用的效率。所以对于自定义加密方式传输的功能，我们目前的1.x版本中还不打算加入。当上面所说的几个问题能够找到有效的解决方法之后，我们会在Hprose 2.0或者Hprose 3.0中，以插件的方式来提供。&lt;/p&gt; &lt;p&gt;&lt;font color="#ff0000"&gt;【我的评语】我们乐见这个设计的完善&lt;/font&gt; &lt;p&gt;&lt;p&gt;&lt;strong&gt;问：是否有考虑过&lt;b&gt;REST&lt;/b&gt;&lt;b&gt;方面&lt;/b&gt;的支持？&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;答：REST相对于RPC是另外一种构架模式，Hprose提供了一种序列化机制，同时在这种序列化机制上构建了一个RPC机制。所以如果在Hprose的序列化机制上使用REST方式来构建系统也是完全可以的，但是这时候就完全不需要Hprose提供的客户端和服务器了，只需要Hprose的IO（序列化反序列化）部分就可以了。但是REST构架最大的问题是，它没有一个统一的标准，不能向RPC那样可以保证接口的互通性。而且应用的范围我认为也不应存在太大的交集，现在很多采用REST方式来提供类似Web服务功能的用法，大多都是对REST的误用，并没有发挥出REST本该发挥的优势。现在的REST已经像当年的XML一样被当成了万能灵药，而实际上，这已经背离了REST的本意。而Hprose既然是为RPC在XML火爆的年代中所犯下的错误做出的纠正，就不应该在REST火爆的年代犯下同样的错误。所以即使Hprose的序列化机制确实可以用于真正的REST应用，我们也不会明确的告诉大家Hprose可以做REST服务，因为在大多数人并不能真正认识REST的年代，这样说就是对用户的误导。 &lt;p&gt;&lt;font color="#ff0000"&gt;【我的评语】基本同意。对于REST，还是可以多从实践的角度去辩证地看待。&lt;/font&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;b&gt;问：OnError事件&lt;/b&gt;的做法存疑，如果一个client发起了多次请求（方法名也是一样的），那么怎么区分呢&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;答：OnError事件确实存在您说的问题，这个问题我们在JavaScript、ActionScript、ASP这些版本中已经提供了在调用中直接提供跟调用绑定的错误处理回调的方式来解决了。但是C#、Java等这些版本我们在1.2版本中尚未提供这种解决方案（未提供的主要原因是用户对这个功能没有强烈需求）。但这个解决方案我们会在1.3版本中在所有语言中统一的。 &lt;p&gt;&lt;font color="#ff0000"&gt;【我的评论】这个机制还是需要完善起来，现在有用户对这个功能有强烈要求了&lt;a href="http://images.cnblogs.com/cnblogs_com/chenxizhang/WindowsLiveWriter/5Hprose_F6EC/%E4%B8%8D%E5%A5%BD%E6%84%8F%E6%80%9D_2.gif"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="不好意思" border="0" alt="不好意思" src="http://images.cnblogs.com/cnblogs_com/chenxizhang/WindowsLiveWriter/5Hprose_F6EC/%E4%B8%8D%E5%A5%BD%E6%84%8F%E6%80%9D_thumb.gif" width="42" height="42"&gt;&lt;/a&gt; &lt;/font&gt; &lt;p&gt;&lt;p&gt;&lt;strong&gt;问：&lt;b&gt;身份验证&lt;/b&gt;方面，我看到目前文档的说明是可以直接改写Http的头，添加Authencation这个标头。&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;我要说的是，这个部分最好有改进。目前这种做法易用性不高，会让人生畏。ADO.NET Data Service早先就遇到这个问题，后来改进了&lt;/li&gt; &lt;li&gt;身份验证和授权历来都是很重要的。身份验证本来就有标准的做法，例如给Client类型添加一个Credentials这个属性。而授权应该可以结合自定义Attribute或者给予Url的做法可能是较为合适的&lt;/li&gt; &lt;li&gt;后续这个方面最好有一些例子&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;答：对于.NET版本，我们确实提供了如您所说的Credentials属性，这个属性我们没有在手册中列出（因为他在其它语言中不存在，另外，.NET的某些版本中也不支持这个属性，例如SilverLight，这跟.NET本身有关），但是在使用时您会发现他确实存在。在服务器端授权方面，我们提供了 OnBeforeInvoke 事件，在该事件中可以对认证授权进行统一处理。我们不使用 Attribute 的原因是，我们认为 Attribute 不是一种松散耦合的解决方案，它对所发布的服务具有侵入性，我们设计的目标是，任何可以直接用于本地的方法都可以直接发布为远程方法，而不需要对它做任何修改或修饰。这样才可以保证，对于我们不具有源码的类也可以无需包装就作为远程服务发布，并且还可以对授权做集中控制。 &lt;p&gt;&lt;font color="#ff0000"&gt;【我的评语】这个设计我认为还是要改进，让用户使用起来更加方便一些&lt;/font&gt; &lt;p&gt;&lt;p&gt;&lt;strong&gt;问：&lt;strong&gt;开发工具和服务描述&lt;/strong&gt;方面的支持&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;这个部分最好有改进。例如我看到，如果直接在浏览器中输入服务的地址，会看到几个字符。那不是一个友好的设计。你可能主要是从开发者角度看这个问题了，而不是用户角度。&lt;/li&gt; &lt;li&gt;其实这一点可以借鉴WCF或者Web Service的wsdl做法，人家好的东西也可以吸收的&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;答：WSDL存在的意义在于它是上一代静态远程调用机制所必需的中间语言，就如同CORBA的IDL、ICE的Slice一样。与IDL和Slice不同的是，在.NET中，WSDL是根据服务自动生成的（但是对于PHP、Python这些非.NET上运行的语言，它们无法自动生成WSDL，需要手工编写，所以在PHP、Python等动态语言中发布WebService是相当痛苦的一件事情）。而Hprose是新一代的动态远程调用，所以不需要WSDL这样的中间语言。通过浏览器来查看Hprose的服务地址显示的远程方法列表虽然对用户来说不够友好，但是相比WSDL来说，Hprose的输出还是简单易懂的多。所以，我想您所说的WCF和WebService提供的用户友好的界面应该是指的在线调试界面，而不是WSDL那个页面吧。针对这个用户调试界面，我们提供了忘忧草（在线试用版地址：&lt;a href="http://www.hprose.com/nepenthes/"&gt;http://www.hprose.com/nepenthes/&lt;/a&gt;）这样的专业调试工具，用户如果需要调试服务，可以直接在这个调试工具中输入服务器地址，这样不管用户的服务是使用何种语言在何种平台上发布的，都可以采用同样的方式进行调试。而且随着这个调试工具的升级，用户以后可以用更加友好的界面来调试之前的服务，而不需要连同服务一起更新后才能使用新的调试界面。这都是我们为什么要采用这种分离式调试工具的原因。而您所说的WCF和WebService服务发布后的调试界面是.NET中特有的，如果用其它语言发布WebService服务，并不会得到这样的调试界面，所以，不同语言下的WebService服务，用户体验会有相当大的差别，而且用.NET老版本发布的WebService服务也不可能使用新版本.NET发布WCF服务的调试界面来调试，当然这并不是微软的错，而恰恰这是微软的策略，因为只有这样才能将用户牢牢的绑定于.NET平台之上，并且让用户始终追求使用最新版本的.NET平台开发工具，只有这样才能保证微软持续盈利。而我们的出发点恰恰相反，我们是要为所有平台所有语言的用户提供统一的用户体验，所以我们采用了截然不同的设计方式。&lt;/p&gt; &lt;p&gt;&lt;font color="#ff0000"&gt;【我的评语】提供类似于WSDL这样的服务描述（甚至有配套生成客户端那个接口的工具）肯定是对的做法，让用户使用起来更加方便才是目标。统一的用户体验固然是没错的，但统一的用户体验不是说统一的不高的用户体验。&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font color="#ff0000"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;问：如果服务器端有两个类，他们拥有同名方法，则它们是无法区分的。看起来是以最后注册的类为准。这个有没有什么可能的问题。也就是说，在Client端Invoke的时候，只是提供了functionName，而没有办法提供服务类的名称。&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;答：你说的这个问题，我们一开始就已经考虑到了。所以我们提供了一个别名机制，如果以类（或对象）为单位发布服务，则可以为每个类（或对象）指定一个服务名成空间（该名称空间在发布服务时会变为方法前缀），而对于以方法为单位发布服务时，则可以为每一个方法指定一个完整的别名，通过完整的别名，就可以区分在定义时名称相同的两个不同方法了。这部分在文档的后面部分（客户端部分）有比较详细的说明。&lt;br&gt;例如您的这个例子可以这样改写： &lt;p&gt;class Program &lt;p&gt;{ &lt;p&gt;static void Main(string[] args) &lt;p&gt;{ &lt;p&gt;HproseHttpListenerServer svr = new HproseHttpListenerServer("&lt;a href="http://localhost:2010/Hprose/"&gt;http://localhost:2010/Hprose/&lt;/a&gt;"); &lt;p&gt;svr.Methods.AddInstanceMethods(new MyService(), "s1"); &lt;p&gt;svr.Methods.AddInstanceMethods(new MyService2(), "s2"); &lt;p&gt;svr.Start(); &lt;p&gt;Console.WriteLine("服务器已经准备就绪"); &lt;p&gt;Console.Read(); &lt;p&gt;} &lt;p&gt;} &lt;p&gt;&lt;font color="#ff0000"&gt;【我的评语】这是不错的&lt;/font&gt; &lt;p&gt;&lt;p&gt;&lt;strong&gt;问：对于开源的理解&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;答：我对开源的认识，大概开始于10年之前第一次接触Linux吧。那时的Linux发展了已有10年之久，因为其开源，功能又不逊于Unix，因此许多公司都希望藉由Linux操作系统，来取代昂贵的Unix，以便在激烈的竞争中取得有利的地位，这方面的代表是RedHat、SuSE等商业化 Linux 版本。而另外一些个人或组织则为了教育科研的需要而开发了适合自己的Linux版本，这方面的代表是Slackware。还有一部分个人和组织则是为了兴趣和自由的理想而开发他们自己的Linux版本，这方面的代表是Debian、Gentoo等。虽然大家做的都是Linux，但是出发点不同，因此各个产品之间当然会出现很多的差异化，以致于想要开发一个可以在所有版本Linux都能运行的程序都是一件很困难的事情。Linux阵营因此而分裂，形成了诸侯割据的局面。各诸侯之间的争斗一直在继续，一批死去，一批新的又起来，何时才能统一，不得而知。&lt;br&gt;而Windows自始至今都是不开源的，也正是因为这样，Windows才保持了统一的局面，而没有像Linux那样四分五裂。尽管Linux阵营常常以Windows不开源为借口来打击Windows，但是Windows的霸主地位始终没有丝毫的动摇，相反因为Linux阵营的四分五裂，各个厂商之间各怀鬼胎，虽然势众，但并不能团结一致，甚至一些公司为了自己的私利，还跟微软签署了合作协议，例如Novell（SuSE和Mono的开发公司）。这就像苏洵在六国论中指出的“六国破灭，非兵不利，战不善，弊在赂秦”一样，Linux照这样发展下去最终必会败于Windows系统。&lt;br&gt;Linux的开源始于对自由理想的追求，但好的理想却常常会被恶的思想所利用，以致善始而不能善终。  &lt;p&gt;&lt;p&gt;我理解的开源是这样的：&lt;br&gt;OpenSource != Free != No Charge&lt;br&gt;开源的目的一般分为以下几种：&lt;br&gt;1、以自由作为理想的开源。代表为GPL开源许可。GPL的发起人铁人（他名字的直译）是一个理想主义者，他认为软件是自由的，一个软件被开发出来之后，人人都可以修改它，人人都可以维护它，任何人都不可以剥夺别人修改软件的自由。但是他的这个理想常常被人误认为软件必须是要免费的。也就是被误认为 Free == No Charge，但实际上，铁人并没有这个意思，而且他自己也确实在通过他的自由软件所盈利。&lt;br&gt;2、以打击竞争对手或者潜在的竞争对手为目的并把开源贡献者作为免费劳动力的开源，代表为Apache基金会、Mozilla基金会。Apache基金会幕后最大的支持者是IBM，IBM通过赞助Apache基金会来开发一些免费的开源项目，这些开源项目最大的特点是商业友好，也就是说，可以免费的拿来商用且不用继续开源，Apache的开源项目作为一个试验田，由众多小公司拿来免费使用，在使用过程中遇到问题并不能得到任何的商业支持，只能通过自己努力来解决，解决之后在反馈给Apache组织（当然也有大部分人并不会提交自己的努力成果）。而IBM则会拿Apache的那些半成品来经过自己的优化之后，做成高端产品，再以高价卖给高端客户。这样，低端客户有免费的Apache开源项目使用，虽然难用但因为不用花钱，所以就不会选择收费的其它低端市场定位的同类商业产品，尽管那些商业产品可能要比Apache的开源项目优秀的多。而高端用户有因为不在乎花钱，所以只买最贵的，因此IBM的产品就成了他们的首选。IBM通过这种方式有效的打击了低端市场的同类产品，使他们无法成长为可以跟IBM叫板的竞争对手。而Mozilla基金会可以说是一个复仇组织，当它的前身Netscape被微软的IE消灭之后，Mozilla就把打败微软的IE作为了首要目标，因此Mozilla的开源免费完全是为了解决掉微软的IE。不过螳螂捕蝉，黄雀在后，Mozilla经过这么多年的发展，虽然终于可以争取到一点IE的市场份额了，没想到Google的Chrome也进入了浏览器竞争市场，面对这两大高手，Mozilla要翻身恐怕是很难了。&lt;br&gt;3、为了让客户放心使用而开源。代表是微软和Hprose。微软现在有很多产品会对某些要求查看源码的客户开源，比如某些国家的政府，这种开源仅仅是为了让客户放心使用，证明自己没有留下什么后门。Hprose的开源也是类似的想法，对客户开源，让客户放心使用，当然如果客户遇到问题，因为手中有源码，也可以更容易的反馈错误，我们就可以更快的完成错误修正。所以，这种开源方式是一种双赢的做法。&lt;br&gt;4、盲目开源。代表是Sun。他在IBM的怂恿下，把Java开源了，最后IBM搞出了自己的JVM，赚翻了。而Sun自己一分钱没赚到，最后把自己公司都搭了进去，以致于最后落了个被Oracle收购的下场。&lt;/p&gt; &lt;p&gt;&lt;font color="#ff0000"&gt;【我的评语】对于开源向来大家理解都不一，上述总结比较中肯。我个人也赞同：开源不等于免费&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;br&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;问：那个PHPRPC开源，你怎么评价？&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;br&gt;PHPRPC 现在是以GPL形式开源的，也就是说，它也是一个理想主义的产物，任何人都可以得到它，修改它，使用它，却不能独自拥有它，不能将它私有化。实际上PHPRPC也是我们的一个产品，但是它只能用于同样采用GPL发布的项目中，我们对它也提供收费的商业支持，但实际上，你知道的，我们根本不可能在这方面得到一分钱的收入，因为在国内，只有理想是不能养活一个公司的，甚至连个人都不能养活。呵呵。但是既然已经做了，就让它继续下去吧，只要它还活着，就代表我们还有理想，我们还在奋斗！&lt;/p&gt; &lt;p&gt;&lt;font color="#ff0000"&gt;【我的评语】为理想和奋斗者而鼓掌&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;最后，我还是要表达我对Hprose的整体评价：&lt;/p&gt; &lt;ol&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;我对Hprose的构想和设计比较赞许，跨平台跨语言支持当然是很多程序员乃至CTO们孜孜以求的目标。而Hprose在实践这样的目标，这最起码是值得我们学习并且为之欢欣鼓舞的。希望这个产品能精益求精，做得更好，并且能得到更多人的了解和使用。&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt; &lt;li&gt; &lt;p&gt;&lt;strong&gt;对于Hprose团队的创造性工作和认真态度，我是颇感欣赏的。希望他们能坚持理想，实现理想。对于开源，经常有人感概说，看似很好，但实践起来却殊为不易，我自己也深以为然。从这方面而言，更应该赢得我们的敬意和支持。&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;【备注】以上言论均代表个人意见，如有雷同，纯属巧合&lt;a href="http://images.cnblogs.com/cnblogs_com/chenxizhang/WindowsLiveWriter/5Hprose_F6EC/%E9%BC%BB%E8%A1%80_2.gif"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="鼻血" border="0" alt="鼻血" src="http://images.cnblogs.com/cnblogs_com/chenxizhang/WindowsLiveWriter/5Hprose_F6EC/%E9%BC%BB%E8%A1%80_thumb.gif" width="42" height="42"&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/chenxizhang/aggbug/1780258.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;评论: 6　&lt;a href="http://www.cnblogs.com/chenxizhang/archive/2010/07/18/1780258.html#pagedcomment" target="_blank"&gt;查看评论&lt;/a&gt;　&lt;a href="http://www.cnblogs.com/chenxizhang/archive/2010/07/18/1780258.html#commentform" target="_blank"&gt;发表评论&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://job.cnblogs.com/enterprise/2453/" target="_blank"&gt;百度期待您的加盟&lt;/a&gt;&lt;/p&gt;&lt;hr/&gt;&lt;p&gt;最新新闻：&lt;br/&gt;· &lt;a href="http://news.cnblogs.com/n/68591/" target="_blank"&gt;微软不为外界所知的十件趣事&lt;/a&gt;&lt;span style="color:gray"&gt;(2010-07-18 22:58)&lt;/span&gt;&lt;br/&gt;· &lt;a href="http://news.cnblogs.com/n/68590/" target="_blank"&gt;中国第2季搜索引擎市场规模达26亿 百度破70%&lt;/a&gt;&lt;span style="color:gray"&gt;(2010-07-18 22:54)&lt;/span&gt;&lt;br/&gt;· &lt;a href="http://news.cnblogs.com/n/68589/" target="_blank"&gt;Facebook用户数下周达5亿 邀请用户共享故事&lt;/a&gt;&lt;span style="color:gray"&gt;(2010-07-18 22:49)&lt;/span&gt;&lt;br/&gt;· &lt;a href="http://news.cnblogs.com/n/68584/" target="_blank"&gt;开源的可视化编辑器 KindEditor 3.5.1 发布&lt;/a&gt;&lt;span style="color:gray"&gt;(2010-07-18 22:35)&lt;/span&gt;&lt;br/&gt;· &lt;a href="http://news.cnblogs.com/n/68581/" target="_blank"&gt;WordPress 陷入开源‘边界’之争&lt;/a&gt;&lt;span style="color:gray"&gt;(2010-07-18 17:47)&lt;/span&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;编辑推荐：&lt;a href="http://news.cnblogs.com/n/68453/" target="_blank"&gt;揭秘Facebook背后的那些软件&lt;/a&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;网站导航：&lt;a href="http://www.cnblogs.com" target="_blank"&gt;博客园首页&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://home.cnblogs.com/" target="_blank"&gt;个人主页&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://news.cnblogs.com" target="_blank"&gt;新闻&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://home.cnblogs.com/ing/" target="_blank"&gt;闪存&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://home.cnblogs.com/group/" target="_blank"&gt;小组&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://space.cnblogs.com/q/" target="_blank"&gt;博问&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://space.cnblogs.com" target="_blank"&gt;社区&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://kb.cnblogs.com" target="_blank"&gt;知识库&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/lixyvip/aggbug/1780393.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lixyvip/archive/2010/07/18/1780393.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lixyvip/archive/2010/07/18/1780394.html</id><title type="text">.NET中的设计模式---由吃龙虾想到的</title><summary type="text">作者: 倪大虾 发表于 2010-07-18 18:10 原文链接 阅读: 725 评论: 20　　今天吃小龙虾的时候忽然想到了以前一个湖北朋友讲的虾的故事.这位朋友是湖北人,据他说在他小时候他们那里很多虾,特别是夏天雨后,满地爬的都是.因为传说那是美国对付中国的秘密武器,居然没有人敢吃.后来偶然有人提了半桶换卖了5块钱回来,慢慢的大家认识到虾的价值,随后就有了今天吃得五香小龙虾.然而近几年出现的...</summary><published>2010-07-18T15:35:00Z</published><updated>2010-07-18T15:35:00Z</updated><author><name>Lixy</name><uri>http://www.cnblogs.com/lixyvip/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lixyvip/archive/2010/07/18/1780394.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lixyvip/archive/2010/07/18/1780394.html"/><content type="html">&lt;p&gt;&lt;a href="http://www.cnblogs.com/niyw/"&gt;&lt;img src="http://pic.cnblogs.com/face/u141116.jpg" alt="" border="0"/&gt;&lt;/a&gt;&lt;br/&gt;作者: &lt;a href="http://www.cnblogs.com/niyw/" target="_blank"&gt;倪大虾&lt;/a&gt; 发表于 2010-07-18 18:10 &lt;a href="http://www.cnblogs.com/niyw/archive/2010/07/18/1780253.html" target="_blank"&gt;原文链接&lt;/a&gt; 阅读: 725 评论: 20&lt;/p&gt;&lt;p&gt;今天吃小龙虾的时候忽然想到了以前一个湖北朋友讲的虾的故事.这位朋友是湖北人,据他说在他小时候他们那里很多虾,特别是夏天雨后,满地爬的都是.因为传说那是美国对付中国的秘密武器,居然没有人敢吃.后来偶然有人提了半桶换卖了5块钱回来,慢慢的大家认识到虾的价值,随后就有了今天吃得五香小龙虾.然而近几年出现的"洗虾粉"又让人心有余悸.回想起昨天看到亚力山大&amp;lt;&lt;a href="http://www.cnblogs.com/Alexander-Lee/archive/2010/07/17/1779905.html"&gt;召集讨论设计模式是语言表达能力低下的产物&lt;/a&gt;&amp;gt;一贴.突然发现&lt;strong&gt;设计模式&lt;/strong&gt;和&lt;strong&gt;虾&lt;/strong&gt;居然有相似的命运.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;设计模式从出现到发展,到普及再到今天,人们对它的认识也同样经过了"陌生"-&amp;gt;"认识使用"-&amp;gt;"批评".设计模式在程序员心目的地位中也经历了"新奇"-&amp;gt;"圣经"-&amp;gt;"怀疑".然而,不管人们如何认识龙虾,从始至终虾还是虾,没有变过.同样,设计模式自出现现到今天,一样没有变,变得只是次第更新的软件设计开发技术,变得只是一代又一代的程序员.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;设计模式是20世纪60-70年代的软件危机之后大规模软件的发展的结果.这里有个问题,什么是设计模式.相比能够真正回答正确的人不多,真正理解的人也不多,因此经历的辉煌之后随之而来的怀疑就不可避免了,不过也正是这些批判怀疑促进了设计模式更进一的发展.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;什么是设计模式,我也无法给出权威的答案,不过我敢肯定,设计模式不是&amp;lt;gof23种设计模式&amp;gt;中的UML图,也不是一行行的示例代码,它有的只是一种思想,一种思考问题的方式,就像&amp;lt;加勒比海盗&amp;gt;中的&amp;lt;海盗法典&amp;gt;,它只是指导,而并非律法.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;既然只是一种指导,那么在使用的时候就应当根据实际情况使用它或不使用它,用一种方法实现它或用另外一种方法实现它.&lt;strong&gt;指导告诉我们一个解决问题的方向,而例子告诉我们到达目的地众多路径中的一条,它可能是最优,也可能是最差.&lt;/strong&gt;&amp;lt;gof23种设计模式&amp;gt;一书不仅详细的表达了什么是设计模式,而且有很多生动的例子.这些例子用来具体说明每种设计模式.&lt;strong&gt;然而在今天看来,那些Smalltalk或C++的例子却成了一幅无形的枷锁,让很多人去套用而不知道因地制宜的发散扩展.&lt;/strong&gt;比如当不断的用if ...else if选择工厂或策略的时候,就不会想到在.NET中可以使用反射来去掉让人生厌的if...else.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;今天讨论的是.NET中的设计模式.大家都知道设计模式出现时还没有.NET,Gof不可能预见会有C#的出现,写论文的时候也不可能知道有&lt;strong&gt;反射,委托,事件等&lt;/strong&gt;技术的出现.因而亚历山大同志单凭&lt;strong&gt;"比如C#内置了事件机制，那么Observer还有意思"&lt;/strong&gt;就&lt;strong&gt;认为设计模式已过时就显得过于武断&lt;/strong&gt;了.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;.NET中有很多特性使得设计模式的实现更加简单,然而并不是说一定要用这些特性来实现设计模式,,就好比有了乘法,有时候我们用加法实现1+1=2可能更好,你不能因此而否定了乘法.&lt;/strong&gt;同样,既然"事件"能够实现"Observer"的效果,那么一个事件不正是一个Observer吗?Observer不是加入到.NET中了吗!它只不过换了个名字,本质没有变.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;所以说我们在用设计模式的时候首先应该深入挖掘语言的潜力,而后结合设计模式的思想,创造独有的应用设计模式.或许在C++中实现一个Observer有很多行代码,在.NET中一行即可.书中的例子只是学习的一种途径,没有创新,生搬硬套只能是鹦鹉学舌,邯郸学步,最终也只是贻笑大方了.&lt;/p&gt;&lt;img src="http://www.cnblogs.com/niyw/aggbug/1780253.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;评论: 20　&lt;a href="http://www.cnblogs.com/niyw/archive/2010/07/18/1780253.html#pagedcomment" target="_blank"&gt;查看评论&lt;/a&gt;　&lt;a href="http://www.cnblogs.com/niyw/archive/2010/07/18/1780253.html#commentform" target="_blank"&gt;发表评论&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://job.cnblogs.com/enterprise/2453/" target="_blank"&gt;百度期待您的加盟&lt;/a&gt;&lt;/p&gt;&lt;hr/&gt;&lt;p&gt;最新新闻：&lt;br/&gt;· &lt;a href="http://news.cnblogs.com/n/68591/" target="_blank"&gt;微软不为外界所知的十件趣事&lt;/a&gt;&lt;span style="color:gray"&gt;(2010-07-18 22:58)&lt;/span&gt;&lt;br/&gt;· &lt;a href="http://news.cnblogs.com/n/68590/" target="_blank"&gt;中国第2季搜索引擎市场规模达26亿 百度破70%&lt;/a&gt;&lt;span style="color:gray"&gt;(2010-07-18 22:54)&lt;/span&gt;&lt;br/&gt;· &lt;a href="http://news.cnblogs.com/n/68589/" target="_blank"&gt;Facebook用户数下周达5亿 邀请用户共享故事&lt;/a&gt;&lt;span style="color:gray"&gt;(2010-07-18 22:49)&lt;/span&gt;&lt;br/&gt;· &lt;a href="http://news.cnblogs.com/n/68584/" target="_blank"&gt;开源的可视化编辑器 KindEditor 3.5.1 发布&lt;/a&gt;&lt;span style="color:gray"&gt;(2010-07-18 22:35)&lt;/span&gt;&lt;br/&gt;· &lt;a href="http://news.cnblogs.com/n/68581/" target="_blank"&gt;WordPress 陷入开源‘边界’之争&lt;/a&gt;&lt;span style="color:gray"&gt;(2010-07-18 17:47)&lt;/span&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;编辑推荐：&lt;a href="http://news.cnblogs.com/n/68453/" target="_blank"&gt;揭秘Facebook背后的那些软件&lt;/a&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;网站导航：&lt;a href="http://www.cnblogs.com" target="_blank"&gt;博客园首页&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://home.cnblogs.com/" target="_blank"&gt;个人主页&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://news.cnblogs.com" target="_blank"&gt;新闻&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://home.cnblogs.com/ing/" target="_blank"&gt;闪存&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://home.cnblogs.com/group/" target="_blank"&gt;小组&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://space.cnblogs.com/q/" target="_blank"&gt;博问&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://space.cnblogs.com" target="_blank"&gt;社区&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://kb.cnblogs.com" target="_blank"&gt;知识库&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/lixyvip/aggbug/1780394.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lixyvip/archive/2010/07/18/1780394.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lixyvip/archive/2010/07/18/1780395.html</id><title type="text">Silverlight MMORPG网页游戏开发课程[第一期] 序言</title><summary type="text">作者: 深蓝色右手 发表于 2010-07-18 17:53 原文链接 阅读: 743 评论: 14 本课程Demo在线演示地址:http://silverfuture.cn/ (随课程进度不断更新,所有资源暂时放在xap) 2010年7月20日是一个不平凡的日子，应朋友的邀请在自己的家乡广西师范大学展开为期两周的Silverlight游戏开发课程培训。这是我为家乡做贡献的第一次尝试，看到二十多位...</summary><published>2010-07-18T15:35:00Z</published><updated>2010-07-18T15:35:00Z</updated><author><name>Lixy</name><uri>http://www.cnblogs.com/lixyvip/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lixyvip/archive/2010/07/18/1780395.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lixyvip/archive/2010/07/18/1780395.html"/><content type="html">&lt;p&gt;&lt;a href="http://www.cnblogs.com/alamiye010/"&gt;&lt;img src="http://pic.cnblogs.com/face/u71881.jpg" alt="" border="0"/&gt;&lt;/a&gt;&lt;br/&gt;作者: &lt;a href="http://www.cnblogs.com/alamiye010/" target="_blank"&gt;深蓝色右手&lt;/a&gt; 发表于 2010-07-18 17:53 &lt;a href="http://www.cnblogs.com/alamiye010/archive/2010/07/18/1780250.html" target="_blank"&gt;原文链接&lt;/a&gt; 阅读: 743 评论: 14&lt;/p&gt;&lt;p&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 本课程Demo在线演示地址:&lt;a href="http://silverfuture.cn/" target="_blank"&gt;http://silverfuture.cn/&lt;/a&gt; (随课程进度不断更新,所有资源暂时放在xap)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2010&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;年&lt;span lang="EN-US"&gt;7&lt;/span&gt;月&lt;span lang="EN-US"&gt;20&lt;/span&gt;日是一个不平凡的日子，应朋友的邀请在自己的家乡&lt;span lang="EN-US"&gt;&lt;a href="http://www.gxnu.edu.cn/" target="_blank"&gt;&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;&lt;font color="#3366cc"&gt;广西师范大学&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;展开为期两周的&lt;span lang="EN-US"&gt;Silverlight&lt;/span&gt;游戏开发课程培训。这是我为家乡做贡献的第一次尝试，看到二十多位同学牺牲暑假的时间与我一同学习感到无比欣慰，中国年轻人的激情并没有被这个混沌的社会所磨灭，在他们对知识与未来充满渴望的眼神中我激动的走上了人生中又一个讲台。是的，&lt;span lang="EN-US"&gt;Silverlight&lt;/span&gt;新的探险之旅即将从这里起航！&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 21pt; margin: 0cm 0cm 0pt; mso-layout-grid-align: none" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;未来的一段日子里，我会把讲课的流程教案&lt;span lang="EN-US"&gt;(&lt;/span&gt;非详案&lt;span lang="EN-US"&gt;)&lt;/span&gt;整理并公布于博客中&lt;span lang="EN-US"&gt;(&lt;/span&gt;如有条件我争取将视频一同发布&lt;span lang="EN-US"&gt;)&lt;/span&gt;，希望能为广大的&lt;span lang="EN-US"&gt;Silverlight&lt;/span&gt;爱好者们提供更多的学习资料。中国的&lt;span lang="EN-US"&gt;IT&lt;/span&gt;技术不能总牵着世界的尾巴走，我们应该&lt;span lang="EN-US"&gt;Show&lt;/span&gt;出自己独到的舞步，让世界昂首以望！&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; margin: 0cm 0cm 0pt; mso-layout-grid-align: none" &gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;课程要求：&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 24pt; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; mso-char-indent-count: 2.0" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;1&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;、热爱游戏，对游戏开发有着极高热情，愿意投身于&lt;span lang="EN-US"&gt;Silverlight&lt;/span&gt;游戏开发领域。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 24pt; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; mso-char-indent-count: 2.0" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;2&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;、需要一定的编程基础，例如面向对象的知识。&lt;span lang="EN-US"&gt;Silverlight&lt;/span&gt;运行于&lt;span lang="EN-US"&gt;.NET&lt;/span&gt;平台上，因此本课程以&lt;span lang="EN-US"&gt;C#&lt;/span&gt;为主要编程语言，同时还会用到&lt;span lang="EN-US"&gt;Javascript&lt;/span&gt;、&lt;span lang="EN-US"&gt;F#&lt;/span&gt;等等。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 24pt; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; mso-char-indent-count: 2.0" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;3&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;、善于动手，特别是要多动手。本课程会有大量动手机会（每节都有&lt;span lang="EN-US"&gt;Demo&lt;/span&gt;演练）。如果没有&lt;span lang="EN-US"&gt;.NET&lt;/span&gt;相关编程经验，则需要您在课下多多学习多多练习，遇到问题学会上网查阅资料，提高自学与解决问题能力。当然课程中我也会告诉您涉及些什么知识，会告诉您明确的学习方向；并且，我会毫不吝惜的分享所有相关文档以及书籍等资料。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 24pt; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; mso-char-indent-count: 2.0" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;4&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;、课程&lt;span lang="EN-US"&gt;Level &lt;/span&gt;：&lt;span lang="EN-US"&gt;200&lt;/span&gt;（中等难度）&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; margin: 0cm 0cm 0pt; mso-layout-grid-align: none" &gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;课程简介：&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 24pt; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; mso-char-indent-count: 2.0" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;1&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;）开发平台&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 24pt; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; mso-char-indent-count: 2.0" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;操作系统：&lt;span lang="EN-US"&gt;Windows XP / Windows 7&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 24pt; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; mso-char-indent-count: 2.0" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;语言：&lt;span lang="EN-US"&gt;.NET 3.5/4.0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 24pt; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; mso-char-indent-count: 2.0" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;工具： &lt;span lang="EN-US"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&amp;amp;FamilyID=06a32b1c-80e9-41df-ba0c-79d56cb823f7"&gt;&lt;font color="#3366cc"&gt;Visual Studio 2010&lt;/font&gt;&lt;/a&gt; + &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&amp;amp;FamilyID=40ef0f31-cb95-426d-9ce0-00dcfabf3df5"&gt;Silverlight 4 tools&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 24pt; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; mso-char-indent-count: 2.0" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;3&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;）涉及知识&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 24pt; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; mso-char-indent-count: 2.0" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;C#&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;、&lt;span lang="EN-US"&gt;Silverlight&lt;/span&gt;、&lt;span lang="EN-US"&gt;WCF&lt;/span&gt;、&lt;span lang="EN-US"&gt;MSSQL&lt;/span&gt;、&lt;span lang="EN-US"&gt;Javascript&lt;/span&gt;、&lt;span lang="EN-US"&gt;HTML&lt;/span&gt;等&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 24pt; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; mso-char-indent-count: 2.0" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;2&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;）课程亮点：&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 24pt; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; mso-char-indent-count: 2.0" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;本课程涉及的内容知识点均非常新，由浅入深，从多角度、广域面对&lt;span lang="EN-US"&gt;Silverlight&lt;/span&gt;开发&lt;span lang="EN-US"&gt;MMORPG&lt;/span&gt;网页游戏进行细致讲解。国外目前虽然有一些&lt;span lang="EN-US"&gt;Silverlight&lt;/span&gt;游戏开发方面的初级教程，但涉及的知识相对基础，不适合向大型游戏项目拓展。而本课程建立在作者博客文字教程（&lt;/span&gt;&lt;u&gt;&lt;span style="line-height: 150%; font-family: 'Times New Roman','serif'; color: #003366; font-size: 12pt" lang="EN-US"&gt;&lt;a href="http://www.cnblogs.com/alamiye010/archive/2009/06/17/1505346.html"&gt;&lt;span style="color: #003366"&gt;C#&lt;/span&gt;&lt;span style="font-family: 宋体; color: #003366; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'" lang="EN-US"&gt;&lt;span lang="EN-US"&gt;开发&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #003366"&gt;WPF/Silverlight&lt;/span&gt;&lt;span style="font-family: 宋体; color: #003366; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'" lang="EN-US"&gt;&lt;span lang="EN-US"&gt;动画及游戏系&lt;span lang="EN-US"&gt;列教程&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #003366"&gt;(Game Tutorial)&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/u&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;及&lt;/span&gt;&lt;u&gt;&lt;span style="line-height: 150%; font-family: 'Times New Roman','serif'; color: #003366; font-size: 12pt" lang="EN-US"&gt;&lt;a href="http://www.cnblogs.com/alamiye010/archive/2010/03/25/1695419.html"&gt;&lt;span style="color: #003366; text-decoration: none; text-underline: none"&gt;Silverlight&lt;/span&gt;&lt;span style="font-family: 宋体; color: #003366; text-decoration: none; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; text-underline: none" lang="EN-US"&gt;&lt;span lang="EN-US"&gt;游戏设计&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #003366; text-decoration: none; text-underline: none"&gt;(Game Design))&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/u&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;基础之上，所有内容均为原创，通俗易懂趣味性浓编写至今广受网友们的好评，是目前国内不可多得的游戏开发教程。本次课程又在原有引擎基础上做了大规模优化，所有代码重新编写，面向对象的思想贯穿始终；力求为广大热切希望向&lt;span lang="EN-US"&gt;Silverlight&lt;/span&gt;转型的开发者们提供一部完美而优秀的入门教程，让&lt;span lang="EN-US"&gt;Silverlight&lt;/span&gt;网络游戏开发更高效，更简单。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; margin: 0cm 0cm 0pt; mso-layout-grid-align: none" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;3&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;）课程目标：&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; margin: 0cm 0cm 0pt; mso-layout-grid-align: none" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;[&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;第一期&lt;span lang="EN-US"&gt;]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 24pt; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; mso-char-indent-count: 2.0" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;以实现传统&lt;span lang="EN-US"&gt;RPG&lt;/span&gt;单机游戏所有基本功能为目标，在学习游戏开发过程中同时掌握&lt;span lang="EN-US"&gt;Silverlight&lt;/span&gt;大部分相关编程语法、技术要点及技巧。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 24pt; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; mso-char-indent-count: 2.0" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;[&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;第二期&lt;span lang="EN-US"&gt;]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 24pt; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; mso-char-indent-count: 2.0" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;实现传统的&lt;span lang="EN-US"&gt;MMORPG&lt;/span&gt;网络游戏基本功能，重点在于掌握&lt;span lang="EN-US"&gt;Silverlight&lt;/span&gt;客户端与服务器端的通信技术（如&lt;span lang="EN-US"&gt;WCF&lt;/span&gt;、&lt;span lang="EN-US"&gt;Socket&lt;/span&gt;等等）。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; margin: 0cm 0cm 0pt; mso-layout-grid-align: none" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;4&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;）课程安排：（见附件&lt;span lang="EN-US"&gt;-&lt;/span&gt;课程表）&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; margin: 0cm 0cm 0pt; mso-layout-grid-align: none" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;5&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;）推荐书籍：&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; margin: 0cm 0cm 0pt; mso-layout-grid-align: none" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;《&lt;span lang="EN-US"&gt;Silverlight2&lt;/span&gt;完美征程》&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; margin: 0cm 0cm 0pt; mso-layout-grid-align: none" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;《&lt;span lang="EN-US"&gt;Silverlight3&lt;/span&gt;银光志》&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: center; margin: 0cm 0cm 0pt"  align="center"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; font-size: 12pt"&gt;引&lt;span lang="EN-US"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;言&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; margin: 0cm 0cm 0pt" &gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;一、什么是&lt;span lang="EN-US"&gt;Silverlight&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 24pt; margin: 0cm 0cm 0pt; mso-char-indent-count: 2.0" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;&lt;a href="http://baike.baidu.com/view/942429.htm?fr=ala0_1_1"&gt;&lt;font color="#3366cc"&gt;Silverlight&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;是&lt;span lang="EN-US"&gt;&lt;a href="http://baike.baidu.com/view/2353.htm" target="_blank"&gt;&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;&lt;font color="#3366cc"&gt;微软&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;所发展的&lt;span lang="EN-US"&gt; Web &lt;/span&gt;前端应用程序开发解决方案，是微软富互联网应用程序（&lt;span lang="EN-US"&gt;Rich Internet Application&lt;/span&gt;，简称&lt;span lang="EN-US"&gt;RIA&lt;/span&gt;）策略的主要应用程序开发平台之一，以插件的形式安装于浏览器上运行。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 24pt; margin: 0cm 0cm 0pt; mso-char-indent-count: 2.0" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;与&lt;span lang="EN-US"&gt;Flash&lt;/span&gt;较类似，其主要特点有：&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 24pt; margin: 0cm 0cm 0pt; mso-char-indent-count: 2.0" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;1&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;）跨浏览器、跨平台技术。可以在所有流行的浏览器中运行，包括&lt;span lang="EN-US"&gt;Microsoft Internet Explorer&lt;/span&gt;、&lt;span lang="EN-US"&gt;Mozilla Firefox, Apple Safari &lt;/span&gt;和&lt;span lang="EN-US"&gt;Opera&lt;/span&gt;；同样也可以以独立窗口程序的形式（&lt;span lang="EN-US"&gt;Out of Browser&lt;/span&gt;）运行于&lt;span lang="EN-US"&gt;Microsoft Windows&lt;/span&gt;和&lt;span lang="EN-US"&gt;Apple Mac OS X&lt;/span&gt;（跨浏览器、跨平台，可桌面化）。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 24pt; margin: 0cm 0cm 0pt; mso-char-indent-count: 2.0" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;2&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;）无论在哪运行，都能提供一致的用户体验（多浏览器下无差别体验）。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 24pt; margin: 0cm 0cm 0pt; mso-char-indent-count: 2.0" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;3&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;）只需一次性下载很小的插件文件安装以支持，耗时仅数十秒（&lt;span lang="EN-US"&gt;V4.0&lt;/span&gt;的插件容量约&lt;st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="6" unitname="m"&gt;&lt;span lang="EN-US"&gt;6M&lt;/span&gt;&lt;/st1:chmetcnv&gt;）。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 24pt; margin: 0cm 0cm 0pt; mso-char-indent-count: 2.0" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;4&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;）读取数据且更新外观时，不会通过刷新整体页面而打断用户操作（无刷新体验）。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; margin: 0cm 0cm 0pt" &gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;二、&lt;span lang="EN-US"&gt;Silverlight&lt;/span&gt;技术优势&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 21pt; margin: 0cm 0cm 0pt" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;&lt;a href="http://www.silverlight.net/getstarted/overview.aspx"&gt;&lt;font color="#3366cc"&gt;Silverlight&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;在短短&lt;span lang="EN-US"&gt;三&lt;span lang="EN-US"&gt;年半的时间里更新了从1.0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;到4.0&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;这4&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;个版本&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;，除暂时对&lt;span lang="EN-US"&gt;3D&lt;/span&gt;方面的支持较弱些，在整体功能方面（无论企业级开发还是游戏开发）已全面赶超&lt;span lang="EN-US"&gt;FLASH&lt;/span&gt;，是微软&amp;#8220;&lt;span lang="EN-US"&gt;&lt;a href="http://www.enet.com.cn/article/2010/0407/A20100407636259.shtml"&gt;&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;&lt;font color="#3366cc"&gt;三屏一云&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&amp;#8221;计划&lt;span lang="EN-US"&gt;(&lt;/span&gt;电脑屏幕、手机屏幕和电视屏幕以及云计算&lt;span lang="EN-US"&gt;)&lt;/span&gt;的核心技术之一。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 21pt; margin: 0cm 0cm 0pt" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;Silverlight&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;相较于其他&lt;span lang="EN-US"&gt;RIA&lt;/span&gt;技术如&lt;span lang="EN-US"&gt;Flash&lt;/span&gt;、&lt;span lang="EN-US"&gt;JavaFX&lt;/span&gt;、&lt;span lang="EN-US"&gt;AJAX&lt;/span&gt;、&lt;span lang="EN-US"&gt;HTML5&lt;/span&gt;等更加强大的优势在于：&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 21pt; margin: 0cm 0cm 0pt" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;1&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;）&lt;span style="color: #993300"&gt;一学两用&lt;/span&gt;：&lt;span lang="EN-US"&gt;Silverlight&lt;/span&gt;与&lt;span lang="EN-US"&gt;&lt;a href="http://baike.baidu.com/view/292311.htm?fr=ala0_1"&gt;&lt;font color="#3366cc"&gt;WPF&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;（Windows Presentation Foundation&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;）&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;越来越趋于一致化&lt;span lang="EN-US"&gt;(&lt;/span&gt;参阅&lt;span lang="EN-US"&gt;&lt;a href="http://blog.joycode.com/scottgu/archive/2009/11/02/115765.joy" target="_blank"&gt;&lt;font color="#3366cc"&gt;WPF4 &lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;新特性&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/a&gt;)&lt;/span&gt;，而两者代表着微软未来主流的&lt;span lang="EN-US"&gt;B/S&lt;/span&gt;与&lt;span lang="EN-US"&gt;C/S&lt;/span&gt;技术，精通其中任意一个就意味着两者都已掌握，这对于新技术的学习者来说非常具有吸引力&lt;span lang="EN-US"&gt;(&lt;/span&gt;关于两者的适用情况可参考这篇文章：&lt;span lang="EN-US"&gt;&lt;a href="http://news.cnblogs.com/n/65765/"&gt;&lt;font color="#3366cc"&gt;WPF&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;与Silverlight&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;：为项目选择最佳技术&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/a&gt;)&lt;/span&gt;。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 24pt; margin: 0cm 0cm 0pt; mso-char-indent-count: 2.0" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;2&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;）&lt;span style="color: #993300"&gt;多语言开发&lt;/span&gt;：可使用除&lt;span lang="EN-US"&gt;VC++&lt;/span&gt;外&lt;span lang="EN-US"&gt;(&lt;/span&gt;未来极有可能在一定范围内得到支持&lt;span lang="EN-US"&gt;)&lt;/span&gt;的任何&lt;span lang="EN-US"&gt;.NET&lt;/span&gt;平台语言如&lt;span lang="EN-US"&gt;C#&lt;/span&gt;、&lt;span lang="EN-US"&gt;VB&lt;/span&gt;、&lt;span lang="EN-US"&gt;F#(&lt;a href="http://news.cnblogs.com/n/65963/"&gt;&lt;font color="#3366cc"&gt;F#&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;现在已经支持Silverlight 4&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/a&gt;)&lt;/span&gt;等进行开发，在&lt;span lang="EN-US"&gt;VisualStudio&lt;/span&gt;、&lt;span lang="EN-US"&gt;Blend&lt;/span&gt;等强大开发工具的帮助下实现多语言代码无逢衔接。（例如：用&lt;span lang="EN-US"&gt;VB&lt;/span&gt;写的函数可以在&lt;span lang="EN-US"&gt;C#&lt;/span&gt;写的类中直接调用；&lt;span lang="EN-US"&gt;FLASH&lt;/span&gt;用&lt;span lang="EN-US"&gt;AS&lt;/span&gt;，&lt;span lang="EN-US"&gt;JavaFX&lt;/span&gt;用&lt;span lang="EN-US"&gt;JAVA&lt;/span&gt;，&lt;span lang="EN-US"&gt;HTML5&lt;/span&gt;用&lt;span lang="EN-US"&gt;Javascript&lt;/span&gt;，而&lt;span lang="EN-US"&gt;Silverlight&lt;/span&gt;却可以同时使用多种主流语言协同编程；）&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 21pt; margin: 0cm 0cm 0pt" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;3&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;）&lt;span style="color: #993300"&gt;效率优势&lt;/span&gt;：&lt;span lang="EN-US"&gt;Silverlight&lt;/span&gt;插件中集成精简版的&lt;span lang="EN-US"&gt;.NET&lt;/span&gt;框架，在强大的类库支持下，企业能借此东风更高效率的研发一切应用程序。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 24pt; margin: 0cm 0cm 0pt; mso-char-indent-count: 2.0" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;4&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;）&lt;span style="color: #993300"&gt;性能优势&lt;/span&gt;：&lt;span lang="EN-US"&gt;C#&lt;/span&gt;或&lt;span lang="EN-US"&gt;VB&lt;/span&gt;强大的图形界面交互设计能力配合上&lt;span lang="EN-US"&gt;F#&lt;/span&gt;并行计算特性可以打造性能一流的&lt;span lang="EN-US"&gt;RIA&lt;/span&gt;应用程序，这也是&lt;span style="color: red" lang="EN-US"&gt;&lt;a href="http://news.cnblogs.com/n/63545/"&gt;&lt;font color="#3366cc"&gt;Silverlight&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;超越所有RIA&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;的最大优势&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 24pt; margin: 0cm 0cm 0pt; mso-char-indent-count: 2.0" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;5&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;）&lt;span style="color: #993300"&gt;前途无量&lt;/span&gt;：就如同它的名字一样，&lt;span lang="EN-US"&gt;Silverlight&lt;/span&gt;一路走来随伴随着波澜跌宕，却勇往直前；据最新消息显示，微软将破天荒的将&lt;span lang="EN-US"&gt;&lt;a href="http://www.silverlightchina.net/html/news/2010/0707/1434.html"&gt;&lt;font color="#3366cc"&gt;Silverlight&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;完全开源&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;，这是传说中代码吝啬鬼微软前所未有的举措，然而我们更能从中看到微软对雄霸&lt;span lang="EN-US"&gt;RIA&lt;/span&gt;界的决心！&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 21pt; margin: 0cm 0cm 0pt" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;综上，&lt;span lang="EN-US"&gt;Silverlight&lt;/span&gt;在&lt;span lang="EN-US"&gt;RIA&lt;/span&gt;界拥有力压群雄之势，优秀的开发效率和产品性能终有一天会引领它走向技术之颠！&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; margin: 0cm 0cm 0pt" &gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;三、&lt;span lang="EN-US"&gt;Silverlight&lt;/span&gt;案例演示&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 21pt; margin: 0cm 0cm 0pt" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;在正式切入主题前让我们先来感受一下&lt;span lang="EN-US"&gt;Silverlight&lt;/span&gt;技术现在&lt;span lang="EN-US"&gt;&amp;amp;&lt;/span&gt;将来给我们带来的巨大震撼：&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 21pt; margin: 0cm 0cm 0pt" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;1&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;）&lt;span lang="EN-US"&gt;Silverlight&lt;/span&gt;官方网站：&lt;span lang="EN-US"&gt;&lt;a href="http://www.silverlight.net/"&gt;&lt;font color="#3366cc"&gt;www.silverlight.net&lt;/font&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 21pt; margin: 0cm 0cm 0pt" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;官方网站里收录了海量的&lt;span lang="EN-US"&gt;Silverlight&lt;/span&gt;应用展示&lt;span lang="EN-US"&gt;Demo&lt;/span&gt;，教学视频以及全世界的&lt;span lang="EN-US"&gt;Silverlight&lt;/span&gt;高手齐聚的论坛，你所需要的一切资源都可以从官方网站搜罗到。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 24pt; margin: 0cm 0cm 0pt; mso-char-indent-count: 2.0" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;2&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;）&lt;span lang="EN-US"&gt;&lt;a href="http://v.youku.com/v_show/id_XMTUyOTI2NjYw.html"&gt;&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;基于Silverlight&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;开发的Bing Map - &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;下一代的地图技术在微软而非Google&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 24pt; margin: 0cm 0cm 0pt; mso-char-indent-count: 2.0" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;(&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;引文：&lt;span lang="EN-US"&gt;&lt;a href="http://blog.sina.com.cn/s/blog_61fe7eac0100hipw.html"&gt;&lt;font color="#3366cc"&gt;http://blog.sina.com.cn/s/blog_61fe7eac0100hipw.html&lt;/font&gt;&lt;/a&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 24pt; margin: 0cm 0cm 0pt; mso-char-indent-count: 2.0" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;在&lt;span lang="EN-US"&gt;&lt;a href="http://baike.baidu.com/view/992776.htm?fr=ala0_1"&gt;&lt;font color="#3366cc"&gt;TED2010&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;上，来自&lt;span lang="EN-US"&gt;&lt;a href="http://www.microsoft.com/" target="_blank"&gt;&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;&lt;font color="#3366cc"&gt;微软&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;的&lt;span lang="EN-US"&gt;Blaise Aguera y Arcas&lt;/span&gt;展示了全新的结合虚拟现实体验的&lt;span lang="EN-US"&gt;Bing&lt;/span&gt;地图技术震撼了在场所有观众。如果你还在感慨&lt;span lang="EN-US"&gt;&lt;a href="http://maps.google.com/" target="_blank"&gt;&lt;font color="#3366cc"&gt;Google&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;街景&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;，那么看看这个吧，看看他们怎样把流畅的街景技术和实时动态影像、天文景观结合在一起。让用户仿佛徜徉在异国他乡。街景也不再局限于街道，在一个小市场里，你可以看到你朋友拍的照片动态匹配到他曾经所看到的位置上。这种能够将影像和地图街景动态匹配的技术非常炫，不久的将来它将会出现在&lt;span lang="EN-US"&gt;Bing&lt;/span&gt;里面。目前看来，整合了&lt;span lang="EN-US"&gt;&lt;a href="http://silverlight.net/" target="_blank"&gt;&lt;font color="#3366cc"&gt;silverlight&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;技术的&lt;span lang="EN-US"&gt;&lt;a href="http://www.bing.com/maps/" target="_blank"&gt;&lt;font color="#3366cc"&gt;Bing Map&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;将会对&lt;span lang="EN-US"&gt;&lt;a href="http://maps.google.com/" target="_blank"&gt;&lt;font color="#3366cc"&gt;Google Maps&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;最终形成非常大的挑战。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;h2 style="text-indent: 24pt; margin: auto 0cm; mso-char-indent-count: 2.0"&gt;&lt;span style="font-size: 12pt; font-weight: normal; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt" lang="EN-US"&gt;&lt;a href="http://www.cnblogs.com/alamiye010/admin/2010世界杯Silverlight应用"&gt;&lt;font color="#3366cc"&gt;&lt;font face="宋体"&gt;2010&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;世界杯Silverlight&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;应用&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 24pt; margin: 0cm 0cm 0pt; mso-char-indent-count: 2.0" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;3&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;）&lt;span lang="EN-US"&gt;&lt;a href="http://v.youku.com/v_show/id_XMTY2NDM2MTk2.html"&gt;WPF&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;版QQ2010&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;在Windows7&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;的触摸技术下眩酷夺目&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; margin: 0cm 0cm 0pt" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;a href="http://im.qq.com/qq/gainian/"&gt;&lt;font color="#3366cc"&gt;QQ &lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;概念版是利用微软最新一代的客户端展现层技术--WPF&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;，精心打造的创新型IM&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;产品。&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 21pt; margin: 0cm 0cm 0pt" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;&lt;a href="http://slqq.qq.com/"&gt;&lt;font color="#3366cc"&gt;Silverlight QQ &lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;测试版&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 21pt; margin: 0cm 0cm 0pt" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;4&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;）&lt;span lang="EN-US"&gt;&lt;a href="http://v.youku.com/v_show/id_XMTU5NzczODI0.html" target="_blank"&gt;&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;国内第一款WPF&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;开发的多触摸地理定位系统(GIS)&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 21pt; margin: 0cm 0cm 0pt" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;4&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;）其他企业级应用&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 42pt; margin: 0cm 0cm 0pt; mso-char-indent-count: 3.5" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;&lt;a href="http://finance.sina.com.cn/stock/t/20100628/15408193580.shtml"&gt;&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;新浪财经&lt;/span&gt;&lt;/span&gt;&lt;/a&gt; &lt;a href="http://vip.stock.finance.sina.com.cn/silverpulse/"&gt;&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;使用地址&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 42pt; margin: 0cm 0cm 0pt; mso-char-indent-count: 3.5" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;&lt;a href="http://silverlight.koubei.com/"&gt;&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;口碑网百宝箱&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 42pt; margin: 0cm 0cm 0pt; mso-char-indent-count: 3.5" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;&lt;a href="http://silverlight.jsbc.com/"&gt;&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;江苏卫视在线直播&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 42pt; margin: 0cm 0cm 0pt; mso-char-indent-count: 3.5" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;&lt;a href="http://www.cnblogs.com/happycharles/archive/2010/05/20/1740281.html"&gt;&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;以然胜甲 SE&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;系统&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 42pt; margin: 0cm 0cm 0pt; mso-char-indent-count: 3.5" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;&amp;#8230;&amp;#8230;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 21pt; margin: 0cm 0cm 0pt" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;5&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;）网页游戏领域&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 36pt; margin: 0cm 0cm 0pt; mso-char-indent-count: 3.0" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;&amp;#9312;&lt;span lang="EN-US"&gt;&lt;a href="http://www.nxria.com/blog"&gt;&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;中游在线&lt;/span&gt;&lt;/span&gt;&lt;/a&gt; &lt;/span&gt;国内最棒的&lt;span lang="EN-US"&gt;Silverlight&lt;/span&gt;网游开发团队之一，目标：让中国的&lt;span lang="EN-US"&gt;Silverlight&lt;/span&gt;技术领先世界&lt;span lang="EN-US"&gt;1&lt;/span&gt;年！&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 36pt; margin: 0cm 0cm 0pt; mso-char-indent-count: 3.0" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;&amp;#9313;&lt;span lang="EN-US"&gt;&lt;a href="http://www.innoveware.com/ql3/QuakeLight.html"&gt;&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;雷神之锤(&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;演示)&lt;/span&gt;&lt;/span&gt;&lt;/a&gt; 3D&lt;/span&gt;方面在未来将得到极大支持&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 36pt; margin: 0cm 0cm 0pt; mso-char-indent-count: 3.0" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;&amp;#9314;&lt;span lang="EN-US"&gt;&lt;a href="http://darkreign.magnetar.net/Play/Standard/"&gt;&lt;font color="#3366cc"&gt;Dark Ieign&lt;/font&gt;&lt;/a&gt; &lt;/span&gt;堪比红色警戒&lt;span lang="EN-US"&gt;2&lt;/span&gt;，效果一流&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 21pt; margin: 0cm 0cm 0pt" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;&amp;#9315;&lt;span lang="EN-US"&gt;&lt;a href="http://www.54jjg.com/"&gt;54&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;竞技馆&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 36pt; margin: 0cm 0cm 0pt; mso-char-indent-count: 3.0" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;&amp;#8230;&amp;#8230;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 24pt; margin: 0cm 0cm 0pt; mso-char-indent-count: 2.0" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;最后是作者本人编写的&lt;span lang="EN-US"&gt;Silverlight&lt;/span&gt;游戏&lt;span lang="EN-US"&gt;Demo&lt;/span&gt;，在线演示地址：&lt;span lang="EN-US"&gt;&lt;a href="http://silverfuture.cn/"&gt;http://silverfuture.cn/&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; margin: 0cm 0cm 0pt" &gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;四、&lt;span lang="EN-US"&gt;Silverlight&lt;/span&gt;游戏开发前景&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 21pt; margin: 0cm 0cm 0pt" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;据相关统计，&lt;span lang="EN-US"&gt;&lt;a href="http://games.sina.com.cn/y/n/2010-04-27/0714394632.shtml" target="_blank"&gt;&lt;font color="#3366cc"&gt;2010&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;年或&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;将&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;是中国网游人才年&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;，中国未来网游人才的缺口将越来越大，这对于网游开发者来说前景一片大好；未来需要敏锐的预测，而机遇则更离不开瞬间的捕获，识时务者为俊杰，唯做到者方能成功。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 24pt; margin: 0cm 0cm 0pt; mso-char-indent-count: 2.0" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;十多年来，国内网络游戏的发展如雨后春笋般迅猛，随着游戏画质与效果的不断提升，以往的有端网游（&lt;span lang="EN-US"&gt;C/S&lt;/span&gt;）客户端容量都呈现几何上升趋势；例如国内经典的《大话西游》《梦幻西游》《剑侠世界》等系列&lt;span lang="EN-US"&gt;2D&lt;/span&gt;网游的客户端都是上&lt;st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="1" unitname="g"&gt;&lt;span lang="EN-US"&gt;1G&lt;/span&gt;&lt;/st1:chmetcnv&gt;的，而玩家熟知的&lt;span lang="EN-US"&gt;3D&lt;/span&gt;网游《永恒之塔》安装后客户端更突破&lt;st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="10" unitname="g"&gt;&lt;span lang="EN-US"&gt;10G&lt;/span&gt;&lt;/st1:chmetcnv&gt;大观；基于有端网游这一弊病，无端网页游戏在近些年来开始迅速串红，玩家只需打开浏览器即可玩到网络游戏，不用再耗费几小时甚至&lt;span lang="EN-US"&gt;1&lt;/span&gt;天的下载等待，也无须在每台机器上都重复重复再重复的花上几十分钟进行拷贝、安装庞大的游戏客户端，因此无端网游必将成为现在乃至未来高节奏生活下人们的高效率娱乐模式之一，而《开心农场》之类的&lt;span lang="EN-US"&gt;Web&lt;/span&gt;小网游就是最典型代表。伴随着各种&lt;span lang="EN-US"&gt;RIA&lt;/span&gt;技术的不断更新、进步，多核高&lt;span lang="EN-US"&gt;CPU&lt;/span&gt;配置的电脑逐渐普及，&lt;span lang="EN-US"&gt;Web&lt;/span&gt;网游不再仅仅局限于小游戏或单调的策略类&lt;span lang="EN-US"&gt;SLG&lt;/span&gt;；&lt;span lang="EN-US"&gt;09&lt;/span&gt;年开始各种回合制、即时类&lt;span lang="EN-US"&gt;Web-RPG&lt;/span&gt;网游逐步蓬勃发展，兼备即上即玩的原则，它们以更大的优势在侵蚀着有端网游的地盘；这并不是投机，而是顺应人类历史、科技进步的步调在成长壮大，而&lt;span lang="EN-US"&gt;Silverlight&lt;/span&gt;就是在这样的环境下成长起来的。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 21pt; margin: 0cm 0cm 0pt" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;预计，未来&lt;span lang="EN-US"&gt;Silverlight&lt;/span&gt;网游将出现大规模井喷现象，因为有无数像我这样长期致力于深入研究&lt;span lang="EN-US"&gt;Silverlight&lt;/span&gt;游戏开发的&lt;span lang="EN-US"&gt;Fans&lt;/span&gt;们在为大家默默的服务着，我们有着共同的目标：用&lt;span lang="EN-US"&gt;Silverlight&lt;/span&gt;打造性能一流&lt;span lang="EN-US"&gt;Web&lt;/span&gt;网游。我们也有着同样的梦想：在亲手研发的网络游戏中驰骋沙场，真乃快哉！&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 21pt; margin: 0cm 0cm 0pt" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;接下来的几天，我将引领大家走进&lt;span lang="EN-US"&gt;Silverlight MMORPG&lt;/span&gt;游戏开发这座华丽殿堂，一同体验那惊心动魄而又让人流连忘返的探秘之旅 &lt;span lang="EN-US"&gt;&amp;#8211; &lt;/span&gt;当大家满载而归时，别忘了把&lt;span lang="EN-US"&gt;Silverlight&lt;/span&gt;告诉你身边的朋友：其实游戏开发可以很简单的。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; margin: 0cm 0cm 0pt" &gt;&lt;span style="line-height: 150%; font-family: 宋体; color: #333333; font-size: 12pt; mso-ascii-font-family: Georgia; mso-hansi-font-family: Georgia"&gt;辅助资料&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 'Georgia','serif'; color: #333333; font-size: 12pt" lang="EN-US"&gt;:&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&amp;amp;FamilyID=b6127b9b-968c-46c2-8cb6-d228e017ad74"&gt;&lt;font color="#3366cc"&gt;Microsoft Silverlight 4 &lt;span style="font-family: 宋体; mso-ascii-font-family: Georgia; mso-hansi-font-family: Georgia" lang="EN-US"&gt;&lt;span lang="EN-US"&gt;脱机文档&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Georgia; mso-hansi-font-family: Georgia" lang="EN-US"&gt;&lt;span lang="EN-US"&gt;（简体中文）&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: center; margin: 0cm 0cm 0pt"  align="center"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; font-size: 12pt"&gt;准备工作：创建游戏解决方案&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; margin: 0cm 0cm 0pt" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;1&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;、新建&lt;span lang="EN-US"&gt;Silverlight&lt;/span&gt;游戏项目&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 21pt; margin: 0cm 0cm 0pt" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;打开&lt;span lang="EN-US"&gt;VisualStudio2010&lt;/span&gt;（以下简称&lt;span lang="EN-US"&gt;VS2010&lt;/span&gt;），依次点击：文件&lt;span lang="EN-US"&gt;-&amp;gt;&lt;/span&gt;新建&lt;span lang="EN-US"&gt;-&amp;gt;&lt;/span&gt;项目，找到&lt;span lang="EN-US"&gt;Silverlight&lt;/span&gt;节点并选中，然后在右侧的模板中选择&amp;#8220;&lt;span lang="EN-US"&gt;Silverlight&lt;/span&gt;应用程序&amp;#8221;，设置好相应的项目创建路径并为该项目取名后点确定&lt;span lang="EN-US"&gt;(&lt;/span&gt;这里我为该项目取名叫&lt;span lang="EN-US"&gt;Game)&lt;/span&gt;；此时&lt;span lang="EN-US"&gt;VS2010&lt;/span&gt;还会提示我们选择&lt;span lang="EN-US"&gt;Silverlight&lt;/span&gt;网站类型，直接点击确定使用默认配置即可。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; margin: 0cm 0cm 0pt" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;2&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;、解析&lt;span lang="EN-US"&gt;Silverlight&lt;/span&gt;项目结构&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; line-height: 150%; text-indent: 24pt; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; mso-char-indent-count: 2.0"  align="left"&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;在&amp;#8220;解决方案资源管理器&amp;#8221;中可以看到我们刚才新建的&amp;#8220;&lt;span lang="EN-US"&gt;Game&lt;/span&gt;解决方案&amp;#8221;包含有两个字项目，分别为：&lt;span lang="EN-US"&gt;Game&lt;/span&gt;和&lt;span lang="EN-US"&gt;Game.Web&lt;/span&gt;。&lt;span lang="EN-US"&gt;Game&lt;/span&gt;项目是&lt;span lang="EN-US"&gt;Silverlight&lt;/span&gt;应用程序项目，默认包含两个文件：&lt;span lang="EN-US"&gt;App&lt;/span&gt;和&lt;span lang="EN-US"&gt;MainPage&lt;/span&gt;。&lt;span lang="EN-US"&gt;App&lt;/span&gt;的作用是程序启动入口及全局资源配置管理，它继承自封装&lt;span lang="EN-US"&gt; Silverlight &lt;/span&gt;应用程序的&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 新宋体; color: #2b91af; font-size: 12pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;Application&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 新宋体; font-size: 12pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;，其中&lt;span lang="EN-US"&gt;App.xaml.cs&lt;/span&gt;文件记载着程序的启动、离开及错误处理：&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 新宋体; color: green; font-size: 12pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; line-height: 150%; margin: 0cm 0cm 0pt; mso-layout-grid-align: none"  align="left"&gt;&lt;span style="line-height: 150%; font-family: 新宋体; font-size: 12pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;public&lt;/span&gt; App() {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; line-height: 150%; margin: 0cm 0cm 0pt; mso-layout-grid-align: none"  align="left"&gt;&lt;span style="line-height: 150%; font-family: 新宋体; font-size: 12pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;this&lt;/span&gt;.Startup += &lt;span style="color: blue"&gt;this&lt;/span&gt;.Application_Startup;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; line-height: 150%; margin: 0cm 0cm 0pt; mso-layout-grid-align: none"  align="left"&gt;&lt;span style="line-height: 150%; font-family: 新宋体; font-size: 12pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;this&lt;/span&gt;.Exit += &lt;span style="color: blue"&gt;this&lt;/span&gt;.Application_Exit;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; line-height: 150%; margin: 0cm 0cm 0pt; mso-layout-grid-align: none"  align="left"&gt;&lt;span style="line-height: 150%; font-family: 新宋体; font-size: 12pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;this&lt;/span&gt;.UnhandledException += &lt;span style="color: blue"&gt;this&lt;/span&gt;.Application_UnhandledException;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; line-height: 150%; margin: 0cm 0cm 0pt; mso-layout-grid-align: none"  align="left"&gt;&lt;span style="line-height: 150%; font-family: 新宋体; font-size: 12pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;InitializeComponent();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; margin: 0cm 0cm 0pt" &gt;&lt;span style="line-height: 150%; font-family: 新宋体; font-size: 12pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 21pt; margin: 0cm 0cm 0pt" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;App.xaml&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;则主要用于编写界面全局样式等（同学们可以查阅下&lt;span lang="EN-US"&gt;Application.Resources&lt;/span&gt;还有其他什么作用）：&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; line-height: 150%; margin: 0cm 0cm 0pt; mso-layout-grid-align: none"  align="left"&gt;&lt;span style="line-height: 150%; font-family: 新宋体; color: #a31515; font-size: 12pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 新宋体; color: blue; font-size: 12pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;&amp;lt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 新宋体; color: #a31515; font-size: 12pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;Application.Resources&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 新宋体; color: blue; font-size: 12pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; line-height: 150%; margin: 0cm 0cm 0pt; mso-layout-grid-align: none"  align="left"&gt;&lt;span style="line-height: 150%; font-family: 新宋体; color: #a31515; font-size: 12pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 18pt; margin: 0cm 0cm 0pt" &gt;&lt;span style="line-height: 150%; font-family: 新宋体; color: blue; font-size: 12pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 新宋体; color: #a31515; font-size: 12pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;Application.Resources&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 新宋体; color: blue; font-size: 12pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 18pt; margin: 0cm 0cm 0pt" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;MainPage&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;是默认的程序主控件&lt;span lang="EN-US"&gt;,&lt;/span&gt;在&lt;span lang="EN-US"&gt;App.xaml.cs&lt;/span&gt;文件的启动事件中记录了整个项目是通过&lt;span lang="EN-US"&gt;MainPage&lt;/span&gt;的实例来启动的：&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; line-height: 150%; margin: 0cm 0cm 0pt; mso-layout-grid-align: none"  align="left"&gt;&lt;span style="line-height: 150%; font-family: 新宋体; font-size: 12pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;private&lt;/span&gt; &lt;span style="color: blue"&gt;void&lt;/span&gt; Application_Startup(&lt;span style="color: blue"&gt;object&lt;/span&gt; sender, &lt;span style="color: #2b91af"&gt;StartupEventArgs&lt;/span&gt; e) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; line-height: 150%; margin: 0cm 0cm 0pt; mso-layout-grid-align: none"  align="left"&gt;&lt;span style="line-height: 150%; font-family: 新宋体; font-size: 12pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;this&lt;/span&gt;.RootVisual = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;MainPage&lt;/span&gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 18pt; margin: 0cm 0cm 0pt" &gt;&lt;span style="line-height: 150%; font-family: 新宋体; font-size: 12pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 18pt; margin: 0cm 0cm 0pt" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;MainPage&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;就好比网站中的&lt;span lang="EN-US"&gt;Index&lt;/span&gt;或&lt;span lang="EN-US"&gt;Default&lt;/span&gt;，它是&lt;span lang="EN-US"&gt;Silverlight&lt;/span&gt;程序的入口处&lt;span lang="EN-US"&gt;(MainPage&lt;/span&gt;其实就是一个用户控件，我们可以通过在&lt;span lang="EN-US"&gt;Game&lt;/span&gt;项目上点击右键&lt;span lang="EN-US"&gt;-&amp;gt;&lt;/span&gt;添加&lt;span lang="EN-US"&gt;-&amp;gt;&lt;/span&gt;新建项&lt;span lang="EN-US"&gt;-&amp;gt;Silverlight&lt;/span&gt;用户控件的方式创建一个一模一样的该对象&lt;span lang="EN-US"&gt;)&lt;/span&gt;。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 21pt; margin: 0cm 0cm 0pt" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;Game&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;项目是&lt;span lang="EN-US"&gt;Silverlight&lt;/span&gt;应用程序项目，那么&lt;span lang="EN-US"&gt;Game.Web&lt;/span&gt;项目即是承载该应用程序的网站载体，&lt;span lang="EN-US"&gt;Game&lt;/span&gt;项目编译后生成的&lt;span lang="EN-US"&gt;Game.xap&lt;/span&gt;文件即保存于&lt;span lang="EN-US"&gt;Game.Web&lt;/span&gt;项目中的&lt;span lang="EN-US"&gt;ClientBin&lt;/span&gt;文件夹下。&lt;span lang="EN-US"&gt;Game.Web&lt;/span&gt;是一个典型的&lt;span lang="EN-US"&gt;ASP.NET&lt;/span&gt;网站，&lt;span lang="EN-US"&gt;Web.config&lt;/span&gt;让我们倍感亲切。项目自动生成的模板中包含有&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 'Times New Roman','serif'; color: #232323; font-size: 12pt" lang="EN-US"&gt;Default.aspx&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; color: #232323; font-size: 12pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;、&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 'Times New Roman','serif'; color: #232323; font-size: 12pt" lang="EN-US"&gt;GameTestPage.aspx&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; color: #232323; font-size: 12pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;、&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 'Times New Roman','serif'; color: #232323; font-size: 12pt" lang="EN-US"&gt;GameTestPage.html&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; color: #232323; font-size: 12pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;这&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 'Times New Roman','serif'; color: #232323; font-size: 12pt" lang="EN-US"&gt;3&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; color: #232323; font-size: 12pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;个页面&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;，其中&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 'Times New Roman','serif'; color: #232323; font-size: 12pt" lang="EN-US"&gt;Default.aspx&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; color: #232323; font-size: 12pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;是&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 'Times New Roman','serif'; color: #232323; font-size: 12pt" lang="EN-US"&gt;Code-Behind&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; color: #232323; font-size: 12pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;的&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 'Times New Roman','serif'; color: #232323; font-size: 12pt" lang="EN-US"&gt;ASP.NET&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; color: #232323; font-size: 12pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;网站页面，&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 'Times New Roman','serif'; color: #232323; font-size: 12pt" lang="EN-US"&gt;GameTestPage.aspx&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; color: #232323; font-size: 12pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;为单独的&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 'Times New Roman','serif'; color: #232323; font-size: 12pt" lang="EN-US"&gt;ASP.NET&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; color: #232323; font-size: 12pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;页面，而&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 'Times New Roman','serif'; color: #232323; font-size: 12pt" lang="EN-US"&gt;GameTestPage.html&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; color: #232323; font-size: 12pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;则是最简单的静态页面。不难看出微软想告诉开发者们：&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 'Times New Roman','serif'; color: #232323; font-size: 12pt" lang="EN-US"&gt;Silverlight&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; color: #232323; font-size: 12pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;作为网页插件，只需在页面代码（&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 'Times New Roman','serif'; color: #232323; font-size: 12pt" lang="EN-US"&gt;HTML&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; color: #232323; font-size: 12pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;）中通过&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 'Times New Roman','serif'; color: #232323; font-size: 12pt" lang="EN-US"&gt;&amp;lt;object&amp;gt;&amp;#8230;&amp;#8230;&amp;lt;/object&amp;gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; color: #232323; font-size: 12pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;方式进行标记即可呈现而不论是动态的还是静态页面亦或是何种类型网页。大家可以根据自己项目的需要，在相应的页面文件上点击右键&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 'Times New Roman','serif'; color: #232323; font-size: 12pt" lang="EN-US"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; color: #232323; font-size: 12pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;&amp;#8220;设置为起始页&amp;#8221;即可。例如，我暂时不需要额外的动态功能，那么我可以选择通过静态页的方式去展示我的&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 'Times New Roman','serif'; color: #232323; font-size: 12pt" lang="EN-US"&gt;Silverlight&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; color: #232323; font-size: 12pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;应用，接下来我完全可以删除掉&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 'Times New Roman','serif'; color: #232323; font-size: 12pt" lang="EN-US"&gt;Default.aspx&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; color: #232323; font-size: 12pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;和&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 'Times New Roman','serif'; color: #232323; font-size: 12pt" lang="EN-US"&gt;GameTestPage.aspx&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; color: #232323; font-size: 12pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;，然后将&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 'Times New Roman','serif'; color: #232323; font-size: 12pt" lang="EN-US"&gt;GameTestPage.html&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; color: #232323; font-size: 12pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;改名为&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 'Times New Roman','serif'; color: #232323; font-size: 12pt" lang="EN-US"&gt;Index.htm&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; color: #232323; font-size: 12pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;并设置其为起始页一样是&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 'Times New Roman','serif'; color: #232323; font-size: 12pt" lang="EN-US"&gt;OK&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; color: #232323; font-size: 12pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;的&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 'Times New Roman','serif'; color: #232323; font-size: 12pt" lang="EN-US"&gt;(&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; color: #232323; font-size: 12pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;图&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 'Times New Roman','serif'; color: #232323; font-size: 12pt" lang="EN-US"&gt;)&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; color: #232323; font-size: 12pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;：&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 'Times New Roman','serif'; color: #232323; font-size: 12pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 24pt; margin: 0cm -4.1pt 0pt 0cm;background: white; mso-char-indent-count: 2.0; mso-outline-level: 2; mso-para-margin-right: -.39gd" &gt;&lt;span style="line-height: 150%; font-family: 宋体; color: #232323; font-size: 12pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;接下来打开&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 'Times New Roman','serif'; color: #232323; font-size: 12pt" lang="EN-US"&gt;Index.htm&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; color: #232323; font-size: 12pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;文件，&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; color: #232323; font-size: 12pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"&gt;首先把代码最下面那个&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 'Times New Roman','serif'; color: #232323; font-size: 12pt; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"&gt; &lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; color: #232323; font-size: 12pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"&gt;&amp;#8220;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 新宋体; color: #232323; font-size: 12pt; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;(&amp;amp;)&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; color: #232323; font-size: 12pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"&gt;&amp;#8221;符号删除掉；接着找到&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 'Times New Roman','serif'; color: #232323; font-size: 12pt; mso-font-kerning: 0pt" lang="EN-US"&gt;&amp;lt;object&amp;gt;&amp;#8230;&amp;#8230;&amp;lt;/object&amp;gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; color: #232323; font-size: 12pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"&gt;这段，其中表示&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 'Times New Roman','serif'; color: #232323; font-size: 12pt; mso-font-kerning: 0pt" lang="EN-US"&gt;Silverlight&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; color: #232323; font-size: 12pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"&gt;应用程序路径的关键代码就在其中：&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; color: #232323; font-size: 12pt; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; line-height: 150%; margin: 0cm -4.1pt 0pt 0cm;background: white; mso-outline-level: 2; mso-para-margin-right: -.39gd; mso-pagination: widow-orphan"  align="left"&gt;&lt;span style="line-height: 150%; font-family: 新宋体; color: blue; font-size: 12pt; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;&amp;lt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 新宋体; color: #a31515; font-size: 12pt; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;param&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 新宋体; color: #232323; font-size: 12pt; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="line-height: 150%; font-family: 新宋体; color: red; font-size: 12pt; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;name&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 新宋体; color: blue; font-size: 12pt; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;="source"&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 新宋体; color: #232323; font-size: 12pt; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="line-height: 150%; font-family: 新宋体; color: red; font-size: 12pt; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;value&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 新宋体; color: blue; font-size: 12pt; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;="ClientBin/Game.xap"/&amp;gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; color: #232323; font-size: 12pt; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; margin: 3.75pt 0cm" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;另外我们还注意到这么一段&lt;span lang="EN-US"&gt;Js&lt;/span&gt;脚本：&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 新宋体; color: blue; font-size: 12pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;&amp;lt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 新宋体; color: #a31515; font-size: 12pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;script&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 新宋体; font-size: 12pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt; &lt;span style="color: red"&gt;type&lt;/span&gt;&lt;span style="color: blue"&gt;="text/javascript"&lt;/span&gt; &lt;span style="color: red"&gt;src&lt;/span&gt;&lt;span style="color: blue"&gt;="Silverlight.js"&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;script&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;，路径指向&lt;span lang="EN-US"&gt;Game.Web&lt;/span&gt;中的&lt;span lang="EN-US"&gt;Silverlight.js&lt;/span&gt;文件，&lt;span lang="EN-US"&gt;&lt;a href="http://www.cnblogs.com/smwikipedia/archive/2009/09/19/1569823.html"&gt;&lt;font color="#3366cc"&gt;&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;其实Silverlight.js&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;不过就是通过javascript&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;脚本动态操作页面DOM&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;结构，在指定的DOM&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;节点处生成HTML&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;元素来调用Silverlight ActiveX plugin&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;，或者在该位置生成提示安装Silverlight plugin&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;的HTML&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;元素&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;。说白了就是在网页中解析&lt;span lang="EN-US"&gt;Silverlight&lt;/span&gt;用的。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; margin: 0cm 0cm 0pt" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;3&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;、小结&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; text-indent: 21pt; margin: 0cm 0cm 0pt" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;到此，包含两个项目的&lt;span lang="EN-US"&gt;Game&lt;/span&gt;解决方案似乎已不再有任何秘密了，透析其每个部位对于我们后面更深入的进行游戏开发打下坚实基础，因此这个过程是非常必要的。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; margin: 0cm 0cm 0pt" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;4&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;、课后作业&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 150%; margin: 0cm 0cm 0pt" &gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: 宋体; font-size: 12pt"&gt;在网上搜索&lt;span lang="EN-US"&gt;Silverlight&lt;/span&gt;的发展史，了解&lt;span lang="EN-US"&gt;Silverlight&lt;/span&gt;相比其他&lt;span lang="EN-US"&gt;RIA&lt;/span&gt;的优势在哪？&lt;span lang="EN-US"&gt;(&lt;/span&gt;并行计算、&lt;span lang="EN-US"&gt;GPU&lt;/span&gt;高性能可控加速、强大的开发工具支持如&lt;span lang="EN-US"&gt;VS&lt;/span&gt;系列、&lt;span lang="EN-US"&gt;Blend&lt;/span&gt;系列等等&lt;span lang="EN-US"&gt;)&lt;/span&gt;。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/alamiye010/aggbug/1780250.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;评论: 14　&lt;a href="http://www.cnblogs.com/alamiye010/archive/2010/07/18/1780250.html#pagedcomment" target="_blank"&gt;查看评论&lt;/a&gt;　&lt;a href="http://www.cnblogs.com/alamiye010/archive/2010/07/18/1780250.html#commentform" target="_blank"&gt;发表评论&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://job.cnblogs.com/enterprise/2453/" target="_blank"&gt;百度期待您的加盟&lt;/a&gt;&lt;/p&gt;&lt;hr/&gt;&lt;p&gt;最新新闻：&lt;br/&gt;· &lt;a href="http://news.cnblogs.com/n/68591/" target="_blank"&gt;微软不为外界所知的十件趣事&lt;/a&gt;&lt;span style="color:gray"&gt;(2010-07-18 22:58)&lt;/span&gt;&lt;br/&gt;· &lt;a href="http://news.cnblogs.com/n/68590/" target="_blank"&gt;中国第2季搜索引擎市场规模达26亿 百度破70%&lt;/a&gt;&lt;span style="color:gray"&gt;(2010-07-18 22:54)&lt;/span&gt;&lt;br/&gt;· &lt;a href="http://news.cnblogs.com/n/68589/" target="_blank"&gt;Facebook用户数下周达5亿 邀请用户共享故事&lt;/a&gt;&lt;span style="color:gray"&gt;(2010-07-18 22:49)&lt;/span&gt;&lt;br/&gt;· &lt;a href="http://news.cnblogs.com/n/68584/" target="_blank"&gt;开源的可视化编辑器 KindEditor 3.5.1 发布&lt;/a&gt;&lt;span style="color:gray"&gt;(2010-07-18 22:35)&lt;/span&gt;&lt;br/&gt;· &lt;a href="http://news.cnblogs.com/n/68581/" target="_blank"&gt;WordPress 陷入开源‘边界’之争&lt;/a&gt;&lt;span style="color:gray"&gt;(2010-07-18 17:47)&lt;/span&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;编辑推荐：&lt;a href="http://news.cnblogs.com/n/68453/" target="_blank"&gt;揭秘Facebook背后的那些软件&lt;/a&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;网站导航：&lt;a href="http://www.cnblogs.com" target="_blank"&gt;博客园首页&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://home.cnblogs.com/" target="_blank"&gt;个人主页&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://news.cnblogs.com" target="_blank"&gt;新闻&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://home.cnblogs.com/ing/" target="_blank"&gt;闪存&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://home.cnblogs.com/group/" target="_blank"&gt;小组&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://space.cnblogs.com/q/" target="_blank"&gt;博问&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://space.cnblogs.com" target="_blank"&gt;社区&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://kb.cnblogs.com" target="_blank"&gt;知识库&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/lixyvip/aggbug/1780395.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lixyvip/archive/2010/07/18/1780395.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lixyvip/archive/2010/07/18/1780396.html</id><title type="text">当 ADO.NET 遇上 dynamic</title><summary type="text">作者: CoolCode 发表于 2010-07-18 17:46 原文链接 阅读: 778 评论: 13传说中的dynamic dynamic是个不合群、不按规则办事的家伙，可以说是个异形，但更恐怖的是它又是无所不知的，任何事情都难不了它（咳咳，它似乎与Lambda表达式是死对头）。这令人想起《死亡日记》的怪异侦探L，行为怪异而智力超人，以至于离奇的案件不得不交给了他。dynamic可以看成是一...</summary><published>2010-07-18T15:35:00Z</published><updated>2010-07-18T15:35:00Z</updated><author><name>Lixy</name><uri>http://www.cnblogs.com/lixyvip/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lixyvip/archive/2010/07/18/1780396.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lixyvip/archive/2010/07/18/1780396.html"/><content type="html">&lt;p&gt;&lt;a href="http://www.cnblogs.com/coolcode/"&gt;&lt;img src="http://pic.cnblogs.com/face/u47195.jpg" alt="" border="0"/&gt;&lt;/a&gt;&lt;br/&gt;作者: &lt;a href="http://www.cnblogs.com/coolcode/" target="_blank"&gt;CoolCode&lt;/a&gt; 发表于 2010-07-18 17:46 &lt;a href="http://www.cnblogs.com/coolcode/archive/2010/07/18/when_ADO_NET_meets_dynamic.html" target="_blank"&gt;原文链接&lt;/a&gt; 阅读: 778 评论: 13&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;font color="#ff8000"&gt;传说中的dynamic&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;dynamic是个不合群、不按规则办事的家伙，可以说是个异形，但更恐怖的是它又是无所不知的，任何事情都难不了它（咳咳，它似乎与Lambda表达式是死对头）。这令人想起《&lt;a href="http://baike.baidu.com/view/255867.htm" target="_blank"&gt;死亡日记&lt;/a&gt;》的怪异侦探L，行为怪异而智力超人，以至于离奇的案件不得不交给了他。dynamic可以看成是一切类型的化身，但并不是仅限于此，它像《&lt;a href="http://baike.baidu.com/view/1394304.htm" target="_blank"&gt;未来战士&lt;/a&gt;》续集里面的T-1000型液体金属的终结者。噢~~~~似乎扯的有点远了&lt;/p&gt; &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/coolcode/WindowsLiveWriter/dynamicADO.NET_1442C/9MV9FQGYXA1AJVJR%7BA%25RV%7DB_2.gif"&gt;&lt;img style="display: inline" title="9MV9FQGYXA1AJVJR{A%RV}B" alt="9MV9FQGYXA1AJVJR{A%RV}B" src="http://images.cnblogs.com/cnblogs_com/coolcode/WindowsLiveWriter/dynamicADO.NET_1442C/9MV9FQGYXA1AJVJR%7BA%25RV%7DB_thumb.gif" width="50" height="51"&gt;&lt;/a&gt; &lt;p&gt;&lt;strong&gt;&lt;font color="#ff8000"&gt;饱经风雨而不倒的ADO.NET&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;ADO.NET 从来做事都有理有据，而且又异常专注于自身领域，是个professional的牛人，令人想起《&lt;a href="http://baike.baidu.com/view/129715.htm" target="_blank"&gt;美丽心灵&lt;/a&gt;》里面的博弈论和微分几何学领域潜心研究以致获得诺贝尔经济学奖的数学家—— &lt;a href="http://baike.baidu.com/view/1197418.htm"&gt;约翰·福布斯·纳什&lt;/a&gt; 教授（咳咳，纳什教授是个妄想型精神分裂的～～～嗯，这个以后再说）。&lt;/p&gt; &lt;p&gt;&lt;strong&gt;关于ADO.NET 的例子&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;1. 执行SQL语句&lt;/p&gt;&lt;pre &gt;&lt;span style="color: blue"&gt;using &lt;/span&gt;(&lt;span style="color: #2b91af"&gt;DbCommand &lt;/span&gt;command = connection.CreateCommand())&#xD;
{&#xD;
    command.CommandText = &lt;span style="color: #a31515"&gt;"select Top 10 * from Orders"&lt;/span&gt;;&#xD;
    command.CommandType = &lt;span style="color: #2b91af"&gt;CommandType&lt;/span&gt;.Text;&#xD;
     &#xD;
    &lt;span style="color: blue"&gt;using &lt;/span&gt;(&lt;span style="color: #2b91af"&gt;IDataReader &lt;/span&gt;reader = command.ExecuteReader())&#xD;
    {&#xD;
        &lt;span style="color: blue"&gt;while &lt;/span&gt;(reader.Read())&#xD;
        {&#xD;
            &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: #a31515"&gt;"OrderID: {0}, OrderDate: {1}"&lt;/span&gt;,&#xD;
                reader.GetInt32(reader.GetOrdinal(&lt;span style="color: #a31515"&gt;"OrderID"&lt;/span&gt;)),&#xD;
                reader.GetDateTime(reader.GetOrdinal(&lt;span style="color: #a31515"&gt;"OrderDate"&lt;/span&gt;)));&#xD;
        }&#xD;
    }&#xD;
}&#xD;
&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;2. 调用存储过程&lt;/p&gt;&lt;pre &gt;command.CommandText = &lt;span style="color: #a31515"&gt;"CustOrdersOrders"&lt;/span&gt;;&#xD;
         command.CommandType = &lt;span style="color: #2b91af"&gt;CommandType&lt;/span&gt;.StoredProcedure;&#xD;
         command.Parameters.Add(&lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;SqlParameter&lt;/span&gt;(&lt;span style="color: #a31515"&gt;"CustomerID"&lt;/span&gt;, &lt;span style="color: #a31515"&gt;"ALFKI"&lt;/span&gt;));&#xD;
         &lt;span style="color: green"&gt;//略去...&#xD;
&lt;/span&gt;&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;font color="#ff8000"&gt;当 ADO.NET 遇上 dynamic&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;某年某月ADO.NET不幸遇到dynamic，从此循规蹈矩的生活不复存在。dynamic说它可以帮助 ADO.NET 丢掉 DataSet 的包袱，而且在不用创建数据实体的情况下，实现查询结果垮不同方法传递；更加强大的地方是可以与存储过程无缝连接，即像调用一般方法一样调用存储过程而不用写额外代码。我的神哪～～～ ADO.NET 听了dynamic一番游说后，心底下不禁惊讶一下。dynamic又说，实现刚才所说的工程只要借你手下的两大猛将 SqlConnection 和 SqlCommand 助我一臂之力即可。&lt;/p&gt;&#xD;
&lt;p&gt;dynamic真有如此奇技？ ADO.NET 虽有怀疑，但它想到曾经看过一部叫《&lt;a href="http://baike.baidu.com/view/5829.htm" target="_blank"&gt;阿甘正传&lt;/a&gt;》的电影，里面的阿甘虽然是弱智人，但参军时练就乒乓奇技，后来还和中国国手同台竞技。想到这，ADO.NET 认为不能因为对方弱智就不相信对方的话，这是很不礼貌很不绅士的人才会做的事，所以它相信了dynamic。&lt;/p&gt;&#xD;
&lt;p&gt;dynamic 果真不负众望，三两脚猫功夫就交出成果了。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;dynamic重构后的数据库操作&lt;/strong&gt;&lt;/p&gt;&lt;pre &gt;&lt;span style="color: blue"&gt;using &lt;/span&gt;(&lt;span style="color: blue"&gt;dynamic &lt;/span&gt;command = connection.CreateDynamicCommand())&#xD;
{&#xD;
    &lt;span style="color: green"&gt;//执行查询SQL&#xD;
    &lt;/span&gt;&lt;span style="color: #2b91af"&gt;IEnumerable&lt;/span&gt;&amp;lt;&lt;span style="color: blue"&gt;dynamic&lt;/span&gt;&amp;gt; toptenOrders = command(&lt;span style="color: #a31515"&gt;"select Top 10 * from Orders"&lt;/span&gt;);&#xD;
    &lt;span style="color: blue"&gt;foreach &lt;/span&gt;(&lt;span style="color: blue"&gt;dynamic &lt;/span&gt;order &lt;span style="color: blue"&gt;in &lt;/span&gt;toptenOrders)&#xD;
    {&#xD;
        &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: #a31515"&gt;"OrderID: {0}, OrderDate: {1}"&lt;/span&gt;, order.OrderID, order.OrderDate);&#xD;
    }&#xD;
&#xD;
    &lt;span style="color: green"&gt;//执行带参数的SQL&#xD;
    &lt;/span&gt;&lt;span style="color: #2b91af"&gt;IEnumerable&lt;/span&gt;&amp;lt;&lt;span style="color: blue"&gt;dynamic&lt;/span&gt;&amp;gt; customerOrders = command(&lt;span style="color: #a31515"&gt;"select * from Orders where CustomerID = @CustomerID"&lt;/span&gt;,&#xD;
            CustomerID: &lt;span style="color: #a31515"&gt;"ALFKI"&lt;/span&gt;);&#xD;
    &lt;span style="color: blue"&gt;foreach &lt;/span&gt;(&lt;span style="color: blue"&gt;dynamic &lt;/span&gt;order &lt;span style="color: blue"&gt;in &lt;/span&gt;customerOrders)&#xD;
    {&#xD;
        &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: #a31515"&gt;"OrderID: {0}, OrderDate: {1}"&lt;/span&gt;, order.OrderID, order.OrderDate);&#xD;
    }&#xD;
&#xD;
    &lt;span style="color: green"&gt;//调用存储过程&#xD;
    &lt;/span&gt;&lt;span style="color: #2b91af"&gt;IEnumerable&lt;/span&gt;&amp;lt;&lt;span style="color: blue"&gt;dynamic&lt;/span&gt;&amp;gt; orders = command.CustOrdersOrders(CustomerID: &lt;span style="color: #a31515"&gt;"ALFKI"&lt;/span&gt;);&#xD;
    &lt;span style="color: blue"&gt;foreach &lt;/span&gt;(&lt;span style="color: blue"&gt;dynamic &lt;/span&gt;order &lt;span style="color: blue"&gt;in &lt;/span&gt;orders)&#xD;
    {&#xD;
        &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: #a31515"&gt;"OrderID: {0}, OrderDate: {1}"&lt;/span&gt;, order.OrderID, order.OrderDate);&#xD;
    }&#xD;
}&#xD;
&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;要知道 ADO.NET 可不是.NET菜鸟，它看到 command(&lt;span style="color: #a31515"&gt;"select Top 10 * from Orders"&lt;/span&gt;); 第一感觉认为吃了dynamic药的command有可能是委托类型，而看到后面的 command.CustOrdersOrders(CustomerID: &lt;span style="color: #a31515"&gt;"ALFKI"&lt;/span&gt;); 不得不否决了前面的看法。dynamic到底是什么东西？可以这样认为，dynamic什么东西都是；也可以认为，dynamic不是什么东西！&lt;/p&gt;&#xD;
&lt;p&gt;ADO.NET 知道任何.NET写的再高深的代码在reflector下都会现出原形，通过对 command 解剖，立刻明白原来自己跟《&lt;a href="http://baike.baidu.com/view/129715.htm" target="_blank"&gt;美丽心灵&lt;/a&gt;》的纳什教授一样纠缠于一种不存在的幻想不能自拔，reflector告诉我们：dynamic实际上是不存在的！&lt;/p&gt;&#xD;
&lt;p&gt;还是鲁迅叔叔说的好，&lt;strong&gt;&lt;font color="#ff8000"&gt;世界上本没有dynamic，只是微软对委托封装得太牛了，也便有了dynamic。&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;font color="#ff8000"&gt;结语&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;聪明的你知道command是怎么实现了吗？不妨先想想，然后展开下面的代码看看是否与你想的一致。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="#" onclick="$('#divHideCode').toggle();return false;"&gt;点此展开代码&lt;/a&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;注：本文存储过程部分参考了&lt;a href="http://www.infoq.com/cn/articles/MicroORM" target="_blank"&gt;微型ORM&lt;/a&gt;.&lt;/p&gt;&#xD;
&#xD;
&lt;div id="divHideCode" style="display:none;"&gt;&#xD;
&lt;pre &gt;&lt;span style="color: blue"&gt;public static class &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Extensions&#xD;
&lt;/span&gt;{&#xD;
    &lt;span style="color: blue"&gt;public static &lt;/span&gt;&lt;span style="color: #2b91af"&gt;DynamicCommand &lt;/span&gt;CreateDynamicCommand(&lt;span style="color: blue"&gt;this &lt;/span&gt;&lt;span style="color: #2b91af"&gt;DbConnection &lt;/span&gt;connection)&#xD;
    {&#xD;
        &lt;span style="color: blue"&gt;return new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;DynamicCommand&lt;/span&gt;(connection);&#xD;
    }&#xD;
}&#xD;
&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;pre &gt;&lt;span style="color: gray"&gt;    /// &amp;lt;summary&amp;gt;&#xD;
    /// &lt;/span&gt;&lt;span style="color: green"&gt;动态Command&#xD;
    &lt;/span&gt;&lt;span style="color: gray"&gt;/// &amp;lt;/summary&amp;gt;&#xD;
    &lt;/span&gt;&lt;span style="color: blue"&gt;public class &lt;/span&gt;&lt;span style="color: #2b91af"&gt;DynamicCommand &lt;/span&gt;: &lt;span style="color: #2b91af"&gt;DynamicObject&lt;/span&gt;, &lt;span style="color: #2b91af"&gt;IDisposable&#xD;
    &lt;/span&gt;{&#xD;
        &lt;span style="color: blue"&gt;public &lt;/span&gt;&lt;span style="color: #2b91af"&gt;DbConnection &lt;/span&gt;Connection { &lt;span style="color: blue"&gt;get&lt;/span&gt;; &lt;span style="color: blue"&gt;set&lt;/span&gt;; }&#xD;
&#xD;
        &lt;span style="color: blue"&gt;public &lt;/span&gt;DynamicCommand(&lt;span style="color: #2b91af"&gt;DbConnection &lt;/span&gt;connection)&#xD;
        {&#xD;
            &lt;span style="color: blue"&gt;this&lt;/span&gt;.Connection = connection;&#xD;
        }&#xD;
&#xD;
        &lt;span style="color: green"&gt;//实现SQL语句查询&#xD;
        &lt;/span&gt;&lt;span style="color: blue"&gt;public override bool &lt;/span&gt;TryInvoke(&lt;span style="color: #2b91af"&gt;InvokeBinder &lt;/span&gt;binder, &lt;span style="color: blue"&gt;object&lt;/span&gt;[] args, &lt;span style="color: blue"&gt;out object &lt;/span&gt;result)&#xD;
        {&#xD;
            &lt;span style="color: blue"&gt;if &lt;/span&gt;(args.Length == 0) &lt;span style="color: blue"&gt;throw new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;ArgumentException&lt;/span&gt;(&lt;span style="color: #a31515"&gt;"args must has value"&lt;/span&gt;);&#xD;
&#xD;
            result = Execute(args[0].ToString(), &lt;span style="color: #2b91af"&gt;CommandType&lt;/span&gt;.Text, binder.CallInfo.ArgumentNames, args.Skip(1).ToArray());&#xD;
&#xD;
            &lt;span style="color: blue"&gt;return true&lt;/span&gt;;&#xD;
        }&#xD;
&#xD;
        &lt;span style="color: green"&gt;//实现存储过程&#xD;
        &lt;/span&gt;&lt;span style="color: blue"&gt;public override bool &lt;/span&gt;TryInvokeMember(&lt;span style="color: #2b91af"&gt;InvokeMemberBinder &lt;/span&gt;binder, &lt;span style="color: blue"&gt;object&lt;/span&gt;[] args, &lt;span style="color: blue"&gt;out object &lt;/span&gt;result)&#xD;
        {&#xD;
            &lt;span style="color: blue"&gt;if &lt;/span&gt;(binder.CallInfo.ArgumentNames.Count != binder.CallInfo.ArgumentCount)&#xD;
            {&#xD;
                &lt;span style="color: blue"&gt;throw new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;ArgumentException&lt;/span&gt;(&lt;span style="color: #a31515"&gt;"All parameters must be named"&lt;/span&gt;);&#xD;
            }&#xD;
            &#xD;
            result = Execute(binder.Name, &lt;span style="color: #2b91af"&gt;CommandType&lt;/span&gt;.StoredProcedure, binder.CallInfo.ArgumentNames, args);&#xD;
&#xD;
            &lt;span style="color: blue"&gt;return true&lt;/span&gt;;&#xD;
        }&#xD;
&#xD;
        &lt;span style="color: gray"&gt;/// &amp;lt;summary&amp;gt;&#xD;
        /// &lt;/span&gt;&lt;span style="color: green"&gt;执行SQL查询&#xD;
        &lt;/span&gt;&lt;span style="color: gray"&gt;/// &amp;lt;/summary&amp;gt;&#xD;
        /// &amp;lt;param name="commandText"&amp;gt;&amp;lt;/param&amp;gt;&#xD;
        /// &amp;lt;param name="commandType"&amp;gt;&amp;lt;/param&amp;gt;&#xD;
        /// &amp;lt;param name="names"&amp;gt;&amp;lt;/param&amp;gt;&#xD;
        /// &amp;lt;param name="args"&amp;gt;&amp;lt;/param&amp;gt;&#xD;
        /// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&#xD;
        &lt;/span&gt;&lt;span style="color: blue"&gt;private object &lt;/span&gt;Execute(&lt;span style="color: blue"&gt;string &lt;/span&gt;commandText, &lt;span style="color: #2b91af"&gt;CommandType &lt;/span&gt;commandType, &lt;span style="color: #2b91af"&gt;IEnumerable&lt;/span&gt;&amp;lt;&lt;span style="color: blue"&gt;string&lt;/span&gt;&amp;gt; names, &lt;span style="color: blue"&gt;object&lt;/span&gt;[] args)&#xD;
        {&#xD;
            &lt;span style="color: blue"&gt;bool &lt;/span&gt;manageConnectionLifespan = (&lt;span style="color: blue"&gt;this&lt;/span&gt;.Connection.State == &lt;span style="color: #2b91af"&gt;ConnectionState&lt;/span&gt;.Closed);&#xD;
&#xD;
            &lt;span style="color: blue"&gt;if &lt;/span&gt;(manageConnectionLifespan) &lt;span style="color: blue"&gt;this&lt;/span&gt;.Connection.Open();&#xD;
&#xD;
            &lt;span style="color: blue"&gt;try&#xD;
            &lt;/span&gt;{&#xD;
                &lt;span style="color: blue"&gt;using &lt;/span&gt;(&lt;span style="color: blue"&gt;var &lt;/span&gt;cmd = &lt;span style="color: blue"&gt;this&lt;/span&gt;.Connection.CreateCommand())&#xD;
                {&#xD;
                    cmd.CommandType = commandType;&#xD;
                    cmd.CommandText = commandText;&#xD;
                    &lt;span style="color: blue"&gt;for &lt;/span&gt;(&lt;span style="color: blue"&gt;int &lt;/span&gt;i = 0; i &amp;lt; args.Length; i++)&#xD;
                    {&#xD;
                        &lt;span style="color: #2b91af"&gt;DbParameter &lt;/span&gt;param = cmd.CreateParameter();&#xD;
                        param.ParameterName = &lt;span style="color: #a31515"&gt;"@" &lt;/span&gt;+ names.ElementAt(i);&#xD;
                        param.Value = args[i] == &lt;span style="color: blue"&gt;null &lt;/span&gt;? &lt;span style="color: #2b91af"&gt;DBNull&lt;/span&gt;.Value : args[i];&#xD;
                        cmd.Parameters.Add(param);&#xD;
                    }&#xD;
&#xD;
                    &lt;span style="color: blue"&gt;return &lt;/span&gt;ExecuteList(cmd);&#xD;
                }&#xD;
            }&#xD;
            &lt;span style="color: blue"&gt;finally&#xD;
            &lt;/span&gt;{&#xD;
                &lt;span style="color: blue"&gt;if &lt;/span&gt;(manageConnectionLifespan)&#xD;
                {&#xD;
                    &lt;span style="color: blue"&gt;this&lt;/span&gt;.Connection.Close();&#xD;
                }&#xD;
            }&#xD;
        }&#xD;
&#xD;
        &lt;span style="color: gray"&gt;/// &amp;lt;summary&amp;gt;&#xD;
        /// &lt;/span&gt;&lt;span style="color: green"&gt;执行SQL命令，返回查询结果列表&#xD;
        &lt;/span&gt;&lt;span style="color: gray"&gt;/// &amp;lt;/summary&amp;gt;&#xD;
        /// &amp;lt;param name="command"&amp;gt;&amp;lt;/param&amp;gt;&#xD;
        /// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&#xD;
        &lt;/span&gt;&lt;span style="color: blue"&gt;private static &lt;/span&gt;&lt;span style="color: #2b91af"&gt;IEnumerable&lt;/span&gt;&amp;lt;&lt;span style="color: blue"&gt;dynamic&lt;/span&gt;&amp;gt; ExecuteList(&lt;span style="color: #2b91af"&gt;DbCommand &lt;/span&gt;command)&#xD;
        {&#xD;
            &lt;span style="color: #2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af"&gt;DynamicEntity&lt;/span&gt;&amp;gt; resultList = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af"&gt;DynamicEntity&lt;/span&gt;&amp;gt;();&#xD;
            &lt;span style="color: blue"&gt;using &lt;/span&gt;(&lt;span style="color: #2b91af"&gt;DbDataReader &lt;/span&gt;reader = command.ExecuteReader())&#xD;
            {&#xD;
                &lt;span style="color: blue"&gt;while &lt;/span&gt;(reader.Read())&#xD;
                {&#xD;
                    &lt;span style="color: #2b91af"&gt;DynamicEntity &lt;/span&gt;entity = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;DynamicEntity&lt;/span&gt;();&#xD;
                    &lt;span style="color: blue"&gt;for &lt;/span&gt;(&lt;span style="color: blue"&gt;int &lt;/span&gt;i = 0; i &amp;lt; reader.FieldCount; i++)&#xD;
                    {&#xD;
                        entity.SetMember(reader.GetName(i), reader.GetValue(i));&#xD;
                    }&#xD;
                    resultList.Add(entity);&#xD;
                }&#xD;
            }&#xD;
            &lt;span style="color: blue"&gt;return &lt;/span&gt;resultList;&#xD;
        }&#xD;
&#xD;
    }&#xD;
&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;pre &gt;&lt;span style="color: gray"&gt;/// &amp;lt;summary&amp;gt;&#xD;
/// &lt;/span&gt;&lt;span style="color: green"&gt;动态实体&#xD;
&lt;/span&gt;&lt;span style="color: gray"&gt;/// &amp;lt;/summary&amp;gt;&#xD;
&lt;/span&gt;&lt;span style="color: blue"&gt;internal class &lt;/span&gt;&lt;span style="color: #2b91af"&gt;DynamicEntity &lt;/span&gt;: &lt;span style="color: #2b91af"&gt;DynamicObject&#xD;
&lt;/span&gt;{&#xD;
    &lt;span style="color: gray"&gt;/// &amp;lt;summary&amp;gt;&#xD;
    /// &lt;/span&gt;&lt;span style="color: green"&gt;属性和值的字典表&#xD;
    &lt;/span&gt;&lt;span style="color: gray"&gt;/// &amp;lt;/summary&amp;gt;&#xD;
    &lt;/span&gt;&lt;span style="color: blue"&gt;private &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Dictionary&lt;/span&gt;&amp;lt;&lt;span style="color: blue"&gt;string&lt;/span&gt;, &lt;span style="color: blue"&gt;object&lt;/span&gt;&amp;gt; values = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Dictionary&lt;/span&gt;&amp;lt;&lt;span style="color: blue"&gt;string&lt;/span&gt;, &lt;span style="color: blue"&gt;object&lt;/span&gt;&amp;gt;(&lt;span style="color: #2b91af"&gt;StringComparer&lt;/span&gt;.OrdinalIgnoreCase);&#xD;
&#xD;
    &lt;span style="color: blue"&gt;public override bool &lt;/span&gt;TryGetMember(&lt;span style="color: #2b91af"&gt;GetMemberBinder &lt;/span&gt;binder, &lt;span style="color: blue"&gt;out object &lt;/span&gt;result)&#xD;
    {&#xD;
        &lt;span style="color: blue"&gt;if &lt;/span&gt;(values.ContainsKey(binder.Name))&#xD;
        {&#xD;
            result = values[binder.Name];&#xD;
        }&#xD;
        &lt;span style="color: blue"&gt;else&#xD;
        &lt;/span&gt;{&#xD;
            &lt;span style="color: blue"&gt;throw new &lt;/span&gt;System.&lt;span style="color: #2b91af"&gt;MissingMemberException&lt;/span&gt;(&lt;span style="color: #a31515"&gt;"The property " &lt;/span&gt;+ binder.Name + &lt;span style="color: #a31515"&gt;" does not exist"&lt;/span&gt;);&#xD;
        }&#xD;
&#xD;
        &lt;span style="color: blue"&gt;return true&lt;/span&gt;;&#xD;
    }&#xD;
&#xD;
    &lt;span style="color: blue"&gt;public override bool &lt;/span&gt;TrySetMember(&lt;span style="color: #2b91af"&gt;SetMemberBinder &lt;/span&gt;binder, &lt;span style="color: blue"&gt;object &lt;/span&gt;value)&#xD;
    {&#xD;
        SetMember(binder.Name, value);&#xD;
        &lt;span style="color: blue"&gt;return true&lt;/span&gt;;&#xD;
    }&#xD;
&#xD;
    &lt;span style="color: blue"&gt;public override &lt;/span&gt;&lt;span style="color: #2b91af"&gt;IEnumerable&lt;/span&gt;&amp;lt;&lt;span style="color: blue"&gt;string&lt;/span&gt;&amp;gt; GetDynamicMemberNames()&#xD;
    {&#xD;
        &lt;span style="color: blue"&gt;return &lt;/span&gt;values.Keys;&#xD;
    }&#xD;
&#xD;
    &lt;span style="color: blue"&gt;internal void &lt;/span&gt;SetMember(&lt;span style="color: blue"&gt;string &lt;/span&gt;propertyName, &lt;span style="color: blue"&gt;object &lt;/span&gt;value)&#xD;
    {&#xD;
        &lt;span style="color: blue"&gt;if &lt;/span&gt;(&lt;span style="color: blue"&gt;object&lt;/span&gt;.ReferenceEquals(value, &lt;span style="color: #2b91af"&gt;DBNull&lt;/span&gt;.Value))&#xD;
        {&#xD;
            values[propertyName] = &lt;span style="color: blue"&gt;null&lt;/span&gt;;&#xD;
        }&#xD;
        &lt;span style="color: blue"&gt;else&#xD;
        &lt;/span&gt;{&#xD;
            values[propertyName] = value;&#xD;
        }&#xD;
    }&#xD;
}&#xD;
&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;img src="http://www.cnblogs.com/coolcode/aggbug/1780241.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;评论: 13　&lt;a href="http://www.cnblogs.com/coolcode/archive/2010/07/18/when_ADO_NET_meets_dynamic.html#pagedcomment" target="_blank"&gt;查看评论&lt;/a&gt;　&lt;a href="http://www.cnblogs.com/coolcode/archive/2010/07/18/when_ADO_NET_meets_dynamic.html#commentform" target="_blank"&gt;发表评论&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://job.cnblogs.com/enterprise/2453/" target="_blank"&gt;百度期待您的加盟&lt;/a&gt;&lt;/p&gt;&lt;hr/&gt;&lt;p&gt;最新新闻：&lt;br/&gt;· &lt;a href="http://news.cnblogs.com/n/68591/" target="_blank"&gt;微软不为外界所知的十件趣事&lt;/a&gt;&lt;span style="color:gray"&gt;(2010-07-18 22:58)&lt;/span&gt;&lt;br/&gt;· &lt;a href="http://news.cnblogs.com/n/68590/" target="_blank"&gt;中国第2季搜索引擎市场规模达26亿 百度破70%&lt;/a&gt;&lt;span style="color:gray"&gt;(2010-07-18 22:54)&lt;/span&gt;&lt;br/&gt;· &lt;a href="http://news.cnblogs.com/n/68589/" target="_blank"&gt;Facebook用户数下周达5亿 邀请用户共享故事&lt;/a&gt;&lt;span style="color:gray"&gt;(2010-07-18 22:49)&lt;/span&gt;&lt;br/&gt;· &lt;a href="http://news.cnblogs.com/n/68584/" target="_blank"&gt;开源的可视化编辑器 KindEditor 3.5.1 发布&lt;/a&gt;&lt;span style="color:gray"&gt;(2010-07-18 22:35)&lt;/span&gt;&lt;br/&gt;· &lt;a href="http://news.cnblogs.com/n/68581/" target="_blank"&gt;WordPress 陷入开源‘边界’之争&lt;/a&gt;&lt;span style="color:gray"&gt;(2010-07-18 17:47)&lt;/span&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;编辑推荐：&lt;a href="http://news.cnblogs.com/n/68453/" target="_blank"&gt;揭秘Facebook背后的那些软件&lt;/a&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;网站导航：&lt;a href="http://www.cnblogs.com" target="_blank"&gt;博客园首页&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://home.cnblogs.com/" target="_blank"&gt;个人主页&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://news.cnblogs.com" target="_blank"&gt;新闻&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://home.cnblogs.com/ing/" target="_blank"&gt;闪存&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://home.cnblogs.com/group/" target="_blank"&gt;小组&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://space.cnblogs.com/q/" target="_blank"&gt;博问&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://space.cnblogs.com" target="_blank"&gt;社区&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="http://kb.cnblogs.com" target="_blank"&gt;知识库&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/lixyvip/aggbug/1780396.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lixyvip/archive/2010/07/18/1780396.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lixyvip/archive/2010/05/27/1745726.html</id><title type="text">[健康]治疗偏头痛的六方 </title><summary type="text">偏头痛俗称偏头风。西医称&amp;ldquo;血管性头痛&amp;rdquo;。患者头部一侧或双侧胀痛，呈搏动或持续性频繁发 作，主要是由于颅内动脉收缩、扩张引起，多见于女性。采用食物治疗，有显著疗效，下面介绍几则：
1.热水泡双手：洁净热水一盆，把双手浸入。水量以浸过手腕为宜，并不间断地加些热水，以保持 水温。浸泡半小时后，痛感可减轻，甚至完全消失。
2.葱姜泥敷痛处：鲜葱3条，姜皮半酒杯，酒槽1杯，共捣拌匀，...</summary><published>2010-05-27T12:41:00Z</published><updated>2010-05-27T12:41:00Z</updated><author><name>Lixy</name><uri>http://www.cnblogs.com/lixyvip/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lixyvip/archive/2010/05/27/1745726.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lixyvip/archive/2010/05/27/1745726.html"/><content type="html">
					&lt;p&gt;偏头痛俗称偏头风。西医称&amp;ldquo;血管性头痛&amp;rdquo;。患者头部一侧或双侧胀痛，呈搏动或持续性频繁发 作，主要是由于颅内动脉收缩、扩张引起，多见于女性。采用食物治疗，有显著疗效，下面介绍几则：&lt;/p&gt;
&lt;p&gt;1.热水泡双手：洁净热水一盆，把双手浸入。水量以浸过手腕为宜，并不间断地加些热水，以保持 水温。浸泡半小时后，痛感可减轻，甚至完全消失。&lt;/p&gt;
&lt;p&gt;2.葱姜泥敷痛处：鲜葱3条，姜皮半酒杯，酒槽1杯，共捣拌匀，敷于痛处。&lt;/p&gt;
&lt;p&gt;3.辣椒树蔸煎水：辣椒树蔸十个，洗净，水煎加糖服。&lt;/p&gt;
&lt;p&gt;4.白萝卜汁滴鼻：鲜白萝卜一个，捣烂挤汁，滴鼻。在滴液中也可溶入冰片1.5克再用。滴后应保 待20分钟内汁 不外流， 1日2次。&lt;/p&gt;
&lt;p&gt;5.服丝、苦瓜藤：丝瓜藤、苦瓜藤炒枯碾末， 每次用开水送服10～12克。&lt;/p&gt;
&lt;p&gt;6.服&amp;ldquo;中药&amp;rdquo;小方：甘菊花、石膏、川芎各10克，研末，每服3克，清茶送下。&lt;/p&gt;
					&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;
				&lt;img src="http://www.cnblogs.com/lixyvip/aggbug/1745726.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lixyvip/archive/2010/05/27/1745726.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lixyvip/archive/2010/05/27/1745727.html</id><title type="text">[日志]非常宝贵的工作经验 </title><summary type="text">1、工作是为了让生活过得更好，如果你的工作已经让你感觉到影响了你的生活质量，夜不能寐，食不知味，让你心情低迷，虽然说人要知难而上，但人生苦短，无论性别，统共就这么几年好日子，如果努力了还没什么改变，又何必和自己为难呢，想开点，放手算了。要拿得起放得下，不然你会被自己不放手的东西压挎了。
2、把人看得复杂一点，事情看得简单一点，事情都是人做出来的，看清了人，他做什么事情你都不会感到意外。也不会重复的...</summary><published>2010-05-27T12:41:00Z</published><updated>2010-05-27T12:41:00Z</updated><author><name>Lixy</name><uri>http://www.cnblogs.com/lixyvip/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lixyvip/archive/2010/05/27/1745727.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lixyvip/archive/2010/05/27/1745727.html"/><content type="html">
					&lt;p&gt;1、工作是为了让生活过得更好，如果你的工作已经让你感觉到影响了你的生活质量，夜不能寐，食不知味，让你心情低迷，虽然说人要知难而上，但人生苦短，无论性别，统共就这么几年好日子，如果努力了还没什么改变，又何必和自己为难呢，想开点，放手算了。要拿得起放得下，不然你会被自己不放手的东西压挎了。&lt;/p&gt;
&lt;p&gt;2、把人看得复杂一点，事情看得简单一点，事情都是人做出来的，看清了人，他做什么事情你都不会感到意外。也不会重复的吃同样的亏。&lt;/p&gt;
&lt;p&gt;3、除非你一无是处不值得说，否则你做的再好也一样有人在你背后说你是非。做好99件事1件没做好你就可能被骂得狗血喷头。就象足球后卫一样，前锋进一个球就可能名扬天下，后卫防了99个球漏了一个就会被骂死。所以不要太在意别人说你什么，关键你自己判断下自己做的到底对不对，如果你觉得对了，那就OK了。适当借鉴别人的意见，如果全盘接收，你会无所适从不知道怎么做才对。&lt;/p&gt;
&lt;p&gt;4、任何时候保持风度，有理说理，有事说事。不管你在什么位置，对任何人，哪怕是做卫生的阿姨。&lt;/p&gt;
&lt;p&gt;5、学会装装糊涂，谁都有心情不好，抱怨发泄的时候。听到闲话了，只要不是当着你面说的，就当耳边风过去，没什么大不了的。&lt;/p&gt;
&lt;p&gt;6、办公室里嘴巴严一点好，少说多做。别以为这样会吃亏，你可能会吃小亏，但不会倒大霉。&lt;/p&gt;
&lt;p&gt;7、如果你确实有很多心眼可以耍，当然可以用。长袖善舞的人在这个社会确实很吃得开。但如果你没有那么聪明，那还是老实点比较好。否则碰上比你更精明的，你可能第一个吃大亏。&lt;/p&gt;
&lt;p&gt;8、保持端正的心态。不要和别人比，只和你自己比，我现在的待遇和情况是不是让我满意，而不是谁谁比我多，谁谁比我职位高，这样比下去你会越来越不快乐。&lt;/p&gt;
&lt;p&gt;9、学会感恩的面对一切，不是你付出的就一定有回报。没有，当做是正常；有了，当做是上天的恩赐。这样你才会快乐。&lt;/p&gt;
&lt;p&gt;10、不要用别人的错误惩罚自己。&lt;/p&gt;
&lt;p&gt;11、不要因为你不适合做的工作而怀疑你的工作能力。&lt;/p&gt;
&lt;p&gt;12、最后，要懂得善待自己。时刻享受人生。除非你是工作狂，否则&amp;mdash;&amp;mdash;除了工作，你的生活里总是还有点别的，比如友谊，家庭，工作不会跟你一辈子，但有些东西是你一辈子都需要的。 　　&lt;/p&gt;
					&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;
				&lt;img src="http://www.cnblogs.com/lixyvip/aggbug/1745727.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lixyvip/archive/2010/05/27/1745727.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
