<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2956810645962042332</id><updated>2012-02-11T03:32:38.169+08:00</updated><category term='C/C++：教學'/><category term='有趣搞笑文'/><category term='未分類'/><category term='遊戲漫談'/><category term='電腦軟體推薦'/><category term='Neil自製'/><category term='Windows 7'/><category term='電腦網路新資訊'/><title type='text'>Neil's Blogger</title><subtitle type='html'>&lt;center&gt;&lt;a href="http://neilchennc.blogspot.com"&gt;&lt;img src="http://neilchennc.myweb.hinet.net/blogger/pics/title.png" title="回首頁" width="474" height="96"&gt;&lt;/a&gt;&lt;/center&gt;</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>69</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-8086987915877000299</id><published>2012-02-09T20:09:00.000+08:00</published><updated>2012-02-09T20:09:14.257+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Neil自製'/><category scheme='http://www.blogger.com/atom/ns#' term='電腦軟體推薦'/><title type='text'>Quick Expression Calculator - 快速算式計算機 - Neil自製</title><content type='html'>程式作者：Neil&lt;br /&gt;製作日期：2012-01-31&lt;br /&gt;最後修改：2012-01-31&lt;br /&gt;&lt;br /&gt;我很大言不慚的的直接把我寫的程式取了「快速」兩個字...XD&lt;br /&gt;其實我是想了很久，不知道我程式到底要取什麼&lt;br /&gt;功能相近的程式，如果沒自己特色的話，那寫出來的意義就不大了&lt;br /&gt;所以，就從我自己程式獨有的特色點出來！對，就是快速！&lt;br /&gt;&lt;br /&gt;雖然我不敢講我的程式最快，但至少我下載了好幾種國內外的的計算程式（可輸入算式）&lt;br /&gt;運算速度真的都比我的慢很多耶...&lt;br /&gt;&lt;br /&gt;畫面醜醜的就別太計較了.....&lt;br /&gt;先說我程式特色...等等在繼續看我廢話...&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="color: #b45f06; font-size: large;"&gt;&lt;u&gt;特色&lt;/u&gt;：&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;一&lt;/span&gt;、可輸入一般數學算式，且即時運算，馬上打馬上出來，免按等號（這就是我程式圖案的由來）&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;二&lt;/span&gt;、左右括號自動補齊&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;三&lt;/span&gt;、Syntax highlighting（數字標藍色，運算符號紅色、括號綠色、文字或其他為黑色。如果長度超過128字則全黑色，原因後面會講）&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;四&lt;/span&gt;、可接受比較非正規的數學算式（或者說一般程式比較不接受的運算式）。例如：&lt;br /&gt;&lt;span style="color: #e06666;"&gt;8*-2&lt;/span&gt; =&amp;gt; 正規寫法是 &lt;span style="color: magenta;"&gt;8*(-2)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #e06666;"&gt;5(-2+0.5)(-7-1.1)&lt;/span&gt;&amp;nbsp;=&amp;gt;&amp;nbsp;正規寫法是&amp;nbsp;&lt;span style="color: magenta;"&gt;5 * (-2+0.5) * (-7-1.1)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #e06666;"&gt;sin-5&lt;/span&gt;&amp;nbsp;=&amp;gt;&amp;nbsp;正規寫法是 &lt;span style="color: magenta;"&gt;sin(-5)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #e06666;"&gt;-4sin30cos50&lt;/span&gt;&amp;nbsp;=&amp;gt;&amp;nbsp;&amp;nbsp;正規寫法是 &lt;span style="color: magenta;"&gt;(-4)*sin(30)*cos(30)&lt;/span&gt;　←幹～這多麻煩阿！又括號又*號，打半天&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;五&lt;/span&gt;、可自訂變數&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;六&lt;/span&gt;、可記錄算式，於輸入框按下Enter即可&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;有沒有發現一件事，我一開始說～我的程式特色就是速度，而我卻沒列出來？&lt;br /&gt;因為我現在才要講......&lt;br /&gt;&lt;br /&gt;&lt;u style="color: #b45f06; font-size: x-large;"&gt;效能測試&lt;/u&gt;&lt;span style="color: #b45f06; font-size: large;"&gt;：&lt;/span&gt;&lt;br /&gt;我先說一下我的測試速度環境：&lt;br /&gt;&lt;span style="color: blue;"&gt;平台機器&lt;/span&gt;：Acer &lt;span style="color: red;"&gt;小筆電&lt;/span&gt; (Aspire One AOA150)&lt;br /&gt;&lt;span style="color: blue;"&gt;CPU&lt;/span&gt;：Intel(R) Atom(TM) CPU N270&lt;br /&gt;&lt;span style="color: blue;"&gt;RAM&lt;/span&gt;：1024 MB&lt;br /&gt;&lt;span style="color: blue;"&gt;測試項目&lt;/span&gt;：計算長度為&lt;span style="color: red;"&gt;1,000,000&lt;/span&gt;的算式 (包含加減乘除、開根號、平方、三角函數、指數函數等等)&lt;br /&gt;&lt;br /&gt;測試結果如下圖 (點圖放大)&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-AC5o-8NcZSM/TybghkCHCuI/AAAAAAAAAdQ/cujxxrSpjiE/s1600/scn.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="374" src="http://4.bp.blogspot.com/-AC5o-8NcZSM/TybghkCHCuI/AAAAAAAAAdQ/cujxxrSpjiE/s640/scn.jpg" width="640" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;200％一定有人會問，什麼是整體費時？什麼是計算費時？差別？&lt;br /&gt;我做了張圖片，如下：&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-VKvKRH3ZYcI/TybicLFAhZI/AAAAAAAAAdY/fMZTiQ3s9sA/s1600/time_spent.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="467" src="http://4.bp.blogspot.com/-VKvKRH3ZYcI/TybicLFAhZI/AAAAAAAAAdY/fMZTiQ3s9sA/s640/time_spent.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;相信看了圖應該都能懂才對&lt;br /&gt;&lt;br /&gt;&lt;u style="color: #b45f06; font-size: x-large;"&gt;影片介紹&lt;/u&gt;&lt;span style="color: #b45f06; font-size: large;"&gt;：&lt;/span&gt;&lt;span style="color: #b45f06;"&gt;(建議開720p比較清楚)&lt;/span&gt;&lt;br /&gt;話說我竟然還出影片教學！這整個感覺我好像在寫作業打報告ㄟ...&lt;br /&gt;Youtube影片如下：(我非常不擅長影片編輯，剪得很爛別炮我...........)&lt;br /&gt;(影片不定時更新...sorry)&lt;br /&gt;&lt;br /&gt;&lt;iframe allowfullscreen="" frameborder="0" height="480" src="http://www.youtube.com/embed/RLlgJm6980I?rel=0" width="640"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;我為什麼要設定長度如果超過128字就全上黑色？因為編輯框物件本身的關係，我是用TRichEdit，他的文字設定顏色的速度非常差，雖然我有參考&lt;a href="http://bcbjournal.org/articles/vol3/9910/Faster_rich_edit_syntax_highlighting.htm" target="_blank"&gt;Faster rich edit syntax highlighting&lt;/a&gt;這篇國外的文章，如何加速TRichEdit文字上色的方法，我也有用了，的確明顯變快，但還是有限，那篇文章最後也有講了 "The VCL TRichEdit component greatly simplifies coding reasonably sophisticated applications. However, it is designed for convenience, not for speed"，這就是TRichEdit的弱點吧！除非用第三方工具，但我有試著裝SynEdit，可是就是裝不起來，只好放棄。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;以下廢話開始...&lt;br /&gt;&lt;br /&gt;我是不知道還有沒有速度更快計算數學算式的程式，我是有測試SpeedCrunch、計算工廠2、Gu Calculator、單位轉換手冊AEC，速度上跟我的似乎差蠻大的。其實我也用過SpeQ，因為它只能輸入250字，所以不得而知。不過我想，應該是有其他程式超越我的計算速度。&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;不過話說，論功能的話，我是的確輸他們沒錯，有的還有更多函數，但這會是導致他們速度慢的原因嗎？即使是這樣，小弟程式還多了不少它們沒有的判斷呢，例如&amp;nbsp;&amp;nbsp;&lt;span style="color: #38761d;"&gt;8*-4sin-30.1cos50.2&lt;/span&gt;，有幾個程式能正確解析並算出這段運算式？或許只剩下google吧！去google搜尋就知道了，雖然說這是很不正確的寫法，正常應該寫成&lt;/div&gt;&lt;div style="text-align: left;"&gt;&amp;nbsp;&lt;span style="color: #b45f06;"&gt;8*(-4)*sin(-30.1)*cos(50.2)&lt;/span&gt;&amp;nbsp;，打了很多括號乘號。總之...有待驗證囉...（好吧...我承認我好像一直在吹捧自己...）&lt;/div&gt;&lt;br /&gt;我在寫程式的時候&lt;br /&gt;老爸問了一我句話：「有哪種人會需要算這麼長的算式嗎？這麼長的算式有實際用途嗎？」&lt;br /&gt;嗯...我也不知道該說什麼...被我老爸一語道破...&lt;br /&gt;我只能說....或許這真的是寫給自己爽的吧...&lt;br /&gt;&lt;br /&gt;市面上應該有類似多到不行的程式了，還有強大的google搜尋也能算！我為什麼要寫這程式？&lt;br /&gt;&lt;br /&gt;原因就...從我大學畢業後兩個月，在一家公司上班，去年(2011)的10月底被...嗯，理由是因為沒東西給我做，都丟給中大陸去做了。之後我上104登記履歷，陸陸續續有幾家公司主動找我面試，去面試了三家都沒上，我發現一件事，個人堅決認為C跟C++可以說是完全不一樣的程式語言！我大學期間都用C語言，只有大一下有用Java，但面試的時候被問到的幾乎都是問C++的東西，我幾乎答不出來，即使我聽過泛型、多型、template、virtual function、STL，但都沒用過，根本不知道那是啥。於是之後大約一兩個禮拜，自己在家狂惡補，把面試被問的問題全都去google找資料學起來！看很多C++教學文，那段時間我真的學到很多。然後也去&lt;a href="http://www.google.com.tw/url?sa=t&amp;amp;rct=j&amp;amp;q=%E9%AB%98%E4%B8%AD%E7%94%9F%E7%B7%9A%E4%B8%8A%E8%A7%A3%E9%A1%8C%E7%B3%BB%E7%B5%B1&amp;amp;source=web&amp;amp;cd=1&amp;amp;ved=0CCYQFjAA&amp;amp;url=http%3A%2F%2Fzerojudge.tw%2F&amp;amp;ei=EGMrT73QN6uZmQWV97HoDw&amp;amp;usg=AFQjCNHAevHKjcX9ElMB3Ye25jEw0eQ2iQ" target="_blank"&gt;高中生程式線上解題系統&lt;/a&gt;玩一玩，看到裡面有一題叫五則運算，我也去寫一寫。結果排行裡，我寫出的程式速度是0 ms，且程式碼最少，所以引起我的興趣，來寫個計算機程式。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;載點：&amp;lt;暫不公開&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-8086987915877000299?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/8086987915877000299/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2012/01/quick-expression-calculator-neil.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/8086987915877000299'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/8086987915877000299'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2012/01/quick-expression-calculator-neil.html' title='Quick Expression Calculator - 快速算式計算機 - Neil自製'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-AC5o-8NcZSM/TybghkCHCuI/AAAAAAAAAdQ/cujxxrSpjiE/s72-c/scn.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-1704620315940114316</id><published>2012-01-22T17:37:00.000+08:00</published><updated>2012-02-08T21:02:06.565+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Neil自製'/><title type='text'>植物大戰殭屍 Plants vs Zombies，遊戲 + Neil自製作弊程式下載</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-gFBHs5MWp1k/TxvQJQWBeyI/AAAAAAAAAdA/-CtBRBxkeZo/s1600/scr.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-gFBHs5MWp1k/TxvQJQWBeyI/AAAAAAAAAdA/-CtBRBxkeZo/s1600/scr.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;程式作者：Neil&lt;br /&gt;編譯工具：Embarcadero C++ Builder XE2&lt;br /&gt;製作日期：2012-01-22&lt;br /&gt;最後修改：2012-01-22&lt;br /&gt;程式版本：1.0&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;這款非常有趣的遊戲已經紅很久，不管大小朋友都很愛玩&lt;/div&gt;&lt;div&gt;就連我老媽...幾乎看她天天玩...還全破好幾次.........&lt;/div&gt;&lt;div&gt;最近就手癢癢的想寫個作弊程式&lt;/div&gt;&lt;div&gt;於是研究了一、兩天，然後把程式寫了出來&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-hSO1jV6PC7k/TxvXjh_amMI/AAAAAAAAAdI/E4D-KD3HNjg/s1600/PVZ_Hack.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="400" src="http://2.bp.blogspot.com/-hSO1jV6PC7k/TxvXjh_amMI/AAAAAAAAAdI/E4D-KD3HNjg/s640/PVZ_Hack.jpg" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;點圖放大&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;題外話：&lt;/div&gt;&lt;div&gt;這種程式應該叫「作弊程式」，還是叫「修改器」比較好？&lt;/div&gt;&lt;div&gt;我感覺普遍叫修改器比較多，但個人感覺叫作弊程式比較好...whatever...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: red;"&gt;&lt;b&gt;載點 (選其中一個)&lt;/b&gt;&lt;/span&gt;：&lt;a href="http://i.minus.com/1327310314/5nZrU4FJX9GzD-uwsSYTgQ/dhvndxYSQmRaQ.rar" target="_blank"&gt;Minus&lt;/a&gt;、&lt;a href="http://www.badongo.com/file/26141485" target="_blank"&gt;Badongo&lt;/a&gt;、&lt;a href="http://freakshare.com/files/2x1hgzrw/PVZ_Neil.rar.html" target="_blank"&gt;FreakShare&lt;/a&gt;、&lt;/div&gt;&lt;div&gt;&lt;br /&gt;注意：遊戲路徑&lt;span style="color: red;"&gt;不可以&lt;/span&gt;有中文！不然遊戲開不起來。&lt;br /&gt;&lt;br /&gt;例如&lt;span style="color: blue;"&gt;C:\Documents and Settings\&lt;/span&gt;&lt;span style="color: red;"&gt;某某某&lt;/span&gt;&lt;span style="color: blue;"&gt;\Plants vs Zombies\&lt;/span&gt; &amp;nbsp;←路徑有中文&lt;br /&gt;例如&lt;span style="color: blue;"&gt;C:\User\&lt;/span&gt;&lt;span style="color: red;"&gt;桌面&lt;/span&gt;&lt;span style="color: blue;"&gt;\Plants vs Zombies\&lt;/span&gt; &amp;nbsp;←路徑有中文&lt;br /&gt;&lt;br /&gt;另外，基本上修改器只能用於此版，其他版本不能用，畢竟其他版本已經算是不同的遊戲（程式）了&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-1704620315940114316?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/1704620315940114316/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2012/01/plants-vs-zombies-neil.html#comment-form' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/1704620315940114316'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/1704620315940114316'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2012/01/plants-vs-zombies-neil.html' title='植物大戰殭屍 Plants vs Zombies，遊戲 + Neil自製作弊程式下載'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-gFBHs5MWp1k/TxvQJQWBeyI/AAAAAAAAAdA/-CtBRBxkeZo/s72-c/scr.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-4443933157972174966</id><published>2011-12-31T00:57:00.000+08:00</published><updated>2012-01-03T14:41:47.200+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='電腦網路新資訊'/><title type='text'>瀏覽器效能測試 - 挑個自己覺得最好的瀏覽器吧！</title><content type='html'>突然發這文章其實是有原因的&lt;br /&gt;因為原本長期使用Firefox的我，一直以來都覺得它最好用，因為有強大又好用的擴充套件&lt;br /&gt;當chrome出來幾個月，我也去試用，總是覺得還是Firefox功能、穩定、速度真的比較讚&lt;br /&gt;後來這幾天，不知道哪根筋不對，看到chrome市佔超過Firefox！&lt;br /&gt;心想～咦？是真的好用？&lt;br /&gt;於是去下載Chrome 16.0，發現好像真的有變得不錯&lt;br /&gt;於是嘗試各種東西、效能測試後&lt;br /&gt;小弟目前的結論是：&lt;br /&gt;Firefox 9.0.1跟Chrome 16.0相比之下&lt;br /&gt;Firefox佔用較少記憶體，雖然Chrome佔用較多記憶體，但效能測試Chrome比Firefox快&lt;br /&gt;讓我有點改變心意去用Chrome&lt;br /&gt;&lt;br /&gt;根據&lt;a href="http://gs.statcounter.com/" target="_blank"&gt;statcounter&lt;/a&gt;這家調查結果，在&lt;b&gt;&lt;span style="color: #38761d;"&gt;2011年12月&lt;/span&gt;&lt;/b&gt;，世界市占率前五大分別為：&lt;br /&gt;&lt;br /&gt;1. Internet Explorer (38.64 %)&lt;br /&gt;2.&amp;nbsp;Google Chrome&amp;nbsp;(27.25 %)&lt;br /&gt;3.&amp;nbsp;Firefox&amp;nbsp;(25.32 %)&lt;br /&gt;4. Safari (6.07 %)&lt;br /&gt;5. Opera (1.98 %)&lt;br /&gt;6. 其他 (0.74 %)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color: #38761d; font-size: large;"&gt;IE市占率最高，所以最好嗎？&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;第一名依然是IE...真的很好用嗎？&lt;br /&gt;因為Windows作業系統畢竟佔大多數，IE又是內建的瀏覽器&lt;br /&gt;很多情況你去圖書館、學校資訊中心、學校機房、外面網咖等等都只有IE瀏覽器&lt;br /&gt;其他瀏覽器都是需要下載安裝才有&lt;br /&gt;總不可能你只是去一些場所上網查資料而已，就要花那麼大的功夫去下載去安裝吧？&lt;br /&gt;所以IE會佔這麼高的比例是很正常的&lt;br /&gt;所以市占率越高不代表功能最強大、最好用&lt;br /&gt;&lt;br /&gt;小弟我只有在極少數的網站才會想到IE...因為那些極少數網站只支援IE...&lt;br /&gt;相信有用Firefox或Chrome的人，應該不會想去用IE吧...？效能真的差多了...&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #38761d; font-size: large;"&gt;&lt;b&gt;什麼才叫最好、最強的瀏覽器？&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;以目前來說，個人認為只有&lt;span style="color: #3d85c6;"&gt;個人操作最順手&lt;/span&gt;、&lt;span style="color: #3d85c6;"&gt;執行速度&lt;/span&gt;、&lt;span style="color: #3d85c6;"&gt;功能&lt;/span&gt;及&lt;span style="color: #3d85c6;"&gt;網頁支援度&lt;/span&gt;這四個因素來決定吧！沒實際使用過的話，永遠不知道它們之間的優缺點。優點缺點其實有點見仁見智，所以需要自己去體會、去深入研究各個功能。&lt;br /&gt;&lt;br /&gt;下面列出幾個瀏覽器效能測試網站，各個網站測試的東西都不一樣，也不是絕對，但還是非常值得參考：（&lt;span style="color: #e06666;"&gt;測試時注意：有些項目測試時，別同時開兩個以上瀏覽器，別同時測試，這會影響結果而不準！&lt;/span&gt;）&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;b&gt;&lt;span style="color: #b45f06;"&gt;Peacekeeper&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;網址：&lt;a href="http://peacekeeper.futuremark.com/" target="_blank"&gt;http://peacekeeper.futuremark.com/&lt;/a&gt;&lt;br /&gt;進去後中間有個GO圖案，點它就會開始測試。&lt;br /&gt;Peacekeeper針對瀏覽器提供了數個項目的測試，這些項目主要是在測試JavaScript的執行速度，因為現在許多網站大都是使用JavaScript與使用者進行互動，以減輕伺服器的負擔，因此JavaScript的執行效能，現已是用來衡量一個瀏覽器好壞的準則。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color: #b45f06;"&gt;HTML5 TEST&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;網址：&lt;a href="http://html5test.com/" target="_blank"&gt;http://html5test.com/&lt;/a&gt;&lt;br /&gt;HTML5是HTML的新版本，是現在瀏覽器發展的趨勢。能對HTML5有良好支援性的瀏覽器，才能稱為好的瀏覽器。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color: #b45f06;"&gt;HTML5 Canvas 2D Rendering and JavaScript TEST&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;網址：&lt;a href="http://www.kevs3d.co.uk/dev/asteroidsbench/" target="_blank"&gt;http://www.kevs3d.co.uk/dev/asteroidsbench/&lt;/a&gt;&lt;br /&gt;測試瀏覽器利用JavaScript在HTML5畫布上計算2D圖片和文字的能力。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color: #b45f06;"&gt;Acid3 Test&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;網址：&lt;a href="http://acid3.acidtests.org/" target="_blank"&gt;http://acid3.acidtests.org/&lt;/a&gt;&lt;br /&gt;測試瀏覽器的標準相容性，滿分為100。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color: #b45f06;"&gt;CSS3小叮噹顯示測試&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;網址：&lt;a href="http://image.steachs.com/doria/" target="_blank"&gt;http://image.steachs.com/doria/&lt;/a&gt;&lt;br /&gt;CSS3是CSS的新版本，是用來表示樣式的網頁語言。唯有符合W3C所定義的標準CSS規範的瀏覽器，才能將也符合規範的網頁顯示到最好。&lt;br /&gt;圖案、線條、顏色、漸層越好代表CSS支援度越強。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color: #b45f06;"&gt;CSS3魔法禁書目錄顯示測試&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;網址：&lt;a href="http://css3.zxq.net/index/Gununu_Index_CSS3.html" target="_blank"&gt;http://css3.zxq.net/index/Gununu_Index_CSS3.html&lt;/a&gt;&lt;br /&gt;CSS3是CSS的新版本，是用來表示樣式的網頁語言。唯有符合W3C所定義的標準CSS規範的瀏覽器，才能將也符合規範的網頁顯示到最好。&lt;br /&gt;圖案、線條、顏色、漸層越好代表CSS支援度越強。&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #b45f06;"&gt;&lt;b&gt;DOGS Flash效能測試：&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;網址：&lt;a href="http://kyokojap.sg1006.myweb.hinet.net/dogs/" target="_blank"&gt;http://kyokojap.sg1006.myweb.hinet.net/dogs/&lt;/a&gt;&lt;br /&gt;Flash幾乎是必備的東西，很多廣告、遊戲、Facebook都必須用得到的東西，這網站就是測試你的Flash效能最大能跑幾隻狗。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;資料參考：&lt;a href="http://it-easy.tw/20110827-browser/"&gt;http://it-easy.tw/20110827-browser/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-4443933157972174966?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/4443933157972174966/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2011/12/blog-post.html#comment-form' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/4443933157972174966'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/4443933157972174966'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2011/12/blog-post.html' title='瀏覽器效能測試 - 挑個自己覺得最好的瀏覽器吧！'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-910613774680951613</id><published>2011-11-05T13:44:00.000+08:00</published><updated>2011-12-31T17:29:32.191+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Neil自製'/><title type='text'>Warcraft III Easy Wait - 魔獸爭霸三輕鬆等 (更新至3.1)</title><content type='html'>【軟體名稱】：Warcraft III Easy Wait&lt;br /&gt;【軟體性質】：免費軟體&lt;br /&gt;【軟體語言】：繁體中文&lt;br /&gt;【軟體版本】：v3.1&lt;br /&gt;【最後更新】：2011/11/05&lt;br /&gt;&lt;br /&gt;歡迎轉貼～但請麻煩註明作者文章出處：&lt;br /&gt;&lt;a href="http://neilchennc.blogspot.com/2010/03/warcraft-iii-easy-wait.html"&gt;http://neilchennc.blogspot.com/2010/03/warcraft-iii-easy-wait.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="color: red;"&gt;&lt;span style="font-size: large;"&gt;如果你要選擇相信你的防毒軟體把我的程式判成病毒&lt;/span&gt;&lt;/div&gt;&lt;div style="color: red;"&gt;&lt;span style="font-size: large;"&gt;那你就不要下載&lt;/span&gt;&lt;/div&gt;&lt;div style="color: red;"&gt;&lt;span style="font-size: large;"&gt;就這麼簡單&lt;/span&gt;&lt;/div&gt;&lt;div style="color: red;"&gt;&lt;span style="font-size: large;"&gt;你要有效率的運用時間來玩遊戲&lt;/span&gt;&lt;/div&gt;&lt;div style="color: red;"&gt;&lt;span style="font-size: large;"&gt;或者你時間很多，喜歡盯著螢幕等待&lt;/span&gt;&lt;/div&gt;&lt;div style="color: red;"&gt;&lt;span style="font-size: large;"&gt;It depends on you.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://i.imm.io/axCx.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://i.imm.io/axCx.jpeg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="color: #b45f06;"&gt;&lt;span style="font-size: large;"&gt;功能簡述：&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;玩魔獸爭霸三的時候，不管開房或者進入別人房間，都需要花時間跟體力看著螢幕等待遊戲開始，否則一不注意就忘記遊戲已經開始了...如果是開房的房主，還必須等待人數滿。如果不想癡癡的等待這段時間，想把這些等待時間拿來上上網，做其他事情，可以試試看小弟寫的小程式唷～XD&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="color: #b45f06;"&gt;&lt;span style="font-size: large;"&gt;程式原理：&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;讀取魔獸爭霸三記憶體的位置，判斷目前房間人數及遊戲是否已經開始。另外提醒的是，遊戲執行檔檔案名稱(process name)預設為"war3.exe"(可用Ctrl+Alt+Del看程序名稱，不視大小寫)，如果您有改動名稱的話，記得改回來才能正常運行。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="color: #b45f06;"&gt;&lt;span style="font-size: large;"&gt;程式簡介使用：(&lt;span style="color: red;"&gt;使用前必看&lt;/span&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;功能展示片～Easy Wait Demo&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://i.ytimg.com/vi/rO3-MZ35j34/0.jpg" height="266" width="320"&gt;&lt;param name="movie" value="http://www.youtube.com/v/rO3-MZ35j34?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;embed width="320" height="266"  src="http://www.youtube.com/v/rO3-MZ35j34?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;一、&lt;/span&gt;下載最新的程式，請確認下載回來的副檔名是「.&lt;span style="color: red;"&gt;zip&lt;/span&gt;」壓縮檔，所以要解壓縮。&lt;br /&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;二、&lt;/span&gt;Vista、Windows 7 的人記得要用「系統管理員身份」執行（按右鍵→以系統管理員身份執行）。&lt;br /&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;三、&lt;/span&gt;如果程式開不起來，請試著安裝&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=zh-tw&amp;amp;FamilyID=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5"&gt;.Net Framework 2.0&lt;/a&gt;看看吧。&lt;br /&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;四、&lt;/span&gt;開房者需手動依照所開的地圖人數最多幾人玩來設定(不包含電腦)，預設是10。舉例：信長最多10人玩，就在選單選10當作遊戲人數上限。&lt;br /&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;五、&lt;/span&gt;什麼是氣泡提示？請看下圖。&lt;br /&gt;&lt;br /&gt;Windows 7 的氣泡提示：&lt;br /&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5451116958053651154" src="http://3.bp.blogspot.com/_h6JuD6TTUD0/S6ZB_fnlUtI/AAAAAAAAAWE/fIrXEukH9XQ/s320/S2.jpg" style="cursor: pointer; height: 78px; width: 320px;" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;六、&lt;/span&gt;「魔獸爭霸三尚未開啟」跟「已離開遊戲」是不同的意思...&lt;br /&gt;&lt;br /&gt;魔獸爭霸三尚未開啟：這不用再解釋了吧...就是你遊戲沒開。&lt;br /&gt;&lt;br /&gt;已離開遊戲：代表你不在魔獸房間內、遊戲玩到一半時被踢或斷線、遊戲原本10人，到&lt;br /&gt;最後只剩下你一個人（沒斷線也算），都會顯示此狀態。&lt;br /&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;七、&lt;/span&gt;可自訂音效檔，把音效檔檔名改成「&lt;span style="color: red;"&gt;alert.wav&lt;/span&gt;」放在與程式同路徑下即可。&lt;br /&gt;&lt;br /&gt;小弟在&lt;span style="color: #38761d;"&gt;Windows 7 64位元&lt;/span&gt;及&lt;span style="color: #38761d;"&gt;Windows XP SP3 32位元&lt;/span&gt;測試都正常，大致上應該沒太大問題才對...除非魔獸有出更新的版本，有可能記憶體位置會跑掉，那我的程式就可能也要更新了。&lt;br /&gt;&lt;br /&gt;如果各位有什麼不錯的意見，歡迎留言。另外我不得不說，我不是神，也不是算命仙，不可能因為你只說「程式不能用ㄟ」我就有辦法修改程式 = =.......如果檢查過以上七點還是有問題，希望請具體說出發生的詳細原因及狀況（魔獸版本、程式版本、用什麼作業系統、什麼時候發生、怎麼發生、跑出什麼訊息、po出錯誤圖片等等）。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="color: #b45f06;"&gt;&lt;span style="font-size: large;"&gt;更新紀錄： &lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="color: #674ea7;"&gt;※3.1版：(2011/11/05)&lt;/div&gt;1. 增加熱鍵「Pause Break」來控制是否要啟用自動倒數並開始功能。&lt;br /&gt;2. 當自動按下開始按鈕後會檢查有沒有人中離，會自動關閉遊戲。&lt;br /&gt;3. 修正偶爾開啟魔獸時會出現的一個錯誤訊息。&lt;br /&gt;&lt;br /&gt;&lt;div style="color: #674ea7;"&gt;※3.0版：(2011/10/20)&lt;/div&gt;1. 修正有時記憶體讀取失敗的問題。&lt;br /&gt;2. 自動倒數偵測修正。&lt;br /&gt;3. 最大人數選單禁用滾輪，避免不小心動到。&lt;br /&gt;4. 把音效提示功能獨立出來。&lt;br /&gt;5. 小bugs修改。&lt;br /&gt;6. 說明文字部份修改。&lt;br /&gt;7. 圖示調整，降低檔案大小。&lt;br /&gt;&lt;br /&gt;&lt;div style="color: #674ea7;"&gt;※2.4版：(2011/3/23)&lt;/div&gt;1. 增加免倒數功能（因GGC好像設定魔獸成不能寫入記憶體的緣故，所以在GGC無法使用）。&lt;br /&gt;2. 改善程式執行效能。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="color: #674ea7;"&gt;※2.3版：(2011/3/20)&lt;/div&gt;1. 增加「自動倒數並開始遊戲」功能。&lt;br /&gt;&lt;br /&gt;&lt;div style="color: #674ea7;"&gt;※2.2版：(2011/3/17)&lt;/div&gt;1. 氣泡提示文字小修改。&lt;br /&gt;2. 刪除不必要的code。&lt;br /&gt;3. 將最大人數選單放最上層，避免放大字體時遮蔽。&lt;br /&gt;&lt;br /&gt;&lt;div style="color: #674ea7;"&gt;※2.1版：(2011/3/16)&lt;/div&gt;1. 修改判斷離開房間偵測與標示。&lt;br /&gt;2. 修改切換視窗功能。&lt;br /&gt;3. 調整每次偵測的頻率。&lt;br /&gt;4. 修改當發生人滿、遊戲已開始、離開房間或被踢等三個情況提示之間的順序、衝突跟bugs。&lt;br /&gt;5. 增加聲音提示功能。&lt;br /&gt;&lt;br /&gt;&lt;div style="color: #674ea7;"&gt;※2.0.0.0版：(2011/3/13)&lt;/div&gt;1. 用Visual C# 2010重新編寫。之前用C++ Builder 2010寫的時候都是當時想到什麼就加什麼，東改西改，程式變得有點亂...加上好像也快一年沒去看程式碼，所以想說乾脆規劃好我要寫哪些功能、邏輯判斷後，重寫一個（雖然講是這樣講..不過寫完之後還是有點亂...但至少比前版好一點，比較容易維護..）。&lt;br /&gt;2. 支援魔獸1.25b、1.26a。&lt;br /&gt;3. 儲存設定功能。&lt;br /&gt;4. 更改圖示（因為小弟美術功力很弱...所以比中指那個...是我叫朋友幫我畫的XD所以不是我畫的...）&lt;br /&gt;5. 總之...當如果程式怪怪的，建議重開一次（包括魔獸）在試看看吧。Vista跟Win7記得用管理員執行。小弟也已經盡量找出bug了，所以執行上應該是沒問題才是...當然有問題也可以告知啦&lt;br /&gt;&lt;br /&gt;&lt;div style="color: #674ea7;"&gt;※1.5.3版：(2010/4/13)&lt;/div&gt;1. 調整了離開房間的偵測方式。後來覺得...原本離開房間的偵測，只要是還沒進入房間，就會發出提示了，想想覺得這樣不太好，於是就改成僅在「房間等待中被踢出」跟「遊戲進行中斷線或被踢出」才會發出提示。&lt;br /&gt;&lt;br /&gt;&lt;div style="color: #674ea7;"&gt;※1.5.2版：(2010/4/8)&lt;/div&gt;1. 修正進行遊戲中與人數已滿兩個標示相衝突的小問題，及其他小調整。&lt;br /&gt;2. 改了選擇人數的物件類型圖案。&lt;br /&gt;&lt;br /&gt;&lt;div style="color: #674ea7;"&gt;※1.5.1版：(2010/4/8)&lt;/div&gt;1. 經過三番兩次的努力去找，人數顯示的部份房主或非房主終於能夠都正常顯示啦～XDDDD (終於阿...= =+)，才發現我之前的找法都疏忽的一些事情，難怪都找錯資料。&lt;br /&gt;2. 修正了離開房間偵測的一個已知的BUG。&lt;br /&gt;&lt;br /&gt;&lt;div style="color: #674ea7;"&gt;※1.5版：(2010/4/7)&lt;/div&gt;1. 重新調整、Debug了不少東西，也去掉了「timer持續提示」(意思是說，之前的版本如果人滿或遊戲開始時發出的提示會每10秒提醒，直到切換視窗為止。為了這個東西要分別設定timer，時間到就提醒，如果已切換到魔獸視窗，timer歸零，重新計時。就因為這個花我不少時間在處理，而且很麻煩，把整個程式碼搞得太複雜了，所以新版就把它拿掉了，也就是說新版的氣泡提醒只顯示一次，直到遊戲結束或離開房間或人數低於上限時才會再度發出提醒)。&lt;br /&gt;&lt;br /&gt;2. 在房間中被踢、在遊戲中被踢，應該都能夠正常顯示了，只不過如果真的發生被踢，有可能要等到1～5秒才會跑出提示，大家就將就點用吧...，至少我測試很久都還算正常。&lt;br /&gt;&lt;br /&gt;3. 讓視窗能夠調整大小，這個好處就是在於如果勾選了「顯示在最上層」時，把窗口縮到剩下目前遊戲人數的大小(如下圖)，這樣房主就能隨時看人數，且面積不會太大，也一直顯示在最上層。&lt;br /&gt;&lt;br /&gt;4. 以上應該都沒太大的問題才對（希望如此..），那應該只剩下非房主還是不能顯示人數的問題了...等我心血來潮會再試試看...＝ ＝|||&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="color: #674ea7;"&gt;※1.4.1版：(2010/4/7)&lt;/div&gt;1. 僅修改對於「war3.exe」這個字串處理方式，不視大小寫。也就說就是開魔獸時，在工作管理員(Ctrl+Alt+Del)看到的名稱大小寫不一樣，都不會影響。如果看到的是「War3.exe」、「WAR3.exe」、「WaR3.eXe」，都不影響就對了，至於在遊戲中是否被踢...嗯...我還沒去改...囧&lt;br /&gt;&lt;br /&gt;&lt;div style="color: #674ea7;"&gt;※1.4版：(2010/3/31)&lt;/div&gt;1. 增加了「最上層顯示」、游標移到右下角圖示會顯示人數狀況。&lt;br /&gt;2. 增加了當在房間被踢出時，或在遊戲中被踢出時提示(測試中)。&lt;br /&gt;3. 因應觀眾要求，能改得盡量改了。這版我覺得算是不穩定版的感覺，可能會不少BUG吧？不過還是可以用用看啦＝ ＝，尤其是偵測被踢的功能，我花好多時間在搞它，整個頭很大很累很麻煩(而且我自認為我方法很爛)，而且目前還有一個BUG，那個BUG就是如果你是載圖的且在房間內，卻會判斷成離開房間的狀態...不過其他的話，例如在遊戲進行中被踢或斷線及在房間內等待時被踢，至少這兩種狀況我測試是沒太大問題的...就加減用看看吧，怕怕的話被踢得偵測不要勾選吧＠＠等我腦力恢復＆心血來潮＆有空閒時間，再把它試著改好一點...(暈&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="color: #b45f06;"&gt;&lt;span style="font-size: large;"&gt;下載：&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;載點(3.1)：&lt;/span&gt;&lt;a href="http://anyhub.net/file/4H2W-warcraft-iii-easy-wait-3.1.zip"&gt;Anyhub&lt;/a&gt; 或 &lt;a href="http://minus.com/dXRWZ4IEQ6fS4.zip"&gt;Minus.com&lt;/a&gt;&amp;nbsp;或 &lt;a href="http://www.megaupload.com/?d=3CZCG8JD" target="_blank"&gt;MU&lt;/a&gt; (1.25b、1.26)&lt;br /&gt;&lt;span style="color: red;"&gt;載點(3.0)：&lt;/span&gt;&lt;a href="https://skydrive.live.com/self.aspx/Blogger%20%e7%a8%8b%e5%bc%8f%e8%bb%9f%e9%ab%94%e6%94%be%e7%bd%ae/Warcraft%20III%20Easy%20Wait%203.0.zip?cid=87fb5e04653d7482&amp;amp;sc=documents"&gt;點我進入下載頁面&lt;/a&gt; 或 &lt;a href="http://www.xun6.com/file/41baf6762/Warcraft+III+Easy+Wait+3.0.zip.html"&gt;XUN6載點&lt;/a&gt; 或 &lt;a href="http://anyhub.net/file/4paQ-warcraft-iii-easy-wait-3.0.zip"&gt;Anyhub&lt;/a&gt; (1.25b、1.26a)&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-910613774680951613?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/910613774680951613/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2010/03/warcraft-iii-easy-wait.html#comment-form' title='94 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/910613774680951613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/910613774680951613'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2010/03/warcraft-iii-easy-wait.html' title='Warcraft III Easy Wait - 魔獸爭霸三輕鬆等 (更新至3.1)'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_h6JuD6TTUD0/S6ZB_fnlUtI/AAAAAAAAAWE/fIrXEukH9XQ/s72-c/S2.jpg' height='72' width='72'/><thr:total>94</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-3414439301712202316</id><published>2011-06-19T23:24:00.013+08:00</published><updated>2012-02-02T03:04:39.376+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Neil自製'/><category scheme='http://www.blogger.com/atom/ns#' term='電腦軟體推薦'/><title type='text'>猜數字 (幾A幾B) 遊戲 - 視窗介面版 - 新版可玩1至10位數，速度更快！</title><content type='html'>小弟寫了兩個版本&lt;br /&gt;一個&lt;span style="color: #996633;"&gt;舊版&lt;/span&gt;的是用C++ Builder撰寫（2010年5月12日）&lt;br /&gt;另一個&lt;span style="color: red;"&gt;新版&lt;/span&gt;的用Visual C# 2010重新撰寫（2011年6月19日）&lt;br /&gt;建議大家下載新版來玩&lt;br /&gt;舊版的就供大家參考比較看看囉&lt;br /&gt;舊版也是可以玩啦～只是新版的功能比較好就是了&lt;br /&gt;且速度也比較快～詳細差異就請往下看新版的說明囉&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #996633; font-size: 180%; font-weight: bold;"&gt;舊版：&lt;/span&gt;&lt;br /&gt;--------------------------------------------------------------------------------------&lt;br /&gt;【軟體名稱】：猜數字 (幾A幾B)&lt;br /&gt;【軟體性質】：免費軟體&lt;br /&gt;【軟體語言】：繁體中文&lt;br /&gt;【軟體版本】：v1.1&lt;br /&gt;【最後更新】：2010.05.12&lt;br /&gt;&lt;br /&gt;&lt;a href="http://thumbsnap.com/gGyAirYg" target="_blank"&gt;&lt;img src="http://thumbsnap.com/i/gGyAirYg.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;不知道從哪冒出來的一時興趣，突然想寫這個遊戲的程式，而且不是只有猜電腦數字喔～！除了你要猜出電腦數字之外，電腦還要猜你的數字～&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;span style="color: #ff6600; font-weight: bold;"&gt;Coding過程...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;　　剛開始最大的問題當然就是在電腦如何猜玩家的數字，一開始我當然也是 have no idea to deal with it，所以就上網找看看有沒有一種方法讓電腦去猜出我的數字，也就是我給電腦幾個A幾個B，然後電腦會去算出可能的結果跟答案出來。&lt;br /&gt;&lt;br /&gt;　　後來果然找到方法了，這方法我是google到某論壇的某位大大分享他的source code，而且剛好是C語言，於是就花了不少時間去搞懂他的程式運作原理，也就是所謂的演算法(Algorithm)啦～，搞懂他之後，就把他的程式碼大改特改～去除不必要的部份，改良計算上的效率，並讓程式能夠運行1～10個位數數字去猜 (假如是1個位數，就是0、1、2、3、4、5、6、7、8、9，假如是2個位數，就是01、02、03、04、...、97、98)，在這部份是花我最多時間的。&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #ff6600; font-weight: bold;"&gt;演算法(Algorithm)...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;　　那位大大的方法原理其實不會太難，沒有複雜的數學理論。先用四個數字為例：一開始先把&lt;span style="color: #cc33cc;"&gt;所有合法的四個數字全抓出來&lt;/span&gt;（從0000到9999），所謂合法的四個數字例如說1234、7416、0852...等等，各個位數沒重複，全抓出來之後存放在buffer，接著&lt;span style="color: #cc33cc;"&gt;從buffer裡面隨便挑一個出來問玩家是幾A幾B&lt;/span&gt;，假設電腦亂數挑出1234，玩家的數字是4256，那玩家就必須輸入1A1B，然後電腦就開始去猜所有可能的數字。電腦的猜法是&lt;span style="color: #cc33cc;"&gt;先把剛剛亂數選出來的「1234」去跟在buffer裡所有數字進行比對，比出來是1A1B的數字就另外存起來，其他數字就去掉了&lt;/span&gt;。到了第二次電腦穢亂數決定剛剛比對出來的那些數字裡抽一個出來，如果電腦猜1238，那玩家就輸入3A0B，然後再把剛剛比對後所剩下的數字再比一次，如果是3A0B就保留下來，其他就刪掉。依此類推，每次每次過濾掉一堆數字，到最後就慢慢的過濾出來了。根據我測試，大概最多7次以內電腦絕對會猜出你的數字。&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #ff6600; font-weight: bold;"&gt;浩大工程...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;　　浩大工程...就如上一段所說的，因為他的方法是一開始把所有合法的數字找出來並存起來放入buffer，後來發現，當數字到6或7的時候，竟然要跑一段時間才出來，到7、8、9、10的數字跑更久，所以我就想辦法解決這個問題，於是後來想到方法就是把所有從1～10，這10種數字長度分別用個檔案存起來，因此玩的時候就不需要從頭把所有合法數字都找出來，直接讀取檔案內的數字就好了。我記得到數字8的時候需要超過10幾分鐘才找出所有合法數字並自動存入一個檔案，到了9位數....超過2個小時吧...到了10個數字....實際多久我沒記...我只記得超過兩天.....對！你沒看錯，我就為了把10個位數所有合法的數字全找出來，花了超過兩天時間給電腦一直跑...&lt;br /&gt;&lt;/span&gt;&lt;span class="fullpost"&gt;　　&lt;span style="font-size: 85%;"&gt;(2011.06.19) 後記：其實後來發現&lt;/span&gt;&lt;/span&gt;&lt;span class="fullpost"&gt;&lt;span style="font-size: 85%;"&gt;是我當時的程式沒寫好，沒加一些判斷條件，才會跑這麼久。不然找出合法的10位數其實1秒就可以全部找出來並寫入檔案了......根本不用花到幾小時或幾天時間...=  =&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;　　雖然這浩大工程是花了電腦不少時間，不過弄成檔案後比原本每次玩遊戲都要從頭找到尾要快上很多很多，我記得8位數字花了10幾分鐘才跑出來，用成檔案去讀的話大概5秒左右就好了，差很多很多...不過相對的這樣方式檔案也不小，幾10MB的資料檔了說&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #ff6600; font-weight: bold;"&gt;避免被認為作弊...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;　　玩了我的程式之後一定會發現一個問題，就是為什麼還要玩家自己輸入幾Ａ幾Ｂ，怎麼不直接在電腦猜字的下方打上自己的底數，讓電腦算出幾Ａ幾Ｂ就好了阿？這原因很簡單...因為避免別人會認為電腦會去抓取那個欄位的數字，認為電腦會作弊，所以只純粹想讓別人知道電腦猜字是有根據一定的算法去猜，而不是偷偷去抓取你打的數字去猜的 =..=&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #ff6600; font-weight: bold;"&gt;How To Play ... （點圖放大）&lt;/span&gt;&lt;br /&gt;&lt;a href="http://thumbsnap.com/i/8YtdQOP8.png" target="_blank"&gt;&lt;img src="http://thumbsnap.com/i/8YtdQOP8.png" style="height: 386px; width: 514px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #ff6600; font-weight: bold;"&gt;執行檔下載：&lt;a href="http://cid-87fb5e04653d7482.skydrive.live.com/self.aspx/Blogger%20%e7%a8%8b%e5%bc%8f%e8%bb%9f%e9%ab%94%e6%94%be%e7%bd%ae/%e5%b9%beA%e5%b9%beB.rar" target="_blank"&gt;點我&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: red; font-size: 180%; font-weight: bold;"&gt;新版：&lt;/span&gt;&lt;br /&gt;--------------------------------------------------------------------------------------&lt;br /&gt;【軟體名稱】：猜數字 (幾A幾B)&lt;br /&gt;【軟體性質】：免費軟體&lt;br /&gt;【軟體語言】：繁體中文&lt;br /&gt;【軟體版本】：v1.1&lt;br /&gt;【最後更新】：2011.06.30&lt;br /&gt;&lt;br /&gt;&lt;img src="http://i.imm.io/6BHo.png" /&gt;&lt;br /&gt;&lt;br /&gt;這跟舊版差別如下：&lt;br /&gt;&lt;br /&gt;1. 電腦運算速度更快。&lt;br /&gt;2. 改成暴力計算方式，不需要10個資料檔，所以只有一個小小的執行檔即可玩。&lt;br /&gt;3. 可以設定電腦強度（三種強度）。&lt;br /&gt;4. 可以玩10位數字。&lt;br /&gt;&lt;br /&gt;原本想寫個多執行緒，讓有多核心CPU都能發揮出來&lt;br /&gt;不過我發現只要電腦計算數字寫得好一點，其實電腦運算10位數大概1.5秒就出來了&lt;br /&gt;我測試過我的Acer Aspire One小筆電，電腦計算10位數字只要1.7~2.1秒而已&lt;br /&gt;所以根本沒必要去特別設計成多工運算&lt;br /&gt;&lt;br /&gt;p.s 如果程式開不起來，請安裝&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=zh-tw&amp;amp;familyid=333325fd-ae52-4e35-b531-508d977d32a6" target="_blank"&gt;.Net Framework 3.5&lt;/a&gt;試試看。&lt;br /&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;下載頁面：&lt;/span&gt;&lt;a href="http://cid-87fb5e04653d7482.office.live.com/self.aspx/Blogger%20%e7%a8%8b%e5%bc%8f%e8%bb%9f%e9%ab%94%e6%94%be%e7%bd%ae/AB%5E_Game.rar" target="_blank"&gt;點我進入&lt;/a&gt; 檔名是：AB_Game&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-3414439301712202316?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/3414439301712202316/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2010/05/ab.html#comment-form' title='10 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/3414439301712202316'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/3414439301712202316'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2010/05/ab.html' title='猜數字 (幾A幾B) 遊戲 - 視窗介面版 - 新版可玩1至10位數，速度更快！'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-4675820810281696864</id><published>2011-05-14T12:38:00.009+08:00</published><updated>2012-02-02T03:05:27.936+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Neil自製'/><title type='text'>龍之谷 - 貨幣轉換器！DragonNest - Currency Converter!</title><content type='html'>【軟體名稱】：龍之谷 - 貨幣轉換器&lt;br /&gt;【軟體性質】：免費軟體&lt;br /&gt;【軟體語言】：繁體中文&lt;br /&gt;【編譯環境】：Visual C# 2010&lt;br /&gt;【軟體版本】：v1.1&lt;br /&gt;【最後更新】：2011.05.17&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-6p8pniezQDA/Tc4QtRKLUsI/AAAAAAAAAZE/k4GPKYjYwS8/s1600/DN_CC.png" target="_blank"&gt;&lt;img src="http://1.bp.blogspot.com/-6p8pniezQDA/Tc4QtRKLUsI/AAAAAAAAAZE/k4GPKYjYwS8/s1600/DN_CC.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;自從橘子出了龍點系統，然後又開放物品可以用龍點交易後&lt;br /&gt;交易所只能說...真混亂阿...(我覺得啦...)&lt;br /&gt;又有龍點又有G，每次想買東西，或賣東西，總是要稍微算一下...&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;既然這樣！！！&lt;br /&gt;小弟我就想出這點子，寫個小程式讓大家換算時方便些...&lt;br /&gt;先設定目前龍點比值後，在下面欄位輸入你已知的貨幣？？&lt;br /&gt;小弟國文造詣很差，講法好像怪怪的...來舉個例子好了...&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;第一步：設定龍點比值&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-D0MCaoRPAE8/Tc4T1HIPHEI/AAAAAAAAAZM/10gi1gEoOAU/s1600/DN_CC_S1.png" target="_blank"&gt;&lt;img src="http://4.bp.blogspot.com/-D0MCaoRPAE8/Tc4T1HIPHEI/AAAAAAAAAZM/10gi1gEoOAU/s1600/DN_CC_S1.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;第二步：輸入你已知的數值貨幣後自動算出其他等值的貨幣&lt;br /&gt;（舉例：假設你想知道500金是多少龍點，就直接在金的欄位輸入後即可）&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-TDqdNpKmYFA/Tc4VDw4NMnI/AAAAAAAAAZU/3c2Mt-GndX8/s1600/DN_CC_S2.png" target="_blank"&gt;&lt;img src="http://1.bp.blogspot.com/-TDqdNpKmYFA/Tc4VDw4NMnI/AAAAAAAAAZU/3c2Mt-GndX8/s1600/DN_CC_S2.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;依此類推，小弟順便增加封印的計算，這樣在賣裝備時比較容易知道封印要多少錢&lt;br /&gt;-------------------------------------------------------------------&lt;br /&gt;&lt;strike&gt;我預設1封印=4.59龍點(GASH)是因為商城最便宜的是100封印=459龍點&lt;/strike&gt;&lt;br /&gt;&lt;br /&gt;我知道商城有三種封印賣法：&lt;br /&gt;1. 20封印=99龍點（一個封印4.95龍點）&lt;br /&gt;2. 50封印=239龍點（一個封印4.78龍點）&lt;br /&gt;3. 100封印=459龍點（一個封印4.59龍點）&lt;br /&gt;發現有些人對於我預設的1封印=4.59龍點有疑問，為什麼不用1封印=4.95龍點來算？&lt;br /&gt;&lt;br /&gt;因為我以最便宜的當作基準，為什麼？&lt;br /&gt;&lt;br /&gt;因為如果要站在賣的人立場想以1封印=4.95龍點賣，那當然成本會提高沒錯，但買的人會怎想？&lt;br /&gt;當然是越便宜越好阿～當然會以1封印4.59龍點去考慮吧？&lt;br /&gt;誰管你賣家是花多少錢去用封印，有便宜的不買，賣家卻用買比較貴的來算，那是賣家的事阿～誰叫你要買比較貴的＠＠&lt;br /&gt;如果覺得「因為又不是每個人都有錢買100封印」當理由...&lt;br /&gt;說難聽點...那我可不可以說：「活該阿= =干我屁事？」來回應呢？&lt;br /&gt;拍謝我語氣用得比較激烈點...我沒針對誰...我只想表達我原本的意念而已...&lt;br /&gt;我原本是這樣想的，所以我原本預設4.59覺得比較適當...（程式也比較方便寫XDDD）&lt;br /&gt;只是原本我覺得那些希望想改成4.95的人應該只有少數吧？？？而且理由都是很表面的問題，並沒有想到另一層面的問題，不足以說服我上面所說的論點，所以我一直都沒去理這問題...&lt;br /&gt;可是發現越來越多人都在反應...好吧...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-jbbw_LEF1d4/TdJ3SknqcmI/AAAAAAAAAZc/PwaBX3JCdgw/s1600/DN_CC_S3.png" target="_blank"&gt;&lt;img src="http://1.bp.blogspot.com/-jbbw_LEF1d4/TdJ3SknqcmI/AAAAAAAAAZc/PwaBX3JCdgw/s1600/DN_CC_S3.png" /&gt;&lt;/a&gt;&lt;br /&gt;-------------------------------------------------------------------&lt;br /&gt;&lt;span style="color: red;"&gt;掃毒結果與驗證碼：&lt;/span&gt;&lt;a href="http://www.virustotal.com/file-scan/report.html?id=97ff001c1412966eca46aa632f0752a216f05dfedf4f83774d16b553059401f3-1305369927" target="_blank"&gt;點我&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;載點：&lt;/span&gt;&lt;a href="http://cid-87fb5e04653d7482.office.live.com/self.aspx/Blogger%20%e7%a8%8b%e5%bc%8f%e8%bb%9f%e9%ab%94%e6%94%be%e7%bd%ae/DragonNest%5E_CurrencyConverter.rar" target="_blank"&gt;點我進入下載頁面&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;如果程式開不起來的，請安裝&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=zh-tw&amp;amp;FamilyID=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5" target="_blank"&gt;.Net Framework 2.0&lt;/a&gt;以上(3.5應該也可以)試試看。&lt;br /&gt;-------------------------------------------------------------------&lt;br /&gt;覺得程式好用的話，希望不吝嗇給點贊助金給小弟 XDDDDD（會不會很賊QQ？）&lt;br /&gt;&lt;br /&gt;小弟在【&lt;b&gt;泰拉瑪伊&lt;/b&gt;】伺服器，&lt;b&gt;C語言之神&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-4675820810281696864?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/4675820810281696864/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2011/05/dragonnest-currency-converter.html#comment-form' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/4675820810281696864'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/4675820810281696864'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2011/05/dragonnest-currency-converter.html' title='龍之谷 - 貨幣轉換器！DragonNest - Currency Converter!'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-6p8pniezQDA/Tc4QtRKLUsI/AAAAAAAAAZE/k4GPKYjYwS8/s72-c/DN_CC.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-8904679592036883978</id><published>2011-05-01T08:51:00.023+08:00</published><updated>2012-02-02T03:05:55.526+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Neil自製'/><title type='text'>龍之谷 - 腿賢輕鬆踢！Dragon Nest - Easy Kick!</title><content type='html'>【軟體名稱】：龍之谷 - 腿賢輕鬆踢&lt;br /&gt;【軟體性質】：免費軟體&lt;br /&gt;【軟體語言】：繁體中文&lt;br /&gt;【編譯環境】：Visual C# 2010&lt;br /&gt;【軟體版本】：v1.1&lt;br /&gt;【最後更新】：2011.05.02&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-4wu78som1n0/TbyvWZVtTBI/AAAAAAAAAYs/_oU63YwsDA0/s400/DN_EasyKick.png" target="_blank"&gt;&lt;img src="http://1.bp.blogspot.com/-4wu78som1n0/TbyvWZVtTBI/AAAAAAAAAYs/_oU63YwsDA0/s400/DN_EasyKick.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;我想有玩龍之谷的應該看標題就知道這是幹麼用的....&lt;br /&gt;就是讓你按住滑鼠時實現滑鼠連點&lt;br /&gt;這樣就不必自己狂點滑鼠右鍵&lt;br /&gt;輕鬆又好打～&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span class="fullpost"&gt;---------------------------------------------------------&lt;br /&gt;雖然我知道巴哈姆特裡已經有一篇類似的程式（MouseCombo）了&lt;br /&gt;而我又寫一個是想針對龍之谷專用，主要以下幾點：&lt;br /&gt;&lt;br /&gt;1. 此程式只有在龍之谷視窗有作用，也就是說在看網頁、MSN、打報告等等，只要前景視窗不是龍之谷，按右鍵都不會發生連點。&lt;br /&gt;&lt;br /&gt;2. 設定一個啟動或停用熱鍵（Pause Break），在遊戲中可能要交易、點物品、賣東西等等時，可以按一下熱鍵來停用或啟動滑鼠連點，這樣應該比較方便...(停用時圖案會淡化顯示)。跟朋友討論半天，決定設Pause Break按鍵當作熱鍵，延遲預設50 ms。&lt;br /&gt;&lt;br /&gt;3. 那個MouseCombo程式的圖案好難看又很宅...而且是殘體中文...而且還會多一個config.data檔案很礙眼又佔位子...&lt;br /&gt;&lt;br /&gt;嗯...主要就是以上三個原因，所以就寫了龍之谷專用（應該說腿賢專用...）&lt;br /&gt;---------------------------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;strike&gt;目前小弟只有在Windows 7 x64跑過很正常，Windows XP沒跑過，我想應該也沒問題才對...&lt;/strike&gt;&lt;br /&gt;&lt;br /&gt;目前在Windows XP及Windows 7測試皆正常執行（1.1版）。&lt;br /&gt;&lt;br /&gt;如果程式開不起來的，請安裝&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=zh-tw&amp;amp;FamilyID=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5" target="_blank"&gt;.Net Framework 2.0&lt;/a&gt;試試看。&lt;br /&gt;&lt;br /&gt;Windows Vista及Windows 7請用管理員身份執行。&lt;br /&gt;&lt;br /&gt;掃毒結果及驗證碼：&lt;a href="http://www.virustotal.com/file-scan/report.html?id=c57da6d1f42a677d8b4e498adc3199fb62b68c97ab12cc64ceab12f723b90901-1306826137" target="_blank"&gt;點我查看&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;載點：&lt;a href="http://cid-87fb5e04653d7482.office.live.com/self.aspx/Blogger%20%e7%a8%8b%e5%bc%8f%e8%bb%9f%e9%ab%94%e6%94%be%e7%bd%ae/DragonNest%5E_EasyKick.rar" target="_blank"&gt;點我進入下載頁面&lt;/a&gt;或&lt;a href="http://neilchennc.myweb.hinet.net/DragonNest_EasyKick.rar" target="_blank"&gt;Hinet備用載點&lt;/a&gt; (下載回來是.rar檔)&lt;br /&gt;---------------------------------------------------------&lt;br /&gt;&lt;br /&gt;覺得程式好用的話，希望不吝嗇給點贊助金給小弟 XDDDDD（會不會很賊QQ？）&lt;br /&gt;&lt;br /&gt;小弟在【&lt;span style="font-weight: bold;"&gt;泰拉瑪伊&lt;/span&gt;】伺服器，&lt;span style="font-weight: bold;"&gt;C語言之神&lt;/span&gt;&lt;br /&gt;---------------------------------------------------------&lt;br /&gt;&lt;br /&gt;嗯.....PO在巴哈過兩小時被刪掉&lt;br /&gt;為什麼之前別人PO的MouseCombo就不會被刪？&lt;br /&gt;版主智障？&lt;br /&gt;&lt;br /&gt;2011/05/10 版主自動滾蛋了，還講了一堆屁話，我只能說...只有活該可以形容&lt;b&gt;牠&lt;/b&gt;！&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-8904679592036883978?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/8904679592036883978/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2011/05/blog-post.html#comment-form' title='10 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/8904679592036883978'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/8904679592036883978'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2011/05/blog-post.html' title='龍之谷 - 腿賢輕鬆踢！Dragon Nest - Easy Kick!'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-4wu78som1n0/TbyvWZVtTBI/AAAAAAAAAYs/_oU63YwsDA0/s72-c/DN_EasyKick.png' height='72' width='72'/><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-4274117444380296102</id><published>2011-02-05T15:05:00.012+08:00</published><updated>2012-02-02T22:37:49.329+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Neil自製'/><category scheme='http://www.blogger.com/atom/ns#' term='電腦軟體推薦'/><title type='text'>MyAccountNote - 把你每天的收支記帳吧～！！</title><content type='html'>【軟體名稱】：MyAccountNote&lt;br /&gt;【軟體性質】：免費軟體&lt;br /&gt;【軟體語言】：繁體中文&lt;br /&gt;【編譯環境】：Visual C# 2010&lt;br /&gt;【軟體版本】：v1.1.0.0&lt;br /&gt;【最後更新】：2011.02.16&lt;br /&gt;&lt;br /&gt;點圖放大&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-D8LH1fOfeCk/TVvbVoqyovI/AAAAAAAAAYM/PXO4dBlIEbg/s1600/MyAN.png" target="_blank"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-_t1716JNPPA/TVx9qAiluNI/AAAAAAAAAYU/NNmOsbC0BIE/s1600/MyAN.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;這程式幹麼用的！？&lt;br /&gt;阿就是記帳阿～每天花多少錢、賺多少錢&lt;br /&gt;都可以紀錄起來，然後快速瀏覽哪天花多少&lt;br /&gt;或指定某段時間內的開銷跟收入等等&lt;br /&gt;就降&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;#2011.02.16 ========== v1.1.0.0&lt;br /&gt;改了一些bugs&lt;br /&gt;改了一點點layout&lt;br /&gt;拿掉了統計圖表按鈕(嗯...懶得做XD雖然有找到範例程式...還是懶得做...)&lt;br /&gt;拿掉了開機自動啟動功能(感覺有點多餘)&lt;br /&gt;收入的為藍字，支出的為紅字&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;#2011.02.05 ========== v1.0.0.0&lt;br /&gt;今年過年說實在蠻無聊的&lt;br /&gt;感覺已經沒像小時候那樣回外婆家的超歡樂時光&lt;br /&gt;可能真的老了...&lt;br /&gt;於是想找點事情作&lt;br /&gt;就乾脆想個點子來玩玩程式好了...(好宅..)&lt;br /&gt;於是從除夕到今天，連續三天時間大部分都在寫這程式...&lt;br /&gt;原本剛寫的時候還蠻有動力、蠻起勁的！&lt;br /&gt;不知道為什麼寫到今天越來越懶得寫，越寫越悶&lt;br /&gt;所以程式只寫好基本功能而已...統計圖表的功能還沒作&lt;br /&gt;不過還好&lt;span style="font-weight: bold;"&gt;不是屍體&lt;/span&gt;(屍體的意思就是程式不能跑，或跑一跑會很多錯誤，也就是半成品)&lt;br /&gt;大家有興趣的話可以下載來用用吧...&lt;br /&gt;&lt;br /&gt;載點：&lt;a href="http://cid-87fb5e04653d7482.office.live.com/self.aspx/Blogger%20%e7%a8%8b%e5%bc%8f%e8%bb%9f%e9%ab%94%e6%94%be%e7%bd%ae/MyAccountNote.zip" target="_blank"&gt;http://cid-87fb5e04653d7482.office.live.com/self.aspx/Blogger%20%e7%a8%8b%e5%bc%8f%e8%bb%9f%e9%ab%94%e6%94%be%e7%bd%ae/MyAccountNote.zip&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;如果無法執行，試著裝.Net Framework 3.5看看吧！&lt;br /&gt;建議電腦要裝「微軟正黑體」字型，畫面比較好看一點(Vista跟Win7應該都已經內建了，所以XP的人可能才需要裝)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-4274117444380296102?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/4274117444380296102/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2011/02/myaccountnote.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/4274117444380296102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/4274117444380296102'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2011/02/myaccountnote.html' title='MyAccountNote - 把你每天的收支記帳吧～！！'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-_t1716JNPPA/TVx9qAiluNI/AAAAAAAAAYU/NNmOsbC0BIE/s72-c/MyAN.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-360147444001339119</id><published>2010-10-24T09:31:00.009+08:00</published><updated>2012-02-02T22:38:23.784+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Neil自製'/><category scheme='http://www.blogger.com/atom/ns#' term='電腦軟體推薦'/><title type='text'>簡易音量控制 - 用滑鼠或鍵盤按鍵來控制電腦音量</title><content type='html'>【軟體名稱】：簡易音量控制&lt;br /&gt;【軟體性質】：免費軟體&lt;br /&gt;【軟體語言】：繁體中文&lt;br /&gt;【編譯環境】：Visual C# 2008 &amp;amp; 2010&lt;br /&gt;【軟體版本】：v2.0.0.0&lt;br /&gt;【最後更新】：2010.10.30&lt;br /&gt;&lt;br /&gt;&lt;a href="http://d.imagehost.org/view/0447/sch" target="_blank"&gt;&lt;img border="0" height="440" src="http://d.imagehost.org/0447/sch.png" width="427" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;我想應該不少人知道有另一個軟體叫Volumouse的&lt;br /&gt;它功能多、選項多&lt;br /&gt;能調整的也蠻多的（跟我寫的這小咖程式比起）&lt;br /&gt;我本來也想寫一個能用鍵盤或滑鼠來調整音量的程式的時候時&lt;br /&gt;看到Volumouse這個程式...就有點懶得寫了...&lt;br /&gt;因為我要寫到比它功能強的地步要花太多時間...寫出來也沒人會想用吧...&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;不過我用了一下它的程式(Volumouse)&lt;br /&gt;發現好像有點問題&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;我在Windows 7 x64跑的時候發現&lt;br /&gt;如果當前視窗(或稱正在使用的視窗)是MSN或一些遊戲&lt;br /&gt;就無法發揮作用耶&lt;br /&gt;不知道有沒有人跟我一樣情形&lt;br /&gt;我去下載它的x64最新版也一樣&lt;br /&gt;在某些視窗用快速鍵調音量都沒反應&lt;br /&gt;就因為這點...燃起我想寫一個程式的動機XD&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #993399;"&gt;Windows vista&lt;/span&gt; 以及 &lt;span style="color: #993399;"&gt;Windows 7&lt;/span&gt;：&lt;br /&gt;&lt;span style="color: #33cc00;"&gt;載點：&lt;/span&gt;&lt;a href="http://cid-87fb5e04653d7482.office.live.com/self.aspx/Blogger%20%e7%a8%8b%e5%bc%8f%e8%bb%9f%e9%ab%94%e6%94%be%e7%bd%ae/%e7%b0%a1%e6%98%93%e9%9f%b3%e9%87%8f%e6%8e%a7%e5%88%b6.zip" target="_blank"&gt;http://cid-87fb5e04653d7482.office.live.com/self.aspx/Blogger%20%e7%a8%8b%e5%bc%8f%e8%bb%9f%e9%ab%94%e6%94%be%e7%bd%ae/%e7%b0%a1%e6%98%93%e9%9f%b3%e9%87%8f%e6%8e%a7%e5%88%b6.zip&lt;/a&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;※註：vista跟win7使用者請先安裝.Net Framework 4.0以上。&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=9cfb2d51-5ff4-4491-b0e5-b386f32c0992" target="_blank"&gt;點我&lt;/a&gt;進去微軟官方.Net Framework 4.0 web installer&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #993399;"&gt;Windows XP&lt;/span&gt;：&lt;br /&gt;&lt;span style="color: #33cc00;"&gt;載點：&lt;/span&gt;&lt;a href="http://cid-87fb5e04653d7482.office.live.com/self.aspx/Blogger%20%e7%a8%8b%e5%bc%8f%e8%bb%9f%e9%ab%94%e6%94%be%e7%bd%ae/%e7%b0%a1%e6%98%93%e9%9f%b3%e9%87%8f%e6%8e%a7%e5%88%b6%20-%20WinXP.zip" target="_blank"&gt;http://cid-87fb5e04653d7482.office.live.com/self.aspx/Blogger%20%e7%a8%8b%e5%bc%8f%e8%bb%9f%e9%ab%94%e6%94%be%e7%bd%ae/%e7%b0%a1%e6%98%93%e9%9f%b3%e9%87%8f%e6%8e%a7%e5%88%b6%20-%20WinXP.zip&lt;/a&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;※註：使用者請先安裝.Net Framework 3.5以上。&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-360147444001339119?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/360147444001339119/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2010/10/blog-post.html#comment-form' title='4 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/360147444001339119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/360147444001339119'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2010/10/blog-post.html' title='簡易音量控制 - 用滑鼠或鍵盤按鍵來控制電腦音量'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-3866450845310522649</id><published>2010-10-10T21:19:00.006+08:00</published><updated>2012-02-02T22:38:54.624+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Neil自製'/><category scheme='http://www.blogger.com/atom/ns#' term='電腦軟體推薦'/><title type='text'>選餐程式 - 早餐、午餐、晚餐不知道要吃什麼？用這個就對了XD！</title><content type='html'>【軟體名稱】：選餐程式&lt;br /&gt;【軟體性質】：免費軟體&lt;br /&gt;【軟體語言】：繁體中文&lt;br /&gt;【編譯環境】：Visual C# 2008&lt;br /&gt;【軟體版本】：v1.0.0.0&lt;br /&gt;【最後更新】：2010.10.10&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_h6JuD6TTUD0/TLHCGHJGp9I/AAAAAAAAAXk/_OS0XpFxNT8/s1600/mealpicker.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5526411628012546002" src="http://2.bp.blogspot.com/_h6JuD6TTUD0/TLHCGHJGp9I/AAAAAAAAAXk/_OS0XpFxNT8/s400/mealpicker.png" style="cursor: pointer; height: 368px; width: 351px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;我承認這是個超無聊的程式....&lt;br /&gt;不過用得到的時候似乎也很好用....................&lt;br /&gt;&lt;br /&gt;這是幹麻用？&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;話說每次上班時在公司都會發生一件事&lt;br /&gt;就是一到中午的時候&lt;br /&gt;我跟同事間一定會互相問的問題：「今天要吃什麼？」&lt;br /&gt;接著下一句一定是：「不知道」&lt;br /&gt;第三句100％會說：「阿你要吃什麼？」&lt;br /&gt;最後一句絕對是：「不知道」&lt;br /&gt;從沒間斷過&lt;br /&gt;這隱約當中似乎變成小困擾&lt;br /&gt;於是我下定決心&lt;br /&gt;這幾天回家有空來寫個「隨機選餐程式」！！&lt;br /&gt;&lt;br /&gt;因此這程式就這樣誕生了...&lt;br /&gt;&lt;br /&gt;使用說明：&lt;br /&gt;&lt;br /&gt;．程式會讀取MealList.dt檔案，請把程式跟MealList.dt放在同路徑(同目錄)下。&lt;br /&gt;．選出一餐：從MealList.dt檔案中選出你所設定價錢範圍的一餐。&lt;br /&gt;．選出所有：從MealList.dt檔案中選出所有符合你設定的價錢範圍。&lt;br /&gt;．列出所有項目：列出所有MealList.dt檔案中項目。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;載點：&lt;a href="http://cid-87fb5e04653d7482.office.live.com/self.aspx/Blogger%20%e7%a8%8b%e5%bc%8f%e8%bb%9f%e9%ab%94%e6%94%be%e7%bd%ae/%e9%81%b8%e9%a4%90%e7%a8%8b%e5%bc%8f.zip" target="_blank"&gt;點我下載&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;會寫這個的另一個動力就是&lt;br /&gt;在上班之前（或者說在大學期間）&lt;br /&gt;我在寫程式時完全不會用debug模式去trace程式....&lt;br /&gt;所以在我人生第一次上班時&lt;br /&gt;看同事在寫程式都用debug模式，斷點trace程式&lt;br /&gt;於是好奇問他這怎麼用...才發現.....&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 180%;"&gt;靠～原來用這模式去寫程式、trace程式變得超方便的啦！！！！&lt;/span&gt;&lt;br /&gt;我以前在寫程式都不會用，寫得真辛苦....&lt;br /&gt;&lt;br /&gt;於是....很想用debug模式來寫點東西，來爽一下...&lt;br /&gt;彌補之前寫程式沒用debug模式的爽感...&lt;br /&gt;&lt;br /&gt;另一個想寫的動力就是...&lt;br /&gt;因為我大學只學C、C++、Java&lt;br /&gt;上班後接到的case都用VB寫&lt;br /&gt;於是上班後，花兩個禮拜把去K一本厚厚的幾百頁的VB教學書看完&lt;br /&gt;然後開始搞公司接所到的case&lt;br /&gt;原本我想用我熟悉的C或C++來寫選單程式時&lt;br /&gt;發現我原本愛用的C++ Builder 2010的debug模式會莫名其妙的大lag&lt;br /&gt;於是只好退而求其次用微軟的Visual Studio&lt;br /&gt;但我發現VC++ 2010竟然不支援IntelliSence功能！！&lt;br /&gt;真莫名其妙不知道為什麼要拿掉這功能...&lt;br /&gt;只好在退而求其次用2008版....&lt;br /&gt;想想發現C#語言突然很想學&lt;br /&gt;所以這個選餐程式就用C#寫出來的&lt;br /&gt;花了兩三天邊研究C#邊寫選餐程式&lt;br /&gt;就是這樣誕生啦～&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-3866450845310522649?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/3866450845310522649/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2010/10/xd.html#comment-form' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/3866450845310522649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/3866450845310522649'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2010/10/xd.html' title='選餐程式 - 早餐、午餐、晚餐不知道要吃什麼？用這個就對了XD！'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_h6JuD6TTUD0/TLHCGHJGp9I/AAAAAAAAAXk/_OS0XpFxNT8/s72-c/mealpicker.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-5832993664029487641</id><published>2010-06-28T11:17:00.004+08:00</published><updated>2012-02-02T22:39:09.684+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Neil自製'/><category scheme='http://www.blogger.com/atom/ns#' term='電腦軟體推薦'/><title type='text'>全速CPU - 測試你目前CPU全速時溫度</title><content type='html'>【軟體名稱】：全速CPU&lt;br /&gt;【軟體性質】：免費軟體&lt;br /&gt;【軟體語言】：繁體中文&lt;br /&gt;【編譯環境】：Embarcadero C++ Builder 2010&lt;br /&gt;【軟體版本】：v1.0&lt;br /&gt;【最後更新】：2010.06.28&lt;br /&gt;&lt;br /&gt;&lt;a href="http://j.imagehost.org/view/0041/cpu" target="_blank"&gt;&lt;img alt="ImageHost.org" border="0" height="192" src="http://j.imagehost.org/0041/cpu.png" width="236" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #ff6600;"&gt;程式簡介：&lt;/span&gt;&lt;br /&gt;主要功能只是把你的CPU跑到全速（就是CPU使用率跑100%），看看溫度是否不正常、過高等等。&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;前幾天我在用&lt;a href="http://neilchennc.blogspot.com/2009/02/hwmonitor.html" target="_blank"&gt;HWMonitor&lt;/a&gt;這軟體在看我電腦溫度&lt;br /&gt;發現CPU的溫度好像有點高...&lt;br /&gt;於是突發奇想～花了10分鐘寫支小程式把CPU跑全速看溫度是否太高&lt;br /&gt;我用自己寫的小程式跑全速時，結果發現..........&lt;br /&gt;&lt;a href="http://i.imagehost.org/view/0793/Before" target="_blank"&gt;&lt;img alt="ImageHost.org" border="0" height="592" src="http://i.imagehost.org/0793/Before.jpg" width="510" /&gt;&lt;/a&gt;&lt;br /&gt;哇靠＝ ＝最高80度ㄟ&lt;br /&gt;真是有嚇到...&lt;br /&gt;於是趕快關機，把主機把大掃除&lt;br /&gt;清灰塵、重放散熱膏...等&lt;br /&gt;弄好之後～在測試一次跑全速...&lt;br /&gt;&lt;a href="http://j.imagehost.org/view/0045/After" target="_blank"&gt;&lt;img alt="ImageHost.org" border="0" height="596" src="http://j.imagehost.org/0045/After.jpg" width="527" /&gt;&lt;/a&gt;&lt;br /&gt;嗯....明顯下降許多...&lt;br /&gt;給她跑了一分多鐘後也差不多固定了...&lt;br /&gt;&lt;br /&gt;使用電腦一段時間，發現散熱膏還是要重新弄&lt;br /&gt;才能讓CPU跑到正常的溫度阿～&lt;br /&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;載點：&lt;/span&gt;&lt;a href="http://cid-87fb5e04653d7482.office.live.com/self.aspx/Blogger%20%e7%a8%8b%e5%bc%8f%e8%bb%9f%e9%ab%94%e6%94%be%e7%bd%ae/%e5%85%a8%e9%80%9fCPU%20-%20Neil.exe" target="_blank"&gt;點我進入下載頁面&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-5832993664029487641?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/5832993664029487641/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2010/06/cpu-cpu.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/5832993664029487641'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/5832993664029487641'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2010/06/cpu-cpu.html' title='全速CPU - 測試你目前CPU全速時溫度'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-2609996427845846202</id><published>2010-06-18T19:01:00.016+08:00</published><updated>2012-02-02T22:45:02.299+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='未分類'/><title type='text'>幹！博愛座都給你們這些抱著小孩還裝可憐的「破麻」坐就好了阿！</title><content type='html'>我跟往常一樣搭公車、坐捷運回家&lt;br /&gt;在今天的下午2點左右&lt;br /&gt;我搭公車的過程中&lt;br /&gt;突然一個老婦人抱著小孩上公車&lt;br /&gt;當時公車人都很多很滿（幾乎都是淡大學生）&lt;br /&gt;結果那個老婦人緩緩的擠近人群中站著&lt;br /&gt;她上來後看了看，似乎發現都沒人讓座給她&lt;br /&gt;結果她開始對公車上的人大聲咆哮：&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;br /&gt;博愛座是給誰坐的你們知不知道？&lt;br /&gt;博愛座是給誰坐的你們知不知道？&lt;br /&gt;你們看到抱小孩的人是都不會讓座嗎？&lt;br /&gt;座位旁邊寫著博愛座你們都沒看到？&lt;br /&gt;看到老弱婦孺都不會讓座&lt;br /&gt;你們讀書是讀到哪裡去阿？&lt;br /&gt;現在的小孩喔，欠教訓&lt;br /&gt;......&lt;br /&gt;......&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span class="fullpost"&gt;很大聲的一直罵一直罵，罵個不停，沒完沒了的罵&lt;br /&gt;她罵得有多難聽就有多難聽，國語台語混著罵&lt;br /&gt;然後不時的瞪著離她最近一個坐在位子上的女學生&lt;br /&gt;那個被瞪的女學生正好坐在我前面&lt;br /&gt;結果另外又冒出一個很雞婆的女學生對著坐在我前面被瞪的女學生訓話說：&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ㄟ同學，讓座一下吧&lt;br /&gt;人家抱著小孩很危險耶&lt;br /&gt;萬一她跌倒了怎麼辦？&lt;br /&gt;你總有一天也會老阿&lt;br /&gt;假如你以後老了，人家不讓坐給你&lt;br /&gt;你作和感想？&lt;br /&gt;將心比心一下，就起來讓座給她阿&lt;br /&gt;........&lt;br /&gt;........(講一堆大道理)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;但你知道嗎？那個坐在我前面被瞪的女學生是很含蓄的一位重度肢體殘障大四生！&lt;br /&gt;她沒拿輔助器或拐杖，因為有另一個女同學陪她&lt;br /&gt;而陪她的那位同學也是殘障生！&lt;br /&gt;雖然我沒有看到我前面那女的表情&lt;br /&gt;不過看她不吭聲、一副有點想讓座的意思但卻無能力起來讓座的樣子&lt;br /&gt;我已經看不下去了&lt;br /&gt;本來我要起來開始嗆她的時候&lt;br /&gt;頓時...我真的不知道該怎嗆...&lt;br /&gt;我本身也是殘障生，講話不清楚&lt;br /&gt;表達反應能力很差&lt;br /&gt;本來我要準備開嗆的時候&lt;br /&gt;一時之間不知道先該怎麼講，但最主要原因在於我講話不清楚&lt;br /&gt;怕我嗆的時候，沒人聽得懂，變成尷尬的是我！甚至會以為我是從精神病院出來的，在那邊胡言亂語&lt;br /&gt;就這樣眼睜睜的看著這種景象到淡水捷運站下車&lt;br /&gt;當下車的同時，原本老婦人旁邊四個坐著的學生剛好都要下車&lt;br /&gt;結果發現那四位都是淡大的身障生！&lt;br /&gt;後來那老婦人發現都是殘障人士時，只說了一句話：&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 180%;"&gt;誤會誤會喔～&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;就這樣...&lt;br /&gt;就一句「誤會」了事！？&lt;br /&gt;剛剛被妳這死老破麻罵得多難聽&lt;br /&gt;整整羞辱到殘障人士的自尊心&lt;br /&gt;結果就一句誤會？？？？？？？？？？？？？？？&lt;br /&gt;把我們當出氣筒？要不要下次換我罵看看？&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;台灣這種病態社會，假道學的觀念&lt;br /&gt;在過了幾十年一樣不會改&lt;br /&gt;滿腦子充斥著讓座就好像自己多了不起、多有博愛心&lt;br /&gt;不讓座的人就該去死，就是沒同情心？&lt;br /&gt;好手好腳的人就不應該坐在博愛座？&lt;br /&gt;狗屁！&lt;br /&gt;&lt;br /&gt;人家坐在哪個位子，別人根本沒資格過問！&lt;br /&gt;公車你買的？捷運你家開的？座位是你的？憑甚麼要求別人讓座給你？&lt;br /&gt;你又是如何知道坐在博愛座上的人是好手好腳的正常人？&lt;br /&gt;還是說你要讓外表看似很正常，而實際上身體有殘缺的人都要掛著牌子說「我是殘障人士」？&lt;br /&gt;掛牌子跟捷運的愛心識別貼紙有什麼差別？我發現捷運的作法實在很可笑&lt;br /&gt;&lt;br /&gt;經過這件事&lt;br /&gt;讓我後悔一輩子&lt;br /&gt;我後悔當時為什麼我反應這麼差，口才這麼差，沒有及時嗆回去&lt;br /&gt;就這樣任由她亂罵亂嗆&lt;br /&gt;這件事讓我整天耿耿於懷&lt;br /&gt;整天一直在回想這件事&lt;br /&gt;很後悔..............&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-2609996427845846202?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/2609996427845846202/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2010/06/blog-post_18.html#comment-form' title='5 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/2609996427845846202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/2609996427845846202'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2010/06/blog-post_18.html' title='幹！博愛座都給你們這些抱著小孩還裝可憐的「破麻」坐就好了阿！'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-1443531042616132829</id><published>2010-06-13T21:02:00.041+08:00</published><updated>2012-02-02T22:45:23.098+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Neil自製'/><category scheme='http://www.blogger.com/atom/ns#' term='電腦軟體推薦'/><title type='text'>簡易多人聊天程式 - by Neil</title><content type='html'>【軟體名稱】：簡易多人聊天程式&lt;br /&gt;【軟體性質】：免費軟體&lt;br /&gt;【軟體語言】：繁體中文&lt;br /&gt;【編譯環境】：Embarcadero C++ Builder 2010&lt;br /&gt;【軟體版本】：v1.5.1&lt;br /&gt;【最後更新】：2010.06.28&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img border="0" src="http://j.imagehost.org/0961/SCR-1.jpg" /&gt;&lt;br /&gt;&lt;span style="color: #ff6600;"&gt;程式功能：&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;．顧名思義當然就是可以很多人連線聊天啦...每個人可以建立聊天室、加入聊天室&lt;br /&gt;．如果室長突然斷線或離線時，會自動給最先進入聊天室的人成為室長，不會因為室長離線而大家都斷線&lt;br /&gt;．只有室長擁有踢人權限&lt;br /&gt;．可傳送悄悄話、呼叫功能(Beep)&lt;br /&gt;．如果要改呼叫聲音，把你要的聲音檔檔名改成「beep.wav」，放在與程式同目錄下即可&lt;br /&gt;．傳遞的對話內容經過AES加密演算法，提高在資訊網路傳送時安全性&lt;br /&gt;．傳檔功能（可能有BUG，不過還是可以試看看啦...）&lt;br /&gt;．傳送每一檔案大小限制4GB，如果超過的話會爆炸&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;p.s 就如同程式標題「簡易」多人聊天程式，所以功能很陽春，小弟也沒那種動力，立志改成比MSN強，或者接近MSN的功能...(&lt;strike&gt;又沒錢賺&lt;/strike&gt;)。&lt;br /&gt;因為這是隨建即連的類型，而Windows的MSN是有好幾台伺服器24小時不關機，在服務MSN的用戶的方式。所以我的程式不可能改成有什麼加入好友、名單、誰誰誰上線或離線等其他功能。&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #ff6600; font-weight: bold;"&gt;載點：&lt;a href="http://cid-87fb5e04653d7482.office.live.com/self.aspx/Blogger%20%E7%A8%8B%E5%BC%8F%E8%BB%9F%E9%AB%94%E6%94%BE%E7%BD%AE/%E7%B0%A1%E6%98%93%E5%A4%9A%E4%BA%BA%E8%81%8A%E5%A4%A9%E7%A8%8B%E5%BC%8F%20-%20Neil.zip" target="_blank"&gt;點我進入下載頁面&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;這真是絞盡我腦汁，花我不少時間的程式阿～&lt;br /&gt;深深體會到網路程式是個很複雜的程式...&lt;br /&gt;主要是牽涉到多人連線的問題，比起一對一對話還要麻煩很多&lt;br /&gt;可能會掉封包、封包相撞、傳送訊息封包可能會與其他作用的封包搞混等等，很多問題&lt;br /&gt;在找bug是花最多的時間&lt;br /&gt;也是最頭大的事情...因為有太多時候很難找到是什麼原因出錯&lt;br /&gt;在寫這程式時有好幾度寫到想放棄說...一路遇到很難搞的問題，差點不知道怎解決&lt;br /&gt;不過最後還是完成了&lt;br /&gt;雖然是用C++ Builder寫的視窗程式，但我沒有用他內建的網路元件（因為不會用...）&lt;br /&gt;都完全用winsock library一步步coding出來，建立連線的&lt;br /&gt;因家裡不像學校網咖有這麼多台電腦可以測試&lt;br /&gt;所以有可能在很多人聊天時出問題吧？&lt;br /&gt;不過小弟目前測試三台電腦通訊是沒發現大問題啦～所以應該是還好才對...&lt;br /&gt;&lt;br /&gt;這程式稍微能值得一提的除了可以支援多人聊天之外，大概就是AES加密演算法跟傳檔功能了&lt;br /&gt;&lt;br /&gt;簡單的說AES這是美國國家在某年，號召全世界各地密碼學高手參加的一個競賽，經過五年的競賽，挑選出一組參賽者最好的加密演算法，於是在2002年5月成為有效的高級加密標準，是美國聯邦政府採用的一種區塊加密標準。這個標準用來替代原先的DES，已經被多方分析且廣為全世界所使用。&lt;br /&gt;想瞭解這技術可以&lt;a href="http://en.wikipedia.org/wiki/Advanced_Encryption_Standard" target="_blank"&gt;點我進入維基百科&lt;/a&gt;查看，或google搜尋「AES」，中文英文PPT很多&lt;br /&gt;嫌太複雜？都英文看不懂？來來～這裡有國外做的flash動畫，告訴你加密的流程XD→&lt;a href="http://www.cs.bc.edu/~straubin/cs381-05/blockciphers/rijndael_ingles2004.swf" target="_blank"&gt;點我看動畫&lt;/a&gt;&lt;br /&gt;雖然說有動畫...不過要看懂的話，自己也要有些底子才行...&lt;br /&gt;Neil我當初再大三時，修了一門好像叫「網路安全」的選修課&lt;br /&gt;其中的作業就是要我們寫AES加密，當初我自己找了一堆資料，動畫看好幾遍，才大概知道怎麼寫&lt;br /&gt;於是就想把我在大三寫出來的加密用上聊天程式裡～&lt;br /&gt;&lt;br /&gt;傳檔的部份.....總算搞出可以work的傳檔功能了...&lt;br /&gt;會卡很久的原因就是，在傳的過程中，萬一又在聊天對話，或者有兩個以上的檔案在傳時&lt;br /&gt;訊息會相碰撞，或者是訊息來的時間間隔極短，電腦來不及處理下一筆訊息&lt;br /&gt;就導致沒接收到訊息...結果程式當掉...&lt;br /&gt;這是主要的大問題，當然還有其他「沒沒角角」的問題&lt;br /&gt;所以不斷地想辦法解決這種問題，自己測試大致上是沒問題啦...&lt;br /&gt;小弟在學校測試，家裡測試傳檔，結果速度都比M$的MSN的傳檔還快&lt;br /&gt;如果在很多人的情況下，又有很多檔案在傳，很可能會當掉吧...&lt;br /&gt;我猜的啦，沒實際測試過，可能不會當掉也說不定...&lt;br /&gt;我沒那麼多台電腦可以測..所以...就小心點用吧XD&lt;br /&gt;盡量不要一次傳一堆檔案...不怕當機的可以試看看...=.=&lt;br /&gt;雖然我簡單測試過是沒當機啦..只是整體傳檔速度會慢很多&lt;br /&gt;&lt;br /&gt;有幾個小bug，目前還沒找到好方法解決，但也盡量降低跟避免bug發生機率了&lt;br /&gt;那個Bug就是在傳檔的同時，如果還邊聊天的話，傳檔速度會停頓一下才繼續傳&lt;br /&gt;另一個就是當很多人在互傳檔案時，整體速度會變得很慢&lt;br /&gt;如果你聊天所說的話，上一段話跟下一段話時間間隔如果太短（約0.5秒內），可能對方沒收到...&lt;br /&gt;因為有傳檔跟聊天的功能緣故，傳送的資料可能剛好同時發出，或同時接收而來不及處理&lt;br /&gt;發生封包碰撞，出現掉封包的情形，所以會沒收到資料&lt;br /&gt;於是我用時間延遲的方式，當又傳檔又聊天時，分別會延遲一點時間&lt;br /&gt;讓傳檔的資料跟聊天的資料錯開，減少發生同時送出跟同時接收的情況&lt;br /&gt;可是還是有很小很小的機率會發生沒收到聊天的訊息...或者是傳送的訊息前後時間顛倒&lt;br /&gt;這就要看當時雙方連線品質（ping值）了...&lt;br /&gt;如果要盡量避免對方沒收到訊息，就盡量不要在0.5秒內傳送兩次以上的對話了&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-1443531042616132829?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/1443531042616132829/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2010/06/by-neil.html#comment-form' title='3 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/1443531042616132829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/1443531042616132829'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2010/06/by-neil.html' title='簡易多人聊天程式 - by Neil'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-3545619467199078698</id><published>2010-06-13T18:38:00.003+08:00</published><updated>2012-02-02T22:45:43.577+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='未分類'/><title type='text'>請登入線實 - 拍得很棒的一部人生劇場</title><content type='html'>這好像是公視做的一部人生劇場&lt;br /&gt;主要在描述線上遊戲與現實人生之間的真實寫照&lt;br /&gt;裡面還隱射了單親家庭的生活&lt;br /&gt;對於有在玩線上遊戲的人&lt;br /&gt;相信看了之後應該會心有戚戚焉的感覺吧&lt;br /&gt;整個拍得實在很棒～&lt;br /&gt;&lt;br /&gt;公視人生劇展-請登入線實 (1/8)&lt;br /&gt;&lt;object height="385" width="480"&gt;&lt;param name="movie" value="http://www.youtube.com/v/ShMmjpixOXY&amp;hl=zh_TW&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/ShMmjpixOXY&amp;hl=zh_TW&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;公視人生劇展-請登入線實 (2/8)&lt;br /&gt;&lt;object height="385" width="480"&gt;&lt;param name="movie" value="http://www.youtube.com/v/QHawlEHqN8I&amp;hl=zh_TW&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/QHawlEHqN8I&amp;hl=zh_TW&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;公視人生劇展-請登入線實 (3/8)&lt;br /&gt;&lt;object height="385" width="480"&gt;&lt;param name="movie" value="http://www.youtube.com/v/K7SQRUqEgzE&amp;hl=zh_TW&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/K7SQRUqEgzE&amp;hl=zh_TW&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;公視人生劇展-請登入線實 (4/8)&lt;br /&gt;&lt;object height="385" width="480"&gt;&lt;param name="movie" value="http://www.youtube.com/v/CkAVTvT-eaI&amp;hl=zh_TW&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/CkAVTvT-eaI&amp;hl=zh_TW&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;公視人生劇展-請登入線實 (5/8)&lt;br /&gt;&lt;object height="385" width="480"&gt;&lt;param name="movie" value="http://www.youtube.com/v/ALpe4I_jhy4&amp;hl=zh_TW&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/ALpe4I_jhy4&amp;hl=zh_TW&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;公視人生劇展-請登入線實 (6/8)&lt;br /&gt;&lt;object height="385" width="480"&gt;&lt;param name="movie" value="http://www.youtube.com/v/36zzts7lOoY&amp;hl=zh_TW&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/36zzts7lOoY&amp;hl=zh_TW&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;公視人生劇展-請登入線實 (7/8)&lt;br /&gt;&lt;object height="385" width="480"&gt;&lt;param name="movie" value="http://www.youtube.com/v/jeKFEyrbvGg&amp;hl=zh_TW&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/jeKFEyrbvGg&amp;hl=zh_TW&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;公視人生劇展-請登入線實 (8/8)&lt;br /&gt;&lt;object height="385" width="480"&gt;&lt;param name="movie" value="http://www.youtube.com/v/KiqOtlNIa_k&amp;hl=zh_TW&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/KiqOtlNIa_k&amp;hl=zh_TW&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-3545619467199078698?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/3545619467199078698/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2010/06/blog-post.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/3545619467199078698'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/3545619467199078698'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2010/06/blog-post.html' title='請登入線實 - 拍得很棒的一部人生劇場'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-7187011251060343511</id><published>2010-05-30T23:40:00.003+08:00</published><updated>2012-02-02T22:46:05.855+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows 7'/><category scheme='http://www.blogger.com/atom/ns#' term='電腦軟體推薦'/><title type='text'>新酷音輸入法 on Windows 7 x64</title><content type='html'>說到輸入法&lt;br /&gt;自從玩電腦以來到目前用過無數種怪裡怪氣的輸入法&lt;br /&gt;至今用了新酷音輸入法，這輸入法少說已經使用好幾年了吧&lt;br /&gt;個人感覺新酷音是我覺得最棒最好用的輸入法了&lt;br /&gt;程式很單純，就是注音輸入法&lt;br /&gt;沒有附加一堆其奇怪怪的額外功能&lt;br /&gt;可以自訂詞彙，自動判斷並記憶常輸入的單詞&lt;br /&gt;自訂常用的特殊符號....等等&lt;br /&gt;有太多很方便又很順手的功能～&lt;br /&gt;真可惜似乎沒有在繼續研發了？&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;到了Windows 7 64位元&lt;br /&gt;發現安裝好像有問題～不能用了&lt;br /&gt;當然最常見的解決管道就是google大神啦～&lt;br /&gt;果然，還是有人研究出能夠在Windows 7 64位元的OS執行&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;新酷音輸入法官方網站：&lt;a href="http://chewing.csie.net/" target="_blank"&gt;http://chewing.csie.net/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;以下文章&lt;a href="http://tib.tw/tBoard/index.py?m=pl&amp;amp;t=881" target="_blank"&gt;從這裡的討論區&lt;/a&gt;轉貼&lt;br /&gt;=================================================&lt;br /&gt;&lt;br /&gt;&lt;a href="http://mail.cs.nchu.edu.tw/~s9256043/chewing-090320-x64.zip"&gt;http://mail.cs.nchu.edu.tw/~s9256043/chewing-090320-x64.zip&lt;/a&gt;  &lt;br /&gt;&lt;br /&gt;系統需要先裝好 32-bit 的新酷音，再抓上面這個檔，解到 C:\Windows\System32 (沒有錯)&lt;br /&gt;&lt;br /&gt;用檔案總管確定出現下面這三個檔案之後，&lt;b&gt;需要重新開機&lt;/b&gt; &lt;br /&gt;接著就可以開 x64 程式來測了&lt;br /&gt;&lt;br /&gt;要注意的是，用一般 32-bit 壓縮程式 (如 7-zip, WinRAR 等等) 解壓的時候，如果直接解到  C:\Windows\System32 的話，Windows 為了維持相容性，&lt;b&gt;會自動重導到 C:\Windows\SysWOW64 目錄&lt;/b&gt;， 所以會出現「是否覆蓋現有檔案」的確認對話盒，&lt;b&gt;位於 C:\Windows\SysWOW64 的是 32-bit  用的版本，所以千萬不要覆蓋過去&lt;/b&gt;。請先解到其它地方，再用 64-bit 的檔案總管搬到真正的 C:\Windows\System32  目錄內。&lt;br /&gt;&lt;br /&gt;※ IE x64 如果網址列可以用新酷音，但網頁內容不能用新酷音的話，以管理者身份執行 IE x64 (Run as  Administrator) 可以暫時解決。&lt;br /&gt;&lt;br /&gt;C:\Windows\System32\Chewing.ime&lt;br /&gt;C:\Windows\System32\IME\Chewing\statuswnd.bmp&lt;br /&gt;C:\Windows\System32\IME\Chewing\ChewingServer.exe&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-7187011251060343511?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/7187011251060343511/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2010/05/on-windows-7-x64.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/7187011251060343511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/7187011251060343511'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2010/05/on-windows-7-x64.html' title='新酷音輸入法 on Windows 7 x64'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-9037314021446904901</id><published>2010-05-30T16:05:00.013+08:00</published><updated>2012-02-02T22:46:20.781+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows 7'/><category scheme='http://www.blogger.com/atom/ns#' term='電腦網路新資訊'/><title type='text'>Windows 7 - 重灌前後之簡略注意事項（Neil牌）</title><content type='html'>每次重灌電腦的時候&lt;br /&gt;最直接想到的不外乎就是&lt;span style="color: #cc33cc;"&gt;備份資料&lt;/span&gt;&lt;br /&gt;其次再來就是&lt;span style="color: #cc33cc;"&gt;硬碟空間分&lt;/span&gt;&lt;span style="color: #cc33cc;"&gt;割的配置&lt;/span&gt;&lt;br /&gt;接下來就大概開始重灌了吧～&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #6600cc; font-weight: bold;"&gt;安裝前：&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;安裝windows 7系統時要注意，&lt;span style="color: #cc0000;"&gt;不要在格式化C槽之後直接安裝&lt;/span&gt;！&lt;br /&gt;正確的做法就是&lt;span class="fullpost"&gt;，&lt;span style="color: #cc0000;"&gt;先刪除C槽，然後重建C槽，這樣就會在C槽自動生成一個100MB的隱藏未分配槽&lt;/span&gt;。&lt;br /&gt;網上說的0x00000142、0x000007f、0x000000a的內存錯誤，其實是硬槽的100MB未分配空間的不存在造成的。&lt;br /&gt;並不一定是內存或是CPU的事。如果是cpu的問題就把inter c-state tech 選擇成Disabled。&lt;br /&gt;另外如果沒有生成100MB的空間，在win7下就會出現硬槽142錯誤和7f錯誤。&lt;br /&gt;在bios設置中，除了ahci的選擇外，最好能關掉Inte(R) c-state tech 選擇Disabled即可。&lt;br /&gt;&lt;br /&gt;如果用USB安裝的話，先將USB格式化成NTFS，接著可用以下指令：（假設E:\win7\*是windows 7安裝的資料夾，F槽是隨身碟）&lt;br /&gt;&lt;span style="color: #cc6600;"&gt;xcopy E:\win7\* /s /e /f F:\&lt;/span&gt;&lt;br /&gt;如果安裝檔是ISO檔，可用WinRAR把他解壓縮出來，放到一個資料夾，把內容全都複製到USB也可以&lt;br /&gt;或者用&lt;a href="http://store.microsoft.com/Help/ISO-Tool"&gt;Windows 7 USB/DVD Download Tool&lt;/a&gt;這套軟體，可以直接將iso檔複製到USB中，不過我沒用過&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #6600cc; font-weight: bold;"&gt;安裝後：&lt;/span&gt;&lt;span style="color: #990000; font-weight: bold;"&gt;&lt;span style="font-size: 85%;"&gt;前後順序不可顛倒，以確保整體執行起來最佳狀態&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;1. 7loader（這啥？不知道～有些事要低調點XD）&lt;br /&gt;2. netplwiz自動登入&lt;br /&gt;3. 將權限調到最高&lt;br /&gt;4. 安裝Driver：&lt;br /&gt;．Video&lt;br /&gt;．Audio&lt;br /&gt;．網卡&lt;br /&gt;5. 設定Hinet連線，並設定開機連線&lt;br /&gt;6. .NET Framework 4 (後來覺得其實不必裝，因為用到的機會不多，看人使用什麼軟體而定)&lt;br /&gt;7. DirectX (有在玩遊戲是必裝的)&lt;br /&gt;8. 防毒&lt;br /&gt;9. WinRAR&lt;br /&gt;10. 其他軟體...(office文書、Firefox...等)&lt;br /&gt;11. Windows Update&lt;br /&gt;12. 自製登錄檔優化(.reg)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #6600cc; font-weight: bold;"&gt;額外說明：&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;應該會有人有個疑問...為什麼要把使用者帳戶權限調到最高？這不是很容易中毒會被放木馬嗎？&lt;br /&gt;&lt;br /&gt;或許應該很少人會反向思考：那有限制權限就比較不會中毒中木馬嗎？&lt;br /&gt;Neil是覺得windows 7多弄出這個權限，似乎沒有很大的用處吧？&lt;br /&gt;有玩windows 7的人或多或少應該都知道一件事：當你下載一個軟體或程式，有些必須要按右鍵→點以系統管理員身份執行&lt;br /&gt;話說我覺得這方式也太好笑了吧？這算哪門子的鳥機制？微軟的OS程式設計師到底在想什麼阿？&lt;br /&gt;這有什麼好處？請告訴我阿！？&lt;br /&gt;當你下載到一個程式，用一般方式執行它，萬一程式不能執行，或執行到一半出問題時&lt;br /&gt;發現該網站或論壇說必須以管理員身份執行，才能正常運行&lt;br /&gt;這時通常一般人會怎辦？大部分的人應該就是真的就給他按以管理員身份執行吧？&lt;br /&gt;阿你就真的很放心的直接以管理員身份執行喔？如果是病毒勒？你怎這麼敢確定這不是病毒？憑甚麼？程式你寫的？&lt;br /&gt;這樣子的話有這權限的保護機制有用嗎？&lt;br /&gt;好吧，如果你遇到來路不明的程式，或是朋友傳給你的程式，但卻必須以管理員身份執行，所以你就不執行？&lt;br /&gt;如果這程式很好用，而且真的不是病毒的話勒？你難道就不想用這個程式了？&lt;br /&gt;&lt;br /&gt;這是Neil個人的小見解啦，所以我都會把權限調最高，也省下許多安裝時或執行時問你是否用系統管理員身份執行的對話框困擾，一直問也很煩，如果好死不死真的中獎，大不了重灌就好了阿= =+&lt;br /&gt;&lt;br /&gt;另外我google發現...windows 7開機自動連線，好像每個人都說把連線放在「啟動」資料夾沒用&lt;br /&gt;經過小弟Neil我重灌好幾次+研究出來的經驗，發現是可以的...並不是windows 7的bug&lt;br /&gt;關鍵點就在，剛建立好連線之後，當你要把連線的捷徑放入「啟動」資料夾時&lt;br /&gt;必須是離現狀態的捷徑圖示放入啟動資料夾！&lt;br /&gt;換句話說也就是當你已經在連線了，這時把捷徑放入啟動資料夾的話，開機是不會自動連線的...&lt;br /&gt;本來這方法想自己「暗坑」（台語）說，因為好像都沒人發現這點（哈哈&lt;br /&gt;想說算了，其實還有很多其他的撇步啦～想說我這部落格沒啥人氣，那就這樣子啦...&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-9037314021446904901?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/9037314021446904901/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2010/05/windows-7-neil.html#comment-form' title='3 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/9037314021446904901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/9037314021446904901'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2010/05/windows-7-neil.html' title='Windows 7 - 重灌前後之簡略注意事項（Neil牌）'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-2995710138452594030</id><published>2010-05-30T16:02:00.005+08:00</published><updated>2012-02-02T22:47:16.421+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='遊戲漫談'/><category scheme='http://www.blogger.com/atom/ns#' term='未分類'/><title type='text'>認了，我也累了</title><content type='html'>魔獸爭霸三，這款超人氣紅遍全地球的遊戲&lt;br /&gt;至今也已經快10年有了吧？&lt;br /&gt;印象中大概在高中，還是哪時候，有人做出「真三國無雙」這超紅的對戰地圖&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;就從那時開始，三不五時我都去找「朋友A」跟「朋友B」一起來三國&lt;br /&gt;A跟B跟我都是認識20年以上的人，不過重點並不在之間的關係&lt;br /&gt;&lt;br /&gt;從高中到現在，已經大四要畢業了&lt;br /&gt;這段期間我們三人三不五時只要有空，我們有時都會互找一起玩三國&lt;br /&gt;而通常都是我找他們兩個，且每次開房都是我開&lt;br /&gt;因為我們家網路比較好一點，他們開房會lag，總之幾乎都是我來開房&lt;br /&gt;在玩的過程中，我要開房時都會固定約在私服某頻道&lt;br /&gt;然後從3開始倒數，數到1的時候就代表我要開房間了，他們就會趕快近來&lt;br /&gt;就這樣的方式在一起打三國&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span class="fullpost"&gt;在前期，因為朋友A跟B都不在同個地方&lt;br /&gt;所以當要一起打三國時，我都在MSN上密他們兩個，去固定的頻道上等&lt;br /&gt;接著等他們都到了，我才開始開房&lt;br /&gt;剛開始我們都在一個叫MOMO的私服玩&lt;br /&gt;在開房間的時候，有時因為人少，或剛好沒啥人在&lt;br /&gt;所以房間等半天都沒人，甚至死房（意思是別人看不見我開的遊戲房間，甚至打房名也近不來）&lt;br /&gt;這時幾乎都是要重開房間了&lt;br /&gt;不過很麻煩的事情來了........&lt;br /&gt;因為都在不同地方，因此等太久的話，朋友A或朋友B都在看網頁，或別的事情&lt;br /&gt;而且有很多時候，只要我一開了房間，他們一進來，他們就馬上切換視窗作別的事情&lt;br /&gt;變成說開房十次裡至少有五次以上要重開房間時，都還要切換視窗用MSN告訴A跟B房間重開了&lt;br /&gt;更麻煩的是，當我MSN把朋友A叫回來說重開後，此時我在叫朋友B的時候，有時叫老半天朋友B才回神&lt;br /&gt;但這時候卻發現又變成朋友A不在了..八成又再看網頁.......然後我又要MSN再叫一次......&lt;br /&gt;阿不然就是有時房間要等很久才會滿人，當開始遊戲的時候我還要又再叫他們一次已經開始了........&lt;br /&gt;&lt;br /&gt;後來MOMO倒掉了，於是就改跳去之後慢慢崛起的小熊私服玩&lt;br /&gt;話說可能是小熊的私服線路關係吧？每次我開房玩完一場後都會跟小熊斷線&lt;br /&gt;所以每次玩完我都要重新連Battle.net，重登入小熊，好像只有開房的人才會這樣&lt;br /&gt;他們兩個玩結束之後照樣在頻道內等著，都沒斷線，所以他們在等我重新登入&lt;br /&gt;可是我發現...因為登入也需要10幾秒時間，變成我那兩個耐不住性子的朋友連10幾秒都等不住&lt;br /&gt;都跑去看網頁跟發呆？變成每次玩結束一場還要我再MSN叫他們一次...&lt;br /&gt;實在是有夠煩，而我卻都沒抱怨啥，心想說忍耐就過去了&lt;br /&gt;唉...難道就不能有耐心點等我嗎......&lt;br /&gt;&lt;br /&gt;之後我房間小搬家，房間就在朋友A隔壁，因此減少用MSN叫一個人的時間&lt;br /&gt;&lt;br /&gt;可能我很宅，比較常在玩三國，也比較會去學習並研究其他高手玩法吧，且做事也算是很有耐心&lt;br /&gt;所以在我們三人中，我自認為我比朋友A跟B還要會玩&lt;br /&gt;因此我在遊戲中我很少被認為是隊伍裡的老鼠屎，極少被隊友罵過&lt;br /&gt;反而是我那超沒耐心的朋友A，在遊戲進行中如果玩得太爛，一直死，他就給我掛往掛在那邊看網頁，做其他事&lt;br /&gt;動也不動的....而且這情況還蠻常發生的。因為錢是平均分配，所以一部分的錢都被他吸走，拖累我們隊伍&lt;br /&gt;有太多次明明不一定會輸的情況，被我那朋友A一掛網，就整個輸掉了......&lt;br /&gt;實在是很受不了&lt;br /&gt;&lt;br /&gt;人有失足馬有失蹄，我也不是場場都很強，當然也有少數幾次玩不好的時候&lt;br /&gt;但至少我都還堅持努力的玩下去，不想擺爛，就算我認為這場絕對必輸&lt;br /&gt;好死不死就有一次，我玩到很爛，完全玩不下去，都沒在配合&lt;br /&gt;就那一次我就掛網不想玩，然後跑去拿飲料喝，順便跟我爸媽哈啦一下下&lt;br /&gt;等我回到位子上的時候...我被隔壁的朋友A嗆了....&lt;br /&gt;朋友A大概嗆我說：「ㄟ，你在幹麼阿？到底要不要玩阿？不玩的話就開分享把裝備給我阿，在那邊掛網幹麼！」&lt;br /&gt;&lt;br /&gt;心裡OS：幹......你娘勒，你玩的時候經常發呆掛網看網頁，我都沒嗆過你，我就這麼一次掛網，就馬上靠背我？&lt;br /&gt;幹，真的超想跟他翻臉的，想說都這麼大了，翻臉的話也說不太過去，並不想為了區區一個遊戲跟他翻臉&lt;br /&gt;&lt;br /&gt;到前天還昨天，我在找他們兩個玩得時候，我就先去找朋友A，叫他來玩&lt;br /&gt;結果看他要玩不玩的樣子....&lt;br /&gt;我就頭一次很乾脆的且帶有開玩笑的語氣說：「要不要玩啦～你不完喔？好啦～算了，不找你了」&lt;br /&gt;結果他最後就說：「好啦好啦，來玩啦」&lt;br /&gt;然後朋友A就默默的上了遊戲頻道等&lt;br /&gt;當我在MSN叫朋友B的時候，我就說：「來三國阿～～～」&lt;br /&gt;朋友B：「...」&lt;br /&gt;然後我就癡癡的等...想說過這麼久怎都還沒上，MSN狀態也沒閒置或忙碌&lt;br /&gt;我就MSN狂call他，終於等到他回應了..&lt;br /&gt;他說：「等～我電腦在lag...」&lt;br /&gt;或許是當時我的忍耐上限到了極限吧...&lt;br /&gt;我就真的頭一次很不爽的小開炮：「幹～到底要不要玩阿？找你們兩個都要玩不玩的」&lt;br /&gt;朋友B就說：「那就別玩阿，玩屁阿」&lt;br /&gt;&lt;br /&gt;我聽完這句，我火大了，我也不想玩了....&lt;br /&gt;忍受了這麼多年，每次玩遊戲都還要等他們，一個準備好了，另一個也找來之後，發現另一個又不在了！&lt;br /&gt;阿不然就是有時房間要等很久才會滿人，當開始遊戲的時候我還要又再叫他們一次已經開始了...&lt;br /&gt;要不然就是每次重新開房間，或玩結束一場，我重新登入小熊，都還要再切視窗叫他們一次&lt;br /&gt;幹～！！煩不煩阿？？是不會耐心的等喔！？&lt;br /&gt;阿在不然就是有人經常在玩到一半就在那邊玩不下去，掛網看網頁或做別的事情&lt;br /&gt;明明會贏的搞到輸！&lt;br /&gt;沒有幾次兩個人是耐心等著我上線，等著我重新開房間，耐心玩到遊戲結束或其他玩家都跳光&lt;br /&gt;我決定了&lt;/span&gt;&lt;span class="fullpost"&gt;，想玩自己玩就好了&lt;/span&gt;&lt;span class="fullpost"&gt;，我再也不想主動找他們玩了，除非他們找我，且我剛好有空或有心情想玩，我才有可能去玩&lt;br /&gt;應該是我老了，我決定我不想花這種額外時間去找他們，等他們兩個都回神，叫他們遊戲已經開始或重開房間&lt;br /&gt;算了，看破了，我已經不想再花這麼多無意義的時間在這種事情上&lt;br /&gt;一切隨緣吧～～～～&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-2995710138452594030?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/2995710138452594030/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2010/05/blog-post.html#comment-form' title='3 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/2995710138452594030'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/2995710138452594030'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2010/05/blog-post.html' title='認了，我也累了'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-994484256869189089</id><published>2010-05-06T17:26:00.012+08:00</published><updated>2012-02-02T22:47:33.845+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C/C++：教學'/><category scheme='http://www.blogger.com/atom/ns#' term='Neil自製'/><title type='text'>猜數字遊戲 (幾A幾B) C語言短碼程式範例</title><content type='html'>&lt;img src="http://thumbsnap.com/i/7YL8gyHJ.png" style="height: 348px; width: 534px;" /&gt;&lt;br /&gt;相信應該大部分的人都玩過幾A幾B的遊戲&lt;br /&gt;話說我在國中、高中都有不少同學都會玩這遊戲&lt;br /&gt;可是我卻不會...也沒興趣去問...直到大一，老師出了一個幾A幾B的程式作業要我們寫&lt;br /&gt;我才知道遊戲怎玩...= =+&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;到現在大四了，就突然想到這個遊戲&lt;br /&gt;因為資工系也讀了快四年了，對程式概念與邏輯判斷都比大一清楚很多&lt;br /&gt;再加上因為有稍微看了《Short Coding》這本書&lt;br /&gt;所以突然想再重寫一次幾A幾B遊戲程式&lt;br /&gt;而且是盡可能用最短程式碼與最佳執行效率去寫&lt;br /&gt;於是這簡單的小程式竟然花了我一天多的時間才完成&lt;br /&gt;主要原因是在縮短程式碼與執行效率，所以才會寫了一天多的時間&lt;br /&gt;不然只單純完成這程式，其實10幾分鐘就寫出來了&lt;br /&gt;&lt;br /&gt;因為重點在寫出短碼、有效率、能正確執行的方向&lt;br /&gt;所以程式功能我沒去設計太複雜的東西跟錯誤的例外處理&lt;br /&gt;也就是假設使用者輸入時都會乖乖的輸入四位數字，不會亂輸入其他東西等等&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #006600;"&gt;純粹叫電腦產生四位不重複的數字（例如2178）&lt;br /&gt;讓玩家去猜出電腦所產生的數字而已&lt;br /&gt;然後限定只能猜10次，每猜一次皆會提示幾A幾B跟剩餘的次數&lt;br /&gt;只要猜對或猜超過次數，直接顯示「猜對了」或者「失敗」的訊息，不再顯示是幾A幾B&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;所以功能上算很單純，因此有興趣的人可以參考看看小弟寫出來的短碼版程式囉&lt;br /&gt;雖然說是短碼，不過應該還是有更精簡的空間吧...&lt;br /&gt;&lt;br /&gt;p.s初學程式的人看我的程式碼可能會有很多地方看不太懂，如有興趣，推薦各位看看《&lt;span style="color: #6600cc;"&gt;Short Coding&lt;/span&gt;》這本書，中文書名是「&lt;span style="color: #6600cc;"&gt;寫出簡捷好程式－短碼達人的心得技法&lt;/span&gt;」，這本比較建議有程式基礎的人看才看得懂唷，這本會讓你對程式技巧更提昇（前提當然是要有足夠的程式基礎）&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre class="brush: c;"&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;/*&lt;br /&gt;=== 猜數字遊戲 (幾A幾B) ===&lt;br /&gt;程式作者：Neil&lt;br /&gt;網誌：http://neilchennc.blogspot.com&lt;br /&gt;日期：2010.05.07&lt;br /&gt;*/&lt;br /&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;#include &amp;lt;time.h&amp;gt;&lt;br /&gt;&lt;br /&gt;int main(void)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;char cn[5]="",un[5]=""; //cn:電腦數字, un:玩家猜的數字&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;int i,j,na,nb,times=10;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;srand(time(NULL));&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;puts("===猜數字遊戲===\n程式作者:Neil\n網誌:http://neilchennc.blogspot.com \n\n請輸入四位數字:(例如2178)");&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;for(i=0;i&amp;lt;4&amp;amp;&amp;amp;(cn[i]=rand()%10+48);i++) //產生電腦數字&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;for(j=0;j&amp;lt;i;j++) cn[j]==cn[i]&amp;amp;&amp;amp;i--; //檢查重複&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;do{&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;na=nb=i=scanf("%4s",un)&amp;amp;0; fflush(stdin);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;for(;i&amp;lt;4;i++) for(j=0;j&amp;lt;4;j++) un[i]==cn[j]&amp;amp;&amp;amp;(i==j?na++:nb++); //計算幾A幾B&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;na-4&amp;amp;&amp;amp;--times&amp;amp;&amp;amp;printf("結果：%dA%dB，還有%d次機會...\n", na,nb,times);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}while(na-4&amp;amp;&amp;amp;times); //迴圈猜times次&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;na==4?puts("您猜對了！"):printf("失敗，猜超過10次，答案是%s\n",cn);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;return system("pause");&lt;br /&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="color: #ff9966;"&gt;程式碼與執行檔下載：&lt;/span&gt;&lt;a href="http://cid-87fb5e04653d7482.skydrive.live.com/self.aspx/Blogger%20%e7%a8%8b%e5%bc%8f%e8%bb%9f%e9%ab%94%e6%94%be%e7%bd%ae/AB%5E_Game%5E54%5E6%5E_Neil.rar" target="_blank"&gt;點我&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-994484256869189089?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/994484256869189089/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2010/05/ab-c.html#comment-form' title='9 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/994484256869189089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/994484256869189089'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2010/05/ab-c.html' title='猜數字遊戲 (幾A幾B) C語言短碼程式範例'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-2850047294047851263</id><published>2010-04-10T18:08:00.010+08:00</published><updated>2012-02-02T22:47:55.360+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Neil自製'/><title type='text'>視窗自訂程式 - Window Customizer</title><content type='html'>【軟體名稱】：視窗自訂程式 (Window Customizer)&lt;br /&gt;【軟體性質】：免費軟體&lt;br /&gt;【軟體語言】：繁體中文&lt;br /&gt;【軟體版本】：v2.0 (2010/04/12)&lt;br /&gt;&lt;br /&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_h6JuD6TTUD0/S8Lt5ZpMTbI/AAAAAAAAAXM/AYVLQ0rfHYk/s400/S.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #996633;"&gt;功能簡述：&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;可以設定視窗標題、位置及大小，或是隱藏視窗，顯示視窗等。&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;　　某些遊戲或其他程式，視窗大小都是不能調整，且沒有可以調整的選項時，可以試試看小弟寫的視窗自訂程式吧～功能主要在視窗的程式，&lt;span style="font-weight: bold;"&gt;如果是全螢幕視窗，只有調整視窗大小是不能用的&lt;/span&gt;。當你選擇了你要的視窗如果屬性有負值（常看到座標Ｘ及Y為-32000），建議把視窗叫出來（或按顯示視窗按鈕），再點一次左邊的視窗列表，應該就正常了。&lt;br /&gt;&lt;br /&gt;　　&lt;strike&gt;還有一個小Bug，就是如果標題不是繁體中文或英文，可能沒辦法起作用...後來才發現的，那是因為我當時沒注意這點，沒用「寬字元(wide character)」去寫，而是用ANSI，所以...等我心血來潮再去改吧...&lt;/strike&gt; (已經修改了)&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #cc6600; font-weight: bold;"&gt;載點：&lt;a href="http://cid-87fb5e04653d7482.skydrive.live.com/self.aspx/Blogger%20%e7%a8%8b%e5%bc%8f%e8%bb%9f%e9%ab%94%e6%94%be%e7%bd%ae/Window%20Customizer.exe"&gt;點我進入下載頁面&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-2850047294047851263?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/2850047294047851263/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2010/04/window-customizer.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/2850047294047851263'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/2850047294047851263'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2010/04/window-customizer.html' title='視窗自訂程式 - Window Customizer'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_h6JuD6TTUD0/S8Lt5ZpMTbI/AAAAAAAAAXM/AYVLQ0rfHYk/s72-c/S.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-6315193928943026141</id><published>2010-04-06T12:24:00.019+08:00</published><updated>2012-02-02T22:48:15.421+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Neil自製'/><category scheme='http://www.blogger.com/atom/ns#' term='電腦軟體推薦'/><title type='text'>記事列表 - NoteList</title><content type='html'>【軟體名稱】：記事列表 - NoteList&lt;br /&gt;【軟體性質】：免費軟體&lt;br /&gt;【軟體語言】：繁體中文&lt;br /&gt;【軟體版本】：v1.1 (2010/04/06)&lt;br /&gt;&lt;br /&gt;&lt;object height="445" width="560"&gt;&lt;param name="movie" value="http://www.youtube.com/v/iK8Xjlp87m4&amp;amp;hl=zh_TW&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/iK8Xjlp87m4&amp;amp;hl=zh_TW&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="445" width="560"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;在目前讀大學的我，已經沒有什麼聯絡簿這東西了&lt;br /&gt;教授講什麼重要事情，或作業，都自己要記下來&lt;br /&gt;通常我也都用一本冊子記下來。&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;但身為資工系又愛玩電腦的我...&lt;br /&gt;回到家之後&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span class="fullpost"&gt;&lt;span style="font-size: 180%;"&gt;還蠻懶得在從包包拿出本子來看.........&lt;br /&gt;&lt;span style="font-size: 50%;"&gt;　&lt;/span&gt;&lt;br /&gt;　　還蠻懶得在從包包拿出本子來看.........&lt;br /&gt;&lt;span style="font-size: 50%;"&gt;　&lt;/span&gt;&lt;br /&gt;　　　　還蠻懶得在從包包拿出本子來看.........&lt;br /&gt;&lt;span style="font-size: 50%;"&gt;　&lt;/span&gt;&lt;br /&gt;　　　　　　還蠻懶得在從包包拿出本子來看........&lt;br /&gt;&lt;span style="font-size: 50%;"&gt;　&lt;/span&gt;&lt;br /&gt;　　　　　　　　　　　　................&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;不過這不是主要原因啦= =&lt;br /&gt;&lt;br /&gt;主要是用手寫記東西，看了一下紀錄要繳交作業或報告時間&lt;br /&gt;或是比如日常生活裡，哪天要驗車、繳牌照稅、電費、水費、約會、出國日期、meeting等等&lt;br /&gt;說實在的，還要想一下&lt;span style="color: red;"&gt;還剩幾天&lt;/span&gt;就要到了&lt;br /&gt;甚至還要想一下&lt;span style="color: red;"&gt;今天是幾號，禮拜幾&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;我知道網路裡有一大堆月曆程式，做得又漂亮又好&lt;br /&gt;絕對比小弟我寫的程式好...(囧)，功能又多又複雜&lt;br /&gt;但是....他們的紀錄似乎都是用月曆來標示&lt;br /&gt;然後要看的話還要點其中一天，才看得到那邊該做什麼&lt;br /&gt;沒有列出條列式的方式來呈現，我個人覺得這樣好麻煩...&lt;br /&gt;而且不容易「一目了然」我還有什麼事情還沒做，哪些事情剩幾天&lt;br /&gt;&lt;br /&gt;所以～由於（魷魚？）這個原因，小弟就突發奇想，乾脆自己寫支小程式&lt;br /&gt;因此這程式就這樣誕生出來啦～～&lt;br /&gt;這樣幫助日常生活中一些重要的事情&lt;br /&gt;例如哪天要驗車、繳牌照稅、電費、水費、約會、作業、報告、出國日期等等&lt;br /&gt;這樣條列式方式應該會比較清楚才對&lt;br /&gt;&lt;br /&gt;最上面的影片是介紹程式的功能(錄了好幾次...)&lt;br /&gt;寫不好請別見外XD&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #996633; font-weight: bold;"&gt;&lt;span style="color: #009900;"&gt;載點：&lt;/span&gt;&lt;a href="http://cid-87fb5e04653d7482.skydrive.live.com/self.aspx/Blogger%20%e7%a8%8b%e5%bc%8f%e8%bb%9f%e9%ab%94%e6%94%be%e7%bd%ae/NoteList.exe" target="_blank"&gt;點我進入下載頁面&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-6315193928943026141?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/6315193928943026141/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2010/04/notelist.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/6315193928943026141'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/6315193928943026141'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2010/04/notelist.html' title='記事列表 - NoteList'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-6304220319820425213</id><published>2010-03-17T11:08:00.009+08:00</published><updated>2012-02-02T22:48:30.532+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Neil自製'/><category scheme='http://www.blogger.com/atom/ns#' term='電腦軟體推薦'/><title type='text'>使 WMP ( Windows Media Player ) 能用空白鍵暫停或繼續播放</title><content type='html'>【軟體名稱】：WMP SPACE&lt;br /&gt;【軟體性質】：免費軟體&lt;br /&gt;【軟體語言】：繁體中文&lt;br /&gt;【軟體版本】：v1.0&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_h6JuD6TTUD0/S6BKX2uSBgI/AAAAAAAAAVk/V1MZ4u9Gfzk/s1600-h/PNG.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5449437322805380610" src="http://4.bp.blogspot.com/_h6JuD6TTUD0/S6BKX2uSBgI/AAAAAAAAAVk/V1MZ4u9Gfzk/s200/PNG.png" style="cursor: pointer; height: 99px; width: 99px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;功能：使 WMP ( Windows Media Player ) 能用空白鍵暫停或繼續播放。或者說讓WMP用空白鍵時作Ctrl+P快捷鍵。&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;執行：下載後直接執行程式，如果右下角出現圖示，那就表示可以用啦&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;在XP底下我都用K-Lite播放軟體來看影片，因為K-Lite支援幾乎所有格式影片，且更新速度快，加上簡潔的介面...&lt;br /&gt;&lt;br /&gt;我好像扯遠了...反正我在XP底下都K-Lite播放軟體，它能用空白鍵來暫停影片，我也用得很習慣了。當我開始在玩Windows 7之後，我發現Windows Media Player 12的介面蠻不錯的，且安裝shark007 codec之後，可以讓Windows Media Player 12播放幾乎所有格式的影片，所以現在看片都用Windows Media Player 12。可是發現Windows Media Player要按 Ctrl+P 快捷鍵才能開始跟暫停，雖然說....滑鼠去點一下，按Ctrl+P，乍看也沒有多麻煩，可是已經習慣按空白鍵的我...用起來真的很不順手...&lt;br /&gt;&lt;br /&gt;不過話說我寫好程式，正在PO網誌的同時，越來越感覺好像是個大題小做的無聊程式...哈哈...想說算了，寫都寫了，乾脆就把它弄好吧...&lt;br /&gt;&lt;br /&gt;&lt;span style="color: red; font-weight: bold;"&gt;載點：&lt;a href="http://cid-87fb5e04653d7482.skydrive.live.com/self.aspx/Blogger%20%E7%A8%8B%E5%BC%8F%E8%BB%9F%E9%AB%94%E6%94%BE%E7%BD%AE/WMP%20SPACE.exe"&gt;點我進入下載頁面&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-6304220319820425213?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/6304220319820425213/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2010/03/wmp-windows-media-player.html#comment-form' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/6304220319820425213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/6304220319820425213'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2010/03/wmp-windows-media-player.html' title='使 WMP ( Windows Media Player ) 能用空白鍵暫停或繼續播放'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_h6JuD6TTUD0/S6BKX2uSBgI/AAAAAAAAAVk/V1MZ4u9Gfzk/s72-c/PNG.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-2123049763744313942</id><published>2010-01-20T18:19:00.007+08:00</published><updated>2012-02-02T22:48:50.645+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='未分類'/><title type='text'>第60回 NHK 紅白歌合戰 ( 2009 12 31 ) 清晰影片BT+字幕檔</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_h6JuD6TTUD0/S1bjkjTM4WI/AAAAAAAAAVU/ILblMzNGFp8/s1600-h/60NHK.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5428776617932284258" src="http://3.bp.blogspot.com/_h6JuD6TTUD0/S1bjkjTM4WI/AAAAAAAAAVU/ILblMzNGFp8/s320/60NHK.jpg" style="cursor: pointer; height: 203px; width: 361px;" /&gt;&lt;/a&gt;&lt;br /&gt;一年一度的日本精彩歌唱大賽&lt;br /&gt;雖然標題寫著清晰畫面...&lt;br /&gt;不過我仔細去看似乎沒說高畫質&lt;br /&gt;但也不是像那種「翻拍」或「偷拍」那種模糊畫質&lt;br /&gt;所以我覺得畫質還算OK～&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span class="fullpost"&gt;至於字幕檔...&lt;br /&gt;我剛開始去找紅白歌合戰影片時&lt;br /&gt;google找到一個BT，單一個avi檔，3.08GB&lt;br /&gt;下載完發現都沒字幕，只有在唱歌時會有日文字&lt;br /&gt;所以我又再去google找字幕檔(.srt)&lt;br /&gt;後來找到&lt;a href="http://www.hd.club.tw/index.php" target="_blank"&gt;精研事務所論壇&lt;/a&gt;的&lt;a href="http://www.hd.club.tw/thread-34112-1-1.html" target="_blank"&gt;這篇文章&lt;/a&gt;&lt;br /&gt;這文章裡有幾位大大辛苦去自行翻譯&lt;br /&gt;弄出上半場與下半場兩個字幕檔&lt;br /&gt;我當時想說...怎會分上下的字幕檔...&lt;br /&gt;我影片只有一個單檔阿...&lt;br /&gt;如果要合併蠻點花時間，有點麻煩&lt;br /&gt;因為要把下半場的時間軸都必須重新調整，才能跟上半場字幕檔合起來&lt;br /&gt;所以我再去google找看看有沒有單一的字幕檔&lt;br /&gt;結果似乎都沒有........&lt;br /&gt;於是只好發揮我的能力...寫支程式去把兩個字幕檔合併&lt;br /&gt;所以啦～下面的字幕檔下載是我合併過的&lt;br /&gt;我試看的結果是沒太大的問題啦...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;影片BT：&lt;/span&gt;&lt;a href="http://cid-87fb5e04653d7482.skydrive.live.com/self.aspx/%e5%85%ac%e9%96%8b/NHK%e7%ac%ac60%e5%b1%86%e7%b4%85%e7%99%bd%e6%ad%8c%e5%90%88%e6%88%b0.torrent" target="_blank"&gt;點我&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;字幕檔：&lt;/span&gt;&lt;a href="http://cid-87fb5e04653d7482.skydrive.live.com/self.aspx/%e5%85%ac%e9%96%8b/NHK%e7%b4%85%e7%99%bd%e6%ad%8c%e5%90%88%e6%88%a62009%20%5E52009.12.31%5E6.srt" target="_blank"&gt;點我&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;記得影片檔跟字幕檔要放在圖一目錄，且檔名必須一樣喔&lt;br /&gt;這樣在開啟影片時才會把字幕檔載入進去&lt;br /&gt;例如影片檔叫「第60回紅白.avi」&lt;br /&gt;那字幕檔必須取名「第60回紅白.srt」&lt;br /&gt;&lt;br /&gt;Enjoy~&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-2123049763744313942?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/2123049763744313942/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2010/01/60-nhk-2009-12-31-bt.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/2123049763744313942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/2123049763744313942'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2010/01/60-nhk-2009-12-31-bt.html' title='第60回 NHK 紅白歌合戰 ( 2009 12 31 ) 清晰影片BT+字幕檔'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_h6JuD6TTUD0/S1bjkjTM4WI/AAAAAAAAAVU/ILblMzNGFp8/s72-c/60NHK.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-2795106179626396729</id><published>2010-01-15T10:21:00.009+08:00</published><updated>2012-02-02T22:49:07.194+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='有趣搞笑文'/><title type='text'>第一人稱俄羅斯方塊！</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_h6JuD6TTUD0/S0_RR8ouQWI/AAAAAAAAAVE/4vsIC4BJZ6c/s1600-h/%E7%BF%BB%E6%A1%8C%E4%BF%84%E7%BE%85%E6%96%AF%E6%96%B9%E5%A1%8A.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5426786182269649250" src="http://3.bp.blogspot.com/_h6JuD6TTUD0/S0_RR8ouQWI/AAAAAAAAAVE/4vsIC4BJZ6c/s320/%E7%BF%BB%E6%A1%8C%E4%BF%84%E7%BE%85%E6%96%AF%E6%96%B9%E5%A1%8A.jpg" style="cursor: pointer; height: 246px; width: 286px;" /&gt;&lt;/a&gt;&lt;br /&gt;現在這種時代真的很講求「點子」跟「創意」&lt;br /&gt;很多時候就算技術再怎好，也可能比不過點子跟創意的力量&lt;br /&gt;例如我現在這篇俄羅斯方塊&lt;br /&gt;玩法都一樣～只是操作方式改變一下而已&lt;br /&gt;就創造出新奇有趣的玩法了！&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span class="fullpost"&gt;&lt;a href="http://2.bp.blogspot.com/_h6JuD6TTUD0/S0_VE3MViiI/AAAAAAAAAVM/BoYlbLA6E2M/s1600-h/%E7%BF%BB%E6%A1%8C%E4%BF%84%E7%BE%85%E6%96%AF%E6%96%B9%E5%A1%8A-%E6%93%8D%E4%BD%9C%E8%AA%AA%E6%98%8E.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5426790355516623394" src="http://2.bp.blogspot.com/_h6JuD6TTUD0/S0_VE3MViiI/AAAAAAAAAVM/BoYlbLA6E2M/s320/%E7%BF%BB%E6%A1%8C%E4%BF%84%E7%BE%85%E6%96%AF%E6%96%B9%E5%A1%8A-%E6%93%8D%E4%BD%9C%E8%AA%AA%E6%98%8E.jpg" style="cursor: pointer; height: 225px; width: 300px;" /&gt;&lt;/a&gt;&lt;br /&gt;操作說明：&lt;br /&gt;1. 鍵盤上、下、左、右控制方向&lt;br /&gt;2. 空白鍵旋轉&lt;br /&gt;3. Enter掉落&lt;br /&gt;4. Esc暫停或設定&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 130%;"&gt;→&lt;a href="http://www.firstpersontetris.com/" target="_blank"&gt;點我開始玩&lt;/a&gt;←&lt;/span&gt;&lt;br /&gt;小心玩久頭暈＠＠&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-2795106179626396729?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/2795106179626396729/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2010/01/blog-post_15.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/2795106179626396729'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/2795106179626396729'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2010/01/blog-post_15.html' title='第一人稱俄羅斯方塊！'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_h6JuD6TTUD0/S0_RR8ouQWI/AAAAAAAAAVE/4vsIC4BJZ6c/s72-c/%E7%BF%BB%E6%A1%8C%E4%BF%84%E7%BE%85%E6%96%AF%E6%96%B9%E5%A1%8A.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-1341953887285381943</id><published>2010-01-14T16:19:00.004+08:00</published><updated>2012-02-02T22:49:18.871+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C/C++：教學'/><category scheme='http://www.blogger.com/atom/ns#' term='未分類'/><title type='text'>好書推推～「Short Coding」！</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_h6JuD6TTUD0/S07UUFH5lHI/AAAAAAAAAU8/wn-2tCPjTuw/s1600-h/short+coding.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5426508042465809522" src="http://2.bp.blogspot.com/_h6JuD6TTUD0/S07UUFH5lHI/AAAAAAAAAU8/wn-2tCPjTuw/s320/short+coding.jpg" style="cursor: pointer; height: 292px; width: 217px;" /&gt;&lt;/a&gt;&lt;br /&gt;哈～說來蠻神奇的...我這宅男會主動去看課外書？&lt;br /&gt;恩...就因為放寒假阿～空閒空很大&lt;br /&gt;為了不要浪費掉寒假的寶貴時間&lt;br /&gt;於是就在放寒假之前去學校圖書館借了這本來看...&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span class="fullpost"&gt;話說我看完前面的暖身的第一章...&lt;br /&gt;真的覺得這作者實在了不起...原來程式碼能縮短成這樣...&lt;br /&gt;運用了各種方法跟技巧，加上數學計算上的簡化&lt;br /&gt;簡直就全方位去縮短程式碼，而且執行效率也很好&lt;br /&gt;有興趣想看這本書的話，我是覺得至少要有寫過程式的底子去看比較好&lt;br /&gt;不然有些他講解的原理可能很難理解&lt;br /&gt;&lt;br /&gt;來試試看一個簡單題目好了：&lt;br /&gt;「&lt;span style="font-style: italic;"&gt;寫一支程式，能夠不斷輸入一個整數值，要能累加，每次輸入完一個整數就顯示目前累加的總和，直到輸入數字0程式停止。&lt;/span&gt;」&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;這題目不是書上的例子喔～是我自己想的&lt;/u&gt;&lt;/b&gt;，如果各位們用C語言寫的話您會怎寫呢？&lt;br /&gt;&lt;br /&gt;就比較一般的寫法，如果我沒看那本書的話，我應該會寫成這樣：&lt;br /&gt;&lt;code&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;&lt;br /&gt;void main()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int i,t=0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; do{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; scanf("%d",&amp;amp;i);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; t += i;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; printf("total=%d\n",t);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }while(i!=0);&lt;br /&gt;}&lt;/code&gt;&lt;br /&gt;我看了那本書的第一章暖身的部份，啟發我不少想法，我可以寫成以下這樣：&lt;br /&gt;&lt;code&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;&lt;br /&gt;void main()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int i,t=0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(;scanf("%d",&amp;amp;i),i; printf("total = %d\n",t))&amp;nbsp;&amp;nbsp;&amp;nbsp; t+=i;&lt;br /&gt;}&lt;/code&gt;&lt;br /&gt;夠短了吧？？我用Visual C++ 2008跑過上面兩個程式碼，輸出畫面一模一樣&lt;br /&gt;因為這不是書上看到的題目，所我不知道還能不能再短&lt;br /&gt;當然～舉這例子是很簡單的，書裡面有更多題目更複雜的例子跟超短解法&lt;br /&gt;只能說～作者實在太屌啦～～！！&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-1341953887285381943?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/1341953887285381943/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2010/01/short-coding.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/1341953887285381943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/1341953887285381943'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2010/01/short-coding.html' title='好書推推～「Short Coding」！'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_h6JuD6TTUD0/S07UUFH5lHI/AAAAAAAAAU8/wn-2tCPjTuw/s72-c/short+coding.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-3097468370832045885</id><published>2010-01-11T23:17:00.007+08:00</published><updated>2012-02-02T22:49:40.211+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C/C++：教學'/><title type='text'>如何學好「寫程式」？</title><content type='html'>這篇是我閒暇時間google看到的一篇文章&lt;br /&gt;我覺得寫得蠻好的，對於有寫過程式的看了這篇文章或許會有點感覺跟方向吧～～&lt;br /&gt;以下這篇文章來自→&lt;a href="http://columns.chicken-house.net/post/GoodProgrammer1.aspx" target="_blank"&gt;這裡&lt;/a&gt;←&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #ff6600;"&gt;------------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;其實在這之前，一直有人問我這類問題，我的回答總是一樣：「要從基本功做起。」只不過大部份人都會皺皺眉頭，想說 「為什麼沒有速成一點的方法?」  &lt;br /&gt;&lt;span class="fullpost"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;先撇開軟體開發一定要有其它領域的 domain know-how 之類的東西，我就針對到底有沒有辦法把 CODE 寫好這件事來討論。如果真的存在速成的方法，那滿街就都是高手強者了。技術及工具的進步，&lt;strong&gt;&lt;em&gt;&lt;span style="color: green;"&gt;是簡化你操作工具及開發過程的細節，但是其中累積的知識及理論，只會越來越多&lt;/span&gt;&lt;/em&gt;。&lt;/strong&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt; &lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;現在要寫程式所必須俱備的技術門檻越來越低，但是要能專精所必要的知識及經驗則是越來越高。我常在想，我是一路學習摸索上來的，大學四年唸了電機學到了硬 體的底子，大三大四本來想修資工當輔系，後來直接去考資工所... 這三四年下來也有點資訊的底子，這些知識讓我到現在都還不用辛苦的去 「追」 技術，我只要看看 overview，大概就能掌握這些技術能解決什麼問題，不能解決什麼問題等等。真正需要用的時後，文件翻一翻就能找到我要的段落，就能夠上手了。 &lt;br /&gt; 不過現在的年輕人就沒那麼好運了，要從 CPU 是怎麼設計，怎麼執行指令，到瀏覽器為什麼點下網址就能看到網頁，這一連串的細節，大概現在的大學畢業生都回答不出來吧? 現在隨便買本書翻一翻，就能寫出一個漂亮的網站，誰還願意去唸那些基本功? 也因為這樣現在的人都少了那份 「內功」，只剩漂亮的招式，出招很勵害，不過打沒兩下就後繼無力，或是對手出了沒看過的招，就不知怎麼接下去了。 &lt;br /&gt; 如果你真的有心把底子練好，我是有幾個建議的方向，雖然看起來沒什麼用，但是看熟了你一定會發現，你寫什麼程式都逃不了這幾個基礎知識。  &lt;br /&gt; &lt;ol&gt;&lt;li&gt;最基本的: &lt;strong&gt;&lt;span style="color: green;"&gt;計算機概論 &amp;amp; 資料結構&lt;/span&gt;&lt;/strong&gt;這些有助於你用正確的邏輯寫程式。要成為一個合格的 programmer 一定要有這樣的能力。&lt;/li&gt;&lt;li&gt;進階一點的系統層面，&lt;strong&gt;&lt;span style="color: green;"&gt;作業系統 &amp;amp; 系統程式&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;這些有助於你瞭解系統層面如何運作，如果你開發的系統需要些基礎建設，像是元件等等，這些知識很有用。成為 software engineer 就應該要有這些基礎。&lt;/li&gt;&lt;li&gt;再來就專精一點了，我推薦 &lt;strong&gt;&lt;span style="color: green;"&gt;OOP 理論 / Design Patterns、或是軟體工程的方法論 ( XP, TDD ... 等 )&lt;/span&gt;&lt;/strong&gt;。&lt;br /&gt;這個層次的知識能幫助你設計正確的架構，或是用正確的方式開發軟體，是成為 ARCHITECTOR 的必要技能。&lt;/li&gt;&lt;/ol&gt;每一項都代表一個階段。上禮拜跟同事討論的，其實只有討論到 (1) 的部份。如果工程師都 「&lt;strong&gt;&lt;span style="color: red;"&gt;會&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-weight: bold;"&gt;」&lt;/span&gt; 寫程式，但是用的邏輯看起來都 &lt;span style="font-weight: bold;"&gt;「&lt;/span&gt;&lt;strong&gt;&lt;span style="color: red;"&gt;怪怪的&lt;/span&gt;&lt;/strong&gt;」，那就是要加強 (1) 的部份了。我簡單的舉個例子，資料結構在學什麼? 跟實際寫程式能有什麼關聯?  &lt;br /&gt; 想到資料結構，不外忽一堆排序 (SORT) 的演算法，或是各種 TREE / LIST 等怎麼 「放」 資料，及怎麼 「找」 資料的問題，如 LINKED LIST，HASH TABLE，BINARY TREE，HEAP，STACK 等等。再來就是什麼問題可以用什麼資料結構來處理? 像是走迷宮要靠 STACK，各種資料結構的特性為何? 它們的時間複雜度 (Time Complexity) 為何? 什麼時後該用那一種? &lt;br /&gt; 這些是很基礎的問題，不過你如果不是科班的，只是翻翻書就會寫程式的，那這些問題應該都回答不出來吧? 針對這部份，我強烈建議要學的人一定要先搞懂這些 「邏輯」。我不稱為理論，是因為他們還太淺，只是個作法而以。搞懂這些邏輯，你至少要有能力把程式寫出來。  &lt;br /&gt; 因此第一課很簡單，挑幾種 SORT 的方式，比如 Bubble Sort, Quick Sort 等等，不用多，兩三個就好，步驟搞清楚了，還能用你熟悉的程式寫出來 ( 如: C# / JavaScript，當然你不能作弊用現成的 SORT 函式庫 )，你就過關了。 &lt;br /&gt; 再來就是搞懂各種資料結構，我舉幾個 .NET 內建的，卻又常讓人搞混的幾個 Collection。List / LinkedList 用的方式都一樣，那麼兩者到底有什麼不一樣? 只塞一百筆，找出一筆要 10 ms 的話，塞一萬筆找出一筆要花多少時間? 是 100 倍嗎? 還是 10 倍? 還是都一樣?? 是 Microsoft 工程師太無聊，故意寫來讓你傷惱筋的嗎? &lt;br /&gt; 如果這部份你也搞懂了，接下來就是應用了。就拿導航系統來說就好，地圖要用什麼方式存才好? 使用者選定起點及終點，你該怎麼幫它找出最佳的路逕? 不管畫面等等問題，你有辦法寫出程式找到答案嗎? 這就是典型的資料結構的應用。你沒學好資料結構的話，看再多 C# / ASP.NET 的書，一點用都沒有啦，碰到這類問題，管你用 VB / C++ / C# 還是  Java, 只能坐在螢幕前發呆而以。 &lt;br /&gt;  總結一下，你符合我講的 (1) 基本要求嗎? 很簡單，這些問題或程式你都寫的出來就符合了:  &lt;br /&gt; &lt;ul&gt;&lt;li&gt;丟一付洗過的撲客排給你 (不要多，黑桃1 ~ 13就好)，你知道怎麼用 Bubble Sort / Quick Sort 的步驟把它排好嗎? 丟一個陣列，裡面隨便打幾個數字，你能寫程式把它由小到大排好印出來嗎?&lt;/li&gt;&lt;li&gt;假設記憶體夠大的話，你有辦法把一百萬筆通訊錄資料讀到記憶體內 (用什麼物件都隨你)，然後還能用很快的速度找到你要的資料嗎? 不同的搜尋方式，你知道該用什麼樣的方式找才有效率嗎?&lt;/li&gt;&lt;li&gt;以台灣高速公路為題 (中山高、北二高、國道二號)，你有辦法寫程式，讓使用者指定起點跟終點的交流道，然後替它找出建議的路線嗎? (把延路經過的交流到跟收費站列出來就好)&lt;/li&gt;&lt;/ul&gt;看起來就像是作業，沒錯。不過它是很實際的基本功夫，如果寫不出來，那就真的該好好唸個書了。其實這些問題，都跟熱門的技術 (如 DB / WEB / RIA 等等) 無關，就很單純的看你的邏輯能力而以。這個主題我會繼續寫下去，大概一兩個禮拜一篇吧。我的目的是希望大家底子打好再來學這些熱門技術，這樣你才有辦法更 進一階，否則就只能隨著技術規格推陳出新，不斷的在追新技術而以。&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #ff9900;"&gt;------------------------------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-3097468370832045885?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/3097468370832045885/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2010/01/blog-post_11.html#comment-form' title='11 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/3097468370832045885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/3097468370832045885'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2010/01/blog-post_11.html' title='如何學好「寫程式」？'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-3007655857873776553</id><published>2010-01-10T16:10:00.002+08:00</published><updated>2012-02-02T22:50:05.158+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='有趣搞笑文'/><title type='text'>還蠻有趣的小題目</title><content type='html'>1個糖果1塊錢&lt;br /&gt;每個糖果都有1個包裝紙&lt;br /&gt;3個糖果包裝紙可以換1個糖果&lt;br /&gt;&lt;br /&gt;請問：&lt;br /&gt;15塊錢可以吃幾個糖果?&lt;br /&gt;&lt;br /&gt;答案1:  15個&lt;br /&gt;答案2:  20個&lt;br /&gt;答案3:  21個&lt;br /&gt;答案4:  22個&lt;br /&gt;答案5:  23個&lt;br /&gt;答案6:  0個&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;====== 宣佈答案囉 ========&lt;br /&gt;&lt;br /&gt;選1的人 , IQ 80~90&lt;br /&gt;選2的人 , IQ 90~100&lt;br /&gt;選3的人 , IQ 100~110 , 及格了,但不是正確答案&lt;br /&gt;選4的人 , IQ 120以上 , 賓果 , 你好利害&lt;br /&gt;選5跟6的人 , 你要重新檢討囉&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-3007655857873776553?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/3007655857873776553/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2010/01/blog-post.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/3007655857873776553'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/3007655857873776553'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2010/01/blog-post.html' title='還蠻有趣的小題目'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-6608252016382785625</id><published>2009-12-14T20:58:00.005+08:00</published><updated>2012-02-02T22:50:15.789+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='電腦網路新資訊'/><title type='text'>Windows 8 已有風聲洩漏...</title><content type='html'>以下內文從&lt;a href="http://blog.yam.com/art2010/article/21034537"&gt;築．夢．宴&lt;/a&gt;轉貼&lt;br /&gt;&lt;br /&gt;Windows 7是將來的作業系統Windows 8是取代Windows 7作業系統(未來)&lt;br /&gt;&lt;br /&gt;據國外媒體報導，儘管下一代Windows系統正處於開發的關鍵階段，但這並不意味著微軟會把精力全部用於Windows 7上。事實上，Windows 8和Windows 7一道，也正在微軟的籌備中，而且微軟在2009年5月中已經確認了這點。&lt;br /&gt;&lt;br /&gt;2009年5月中，微軟曾透露，Windows 8將會徹底改變文件的訪問機制。但這並不是Windows 8的唯一焦點，微軟官方已經確認，微軟正計劃為Windows 7的繼任者Windows 8開發下一代文件服務器。&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;目前，微軟還沒有提供第一個也是唯一一個Windows 7 RC版的下載。事實上，微軟計劃在2009年5月5日公開發布Windows 7 RC版。不過，一些MSDN和TechNet訂閱用戶則可以在這個時間前下載到Windows 7 RC版，但微軟並沒有透露發布的確切日期。儘管如此，這並不表示微軟沒有計劃開發Windows 8。&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span class="fullpost"&gt;事實上,早在去年8月份,就有消息披露,微軟方面已經在規劃Windows7的下一代操作系統Windows8,雖然微軟官方並沒有披露Windows8的具體發佈時間,但微軟的研發團隊卻已開始為Windows8進行招兵買馬。&lt;br /&gt;&lt;br /&gt;不管期間所開發的某款產品在市面上的接受程度是不盡如人意還是超乎預期,每隔一段時間,微軟都會對操作系統進行改革和升級。因此,即便沒有 Windows8,也會有另外一個後續版本出現。從這個角度來看,既然Windows7已準備進入RC(候選版本)階段了,那麼,距離下下一代操作系統的公佈應該也不會太遠了。&lt;br /&gt;&lt;br /&gt;來看看預覽概念影片吧～&lt;br /&gt;Windows 8 Concept&lt;br /&gt;&lt;object height="340" width="560"&gt;&lt;param name="movie" value="http://www.youtube.com/v/G0r6tINInrw&amp;amp;hl=zh_TW&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/G0r6tINInrw&amp;amp;hl=zh_TW&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-6608252016382785625?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/6608252016382785625/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2009/12/windows-8.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/6608252016382785625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/6608252016382785625'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2009/12/windows-8.html' title='Windows 8 已有風聲洩漏...'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-7365058633299580499</id><published>2009-10-11T20:26:00.002+08:00</published><updated>2009-10-11T20:29:21.302+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='有趣搞笑文'/><title type='text'>超有創意的樓梯</title><content type='html'>我真的很佩服想出這點子的人...&lt;br /&gt;實在太強了啦～～讓人多走樓梯，多運動&lt;br /&gt;不過不知道會不會很容易壞？&lt;br /&gt;&lt;br /&gt;&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/ivg56TX9kWI&amp;hl=zh_TW&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/ivg56TX9kWI&amp;hl=zh_TW&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-7365058633299580499?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/7365058633299580499/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2009/10/blog-post.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/7365058633299580499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/7365058633299580499'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2009/10/blog-post.html' title='超有創意的樓梯'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-409806619899080276</id><published>2009-10-01T17:11:00.004+08:00</published><updated>2012-02-02T22:50:40.382+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='電腦軟體推薦'/><title type='text'>SpeedyFox - 讓你的firefox執行速度更快更順暢</title><content type='html'>【軟體名稱】：SpeedyFox&lt;br /&gt;【軟體性質】：免費&lt;br /&gt;【軟體語言】：英文&lt;br /&gt;【軟體類型】：軟體優化&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_h6JuD6TTUD0/SsR0vh682jI/AAAAAAAAAUs/NGa2jLgTg6k/s1600-h/speedyfox.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5387559414150257202" src="http://1.bp.blogspot.com/_h6JuD6TTUD0/SsR0vh682jI/AAAAAAAAAUs/NGa2jLgTg6k/s400/speedyfox.jpg" style="cursor: pointer; height: 244px; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Mozilla Firefox 是一套速度很快的瀏覽器，但往往在使用了一段時間後，會發現怎麼執行速度變得非常慢。原因在於 Firefox 的 profile 資料庫經過長時間使用而產生了相當多的碎片，不但容量變大、也要花更多時間讀取。SpeedyFox 就是為此而生的免費工具，無須安裝，檔案僅有300多kb，下載後執行就能解決這個問題。&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span class="fullpost"&gt;&lt;span style="font-weight: bold;"&gt;SpeedyFox 官方列出的特色如下：&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;* 啟動 Firefox 的速度提升三倍以上！&lt;br /&gt;* 加速瀏覽歷史（browsing history）&lt;br /&gt;* 讓cookies操作更快速&lt;br /&gt;&lt;br /&gt;SpeedyFox 所使用的方法絕對100%安全，&lt;span style="color: blue;"&gt;不會影響到使用者的書籤、密碼等等&lt;/span&gt;，且它已在許多電腦上做過測試。&lt;br /&gt;&lt;br /&gt;官方網站：&lt;a href="http://www.crystalidea.com/speedyfox"&gt;http://www.crystalidea.com/speedyfox&lt;/a&gt;&lt;br /&gt;官方下載頁面：&lt;a href="http://www.crystalidea.com/speedyfox"&gt;http://www.crystalidea.com/speedyfox&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-409806619899080276?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/409806619899080276/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2009/10/speedyfox-firefox.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/409806619899080276'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/409806619899080276'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2009/10/speedyfox-firefox.html' title='SpeedyFox - 讓你的firefox執行速度更快更順暢'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_h6JuD6TTUD0/SsR0vh682jI/AAAAAAAAAUs/NGa2jLgTg6k/s72-c/speedyfox.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-3874729693292116070</id><published>2009-09-12T11:02:00.010+08:00</published><updated>2012-02-02T22:51:00.669+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='遊戲漫談'/><title type='text'>未來啟示錄SP1 ～ End</title><content type='html'>標題後面多個End...&lt;br /&gt;意思就是我不玩啦～～～～～&lt;br /&gt;唉....為啥會不想玩咧&lt;br /&gt;話說真正原因其實我也不知道....&lt;br /&gt;不過可以列出幾點讓我玩不下去的原因&lt;br /&gt;&lt;br /&gt;1. 到了10幾等之後就沒有動畫劇情了，也沒配音&lt;br /&gt;2. 到了25等左右之後，任務解光光都還沒升級，變成跟一般線上遊戲一樣要手動練等&lt;br /&gt;3. 到了35以上～變得有點難練...&lt;br /&gt;4. 到了40等之後，你不吃經驗值加倍你絕對很難很難練...&lt;br /&gt;5. 而且經驗值加倍是點商，而且不能交易！只能送禮方式，風險就大了&lt;br /&gt;6. &lt;span style="color: #999999; font-size: 85%;"&gt;有考研究所壓力...(有時候玩一半總是突然會想起這，因為我是要準備研究所的人...對我來講目前只有考研究所這條路對我比較好，都已經升大四了，可是想看書也看不下，想玩也玩得有壓力，很煩)&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span class="fullpost"&gt;到現在...我練到42等，卡了快一個禮拜...一上線就是無腦的練功打副本...&lt;br /&gt;話說我前一篇文章是32等指揮官CB結束心得&lt;br /&gt;不過我練到41等，因為太悶了，指揮官完全不懂他到底強在哪..........&lt;br /&gt;於是在41等去跟玩家收轉職初始化，花了600萬，那時比例是1：1.5萬，轉爆破王&lt;br /&gt;剛轉還蠻新鮮的，範圍技能真多....炸得很爽.....&lt;br /&gt;不過也稱沒多久就開始膩了....原因就是...上面列的六點原因&lt;br /&gt;&lt;br /&gt;說可惜真的很可惜，可惜在虧它畫面做得那麼好（跟一般線上遊戲比起來好多了），尤其是人物跟車子的模組，真的蠻細緻的～而且開始新手教學還有動畫引導劇情，後面前15級部份任務還有動畫咧～而且都跟整個劇情有關，還有真人配音。但是敗筆也開始了，從18等還20等之後，就沒再看到劇情動畫了，到25等左右開始，任務解光光都沒升等，還一段距離要練。到越高等之後任務越少，解完了還要練好長一段才會升級。尤其是到40等之後，你不吃經驗值加倍你要練到升級...除非肝很強大，不然實在很難練...變成跟一般線上遊戲一樣了阿，這樣就失去這遊戲的特色了...&lt;br /&gt;&lt;br /&gt;在我42等左右，因為越來越玩不下去，身上裝備穿堅固系列防具：堅固鎧甲、堅固手套...等等，拿著自己衝的+6戮神之槍，頭部是裝備+1藍十字風鏡，那時身上錢有2000多萬(已扣除轉職的600萬花費)，因為我也玩不太下去了，就乾脆把身上所有錢砸去衝武器～！！如果衝到+8以上，那我就在繼續玩...如果都爆光，那就真的要掰掰了.......結果卻是要跟遊戲說掰掰.....衝到身上只剩下不到一百萬....頓時發現，那些衝+7以上的人真的有夠幸運........我衝的時候頂多衝到+6，要衝+7就爆！當時Lv3閃電石大概在20～23萬之間，所以算了算，我大概也衝了至少80多顆閃電石，20多把戮神之槍，算一算還蠻多的....可是就是爆爆爆=  =...看來這就是命啦XDD&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;我在亂衝裝之前還好有先用錄影程式把我角色錄下來作一下紀念.....&lt;br /&gt;我預設影片使用高畫質，所以不用再點「HD」按鈕了。記得請按全螢幕喔～比較清楚&lt;br /&gt;&lt;object height="405" width="500"&gt;&lt;param name="movie" value="http://www.youtube.com/v/GEWlTYOgigw&amp;amp;hl=zh_TW&amp;amp;fs=1&amp;amp;rel=0&amp;amp;color1=0x006699&amp;amp;color2=0x54abd6&amp;amp;hd=1&amp;amp;border=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/GEWlTYOgigw&amp;amp;hl=zh_TW&amp;amp;fs=1&amp;amp;rel=0&amp;amp;color1=0x006699&amp;amp;color2=0x54abd6&amp;amp;hd=1&amp;amp;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="500" height="405"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;無聊跑去異形副本玩＠＠&lt;br /&gt;&lt;object height="405" width="500"&gt;&lt;param name="movie" value="http://www.youtube.com/v/lQEoyWj6BzQ&amp;hl=zh_TW&amp;fs=1&amp;rel=0&amp;color1=0x006699&amp;color2=0x54abd6&amp;hd=1&amp;border=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/lQEoyWj6BzQ&amp;hl=zh_TW&amp;fs=1&amp;rel=0&amp;color1=0x006699&amp;color2=0x54abd6&amp;hd=1&amp;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="500" height="405"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;在異形副本意外發現一個沒作好得BUG......&lt;br /&gt;&lt;object height="405" width="500"&gt;&lt;param name="movie" value="http://www.youtube.com/v/6pguMZeBkH4&amp;hl=zh_TW&amp;fs=1&amp;rel=0&amp;color1=0x006699&amp;color2=0x54abd6&amp;hd=1&amp;border=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/6pguMZeBkH4&amp;hl=zh_TW&amp;fs=1&amp;rel=0&amp;color1=0x006699&amp;color2=0x54abd6&amp;hd=1&amp;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="500" height="405"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-3874729693292116070?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/3874729693292116070/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2009/09/sp1-end.html#comment-form' title='3 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/3874729693292116070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/3874729693292116070'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2009/09/sp1-end.html' title='未來啟示錄SP1 ～ End'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-2578219338683120441</id><published>2009-08-24T12:50:00.037+08:00</published><updated>2012-02-02T22:51:13.403+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='遊戲漫談'/><title type='text'>未來啟示錄 - 指揮官32等CB結束小小心得</title><content type='html'>早上九點多起來玩，那時我好像31等40幾％經驗值&lt;br /&gt;我就直接去奎恩打鉤翅怪單練&lt;br /&gt;練著練著，看到公告說...中午12點要關機維修&lt;br /&gt;哇～～～要OB了，不過為了OB的來臨&lt;br /&gt;需要關閉伺服器四天耶＠＠需要這麼久喔...&lt;br /&gt;我手真的會養死啦&amp;gt;"&amp;lt;...才玩得正爽說...&lt;br /&gt;不過蠻爽的是，單練不到三小時，剛好升32等...大概練了50幾％，賺了少說30萬跑不掉&lt;br /&gt;升了之後還剛好剩下10分鐘讓我回城整理東西&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;這一關就要四天耶&lt;br /&gt;所以想趕快拍幾張照，好讓我無聊時看一看....= =&lt;br /&gt;小弟我...在8/18才玩的，在古佛斯特伺服器&lt;br /&gt;當初會跑去玩這款是因為在巴哈看到一條小小的廣告...「2009史上畫面最好的線上遊戲」&lt;br /&gt;我就好奇點進去，看了他遊戲介紹跟一些畫面&lt;br /&gt;恩...是的確不錯...尤其是人物，怪物、車子的精細度&lt;br /&gt;服裝的紋路，每個部位銜接的地方(這好像叫貼圖細緻度？)&lt;br /&gt;比起其他線上遊戲，真的蠻讚的說，好細緻阿～～&lt;br /&gt;所以就去申請帳號，下載來玩了 有興趣可以找我泡茶唷XDD&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;p.s 以下圖片可以點擊放大&lt;br /&gt;&lt;br /&gt;在這時...我記得是11點49分的樣子，快升了快升了 &lt;a href="http://4.bp.blogspot.com/_h6JuD6TTUD0/SpIfjR7yIrI/AAAAAAAAAQ8/ieE7BLiUDkU/s1600-h/shot_2009_8_24_000.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5373391996376457906" src="http://4.bp.blogspot.com/_h6JuD6TTUD0/SpIfjR7yIrI/AAAAAAAAAQ8/ieE7BLiUDkU/s400/shot_2009_8_24_000.jpg" style="cursor: pointer; height: 300px; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;升級了～！！當時應該要拍升級發光的那瞬間才對...（後悔&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_h6JuD6TTUD0/SpIf_fmkr8I/AAAAAAAAARE/HmR7EnVdRPw/s1600-h/shot_2009_8_24_001.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5373392481081929666" src="http://2.bp.blogspot.com/_h6JuD6TTUD0/SpIf_fmkr8I/AAAAAAAAARE/HmR7EnVdRPw/s400/shot_2009_8_24_001.jpg" style="cursor: pointer; height: 300px; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;回到城裡趕快把背包東西整理清一清&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_h6JuD6TTUD0/SpIhz1pcBlI/AAAAAAAAATU/t4SmU2FR3t0/s1600-h/shot_2009_8_24_002.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5373394479864350290" src="http://4.bp.blogspot.com/_h6JuD6TTUD0/SpIhz1pcBlI/AAAAAAAAATU/t4SmU2FR3t0/s400/shot_2009_8_24_002.jpg" style="cursor: pointer; height: 300px; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;開出三個閃電時原礦，一個閃電石，都二等&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_h6JuD6TTUD0/SpIhuhty0aI/AAAAAAAAATM/i1ka_gp66wo/s1600-h/shot_2009_8_24_004.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5373394388614566306" src="http://1.bp.blogspot.com/_h6JuD6TTUD0/SpIhuhty0aI/AAAAAAAAATM/i1ka_gp66wo/s400/shot_2009_8_24_004.jpg" style="cursor: pointer; height: 300px; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;自拍...&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_h6JuD6TTUD0/SpIhqaSfN0I/AAAAAAAAATE/6U6TNS5ZGH8/s1600-h/shot_2009_8_24_005.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5373394317901510466" src="http://1.bp.blogspot.com/_h6JuD6TTUD0/SpIhqaSfN0I/AAAAAAAAATE/6U6TNS5ZGH8/s400/shot_2009_8_24_005.jpg" style="cursor: pointer; height: 300px; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;自拍...2&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_h6JuD6TTUD0/SpIhl88_BqI/AAAAAAAAAS8/afWyTIWUL0s/s1600-h/shot_2009_8_24_006.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5373394241307215522" src="http://3.bp.blogspot.com/_h6JuD6TTUD0/SpIhl88_BqI/AAAAAAAAAS8/afWyTIWUL0s/s400/shot_2009_8_24_006.jpg" style="cursor: pointer; height: 300px; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;自拍...3&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_h6JuD6TTUD0/SpIhebAAzTI/AAAAAAAAAS0/RvK3_hTShnc/s1600-h/shot_2009_8_24_007.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5373394111934025010" src="http://2.bp.blogspot.com/_h6JuD6TTUD0/SpIhebAAzTI/AAAAAAAAAS0/RvK3_hTShnc/s400/shot_2009_8_24_007.jpg" style="cursor: pointer; height: 300px; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;自拍...4&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_h6JuD6TTUD0/SpIhZ0gTHVI/AAAAAAAAASs/QKqVPtVRUCA/s1600-h/shot_2009_8_24_008.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5373394032880983378" src="http://3.bp.blogspot.com/_h6JuD6TTUD0/SpIhZ0gTHVI/AAAAAAAAASs/QKqVPtVRUCA/s400/shot_2009_8_24_008.jpg" style="cursor: pointer; height: 300px; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;自拍...5&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_h6JuD6TTUD0/SpIhUOGSboI/AAAAAAAAASk/t8AJ4lH3XT4/s1600-h/shot_2009_8_24_008.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5373393936671993474" src="http://3.bp.blogspot.com/_h6JuD6TTUD0/SpIhUOGSboI/AAAAAAAAASk/t8AJ4lH3XT4/s400/shot_2009_8_24_008.jpg" style="cursor: pointer; height: 300px; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;自拍...6&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_h6JuD6TTUD0/SpIhPyijvCI/AAAAAAAAASc/MEu8sp08KME/s1600-h/shot_2009_8_24_009.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5373393860554898466" src="http://3.bp.blogspot.com/_h6JuD6TTUD0/SpIhPyijvCI/AAAAAAAAASc/MEu8sp08KME/s400/shot_2009_8_24_009.jpg" style="cursor: pointer; height: 300px; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;自拍...7&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_h6JuD6TTUD0/SpIhLa6ELlI/AAAAAAAAASU/rT9C25SaUqo/s1600-h/shot_2009_8_24_010.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5373393785491566162" src="http://2.bp.blogspot.com/_h6JuD6TTUD0/SpIhLa6ELlI/AAAAAAAAASU/rT9C25SaUqo/s400/shot_2009_8_24_010.jpg" style="cursor: pointer; height: 300px; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;自拍...8&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_h6JuD6TTUD0/SpIhGMA7aXI/AAAAAAAAASM/LYZv1wntlfw/s1600-h/shot_2009_8_24_011.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5373393695594473842" src="http://4.bp.blogspot.com/_h6JuD6TTUD0/SpIhGMA7aXI/AAAAAAAAASM/LYZv1wntlfw/s400/shot_2009_8_24_011.jpg" style="cursor: pointer; height: 300px; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;自拍...9&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_h6JuD6TTUD0/SpIhBgEc2tI/AAAAAAAAASE/pNSevQD0tBU/s1600-h/shot_2009_8_24_012.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5373393615078611666" src="http://3.bp.blogspot.com/_h6JuD6TTUD0/SpIhBgEc2tI/AAAAAAAAASE/pNSevQD0tBU/s400/shot_2009_8_24_012.jpg" style="cursor: pointer; height: 300px; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;自拍...10&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_h6JuD6TTUD0/SpIg86lZP0I/AAAAAAAAAR8/0PmUQ21Mmxo/s1600-h/shot_2009_8_24_013.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5373393536296763202" src="http://1.bp.blogspot.com/_h6JuD6TTUD0/SpIg86lZP0I/AAAAAAAAAR8/0PmUQ21Mmxo/s400/shot_2009_8_24_013.jpg" style="cursor: pointer; height: 300px; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;斷線了....&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_h6JuD6TTUD0/SpIg1B3rf_I/AAAAAAAAAR0/WtpzRiZNu6o/s1600-h/shot_2009_8_24_014.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5373393400813551602" src="http://4.bp.blogspot.com/_h6JuD6TTUD0/SpIg1B3rf_I/AAAAAAAAAR0/WtpzRiZNu6o/s400/shot_2009_8_24_014.jpg" style="cursor: pointer; height: 300px; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;斷線了...可是............還是可以移動= =只是只有我在動...&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_h6JuD6TTUD0/SpIgwEyJ9YI/AAAAAAAAARs/Cka43IItTiQ/s1600-h/shot_2009_8_24_015.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5373393315696342402" src="http://2.bp.blogspot.com/_h6JuD6TTUD0/SpIgwEyJ9YI/AAAAAAAAARs/Cka43IItTiQ/s400/shot_2009_8_24_015.jpg" style="cursor: pointer; height: 300px; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;按了取消按鈕遊戲還沒關= =我就到處晃晃...&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_h6JuD6TTUD0/SpIgsKUyQlI/AAAAAAAAARk/IjSYNCfGXA0/s1600-h/shot_2009_8_24_016.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5373393248464290386" src="http://3.bp.blogspot.com/_h6JuD6TTUD0/SpIgsKUyQlI/AAAAAAAAARk/IjSYNCfGXA0/s400/shot_2009_8_24_016.jpg" style="cursor: pointer; height: 300px; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;NPC也都消失了...（阿飄！？&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_h6JuD6TTUD0/SpIgetHBQcI/AAAAAAAAARU/ghkCFRbZGtA/s1600-h/shot_2009_8_24_018.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5373393017283625410" src="http://4.bp.blogspot.com/_h6JuD6TTUD0/SpIgetHBQcI/AAAAAAAAARU/ghkCFRbZGtA/s400/shot_2009_8_24_018.jpg" style="cursor: pointer; height: 300px; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;以上是在關閉伺服器之前拍的&lt;br /&gt;以下是之前的時候拍的&lt;br /&gt;&lt;br /&gt;在死亡之谷無意間跳上去的.........................&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_h6JuD6TTUD0/SpIknwE3NBI/AAAAAAAAATc/KWVHtHmVr_s/s1600-h/shot_2009_8_23_012.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5373397570745218066" src="http://3.bp.blogspot.com/_h6JuD6TTUD0/SpIknwE3NBI/AAAAAAAAATc/KWVHtHmVr_s/s400/shot_2009_8_23_012.jpg" style="cursor: pointer; height: 300px; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;...........&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_h6JuD6TTUD0/SpIlWBCYVgI/AAAAAAAAATk/Vq_pQOXx1EA/s1600-h/shot_2009_8_23_013.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5373398365572191746" src="http://1.bp.blogspot.com/_h6JuD6TTUD0/SpIlWBCYVgI/AAAAAAAAATk/Vq_pQOXx1EA/s400/shot_2009_8_23_013.jpg" style="cursor: pointer; height: 300px; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;下面那個人好像在看我....&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_h6JuD6TTUD0/SpIlo2zzG4I/AAAAAAAAATs/tAYyVDhF1Hc/s1600-h/shot_2009_8_23_014.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5373398689244191618" src="http://3.bp.blogspot.com/_h6JuD6TTUD0/SpIlo2zzG4I/AAAAAAAAATs/tAYyVDhF1Hc/s400/shot_2009_8_23_014.jpg" style="cursor: pointer; height: 300px; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;工廠王特寫 1&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_h6JuD6TTUD0/SpIl2-v8tBI/AAAAAAAAAT0/b3uZYIfutyg/s1600-h/shot_2009_8_21_001.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5373398931893695506" src="http://4.bp.blogspot.com/_h6JuD6TTUD0/SpIl2-v8tBI/AAAAAAAAAT0/b3uZYIfutyg/s400/shot_2009_8_21_001.jpg" style="cursor: pointer; height: 300px; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;工廠王特寫 2&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_h6JuD6TTUD0/SpImN0iel5I/AAAAAAAAAT8/n8MimRDw5DU/s1600-h/shot_2009_8_21_002.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5373399324289832850" src="http://2.bp.blogspot.com/_h6JuD6TTUD0/SpImN0iel5I/AAAAAAAAAT8/n8MimRDw5DU/s400/shot_2009_8_21_002.jpg" style="cursor: pointer; height: 300px; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;工廠王特寫 3&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_h6JuD6TTUD0/SpIm4BmTivI/AAAAAAAAAUE/yiCSDfJKR7Q/s1600-h/shot_2009_8_21_003.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5373400049350052594" src="http://4.bp.blogspot.com/_h6JuD6TTUD0/SpIm4BmTivI/AAAAAAAAAUE/yiCSDfJKR7Q/s400/shot_2009_8_21_003.jpg" style="cursor: pointer; height: 300px; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;工廠王特寫 4&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_h6JuD6TTUD0/SpInIVKBQXI/AAAAAAAAAUM/YhL6rNTHrmY/s1600-h/shot_2009_8_21_004.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5373400329478029682" src="http://3.bp.blogspot.com/_h6JuD6TTUD0/SpInIVKBQXI/AAAAAAAAAUM/YhL6rNTHrmY/s400/shot_2009_8_21_004.jpg" style="cursor: pointer; height: 300px; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;死亡之谷的王 1&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_h6JuD6TTUD0/SpIniMX3mXI/AAAAAAAAAUU/vXjoxR91sss/s1600-h/shot_2009_8_23_000.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5373400773796796786" src="http://4.bp.blogspot.com/_h6JuD6TTUD0/SpIniMX3mXI/AAAAAAAAAUU/vXjoxR91sss/s400/shot_2009_8_23_000.jpg" style="cursor: pointer; height: 300px; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;死亡之谷的王 2&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_h6JuD6TTUD0/SpInzD4ZuzI/AAAAAAAAAUc/fSFQO2ydHcg/s1600-h/shot_2009_8_23_001.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5373401063575108402" src="http://2.bp.blogspot.com/_h6JuD6TTUD0/SpInzD4ZuzI/AAAAAAAAAUc/fSFQO2ydHcg/s400/shot_2009_8_23_001.jpg" style="cursor: pointer; height: 300px; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;來個重砲手→衝擊手→指揮官的心得好了...&lt;br /&gt;&lt;br /&gt;我一開始下載遊戲時，就先看一看官網的職業介紹&lt;br /&gt;主要有戰士、重砲手、殺手、使徒&lt;br /&gt;我會想選重砲手原因很簡單...拿著一根這麼大根的砲...看起來就很爽...&lt;br /&gt;另一個原因是，其他職業在一般遊戲裡還蠻常見的&lt;br /&gt;戰士，看也知道一定是肉盾或近距離打手&lt;br /&gt;殺手，一定就是刺客那類&lt;br /&gt;使徒，當然就補師啦&lt;br /&gt;重砲手？好像比較特別一點，像法師？也不像阿，技能攻擊力又沒說特別高&lt;br /&gt;那就選他啦～&lt;br /&gt;&lt;br /&gt;剛開始練時，覺得普普，沒說特別強也沒特別弱&lt;br /&gt;在19等左右，去克雷爾啥的地圖，就是古斯佛特右邊那裡&lt;br /&gt;在那邊解任務打怪，真的越打越悶，一直死一直死&lt;br /&gt;山上一堆鳥跟一堆盜賊團，想衝進去都必需要騎車&lt;br /&gt;而且騎不好被怪K到....變成走路...幾乎都等死...&lt;br /&gt;在這時有種想重練得念頭...可是又有點懶&lt;br /&gt;想半天算了，只好硬著頭皮練下去...&lt;br /&gt;在21等左右，常常跑去梅爾啥的下水道解任務&lt;br /&gt;靠！我超恨那些從地上跑出來的腐蝕怪&lt;br /&gt;遠距離，又痛，喝水衝過去，開保護照，還不一定活著勒...&lt;br /&gt;這時我也超悶的，想重練得念頭又跑出來..................&lt;br /&gt;可是想想算了...可能重砲手有他後期的優勢在吧...&lt;br /&gt;一直抱持著這念頭玩下去...到26等左右...&lt;br /&gt;在阿卡打蜘蛛解任務，解死神的交易跟死神的XX（忘記叫啥）&lt;br /&gt;在那邊解任務，雖然那邊人超多，可是怪物更蜘蛛多，超常被怪打死...&lt;br /&gt;這樣就算了，還遇到白目，一直亂砍人........&lt;br /&gt;然後...我還發現一件事情................&lt;br /&gt;&lt;br /&gt;為啥殺手的裝備都比重砲好？？？？？？？&lt;br /&gt;&lt;br /&gt;同樣15等級，都拿防禦最好得來比較，殺手比重砲高耶&lt;br /&gt;我想說那武器應該比殺手好吧？？&lt;br /&gt;但是我發現並沒有....&lt;br /&gt;一樣都15等武器，我拿最好的頂武來比&lt;br /&gt;重砲：攻擊力190～22X，攻擊速度1.9秒&lt;br /&gt;殺手：攻擊力277～31X，攻擊速度2.0秒&lt;br /&gt;靠～怎會勒，武器跟裝備都比殺手差？？&lt;br /&gt;差0.1秒而已攻擊力高這麼多喔，都是遠距離的阿，那重砲到底好在哪....？？？&lt;br /&gt;這事實被我看到之後，整個超悶的啦= =&lt;br /&gt;而且不少人說，殺手總輸出最高？&lt;br /&gt;難怪我經常去副本，跟殺手同等級，但是怪物常常跑去打殺手...&lt;br /&gt;我根本拉不回來...就算殺手死了，也不是跑去打我....&lt;br /&gt;&lt;br /&gt;但我還是沒重練...雖然有點想...&lt;br /&gt;畢竟都練到快二轉了，不想再來一次...再來的話暑假就過去了，就沒那麼多的時間玩&lt;br /&gt;&lt;br /&gt;最後..終於要轉職了...二轉指揮官的到來&lt;br /&gt;轉職任務除了要打尼泊爾王有找人幫忙之外，其他都自己來，蠻累的&lt;br /&gt;轉值完之後馬上跑去拍賣找30等頂武器防具，買完～裝備完～&lt;br /&gt;整個變強好多XDDDD&lt;br /&gt;可是...只有在攻擊力比較明顯，被怪物打怎還是好痛...而且還死掉不少次說&lt;br /&gt;但整體來講有變強不少...&lt;br /&gt;31等「隔離」這招，我真不知道能拿來做啥....&lt;br /&gt;他上面大概是說封鎖對方需要吟唱時間的技能&lt;br /&gt;阿所以說順發技沒影響囉？&lt;br /&gt;阿也只能拿來PK，或者特殊會放招是的王？好像沒啥用到...&lt;br /&gt;對我目前而言算是廢招吧...&lt;br /&gt;現在練到32等，我目前正期待33等之後的技能&lt;br /&gt;因為有強化熱血沸騰、還一個增加集中力&lt;br /&gt;都是增強自身攻擊力&lt;br /&gt;希望能突顯指揮官優勢的地方...不然我真不知道指揮官哪裡好...&lt;br /&gt;&lt;br /&gt;至於&lt;span style="font-weight: bold;"&gt;練功方面&lt;/span&gt;，因為我的職業算是偏單練的部份&lt;br /&gt;所以25等之後，任務解完，經常單練&lt;br /&gt;心得是，打橘色怪物，而且是近身攻擊的怪物最好練（對遠距離攻擊的人來說）&lt;br /&gt;為什麼要橘色？&lt;br /&gt;如果打紅色怪物，經驗值是比較多沒錯&lt;br /&gt;可是實在太容易MISS了，我裝備還有增加命中的屬性呢&lt;br /&gt;經常一隻紅怪，打好多下才死，就為了多那一些些經驗值？然後被怪物多打好幾下？&lt;br /&gt;真的划不來，又慢&lt;br /&gt;打橘色怪物MISS其實算普通，真的不常發生MISS，比紅怪好太多了&lt;br /&gt;而且打血少的近身攻擊怪物，經常怪物還沒摸到我，就已經死了&lt;br /&gt;加上因為不常MISS，打很快，掉的東西也比較多次，也能賺很多武器袋&lt;br /&gt;黃色怪物呢？我實驗結果其實MISS率跟橘色差不了多少&lt;br /&gt;可是黃色怪物經驗值卻比橘色少一截&lt;br /&gt;整理實驗結果，橘色怪物真的最好練...也最值得打&lt;br /&gt;如果還配合重複任務或者公會任務，那真是一舉兩得&lt;br /&gt;&lt;br /&gt;至於衝擊手、指揮官&lt;span style="font-weight: bold;"&gt;技能部份&lt;/span&gt;&lt;br /&gt;重點只有一個：「掌握好每個技能發動時間」&lt;br /&gt;打小怪的時候，一定先用「穿透」&lt;br /&gt;因為穿透是消耗AP少的單體技能，缺點是發動時間兩秒&lt;br /&gt;因為發動比較久，所以拿來開怪最好不過&lt;br /&gt;放完一次穿透一定馬上接著一次普攻（連四下），有人說這是重砲的優勢之一...&lt;br /&gt;接著才是重點，如果是從頭到尾都放技能打怪，一定要在普攻剛出來的那瞬間發動技能！&lt;br /&gt;因為砲手武器冷卻都1.9秒左右（有些武器1.8秒，有些2.0秒）&lt;br /&gt;當普攻剛出完的那瞬間開始計時，要等1.9秒才會下一次普攻&lt;br /&gt;在這等待的期間，要放技能的話，一定要在普攻出完的那瞬間發動技能&lt;br /&gt;這樣才不會浪費掉普攻等待的時間&lt;br /&gt;看巴哈不少人說強化穿透70％到底跑哪去了？&lt;br /&gt;我看他們根本都不會去注意數字吧...技能說的70%是加在技能原本攻擊力的70％&lt;br /&gt;並不是說，你原本用穿透打怪打500，加了70％你可以打850&lt;br /&gt;它的70％是加在原本三等穿透攻擊力103的70％，所以說打怪可以多打出72滴血&lt;br /&gt;也就是原本打怪500滴，有了強化穿透，可以打572滴血的意思！&lt;br /&gt;不過我真的很希望OB能改成真正的70％...也就是850滴血這樣&lt;br /&gt;不然...發動這麼久，才打這樣，重砲真的強在哪？&lt;br /&gt;還有，因為是遠距離！不要想當戰士站著不動一直打怪&lt;br /&gt;遠距離可以邊跑邊打敵人的，只要面相敵人角度不超過180度即可(也就是背對敵人不會攻擊啦)&lt;br /&gt;如果不邊跑邊打...如非你威力夠強，讓怪物摸不到你&lt;br /&gt;不然遠距離玩假的＝ ＝？&lt;br /&gt;這也是小重點之一啦...&lt;br /&gt;28等的蜘蛛技能...如果官方沒改成跟原能攻擊力成正比&lt;br /&gt;到後期會越來越沒用吧...？&lt;br /&gt;另外，「死亡射線」，這招說強是有一點強，可是有夠耗AP&lt;br /&gt;而且會MISS，有人說不會爆擊，我實驗結果是會爆擊的～！&lt;br /&gt;他有一連七次還八次扣血，每次都會漸漸增加&lt;br /&gt;要注意看他扣的數字，例如&lt;br /&gt;第一次100&lt;br /&gt;第二次120&lt;br /&gt;第三次180（這次就是爆擊，不然原本應該是140）&lt;br /&gt;第四次160&lt;br /&gt;第五次180&lt;br /&gt;...以下類推假設遞增20，有七次還八次&lt;br /&gt;這招實用性，我覺得不怎高，因為太消耗AP了&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;就降子啦～等我有想到再補充&lt;br /&gt;等待OB開放...（手癢&lt;br /&gt;&lt;br /&gt;(2009/08/25)阿幹...聽說小徽章只能在CB時期換而已喔？靠～我還留200個徽章ㄟ...我在CB結束前10分鐘才剛蒐集滿200個啦～～我要換墨鏡啦&amp;gt;"&amp;lt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-2578219338683120441?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/2578219338683120441/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2009/08/blog-post_24.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/2578219338683120441'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/2578219338683120441'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2009/08/blog-post_24.html' title='未來啟示錄 - 指揮官32等CB結束小小心得'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_h6JuD6TTUD0/SpIfjR7yIrI/AAAAAAAAAQ8/ieE7BLiUDkU/s72-c/shot_2009_8_24_000.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-7777567942367010982</id><published>2009-08-07T12:25:00.028+08:00</published><updated>2012-02-02T22:51:33.787+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Neil自製'/><title type='text'>【Neil自製】五子棋遊戲～v1.5</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_h6JuD6TTUD0/Sn-nOX16FoI/AAAAAAAAAQ0/qeFio_jp4pk/s1600-h/screenshop.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5368193146209048194" src="http://1.bp.blogspot.com/_h6JuD6TTUD0/Sn-nOX16FoI/AAAAAAAAAQ0/qeFio_jp4pk/s400/screenshop.jpg" style="cursor: pointer; height: 286px; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #ff6600;"&gt;---------------- 以下是前言+廢話，可跳過 --------------------&lt;/span&gt;&lt;br /&gt;五子棋？那不是幾百年前就有的老遊戲嗎？&lt;br /&gt;而且網路上五子棋遊戲多到爆炸...那我寫這幹麼？（自嘲中...&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span class="fullpost"&gt;其實阿...我會突然想寫這是因為，自從我大一讀了淡大資工系&lt;br /&gt;開始寫程式到現在，已經要升大四了&lt;br /&gt;在學校寫的程式作業不外乎都一些程式的寫作小技巧跟演算法實作&lt;br /&gt;寫出來的東西幾乎沒辦法拿來作啥，更別說當遊戲玩&lt;br /&gt;在我無聊時&lt;a href="http://www.eyny.com/index.php" target="_blank"&gt;逛伊莉論壇&lt;/a&gt;的C/C++討論版&lt;br /&gt;看到幾位高手寫出俄羅斯方塊、圈圈叉叉、坦克大戰等等小遊戲&lt;br /&gt;看了覺得他們好厲害...都是一些我不知該怎寫東西...頓時覺得我好遜...&lt;br /&gt;在論壇某篇有人提問說：「圈叉遊戲3*3好判斷，那五子棋遊戲該如何判斷勝負呢？」&lt;br /&gt;我靈感一來...這好像蠻有趣的感覺...就開始想這問題，因此就開始寫看看五子棋遊戲啦～&lt;br /&gt;順便當作練練程式功力...&lt;br /&gt;&lt;span style="color: #ff6600;"&gt;----------------- 以上前言+廢話已結束 -----------------------&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #009900;"&gt;---------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;遊戲版本：1.5&lt;br /&gt;最後更新日期：2010/01/06&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;***更新紀錄***&lt;/span&gt;&lt;/span&gt;&lt;span class="fullpost"&gt;&lt;span style="font-weight: bold;"&gt;※1.5版：&lt;/span&gt;2010/01/06&lt;/span&gt;&lt;br /&gt;1. 增加了連線對玩的功能：&lt;br /&gt;．一方當server另一方就當client，server端必須先開遊戲程式，然後按「等待連線」按鈕。&lt;br /&gt;．接著client端打開遊戲後，按「連線至...」按鈕，輸入server端的IP位址後按確定即可連線。&lt;br /&gt;．我預設由server端先開始下棋。&lt;br /&gt;2. 在連線方面我從很多主機去測試，連線功能是沒太大的問題，只是特殊處理的部份會有不少小bug在（例如玩到一半突然中斷的處理，或者結束一局後的處理等等），等我心血來潮再去修改那些bug...&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;※1.4版：&lt;/span&gt;2009/08/11&lt;br /&gt;1. 調整權重值&lt;br /&gt;2. 修正一些條件相衝之後的值，並新增一些特殊狀況條件&lt;br /&gt;3. 弄掉1.3版每次跟電腦玩會跑出check_table.txt的檔案...這個檔是我用來檢測電腦跑出結果的相關資訊...在1.3版我忘了把他弄掉了= =&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;※1.3版：&lt;/span&gt;2009/08/10&lt;br /&gt;1. 調整權重值及順序&lt;br /&gt;2. 處理平手狀態&lt;br /&gt;3. 增加一條規則，以減少權重值皆為0狀況：「對方在該空位是否能行成半活四」&lt;br /&gt;4. 增加一條規則，以減少權重值皆為0狀況：「對方在該空位是否能行成半活三」&lt;br /&gt;5. 用了三維陣列當stack，紀錄每點會形成的東西，較方便又準確判斷及給權重值&lt;br /&gt;6. 新增電腦放棋速度隨機延遲...預設為0.3秒～1.8秒&lt;br /&gt;7. 新增啟用或關閉使用鍵盤操作功能&lt;br /&gt;這次改版改蠻多東西的..修正不少bug，增加準確度，增加一堆規則（搞得我頭好暈），個人感覺電腦AI有變得比較強...雖然不稱不上高智商AI，不過也算不低了...應該啦= =，連續好幾天不斷調整並發現AI有很多小地方要加強，雖然發現很多需要加強...但是加強完之後...只會發現更多的地方要修正...更多狀況出現...很難搞到很完美...畢竟電腦不是人腦...體會到AI這東西，真是與人腦無緣阿～&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;※v1.2版：&lt;/span&gt;2009/08/08&lt;br /&gt;1. 增加了一條規則「對方在該空位是否能行成雙半活四」&lt;br /&gt;2. 稍微調整權重值&lt;br /&gt;3. 修改「偵測半活四」小bug&lt;br /&gt;4. 以&lt;span style="font-weight: bold;"&gt;空白鍵&lt;/span&gt;當下棋，新增W、S、A、D控制上下左右&lt;br /&gt;5. 增加一些跟電腦下棋輸贏的對話...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;※v1.1版：&lt;/span&gt;2009/08/07&lt;br /&gt;1. 新增了能夠用鍵盤上下左右來控制，Ctrl鍵來下棋，這是為了在雙人玩時避免搶滑鼠事件發生...&lt;br /&gt;2. 重畫準心圖案，當換白色下棋時，準心變白色；當黑色下棋時，準心變黑色，比較好分辨輪到誰&lt;br /&gt;3. 增加電腦下棋一條規則：「電腦在該空位是否能行成半活三」，為了降低權限值都是零的狀況&lt;br /&gt;4. 存檔讀檔一些BUG修正&lt;br /&gt;&lt;span style="color: #009900;"&gt;---------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;這程式呢，我用C++ Builder 2008寫的&lt;br /&gt;玩法我應該不用講，大家都會玩...&lt;br /&gt;剛開始寫這程式時，我一直在想這程式需要哪些變數，哪些功能，還有大概架構&lt;br /&gt;先把東西打在txt記事本裡，這樣方法是有好處的&lt;br /&gt;如果伊一始就寫，寫到一半一定會有東少一個西少一個，東加一個，西加一個&lt;br /&gt;到時候寫出來程式碼很凌亂，不好debug&lt;br /&gt;所以大概的架構想好了我才開始動手&lt;br /&gt;一開始第一個碰到的問題就是，該如何判斷勝負？&lt;br /&gt;我想到的方式是：一共要判斷四種方向「＼」、「｜」、「／」、「—」&lt;br /&gt;當玩家一下棋子，就馬上以該位至為中心，判斷四種方向有沒有連續五個&lt;br /&gt;每種方向都先移動到最開頭的位置，開始沿路算，如果算到末端，有五顆一樣的，那就是贏了&lt;br /&gt;&lt;br /&gt;剛寫出來時候，其實只有雙打的功能，也就是人跟人玩，沒有跟電腦玩&lt;br /&gt;想說如果是電腦該怎下...這應該判斷很多情況很複雜吧...&lt;br /&gt;可是一個五子棋遊戲，如果只能雙打....這也太鳥了點吧...&lt;br /&gt;於是去請教咕狗大神～～～～～搜搜搜&lt;br /&gt;果然有五子棋的演算法～只是沒找到程式碼，不過我也不想要原始碼...&lt;br /&gt;因為懶得看，而且不一定看得懂...有些原始碼沒半個註解，有些就算有註解，也不太懂他在寫啥...&lt;br /&gt;不如靠自己去推敲...&lt;br /&gt;到後來我是參考&lt;a href="http://bbs.gameres.com/showthread.asp?threadid=75011" target="_blank"&gt;這篇&lt;/a&gt;，引用該篇的二樓說法；&lt;br /&gt;&lt;code&gt;&lt;br /&gt;五子棋ＡＩ演算法&lt;br /&gt;&lt;br /&gt;　　五子棋遊戲因為棋盤較大，五子棋遊戲因此不能考慮所有組合，而是利用一些五子棋落子的技巧，來設計演算法。利用五子棋AI 的演算法來說明，本作業C++ Builder五子棋遊戲電腦AI部分，則用此演算法。&lt;br /&gt;&lt;br /&gt;1. 電腦對棋盤上的每一空位都有一個值，起始值為0。&lt;br /&gt;&lt;br /&gt;2. 當對手下子後，電腦在決定接下來該下那一步前會先判斷棋盤上所有空位橫、豎、左斜、右斜四個方向的棋子構成不同的棋型。&lt;br /&gt;&lt;br /&gt;3. 將所有棋盤上的空位對黑棋和白棋的價值算出來，給於不同的值。&lt;br /&gt;&lt;br /&gt;　　例如　:&lt;br /&gt;&lt;br /&gt;判斷對手下在該空位是否能行成活四，權值最高。&lt;br /&gt;&lt;br /&gt;判斷電腦下在該空位是否能行成活四，權值第二高。&lt;br /&gt;&lt;br /&gt;判斷對手下在該空位是否能行成活三，權值第三高。&lt;br /&gt;&lt;br /&gt;判斷電腦下在該空位是否能行成活三，權值第四高。&lt;br /&gt;&lt;br /&gt;判斷對手下在該空位是否能行成活二，權值第五高。&lt;br /&gt;&lt;br /&gt;判斷電腦下在該空位是否能行成活二，權值第六高。&lt;br /&gt;&lt;br /&gt;4. 棋盤空位的值越高代表該空位越重要。&lt;br /&gt;&lt;br /&gt;5. 電腦最後選擇棋盤上空位的值最高的一點作為下子的點。&lt;br /&gt;&lt;br /&gt;6. 一直重複上述之步驟 直到分出勝負為止。&lt;br /&gt;&lt;br /&gt;此演算法之缺點 : 每當對手下子之後，皆要重新計算棋盤上所有空位的值，因此較浪費執行時間&lt;/code&gt;&lt;br /&gt;我看了這段話，剛開始想的時候覺得...這樣可以嗎？這樣就夠了嗎？還蠻懷疑的&lt;br /&gt;後來想想...靈光一閃～咦，好像可以耶，只要把他方式增加一些規則進去，稍微修改一下&lt;br /&gt;應該還可以&lt;br /&gt;引用那段話裡面說權值最高，代表電腦要下該位置&lt;br /&gt;不過他好像沒提到要累加的關係&lt;br /&gt;&lt;br /&gt;舉個簡單的例子：&lt;br /&gt;假設電腦形成活三權重值是20，玩家形成活三權重值是15&lt;br /&gt;如果該空格能形成一條電腦活三、一條玩家活三（不累加權重是20，累加是35），另一個空格只能形成一條電腦活三（不累加權重是20）&lt;br /&gt;總不能因為不累加，就隨便擺一個位子吧？如果累加的話，自己可以作活三，又能檔對方形成活三&lt;br /&gt;所以應該要有累加權重值可能比較好～&lt;br /&gt;所以我就修改成能累加權重值的方式&lt;br /&gt;不過這時權重設定就要很小心&lt;br /&gt;例如電腦可以形成兩個活三，累加權重是40，對方可以形成一個活四，假設是30&lt;br /&gt;兩個活三累加超過一個活四...那電腦就等輸啦...&lt;br /&gt;其實狀況還蠻多的...所以要小心設定數值&lt;br /&gt;&lt;br /&gt;因為他舉出來的規則好像有點少，我就慢慢增加一些比較必要的規則，整理出如下：&lt;br /&gt;&lt;code&gt;&lt;br /&gt;電腦在該空位是否能形成五條&lt;br /&gt;對方在該空位是否能形成五條&lt;br /&gt;電腦在該空位是否能形成活四&lt;br /&gt;電腦在該空位是否能形成雙半活四&lt;br /&gt;對方在該空位是否能形成雙半活四&lt;br /&gt;對方在該空位是否能形成活四&lt;br /&gt;電腦在該空位是否能形成半活四&lt;br /&gt;電腦在該空位是否能形成活三&lt;br /&gt;對方在該空位是否能形成活三&lt;br /&gt;電腦在該空位是否能形成活二&lt;br /&gt;對方在該空位是否能形成活二&lt;br /&gt;對方在該空位是否能形成半活四&lt;br /&gt;電腦在該空位是否能形成半活三&lt;br /&gt;對方在該空位是否能形成半活三&lt;br /&gt;&lt;br /&gt;這些規則由上而下，權重由高到低 (2009/08/10)&lt;/code&gt;&lt;br /&gt;因此電腦AI就這樣被我設定出來了～&lt;br /&gt;話說我在寫的時候...真的是要人命...&lt;br /&gt;因為要判斷有沒有兩邊都活路，還是說一邊有活路一邊沒活路，要算有幾顆，要看有沒有出界...&lt;br /&gt;X軸Y軸的位置，傳參數後陣列的位置，要怎樣把執行效率提高，不能死腦的算法等等等等......&lt;br /&gt;全部混在一起....真的是搞很久= =寫得超悶............&lt;br /&gt;到最後寫出來整個只有爽字可以形容...&lt;br /&gt;這邊大概是最難寫的部份了...也是修改最久的部份...&lt;br /&gt;&lt;br /&gt;寫出來我玩第一場...就輸給電腦......=  =&lt;br /&gt;玩到最後覺得，我感覺電腦AI其實算普普吧...給朋友玩，朋友覺得算強...(可能我朋友太遜XDD)&lt;br /&gt;或許權重值設定不夠好，或許這演算法有少東西...我有空在慢慢想好了&lt;br /&gt;&lt;br /&gt;我後來&lt;/span&gt;&lt;span class="fullpost"&gt;用clock函數&lt;/span&gt;&lt;span class="fullpost"&gt;測試1.4版五子棋電腦AI計算下棋位置所花的時間，發現每次都是0，也就是說每次電腦運算下棋位置時，花不到0.001秒就算出電腦該下哪個位置。不過...我單獨測WinAPI的播放音效函數，小小的放音效函數竟然需要花0.078～0.096秒...怎會這麼花時間...難怪我每次跟電腦下，都會有一點點停頓一下下，都要等0.156～0.192秒左右（玩家放一次，電腦放一次，所以兩次音效），我還一直以為是我電腦AI寫不好，運算慢的關係，沒想到原來都是那該死的WinAPI播放聲音函數造成的...並不是電腦AI運算慢造成的= =然後我把那條放音效函數拿掉試看看，發現還真的耶...我擺完棋子跟電腦放棋子肉眼看幾乎同時出現...快很多...可是如果沒下棋音效，玩起來好像又不太好...如果再多設計一個讓使用者要不要啟用放棋子聲音，好像又有點小題大作的感覺...不知各位有什麼意見＠＠？&lt;br /&gt;&lt;br /&gt;--------------------------------------------------------------------------------&lt;br /&gt;&lt;span style="color: red;"&gt;遊戲下載：&lt;/span&gt;&lt;a href="http://cid-87fb5e04653d7482.skydrive.live.com/self.aspx/Blogger%20%E7%A8%8B%E5%BC%8F%E8%BB%9F%E9%AB%94%E6%94%BE%E7%BD%AE/%E4%BA%94%E5%AD%90%E6%A3%8B.zip" style="font-weight: bold;" target="_blank"&gt;點我&lt;/a&gt;&lt;br /&gt;各位也來玩看看吧～如果有啥好意見歡迎留言喔～～！！我會參考看看~&lt;br /&gt;&lt;br /&gt;為了因應某人要求...小弟就把程式碼放出來吧！！&lt;br /&gt;我自己覺得寫得亂亂的，程式高手們可別笑我呀&amp;gt;"&amp;lt;&lt;br /&gt;&lt;a href="http://cid-87fb5e04653d7482.skydrive.live.com/self.aspx/Blogger%20%E7%A8%8B%E5%BC%8F%E8%BB%9F%E9%AB%94%E6%94%BE%E7%BD%AE/Code.zip"&gt;原始碼下載&lt;/a&gt;&lt;br /&gt;解壓密碼：http://neilchennc.blogspot.com/2009/08/neil-xd.html&lt;/span&gt;&lt;span class="fullpost"&gt;--------------------------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;以下題外話...&lt;br /&gt;我怎感覺寫這好像在寫給自己爽的...&lt;br /&gt;怎說勒？&lt;br /&gt;我寫這搞半天，微調電腦AI，盡量增強電腦難度...&lt;br /&gt;修改不少我已知的bug...增加一些功能.....修改程式讓電腦跑比較順...&lt;br /&gt;總算搞出比較像樣的東西出來...而且這時成就感很大的時候..........&lt;br /&gt;給一些朋友玩，玩個兩三次就沒再玩過了...&lt;br /&gt;而且某人還給我一句...................「懶得玩」........................................（嘆&lt;br /&gt;這也不能怪他們...畢竟這種超古老遊戲...沒幾個人會想去玩...&lt;br /&gt;而且重點在於他們沒興趣，沒有對於「會寫程式的那種感覺」&lt;br /&gt;今天如果是給會寫一些「簡單的程式」的人玩...那人說出來的話絕對不一樣...&lt;br /&gt;這意思就好像說...以下&lt;span style="font-weight: bold;"&gt;存屬虛構&lt;/span&gt;...&lt;br /&gt;就好像說....某人很擅長剪接影片，或者很會作某樣東西（例如電腦繪圖）&lt;br /&gt;不斷地作，越作越大，越作越好，自己成就感也跟著越來越大&lt;br /&gt;三不五時就秀給一個沒興趣的人看&lt;br /&gt;或許沒興趣的人裝出驚奇的樣子出來，給他讚美之類的話&lt;br /&gt;或許沒興趣的人對於他的作品完全沒感覺，來一個「喔...」，然後不了了之&lt;br /&gt;因為我很瞭解這種感覺...所以我幾乎都當前者...&lt;br /&gt;可是我這次做的東西，別人幾乎都是後者...&lt;br /&gt;沒辦法～只能給自己爽了...不然能怎樣...&lt;br /&gt;當我開始要寫五子棋程式時，其實已經預料到了...&lt;br /&gt;只是純粹寫這段來發洩一下= =...沒別的意思...&lt;br /&gt;&lt;br /&gt;另外...&lt;br /&gt;我並沒有下棋的嗜好&lt;br /&gt;更沒有什麼幾級幾段的東西&lt;br /&gt;而且我幾乎沒在玩棋藝類的遊戲&lt;br /&gt;我會寫這程式純粹在想些題材來練程式寫作&lt;br /&gt;所以這程式重點並不在電腦強不強....&lt;br /&gt;所以...覺得電腦太爛的也就將就點吧...&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-7777567942367010982?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/7777567942367010982/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2009/08/neil-xd.html#comment-form' title='7 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/7777567942367010982'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/7777567942367010982'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2009/08/neil-xd.html' title='【Neil自製】五子棋遊戲～v1.5'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_h6JuD6TTUD0/Sn-nOX16FoI/AAAAAAAAAQ0/qeFio_jp4pk/s72-c/screenshop.jpg' height='72' width='72'/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-8042498224851173959</id><published>2009-08-02T03:05:00.004+08:00</published><updated>2012-02-02T22:51:48.775+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C/C++：教學'/><title type='text'>俄羅斯方塊</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_h6JuD6TTUD0/SnSTMElhJQI/AAAAAAAAAQk/NRZGjcWvRtM/s1600-h/pic.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5365074891703919874" src="http://4.bp.blogspot.com/_h6JuD6TTUD0/SnSTMElhJQI/AAAAAAAAAQk/NRZGjcWvRtM/s320/pic.jpg" style="cursor: pointer; height: 210px; width: 320px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;此程式是在&lt;a href="http://www.eyny.com/index.php" target="_blank"&gt;伊莉論壇&lt;/a&gt;的daviddr大大所寫的&lt;br /&gt;老實說蠻佩服這位高手～用console下去執行～&lt;br /&gt;我覺得還蠻少見的...可能我見識太少...&lt;br /&gt;也有附上程式碼，編譯沒問題～&lt;br /&gt;有在練C/C++程式滴大大們，加減參考看看囉～&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span class="fullpost"&gt;以下為程式碼：&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#include &amp;lt;windows.h&amp;gt;&lt;br /&gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;#include &amp;lt;conio.h&amp;gt;&lt;br /&gt;#include &amp;lt;time.h&amp;gt;&lt;br /&gt;using namespace std ;&lt;br /&gt;#define set_color(c) SetConsoleTextAttribute(hOut,c)&lt;br /&gt;&lt;br /&gt;enum {H=23, W=14, nBlock=7};&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;br /&gt;HANDLE hIn, hOut;&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; //I/O 控制器&lt;br /&gt;bool&amp;nbsp;&amp;nbsp; bExit = 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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //是否持續遊戲&lt;br /&gt;int&amp;nbsp;&amp;nbsp;&amp;nbsp; level=0, score=0;&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; //關卡, 積分&lt;br /&gt;int&amp;nbsp;&amp;nbsp;&amp;nbsp; ox=4, oy=1;&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; //畫面左上原點&lt;br /&gt;int&amp;nbsp;&amp;nbsp;&amp;nbsp; B, N;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //當前&amp;amp;下一個 方塊的編號&lt;br /&gt;int&amp;nbsp;&amp;nbsp;&amp;nbsp; X, Y, dir=0;&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; //方塊位置, 所處方位(0~3)&lt;br /&gt;int&amp;nbsp;&amp;nbsp;&amp;nbsp; delay_time = 20;&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; //延遲時間&lt;br /&gt;int&amp;nbsp;&amp;nbsp;&amp;nbsp; flexible_time = 20;&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; //加速按鍵控制的程度&lt;br /&gt;char&amp;nbsp;&amp;nbsp; room[W][H];&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; //畫面&lt;br /&gt;int&amp;nbsp;&amp;nbsp;&amp;nbsp; block[nBlock][4] =&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; //方塊樣式&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {{0x6220,0x1700,0x2230,0x0740},&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // L&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {0x6440,0x0e20,0x44c0,0x8e00},&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // _|&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {0x04e0,0x0464,0x00e4,0x04c4},&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // T&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {0x4620,0x6c00,0x4620,0x6c00},&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // z&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {0x2640,0xc600,0x2640,0xc600},&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 反z&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {0x0f00,0x4444,0x0f00,0x4444},&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // |&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {0x0660,0x0660,0x0660,0x0660}};&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 田&lt;br /&gt;&lt;br /&gt;void gotoxy (int x, int y)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; static COORD c; c.X = x; c.Y = y;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetConsoleCursorPosition (hOut, c);&lt;br /&gt;}&lt;br /&gt;void draw (int x, int y, char* s) {gotoxy (x*2,y); cout&amp;lt;&amp;lt;s;}&lt;br /&gt;void over (int x, int y, char* s) {draw(x,y,s);getch();exit(1);}&lt;br /&gt;&lt;br /&gt;bool bMove_block (int bx, int by, int d)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //傳入新位置與旋轉方向&lt;br /&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;&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; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int p = 0x8000, x, y=0; y&amp;lt;4; y++)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (x=0; x&amp;lt;4; x++, p&amp;gt;&amp;gt;=1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((block[B][d]&amp;amp;p) &amp;amp;&amp;amp; room[bx+x-ox][by+y-oy])&lt;br /&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; return false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return true; &lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;void show_next_block (char* s)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; set_color (N+7);&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;&amp;nbsp; //設定顯示色&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int x, y, p = 0x8000; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (y=0; y&amp;lt;4; y++)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (x=0; x&amp;lt;4; x++, p&amp;gt;&amp;gt;=1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (block[N][0] &amp;amp; p) draw (ox+W+2+x, 2+y, s);&lt;br /&gt;}&lt;br /&gt;void show_block (char* s)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; set_color (B+7);&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;&amp;nbsp; //設定顯示色&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int x, y, p = 0x8000; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (y=0; y&amp;lt;4; y++)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (x=0; x&amp;lt;4; x++, p&amp;gt;&amp;gt;=1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (block[B][dir] &amp;amp; p) draw (x+X, y+Y, s);&lt;br /&gt;}&lt;br /&gt;void show_room()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int x,y=0; y&amp;lt;H; y++)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (x=0; x&amp;lt;W; x++)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (room[x][y]) {&lt;br /&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; set_color (room[x][y]);&lt;br /&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; draw (ox+x, oy+y, "█");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }else draw (ox+x, oy+y, "&amp;nbsp; ");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void try_move_block (int x, int y, int d)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //嘗試移動&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!bMove_block (x,y,d)) return;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; show_block ("&amp;nbsp; "); X = x; Y = y; dir = d;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; show_block ("█");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;int remove_lines()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int x, y, i,j, line=0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (y=1; y&amp;lt;H-1; y++) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (x=1; x&amp;lt;W-1; x++) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!room[x][y]) break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (x==W-1) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; line++;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (i=1; i&amp;lt;W-1; i++) room[i][0] = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (i=y; i&amp;gt;1; i--) &lt;br /&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; for (j=1; j&amp;lt;W-1; j++) &lt;br /&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; room[j][i] = room[j][i-1];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; show_room ();&lt;br /&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; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }return line;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void move_block()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (bMove_block (X,Y+1,dir)) {try_move_block (X,Y+1,dir); return;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (Y==0) over (ox+2, H/2, "G a m e&amp;nbsp;&amp;nbsp;&amp;nbsp; O v e r");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int p = 0x8000, x, y=0; y&amp;lt;4; y++)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (x=0; x&amp;lt;4; x++, p&amp;gt;&amp;gt;=1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (block[B][dir] &amp;amp; p) &lt;br /&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; room[X+x-ox][Y+y-oy] = B+7; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int n = remove_lines();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; level = (score+=(1+n*n)*4)/200;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; delay_time = 10-level;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (level &amp;gt; 10) over (ox+4, H/2, "Y o u&amp;nbsp;&amp;nbsp;&amp;nbsp; W i n");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; show_next_block ("&amp;nbsp; ");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; B = N; X = ox+W/2-1; Y = 0; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; N = rand() % nBlock;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; show_next_block ("█");&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void init()&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //初始配置&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; srand (time(0));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; hOut = GetStdHandle (STD_OUTPUT_HANDLE);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; hIn&amp;nbsp; = GetStdHandle (STD_INPUT_HANDLE);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HANDLE err = INVALID_HANDLE_VALUE;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (hIn == err || hOut == err) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; puts ("handle failed"); getch (); exit (1);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int x=0; x&amp;lt;W; x++) room[x][H-1] = 4;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int y=0; y&amp;lt;H; y++) room[0][y] = room[W-1][y] = 4;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; B = rand() % nBlock;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; N = rand() % nBlock;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; X = ox+W/2-1; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Y = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; show_room();&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; show_next_block ("█");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void key_control()&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; //按鍵控制&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; static DWORD count;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; static INPUT_RECORD ir;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ReadConsoleInput (hIn, &amp;amp;ir, 1, &amp;amp;count);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!ir.Event.KeyEvent.bKeyDown) return;&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; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; switch (ir.Event.KeyEvent.wVirtualKeyCode) {&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; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case VK_ESCAPE: bExit = true; break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case VK_DOWN : try_move_block (X,Y+1,dir); break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case VK_LEFT : try_move_block (X-1,Y,dir); break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case VK_RIGHT: try_move_block (X+1,Y,dir); break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case VK_UP&amp;nbsp;&amp;nbsp; : try_move_block (X,Y,(dir+1)&amp;amp;3); break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void main ()&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //主程式&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int i; init();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (!bExit)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (i=0; i&amp;lt;flexible_time; i++) {&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;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (kbhit()) key_control();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Sleep (delay_time);&lt;br /&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;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; move_block ();&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set_color (14);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gotoxy (ox+W*2+8, 10); cout&amp;lt;&amp;lt; "Level: "&amp;lt;&amp;lt;level+1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gotoxy (ox+W*2+8, 12); cout&amp;lt;&amp;lt; "Score: "&amp;lt;&amp;lt;score;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;此文章來自&lt;a href="http://www.eyny.com/thread-1747882-1-4.html" target="_blank"&gt;這裡&lt;/a&gt;。&lt;br /&gt;沒有編譯器來編譯程式碼的朋友，可以&lt;a href="http://cid-87fb5e04653d7482.skydrive.live.com/self.aspx/Blogger%20%E7%A8%8B%E5%BC%8F%E8%BB%9F%E9%AB%94%E6%94%BE%E7%BD%AE/Tetris.exe" target="_blank"&gt;點我下載&lt;/a&gt;執行檔跑跑看。&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-8042498224851173959?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/8042498224851173959/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2009/08/blog-post_02.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/8042498224851173959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/8042498224851173959'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2009/08/blog-post_02.html' title='俄羅斯方塊'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_h6JuD6TTUD0/SnSTMElhJQI/AAAAAAAAAQk/NRZGjcWvRtM/s72-c/pic.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-4456744374461302782</id><published>2009-08-01T15:44:00.005+08:00</published><updated>2012-02-02T22:52:01.521+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C/C++：教學'/><title type='text'>井字圈叉遊戲</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_h6JuD6TTUD0/SnPya7rG2LI/AAAAAAAAAQc/p02JlXW7F2U/s1600-h/%E4%BA%95.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5364898125637408946" src="http://3.bp.blogspot.com/_h6JuD6TTUD0/SnPya7rG2LI/AAAAAAAAAQc/p02JlXW7F2U/s320/%E4%BA%95.jpg" style="cursor: pointer; height: 144px; width: 250px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;此程式是在&lt;a href="http://www.eyny.com/index.php" target="_blank"&gt;伊莉論壇&lt;/a&gt;的daviddr大大所寫的&lt;br /&gt;雖然看起來簡單，不過程式碼跟畫面顯示方式還蠻不一樣的&lt;br /&gt;因為在console模式還能用滑鼠操控...蠻特別...&lt;br /&gt;加上程式碼很短，不到30行&lt;br /&gt;有在練C/C++程式滴大大們，加減參考看看囉～&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span class="fullpost"&gt;以下為程式碼：&lt;br /&gt;&lt;code&gt;#include &amp;lt;windows.h&amp;gt;&lt;br /&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;extern "C" WINBASEAPI HWND WINAPI GetConsoleWindow();&lt;br /&gt;int main()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; short pos, x, y, ch = 0, rnd = 0, c[11] = {0}; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; short win[] = {7,56,73,84,146,273,292,448,0}, *w;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; char&amp;nbsp; map[] = "□ □ □\n□ □ □\n□ □ □\n";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; COORD o = {0,0};&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; POINT p; puts (map);&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (rnd &amp;lt; 9) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GetCursorPos (&amp;amp;p);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ScreenToClient (GetConsoleWindow(), &amp;amp;p);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pos = (x=p.x-2)/21 + ((y=p.y-2)/15)*3;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (x&amp;lt;0 || x&amp;gt;60 || y&amp;lt;0 || y&amp;gt;42 || c[pos] ||&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GetAsyncKeyState (1)&amp;gt;=0) continue;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE),o);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map[pos*3]&amp;nbsp;&amp;nbsp; = "○╳"[ch*2];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map[pos*3+1] = "○╳"[ch*2+1];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; puts (map);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c[ch+9] |= (c[pos] = 1) &amp;lt;&amp;lt; pos;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (w=win; *w; *w==(c[ch+9]&amp;amp;*w)? rnd=99, w=win+8: w++);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (rnd != 99) ch = !ch, rnd++;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; system ("pause"+!printf (9==rnd? "平手":"%c 獲勝","OX"[ch]));&lt;br /&gt;}&lt;/code&gt;&lt;br /&gt;此文章來自&lt;a href="http://www.eyny.com/thread-3392524-1-4.html" target="_blank"&gt;這裡&lt;/a&gt;。&lt;br /&gt;沒有編譯器來編譯程式碼的朋友，可以&lt;a href="http://cid-87fb5e04653d7482.skydrive.live.com/self.aspx/Blogger%20%E7%A8%8B%E5%BC%8F%E8%BB%9F%E9%AB%94%E6%94%BE%E7%BD%AE/OX.exe" target="_blank"&gt;點我下載&lt;/a&gt;執行檔跑跑看。&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-4456744374461302782?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/4456744374461302782/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2009/08/blog-post.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/4456744374461302782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/4456744374461302782'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2009/08/blog-post.html' title='井字圈叉遊戲'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_h6JuD6TTUD0/SnPya7rG2LI/AAAAAAAAAQc/p02JlXW7F2U/s72-c/%E4%BA%95.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-5387457019306919170</id><published>2009-07-31T18:21:00.007+08:00</published><updated>2012-02-02T22:52:11.842+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C/C++：教學'/><title type='text'>坦克遊戲雛型</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_h6JuD6TTUD0/SnLJvXDhGJI/AAAAAAAAAQU/BPInVKDcDRI/s1600-h/0907240059e260c41534f3e84c.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5364571921631484050" src="http://3.bp.blogspot.com/_h6JuD6TTUD0/SnLJvXDhGJI/AAAAAAAAAQU/BPInVKDcDRI/s320/0907240059e260c41534f3e84c.jpg" style="cursor: pointer; height: 262px; width: 254px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;在&lt;a href="http://www.eyny.com/index.php"&gt;伊莉論壇&lt;/a&gt;的C/C++討論區裡看到daviddr大大寫坦克大戰的小遊戲程式&lt;br /&gt;而且也有source code，讓大家學習學習&lt;br /&gt;&lt;br /&gt;原文網址：&lt;a href="http://www.eyny.com/thread-3505536-1-1.html"&gt;http://www.eyny.com/thread-3505536-1-1.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;每回 25 隻敵人，不含音效資料，不含雪地地形&lt;br /&gt;吃越多星星能力越高，最後能在河面行走&lt;br /&gt;可雙人操控，按ESC退出遊戲&lt;br /&gt;P1：W、S、A、D 控制方向，H發射子彈&lt;br /&gt;P2：方向鍵控制方向，Num 0 發射子彈&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;/*******************/&lt;br /&gt;//坦克大戰雛形，daviddr, 2009, 7 天寫完。&lt;br /&gt;#pragma comment (lib,"WINMM.LIB")&lt;br /&gt;#undef UNICODE&lt;br /&gt;#include &amp;lt;windows.h&amp;gt;&lt;br /&gt;#include &amp;lt;mmsystem.h&amp;gt;&lt;br /&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;#include &amp;lt;time.h&amp;gt;&lt;br /&gt;#define TankWar(o) m##o##n(){int daviddr(907);}\&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; using namespace ImageSet;struct&lt;br /&gt;extern"C" WINBASEAPI HWND WINAPI GetConsoleWindow();&lt;br /&gt;enum {UP=0, RIGHT, DOWN, LEFT}; &lt;br /&gt;namespace Bonus {enum{LIFE, CLOCK, SHOVEL, BOMB, STAR, HELMET};};&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;struct Image&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;&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;br /&gt;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int&amp;nbsp; w, h, *data; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int&amp;amp; operator[] (int i)&amp;nbsp;&amp;nbsp;&amp;nbsp; {return data[i];}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void create (int W, int H) {w=W; h=H; data = new int[w*h];}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void free ()&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; {delete[] data; data=0;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void draw (const Image&amp;amp; in, int sx, int sy, int dir=UP)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #define DRAW if (0x8F8F8E^in.data[j]) data[i] = in.data[j];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int i, j=0, x, y, W=in.w, H=in.h; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int beg = sy*w+sx, sz = W*H, dw=w-W;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (0==dir) for (i=beg; j&amp;lt;sz; i+=dw)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (x=0; x&amp;lt;W; ++x, ++i, ++j) {DRAW} else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (1==dir) for (i=beg, x=0; x&amp;lt;W; i+=dw, ++x)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (y=H-1; y&amp;gt;=0; --y, ++i) {j=y*W+x; DRAW} else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (2==dir) for (i=beg, y=H-1; y&amp;gt;=0; i+=dw, --y)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (x=0; x&amp;lt;W; ++x, ++i) {j=y*W+x; DRAW} &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else for (i=beg, x=0; x&amp;lt;W; i+=dw, ++x)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (y=0; y&amp;lt;H; ++y, ++i) {j=y*W+x; DRAW} &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void draw16 (const Image&amp;amp; in, int sx, int sy, int c)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int i=sy*w+sx, j=0, x, sz = in.h*in.w, dw=w-in.w;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (short* p=(short*)in.data; j&amp;lt;sz; i+=dw)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (x=0; x&amp;lt;in.w; ++x, ++i) &lt;br /&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; if (p[j++]^0x6318) data[i] = c;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void draw32 (const Image&amp;amp; in, int sx, int sy, int c)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int i, j=0, x, sz = in.h*in.w, dw=w-in.w;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (i=sy*w+sx; j&amp;lt;sz; i+=dw)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (x=0; x&amp;lt;in.w; ++x, ++i) &lt;br /&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; if (in.data[j++]^0xC0C0C0) data[i] = c;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;namespace ImageSet&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; enum {NUL=-1, BRICK, CONCRETE, TREE, RIVER, ROAD, HAWK, STONE, //6&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; STAR, SHIELD=STAR+4, SHIELD2, PLAYER, ENEMY=PLAYER+8, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EXPLODE=ENEMY+6, EXPLODE2, BONUS, BULLET=BONUS+6, PLAYER2,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RENEMY=PLAYER2+8, YENEMY=RENEMY+6, GENEMY=YENEMY+2, HOLE=54};&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; const int N_OBJ = 36+8+6+4+1;&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; //物件數目&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int&amp;nbsp;&amp;nbsp; palette[N_OBJ];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Image obj[N_OBJ]; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; char obj_pal[][4] = {&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //物件色盤索引&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {1,2,3},{3,4,5},{6,7,8,9},{10,11},{10,11},{1,0,3},&amp;nbsp;&amp;nbsp; //5&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {2,0,3},{9,12},{9,12},{9,12},{9,12},{9,12},{9,12},&amp;nbsp;&amp;nbsp; //12&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {9,13,14,15},{0},{0},{0},{0},{0},{0},{0},{9,16,4,17},//21&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {0},{0},{0},{0},{0},{9,18,19,20},{21,9,22,12},{9,16,4,12},&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {0},{0},{0},{0},{0},{9,4},{9,6,23,24},{9,25,21,17}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; char* hex_pal[] = { "202020",&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; //色盤總表&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "990000","CC6600","868686","C0C0C0","E3E3E3","006600",&amp;nbsp; //6&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "008000","CCFF00","8F8F8E","0066FF","00FFFF","F1F1F1",&amp;nbsp; //12&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "A06000","FFA040","FFC080","003366","DDDDDD","800000",&amp;nbsp; //18&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "FF0000","FFFFFF","FF3300","800080","00AB47","B8F8D8","990099"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; char* hex_img[] = {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "3P2CP0ACP0AWP6P0EP0EW","GF0AS1AS1AS1AS1A5@6","`2@0P`1@P0P0P4R@1Q@0P1"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "P@R@0@0TT@Q`Q@R`","4@17@60@1@22@0@170@51@2@0","6@0@51@42@1@06@2@31@0"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "@2@6","OQKQ@QBRCQ@SBP0PAS@RBQBR@U@Q@UAP0W0PA@R0U0R@AS0Q0SAA[ABR@Q@RB"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "FQFESECWCCQ@Q@QCO","OOC0JB1@PHB0@RGA0@TF@1@XB@0@ZA1@ZA0AWAQ@0@UAPAQ@"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "0BREPA0DPEPA0N0N0N","***6@76@76@75B62H35B66@76@76@7****","*6@76@76@7"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "6@75C54E40L14E45C56@76@76@76@7**","*6@76@76@75B65B63F40L13F45B65B66@"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "76@76@7**","6@76@76@75B65B64D52I2O2I24D55B65B66@76@76@76@7","5C54@3@"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "43@5@33@5@31A7A10@;@0@=@@=@@=@0@;@01A7A13@5@33@5@34@3@44@3@45C5","1A"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "7A10@1@5@1@0@3A1A3@@5A5@0@;@01@9@11@9@12@7@22@7@21@9@11@9@10@;@0@5A5"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "@@3A1A3@0@1@5@1@01A7A1","5`65`6`A2`3`A`P`2`3@QA`0`P`A1B`PbSBQAaPaSB`"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "PaP`P@R@QAaP`P@RB`PbPAR@QA`@aRD`P`0D1@QPA7BPA7B","5`65`6`Q2`3`QA`2`3"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "B`P`0`P`A1@QAbSD`PaPaS@QAaP`P@RB`PaP`P@R@QAbPARB`P`@aRBQA`0D1B`Q7@Q`"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Q7@Q","5`65`65`6`Q1@`@2`QAb@`F`QaP`PCQAPaREAP`P`P@PD`Q`P`P@PBQAP`P`P"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "@PD`Q`QAPBQAPaRE`P`HQB7B","5`65`65`6AP1@`@2`A`Qa@`DQAPaP`PE`QaRCQ`Q`"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "P`P@PBQAP`P`P@PD`Q`P`P@PBQAP`QAPD`QaRCQA`J`P@7@Q","4`Q55`6PA0`@`A1`A"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "`Q@`@`EP@PaTD`P`QaSAP@P`Q`P@RB`P`Q`P@RAP@P`Q`P@RB`P`Q`P@RAP@PaQAPD`Q"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "aRDP@QJ`Q7AP","4`Q55`6`A0`@`A1`@PR@`@`F`PaTCPQ`QaSB`P`Q`P@RAPQ`Q`P@R"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "B`P`Q`P@RAPQ`Q`P@RB`PaQAPCPRaRE`QIPR7B","PA2`P2`A`PbP`P@R@P@QaP`P@Q@"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "P@`QaP`P@Q@Q@QcRAP@`Q`UAQ@Q`PbQAP@`Q`P`Q@PAQ@Q`P`Q@PAP@`Q`QBPAQ@Q`UA"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "P@`QFP@Q@PHPA`Q7@Q","PA2`P2`@P@PbP`P@RA`QaP`P@Q@Q@QaP`P@Q@P@`QcRAQ@Q"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "`UAP@`Q`PbQAQ@Q`P`Q@PAP@`Q`P`Q@PAQ@Q`QBPAP@`Q`UAQ@QFP@P@`PHP@P@Q7@P@"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,"5`65`6`Q1P`@2`QAP0`P`A1PA`QaP`CRAPaRBPA`Q`Q@QARAP`PA`PAPA`Q`P@aPARA"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "P`TAPA`QaRBRAP0`QA1PA`Q1B2R=","5`65`6AP1P`@2`A`Q0`P`A1RAPaP`CPA`QaRB"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "RAP`Q@QAPA`Q`PA`PARAP`P@aPAPA`Q`TARAPaRBPA`Q0`QA1RAP1B2PA=","6`50A0a"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "@`@Q0@00P@b@`@S00APa@`BP@02Q`P`PAP12P`T@P10AP`Q@Q@P@00P@P`PA`P@Q00AP"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "`P@aP@P@02P`T@P10ARbAP@00P@PFQ00A0BPB0@00A0BPB0@0","6`50P@0a@`@Q0P00"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Ab@`@R@00APa@`BP@02Q`P`PAP12P`T@P10P@P`Q@Q@Q00AP`PA`P@P@00AP`P@aP@P@"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "02P`T@P10P@RbAQ00APFP@00A0BPB0@00A0BPB0@0","AQ@aP@QA0`T`@T0AP`Q`@QB0"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "`Q`Q`@`P@Q0APaP`@`C0`QeAQ0AP`Q@QC0`Q`PA`PAQ0AP`P@aPC0`Q`TAQ0AP`TC0`R"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "DP@Q0APFPA0`Q2P2@Q0","`R@aP@S0AS`@RA0`Q`Q`@Q@Q0AP`Q`@`PB0`QaP`@`AQ0A"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "PeC0`Q`Q@QAQ0AP`PA`PC0`Q`P@aPAQ0AP`TC0`Q`TAQ0AQDPB0`QFR0AP2P2B0","1@"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "1@2`30`0@0`@0`@2`A`@0@`0`@0a@1@`Ab@`A02`Pb@Pa0@0@0@`P0PaA1@0@bR0@baA"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "`0Q0aA01@a@R`A0@2`P`@0@`P`1C`PbP@a02`@`Aa0A`2A`@0@`2@1`1`0@0A2","`ON"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "P`B`LQaF`@@P`BPD`R@PcQC`PAAQCa@bP@PbA`QA`PBBQA`Pb0b@a@`P@`QAPBBPAaQ0"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "PiP@`PEE`PcPeQa@`P@aBCQhQcPbQaPACPc@`QcPeQaR@DaAd0c0cPa@`Q@Bb@b0b1a1"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "`0`Pc@`P@APf2`0`2`0cPa@`P`A`Pa@b0@1`P1`0dP`@`RBP`@Pc0a0@0`0b0`P`@`Q`"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "@BQ@Pc3`P2`0ePB@`@b@P`4b@`0eQaA@i1P@a3cPbQ@b0Pc0`0a0Pa0@`2eP@cPb0a3@"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "1`0f@aP`PaP`0c1`1`3dPa@aPSaQ`1Q`2a1aQc@`@@Q@i0e0bPa@`P`DfPePh@`PCa@a"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "@f@Q@fP`P`CbAQbPbAbP@aAPaCeQb@cPaQA`Q`@CPcP@c@bRaT`AA`AP`QARa@R@`0aQ"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "`CB`AQEbBbQC`AAP@PD`PBfQ`AP@PA@`APF`BaQ`RCP@`@`I`DR@PHP","0lP`&amp;lt;``0K`"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "`0D`Q0B``0@cR@0A``0@3R@0A``0B`QAP@0@``0A`TA0@``0@QcR@0``0@P`P5P0``0@"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "0`0`0`0`@P0``0A0V0@``0B6A`PlP","0lP`&amp;lt;``0C`P`P0B``0CP2`P0@``0BS3@``0A"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "PcP0B``0@Pa@bP0A``0@Pa@bP0A``0@Pb@aP0A``0@0PcP0B``0A0S0C``0B3D``0K`P"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "lP","0lP`&amp;lt;``0G`B``0G`PA``0GR@``0F`2@``0B`A`0C``0AaP`0D``0@aP@P0D``0@"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "`P@R0C``0@T0D``0@S0E``0@3F`PlP","0lP`&amp;lt;``0BbQ0B``0B`P@1P0A``0A`R@1P0@"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "``0@`P@`P@P0P0@``0@R1P1P0@``0@`P@`P@P0P0@``0@R1P1P0@``0@`P@`P@P1A``0"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "AP@1P0C``0B`Q0D``0B2E`PlP","0lP`&amp;lt;``0D`0D``0CaP0C``0CaP0C``0dQc0``0@R"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "`P`R1``0APcQ1@``0AaQaP0A``0@P`Q0Q`P0@``0@`Q2Q`0@``0@P2A1P0@``0@1E1@`"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "PlP","0lP`&amp;lt;``0K``0K``0BbQ0B``0AaT0A``0A`U0A``0AV0A``0@W0A``0@4S0@``0"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "E4@``0K``0K`PlP","0@1B0B0B0"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; char* lev_data[] = {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "uuuk'g'g'g'g'g'i'g'g'g'g'g'i'g'g'g'g'g'i'g'g'g'g'g'i'g'g'7'g'g'i'g'g"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "'7'g'g'i'g'g'g'g'g'i'g'o'g'i'g'o'g'q'g'ui'g'o'g)o)g'7g)o)g7o'g'ui+q'"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "g'g+g'g'i'g'g'g'g'g'i'g'g'g'g'g'i'g'g'g'g'g'i'g'o'g'i'g'o'g'i'g'i'i'"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "g'r&amp;amp;g&amp;amp;uk&amp;amp;g&amp;amp;p","k7k7u7k7q'g7k'g'g'i'g7k'g'g'i'm)g'7'i'm)g'7'm'o7q'o7k"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Gi'i7i'G'7Gi'i7i'G'7Ik'i7gGiIk'i7gGk+K7iG'i+K7iG'm7G'g'g'g'm7G'g'g'g"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "'g7'g7g'g'k'g7'g7g'g'k'i'g'g+g'7'i'g'g+g'7'i'g'g+q'g'g+q's'g'i's'g'i"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "'g'iwi+i'g'iwi+g","m'k'u'k'oK'ugK'o;'Kug'KuiKk'g,hKk'g,fM-g'h&amp;amp;gM+i'h"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "&amp;amp;gMi'n&amp;amp;gMi'n&amp;amp;iGm;iGiGm;iGuiMg'g'oM(g)g,M(g)g&amp;amp;kMo'kMo'g)M'i6l)Kg'i6pK"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "g)g6pKg)g6pKg7)kwi'k7)kwi'k","gIuGiIuGgIk'qKi/kIj2i7Gj4i7i5&amp;amp;n5&amp;amp;m(k+g"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "&amp;amp;m&amp;amp;o)g&amp;amp;m&amp;amp;g6h6h(q&amp;amp;g6h6h(lWg'o(h[g'g)i(hYi5o5n5'm5'l5)o1o)g-g)gGg+g)g+"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "gIg)m)gKuiI7GmwkI9GmwkI7","m)uk)uk'k;i7g'g'o7i7g'k'q7g'k'q'g+g)gYgW'"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "g+g)gYgW'k'mWumWsYg[o'gYg[k)iW'g(j-iW'g(j)mWo7qWo7i[gWg7g'g6j[gWg7g'"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "g6un6f)k)o6f)m/u'k)k+q)i)u'i'owumwq","p&amp;amp;g&amp;amp;fIuf&amp;amp;g&amp;amp;fIm&amp;amp;g6g&amp;amp;m&amp;amp;G&amp;amp;g&amp;amp;Gg&amp;amp;g6"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "g&amp;amp;m&amp;amp;G&amp;amp;g&amp;amp;Gg&amp;amp;g6g&amp;amp;h'h&amp;amp;G&amp;amp;g&amp;amp;Gg&amp;amp;g6g&amp;amp;h'h&amp;amp;G&amp;amp;g&amp;amp;Gg'i'g7g'Gg'Gg'i'g7g'Gg'Gg'h&amp;amp;7"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "g'g'6hIg'h&amp;amp;i'i6hIg'kG'Gi)i'kG'Gi)p&amp;amp;K&amp;amp;ug&amp;amp;K&amp;amp;n7k'K'f*9mKh*=kGk;m'gGg'o'"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "i'k'o'i'k'o(j'g'j(Gg(u(Gi'sKuiKqwmIi'kwk'I","s9uuk=m7m7s7m7kGg;m7kGi"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "9k7kG7k7k7kG7k7qG9k9oG9m7i7gG;g7o7gG;g7p6g9k9n6g9k9k6l7g;j6g6l7g;j6j"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "8k9Gi7j8k9Gi7i7m7Gi9i7m7Gi9i;iGi7q7iGi7um7i7uk9qwq9mwq","i'i'k'o'i'g"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "'g'kG+g'k(jG+g'g7g(jKi'g'g'h'fKm'l'fGeYgWGeYgWg'um'm)s'j07k'j*g'm'g'"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "h*G'i'g'g'h*G'9'k7kMo7g7gMiYg_gag_g]Ih&amp;amp;ugIh&amp;amp;i)oI'g&amp;amp;k&amp;amp;k'gI'g&amp;amp;k&amp;amp;g7)gGg"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "'g&amp;amp;n'g'gG7'g&amp;amp;r'swm'swi'k","k'qGo'o7Gi'qGf9h)o7Gf9h'mGf9h7Go7Gf9jGn9h"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "7Gt9jGu7GumGukGgGgGgGqG7GgG7Gk7'h9i9h'9'h9i9h'7kG7GgG7GqGgGgGgGuum7k"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "7m'j9i9j)j9i9j)iG7GgG7Gi)iGgGgGgGi'us's'm)iwi)m)iwi)i","uuul*q*i&amp;amp;g'q"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "'g&amp;amp;g(i'gIg'j&amp;amp;f&amp;amp;k'gIg'j(k'M'j(k'M'j(k'G9G(h)k'G9G(h'ma)i+a)i+9'9+i+9'"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "9+k)7g'g7*l)7g'g7*l5(l5(h'G+9-G)Gk9mG)UK)UK'iKkMkKkMm&amp;amp;jwk&amp;amp;p&amp;amp;jwk&amp;amp;j",&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "o7g'g)s7g'g)l.g'r.g'u&amp;amp;h'g)gKk&amp;amp;h'g)gKh&amp;amp;o7gMh&amp;amp;o7gMh&amp;amp;g+7)I'7h&amp;amp;g+7)Ig7g+"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "7i'gIq7i'gIj,g7Oj,g7Oo7iO'm7iO'g7'gM7K'g7'gM7K'h(Om(g(Om(h'Im7+i'Io+"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "kIo'h&amp;amp;kIo'h&amp;amp;kIiws'Iiwq","s+ui+m+o'm-g'i's'g'm)m'q)g_g(j'7g_g(j'qWg'g"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "8f'k;Wg'g8f'i-[gW)i-[gW)o7WkW7q7WkWk[gY)gWk[gY)gWu'9g[q'k[g+ui+um'g9"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "k)h&amp;amp;i'q)h(u'i)u'i'qwumwq","uug'k'o-k-i-k-i'm'm7i'm'm7i7g)k)g)g7g'o'g"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ")g'g&amp;amp;fGg7gGf&amp;amp;g7'g'g&amp;amp;fG;Gf&amp;amp;g7'g'iOi7oOm'kOm'7iOi'g'7g&amp;amp;fG;Gf&amp;amp;g'g'7g&amp;amp;fG"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "g7gGf&amp;amp;g'g)g'o'g7g)g)k)g7g'7m'm'g'7m'm'g/k+9/k+9)i'k'i'g)ug'g)mwq)mwq"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,"uuuiIk+kMi/iKj1jIj1jGk)G'G)q)G'G)q'I'I'q'I'I'kGi3iIi3iKi'G'G'iMi'G'"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "G'iI[g/gag/g[n&amp;amp;f&amp;amp;f&amp;amp;f&amp;amp;f&amp;amp;uf&amp;amp;f&amp;amp;f&amp;amp;f&amp;amp;f&amp;amp;u&amp;amp;f&amp;amp;f&amp;amp;f&amp;amp;f&amp;amp;uf&amp;amp;f&amp;amp;f&amp;amp;f&amp;amp;f&amp;amp;o6f6f6s6f6f6g"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "6f6f6s6f6f6f&amp;amp;f&amp;amp;f&amp;amp;u&amp;amp;f&amp;amp;f'f&amp;amp;f&amp;amp;u&amp;amp;f&amp;amp;f&amp;amp;6f6f6g6iwi6g6f6f7f6f6g6iwi6g6f6f6",&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "m)i'u)i'oI)k'oI)k'mU)kU)kG7'G+M'7Gg'G+M'7I'K7I'6f'gI'KgI'6f'iI'gM'g'"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "iI'7M'g'i+iI*fIg+iI*fIf8)k)kGf6g)k'mGg'g'k'I(fGg'g'g7'gI(fGg'j*I'iGg"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "'j(gI'iGg*g(IgG'Ig*g&amp;amp;gI'G'Ii'o'G'Gk'o'G'Gk'kwiKswiKg","uuum7G7ui7G7u"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "kGgGuiGgG7sGmGsGmG'qIiGgGqIiGgG7oGgGgGiGoGgGgGiG'mGiGkImGiGkI7mGmMmG"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "mM'mGiGgMmGiGgMg'oGiK7'oGiK7)oGgM)oGgM7)oGgK7)oGgK9)iwgGiI9)iwgGiI",&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "uug'o'k'g)iK)i'g)iK)i'i'g7Oi'i'g7OgK6f'i'MgK6f'i'MgQ)f'lQ)f'q6M'f'h7"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "l6M'f'l-S1S)k)M6r)M6n+gK)g'i+gK)g'gK'Gm'g'gK'Gm'g'gO7g7k'gOo)g'Mm'k'"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Mm'k)6lwi'g'g)6lwi'g'g","u;Gug;Gi'q7i7i'q7i7g'G'k-g7g'G'k-g7i'G'i'gG"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "'9i'G'i'gG'9k'gG7'Gg'o'gG7'Gg's7g'7)s7g'7)o)7'g7s)7'g7s'gG'7Gs'gG'7G"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "o;Gg'i)k;Gg'i)k7g-i'9i7g-i'9i7i7o7)g7i7o7)gG;q'9G;q'9qwm9qwm9","g'g'"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "g'g'g'g'i'g'g'g'g'g'i'g'g'g'g'g'i'g'g'g'g'g'i7g7g7g7g7g7uui'k'm'g'g'"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "k'g'g)g+g'g+g)g'g'g'g'g'g'i7g7g7g7g7q7k7mIi'gGg'iMi'gGg'iQ)G)U'gGg'U"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "UUQm'K'm'g'g'K'g'g'g'g'iGi'g'i'g'iGi'g'i'g'o'g'i'g'o'g'swumwq","kWg'"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "i'g'oWg'i'g'ui'g7ui'g7oWi7g'g'oWg'7g'g'i7g'Wg7i'g'm'Wg7g'i'm'Wk's'Wk"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "'q)Yg]g'i)Yg]g'uGgWg9k'kGgWk)f(g7KWk)f(g7KWg+h&amp;amp;i'KWg'l&amp;amp;i'KWg'q'gGgWg"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Gi7k'gGgWgGi'k+iKg'g7qKg'g'oWKg'g'oWKqwiWgGswiWgGg"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void set_image (char pal[4], char* code, Image&amp;amp; img, int w, int h)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; img.create (w,h);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int i,j,n; char c, *end = code + strlen (code);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (i=0; i&amp;lt;w*h &amp;amp;&amp;amp; code &amp;lt; end; ++code) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c = *code; c = (c=='*'?'?':c=='+'?'\\':c)-'0';&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; j = pal [c&amp;gt;&amp;gt;4];&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; //顏色索引值 (0~3)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; n = (c&amp;amp;15) + 1;&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; //重複次數 (1~16)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (n--) img[i++] = palette [j]; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void init_obj ()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int i, n = sizeof hex_pal/ sizeof*hex_pal;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (i=0; i&amp;lt;n; ++i)&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; //設定調色盤&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sscanf (hex_pal[i], "%x", palette+i); i=0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #define SET_IMG(p,i,o,w,h) \&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set_image (obj_pal[p], hex_img[i], obj[o], w, h);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (;i &amp;lt;= ROAD;&amp;nbsp;&amp;nbsp;&amp;nbsp; ++i) SET_IMG (i,i,i,&amp;nbsp; 8,&amp;nbsp; 8);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (;i &amp;lt;= SHIELD2; ++i) SET_IMG (i,i,i, 16, 16);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (;i &amp;lt;= EXPLODE-1;++i)SET_IMG (i&amp;lt;21?PLAYER:ENEMY,i,i, 14,14);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (;i &amp;lt;= EXPLODE; ++i) SET_IMG (i,i,i, 14, 14);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (;i &amp;lt;= EXPLODE2;++i) SET_IMG (i,i,i, 32, 32);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (;i &amp;lt;= BULLET-1;++i) SET_IMG (BONUS,i,i, 15, 14);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SET_IMG (i,i,i, 4, 4); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (i=0; i&amp;lt;8; ++i) SET_IMG (36, i+PLAYER,i+PLAYER2,14, 14);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (i=0; i&amp;lt;6; ++i) SET_IMG (37, i+ENEMY, i+RENEMY, 14, 14);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (i=0; i&amp;lt;2; ++i) SET_IMG (13, i+ENEMY+4, i+YENEMY, 14, 14);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (i=0; i&amp;lt;2; ++i) SET_IMG (36, i+ENEMY+4, i+GENEMY, 14, 14);&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; obj[HOLE].create (4, 4);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; memset (obj[HOLE].data, 0x22, 4*4*4);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void release_obj () {for (int i=N_OBJ; i--;) obj[i].free();}&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;int TankWar(ai) Sprite&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; //單元物件&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int&amp;nbsp;&amp;nbsp; id;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //影像類型,可索引物件邊界&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int&amp;nbsp;&amp;nbsp; x, y, dir, step;&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; //位置, 移動方向, 步距&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int&amp;nbsp;&amp;nbsp; type, life;&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; //元素類型, 生命值&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int&amp;nbsp;&amp;nbsp; maxMoveDelay, nMoveDelay;&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;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bool&amp;nbsp; bActive;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; //是否在活動中&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bool move (int dir_)&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; //傳回「是否移動了」&lt;br /&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;&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; //時間到才移動&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (nMoveDelay-- &amp;gt; 0) return false;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nMoveDelay = maxMoveDelay;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dir = dir_;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (dir == UP&amp;nbsp;&amp;nbsp; ) y -= step; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (dir == DOWN ) y += step; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (dir == LEFT ) x -= step; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (dir == RIGHT) x += step;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return true;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bool bCollide (const Sprite&amp;amp; o)&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;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int x2 = x + obj[id].w;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int y2 = y + obj[id].h;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int X2 = o.x + obj[o.id].w;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int Y2 = o.y + obj[o.id].h;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return !(x2 &amp;lt; o.x || x &amp;gt; X2 || y2 &amp;lt; o.y || y &amp;gt; Y2);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void set (int ID, int X, int Y, int DIR, int STP, &lt;br /&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; int LF, int MD=0, int TYPE=0, bool ACT=true) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; id=ID; x=X; y=Y; dir=DIR; step=STP; life=LF; type=TYPE;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nMoveDelay = maxMoveDelay = MD; bActive = ACT;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Sprite() :bActive (false) {} &lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;struct Map&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; enum&amp;nbsp;&amp;nbsp; {W=13, H=13, W4=W*4, H4=H*4};&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; enum&amp;nbsp;&amp;nbsp; {MAX_EXPLODE = 64};&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Sprite explode [MAX_EXPLODE];&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;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int&amp;nbsp;&amp;nbsp;&amp;nbsp; nMaxExplode;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int&amp;nbsp;&amp;nbsp;&amp;nbsp; cid;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //撞到什麼東西&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; char&amp;nbsp;&amp;nbsp; space[W4][H4];&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; //記錄子區塊的元素類型&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int&amp;nbsp;&amp;nbsp;&amp;nbsp; mapX, mapY;&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; //地圖在canvas中的起始座標 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Image&amp;nbsp; canvas;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; //back buffer &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Image&amp;nbsp; bg;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //背景畫面&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bool&amp;nbsp;&amp;nbsp; bStone;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; //堡壘是否被破壞&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bool&amp;nbsp;&amp;nbsp; bRiver1;&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;&amp;nbsp;&amp;nbsp; //河流動畫&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bool&amp;nbsp;&amp;nbsp; bProtected;&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; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int&amp;nbsp;&amp;nbsp;&amp;nbsp; riverChangeTime;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int&amp;nbsp;&amp;nbsp;&amp;nbsp; nRiverChangeTime;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int&amp;nbsp;&amp;nbsp;&amp;nbsp; protectTime;&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; //基地被水泥保護的剩餘秒數&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Map(): riverChangeTime(10), protectTime(0),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nRiverChangeTime(0), nMaxExplode(0)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {mapX = 16; mapY = 18;} &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void set_space_2x2 (int x, int y, int o) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; space [y][x&amp;nbsp; ] = space [y+1][x&amp;nbsp; ] = &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; space [y][x+1] = space [y+1][x+1] = o;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void draw_hawk (bool bStone_=false)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bStone = bStone_;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set_space_2x2 (7*4-2, 13*4-2, HAWK);&amp;nbsp;&amp;nbsp;&amp;nbsp; //建主堡&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bg.draw (obj[bStone?STONE:HAWK], 6*16, 12*16);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void setProtect (bool bProtect)&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;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; static struct {int x,y;} &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; p[] = {11,23,12,23,13,23,14,23,11,24,11,25,14,24,14,25};&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int o = bProtect? CONCRETE: BRICK, i=0; i&amp;lt;8; i++) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bg.draw (obj[o], p[i].x*8, p[i].y*8);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set_space_2x2 (p[i].x*2, p[i].y*2, o);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (bProtected = bProtect) protectTime = 360;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bool bPass (Sprite&amp;amp; o)&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; //測試物件是否發生碰撞&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cid = ROAD;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int x = o.x, W = obj[o.id].w; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int y = o.y, H = obj[o.id].h; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (x&amp;lt;0 || y&amp;lt;0 || x&amp;gt;=bg.w-W || y&amp;gt;=bg.h-H) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cid = HOLE; return false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int i,j,c, w = x+W-1, h = y+H-1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x/=4; y/=4; w/=4; h/=4;&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;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (i=y; i&amp;lt;=h; ++i)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (j=x; j&amp;lt;=w; ++j) {&lt;br /&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; c = space[i][j]; &lt;br /&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; if (c!= TREE &amp;amp;&amp;amp; c!= ROAD) {&lt;br /&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; if (o.type &amp;gt; 15 &amp;amp;&amp;amp; c==RIVER) continue;&lt;br /&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; cid = c;&lt;br /&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; return false;&lt;br /&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; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return true;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void draw_canvas (const Sprite&amp;amp; s)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; canvas.draw (obj[s.id], mapX+s.x, mapY+s.y, s.dir);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void draw_river()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int o,x,y=0; y&amp;lt;H4; y+=2)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (x=0; x&amp;lt;W4; x+=2)&lt;br /&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; if((o = space[y][x])==RIVER)&lt;br /&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; canvas.draw (obj[o+bRiver1], mapX+x*4, mapY+y*4);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void update()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (protectTime &amp;gt; 0) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (protectTime-- == 1) setProtect (false);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (nRiverChangeTime++ &amp;gt; riverChangeTime) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nRiverChangeTime = 0;&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;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bRiver1 = !bRiver1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int o,x,y=0; y&amp;lt;H4; y+=2)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (x=0; x&amp;lt;W4; x+=2)&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;br /&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; if ((o = space[y][x]) == TREE)&lt;br /&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; canvas.draw (obj[o], mapX+x*4, mapY+y*4);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; draw_explodes();&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; //畫出爆破物&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void addExplode (int id, int x, int y)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int i, j;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (i=0; i&amp;lt;MAX_EXPLODE; ++i) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!explode[i].bActive) {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //根據爆炸模式設定時間&lt;br /&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; explode[i].set (id, x, y,0,0, id==EXPLODE? 4:12);&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&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; if (i &amp;gt; nMaxExplode) nMaxExplode = i;&lt;br /&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; break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (j=nMaxExplode; !explode[j].bActive &amp;amp;&amp;amp; j&amp;gt;i; --j); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nMaxExplode = j;&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; //調整欲顯示的最大編號&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void draw_explodes ()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Sprite *e;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int i=0; i&amp;lt;= nMaxExplode; ++i) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (explode[i].bActive) {&lt;br /&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; e = explode + i;&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;br /&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; if (--e-&amp;gt;life == 0) &lt;br /&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; e-&amp;gt;bActive = 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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&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; else if (EXPLODE == e-&amp;gt;id ||&amp;nbsp;&amp;nbsp;&amp;nbsp; //延遲大爆炸的播放&lt;br /&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; (EXPLODE2 == e-&amp;gt;id &amp;amp;&amp;amp; e-&amp;gt;life &amp;lt; 8))&lt;br /&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; draw_canvas (explode[i]);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;};&lt;br /&gt;const int MAX_LEVEL = 20;&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; //內定關卡數 &lt;br /&gt;const int MAX_TANK = 27;&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; //坦克集合的大小&lt;br /&gt;struct Tank; Tank *tanks = 0;&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; //指向坦克集合 &lt;br /&gt;Map*&amp;nbsp;&amp;nbsp; map = 0;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //指向遊戲地圖&lt;br /&gt;&lt;br /&gt;struct Depot&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //彈藥庫 &lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int MAX_BULLET;&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;&amp;nbsp;&amp;nbsp; //最大彈藥數&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int nLimit;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //限制可存取的總彈藥量&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Sprite *b, *bullet;&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; //庫藏彈藥 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int getBullet ()&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;&amp;nbsp; //從庫中取出 1 顆子彈&lt;br /&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;&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; //若失敗, 傳回 -1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int i=0; i&amp;lt;MAX_BULLET; ++i)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //若成功, 傳回子彈id&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (bullet[i].bActive == false) &lt;br /&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; {bullet[i].bActive = true; return i;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return -1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void processBullets ()&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; //顯示所有作用中的子彈&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int i=0; i&amp;lt;nLimit; i++)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((b=bullet+i)-&amp;gt;bActive) {&amp;nbsp;&amp;nbsp; &lt;br /&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; map-&amp;gt;draw_canvas (*b);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //畫出子彈&lt;br /&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; hitObject (*b);&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;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bool hitObject (Sprite&amp;amp; b)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bool hit = false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int x,y, dx,dy, c, sx,sy, ex,ey; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int bx= b.x-6, by= b.y-6;&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; //(bx,by) = 邊界盒左上角&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int bW = map-&amp;gt;bg.w, bH = map-&amp;gt;bg.h; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b.move (b.dir);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; switch (b.dir) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case UP:&amp;nbsp; case DOWN:&amp;nbsp; sx=0, ex=16, sy=4, ey=12; break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case LEFT:case RIGHT: sx=4, ex=12, sy=0, ey=16; break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (dy=sy; dy&amp;lt;ey; dy+=4)&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; //檢測子彈邊界盒 4 邊角&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (dx=sx; dx&amp;lt;ex; dx+=4) { &lt;br /&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; x = bx + dx;&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; &lt;br /&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; y = by + dy;&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; //是否出界? &lt;br /&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; if (x&amp;lt;0 || y&amp;lt;0 || x&amp;gt;=bW-2 || y&amp;gt;=bH-2) {&amp;nbsp; &lt;br /&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; hit = true; &lt;br /&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; b.life = 1; &lt;br /&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; continue;&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&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; x/=4; y/=4;&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; //對應到 space 單位去索引&lt;br /&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; c = map-&amp;gt;space[y][x];&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;br /&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; &lt;br /&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; if (b.type==c || c==BRICK &amp;amp;&amp;amp; b.type==CONCRETE) {&lt;br /&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; map-&amp;gt;space[y][x] = ROAD;&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; &lt;br /&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; map-&amp;gt;bg.draw (obj[HOLE], x*4, y*4);&lt;br /&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; }&lt;br /&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; if (c==BRICK || c==CONCRETE) hit = true;&lt;br /&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; else if (c==HAWK) {&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;br /&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; map-&amp;gt;draw_hawk (true);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //便將它化成廢墟&lt;br /&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; map-&amp;gt;addExplode (EXPLODE2, 11*8, 23*8);&lt;br /&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; hit = true;&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&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;&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; //若打中東西&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (hit) checkExplode (b);&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;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return hit;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void checkExplode (Sprite&amp;amp; b)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (--b.life &amp;lt;= 0) {&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; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b.bActive = false;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map-&amp;gt;addExplode (EXPLODE, b.x-6, b.y-6);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void setup (int nBullet, int nLimit_) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nLimit = nLimit_;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bullet = new Sprite [MAX_BULLET = nBullet];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int i=0; i&amp;lt;MAX_BULLET; ++i) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bullet[i].bActive = false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;&amp;nbsp;&amp;nbsp; ~Depot () {delete[] bullet;} &lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;struct Tank: Sprite&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bool&amp;nbsp; bMov2;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //捲輪子&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int&amp;nbsp;&amp;nbsp; cid;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //撞到什麼東西&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int&amp;nbsp;&amp;nbsp; frame;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int&amp;nbsp;&amp;nbsp; bonus;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //攜帶道具&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int&amp;nbsp;&amp;nbsp; nAtkDelay, maxAtkDelay;&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;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; float nBegin, nFlick, nShield;&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;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Depot *depot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //彈藥庫指標&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void setBonus()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int i = rand()%100; flick();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bonus = BONUS + (i&amp;lt;10?0: i&amp;lt;30?1: i&amp;lt;50?2: i&amp;lt;62?3: i&amp;lt;85?4: 5);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void fire()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (nAtkDelay&amp;gt;0 || nBegin&amp;gt;0) return;&amp;nbsp;&amp;nbsp;&amp;nbsp; //時間到才做運算&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nAtkDelay = maxAtkDelay;&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;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int i = depot-&amp;gt;getBullet();&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;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (i == -1) return;&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; //彈藥已無庫存 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int cw = obj[id].w, bX = x, bW = 4;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //子彈圖像的寬度&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int ch = obj[id].h, bY = y, bH = 4;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //子彈圖像的高度&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; switch (dir) {&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; //將子彈放在砲口方向&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case UP:&amp;nbsp;&amp;nbsp;&amp;nbsp; bX += (cw-bW)/2; bY -= bH; break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case LEFT:&amp;nbsp; bX -= bW; bY += (ch-bH)/2; break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case DOWN:&amp;nbsp; bX += (cw-bW)/2; bY += ch; break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case RIGHT: bX += cw; bY += (ch-bH)/2; break;&lt;br /&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; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int speed = 1, b_life = 1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int b_type = type&amp;gt;2? CONCRETE: BRICK;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; switch (type) {&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; //在坦克物件中的&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case 0: speed = 3; break;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //type 意指子彈類型&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case 1: speed = 4; break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case 2: speed = 5; break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case 3: speed = 5; break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case 4: speed = 5; b_life = 2; break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case 5: case 6: speed = 5; b_life = 3; break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case 7: case 8: speed = 5; b_life = 4; break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case 9: case 10:speed = 6; b_life = 5; break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case 11:case 12:speed = 7; b_life = 5; break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case 13:case 14:speed = 7; b_life = 6; break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case 15:case 16:speed = 7; b_life = 7; break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case 17:case 18:speed = 7; b_life = 8; break;&lt;br /&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;&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; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; depot-&amp;gt;bullet[i].set&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; //設定子彈資訊&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (BULLET, bX, bY, dir, speed, b_life, 0, b_type, true); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void move (int dir_)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cid = ROAD;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (nBegin &amp;gt; 0) return;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int ox=x, oy=y, odir = dir;&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;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ++frame %= 4;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (0 == frame) bMov2 = !bMov2;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Sprite::move (dir_);&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; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!map-&amp;gt;bPass (*this)) {&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;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (dir != odir) {&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; //若方向有變&lt;br /&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; int dx = x%16, dy = y%16;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //調整位置使之與元素相貼&lt;br /&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; x = (x/16)*16+ (dx&amp;lt;6? 1: dx&amp;lt;13? 9: 17);&lt;br /&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; y = (y/16)*16+ (dy&amp;lt;6? 1: dy&amp;lt;13? 9: 17);&lt;br /&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; if (!map-&amp;gt;bPass (*this)) &lt;br /&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; x = ox, y = oy, cid = map-&amp;gt;cid;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }else x = ox, y = oy, cid = map-&amp;gt;cid;&lt;br /&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; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Sprite s; s.id=ENEMY;&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; //重疊移動用的暫時物件&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int i=0; i&amp;lt;MAX_TANK; ++i)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //是否和其他坦克發生碰撞&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (this != &amp;amp;tanks[i] &amp;amp;&amp;amp; &lt;br /&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; tanks[i].bActive&amp;nbsp; &amp;amp;&amp;amp;&lt;br /&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; tanks[i].nBegin &amp;lt;=0 &amp;amp;&amp;amp;&lt;br /&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; bCollide (tanks[i])) {&lt;br /&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; s.x = ox; s.y = oy;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //檢驗移動前是否已碰撞&lt;br /&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; if (!tanks[i].bCollide(s))&amp;nbsp; //若非一開始便位置重疊&lt;br /&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; x = ox, y = oy,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //便進行碰撞處理 &lt;br /&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; cid = i&amp;gt;1? ENEMY: PLAYER;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&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; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void autoMove()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; move (rand()%180==0? rand()%4: dir);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (cid != ROAD) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((cid == BRICK || cid == PLAYER) &amp;amp;&amp;amp;&lt;br /&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; rand()%3 &amp;gt; 0) fire(); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else dir = rand()%4;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if (rand()%15 == 0) fire();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void draw ()&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //根據狀態描繪外貌&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (nAtkDelay &amp;gt; 0) nAtkDelay--;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int mx = x + map-&amp;gt;mapX;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int my = y + map-&amp;gt;mapY;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Image* c = &amp;amp;map-&amp;gt;canvas;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (nBegin &amp;gt; 0) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c-&amp;gt;draw (obj[STAR + int(nBegin-=.7f) %4], mx, my);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (nFlick &amp;gt; 0 &amp;amp;&amp;amp; bMov2) {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //閃紅光&lt;br /&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; nFlick--;&lt;br /&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; int i = id&amp;gt;ENEMY+6? 4: id-ENEMY;&lt;br /&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; c-&amp;gt;draw (obj[RENEMY + i + bMov2], mx, my, dir);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else c-&amp;gt;draw (obj[id + bMov2], mx, my, dir);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (nShield &amp;gt; 0)&lt;br /&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; c-&amp;gt;draw (obj[SHIELD+(int(--nShield)%4&amp;lt;2)],mx,my);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void setup (Depot&amp;amp; depot_, int atkDelay_) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; depot = &amp;amp;depot_;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; maxAtkDelay = atkDelay_;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; begin();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void checkExplode()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; life--;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (id == GENEMY) id = YENEMY; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (id == YENEMY) id = ENEMY+4; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (life &amp;lt;= 0) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bActive = false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map-&amp;gt;addExplode (EXPLODE2, x-8, y-8);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void levelup()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (type &amp;lt; 18) type++;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (type == 2) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int i = depot-&amp;gt;nLimit++;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; depot-&amp;gt;bullet[i].bActive = false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int a = id-PLAYER, b = id-PLAYER2;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (0&amp;lt;=a &amp;amp;&amp;amp; a&amp;lt;6 || 0&amp;lt;=b &amp;amp;&amp;amp; b&amp;lt;6) id += 2;&amp;nbsp;&amp;nbsp;&amp;nbsp; //改變外型&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void begin()&amp;nbsp; {nBegin&amp;nbsp; = 28;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void flick()&amp;nbsp; {nFlick&amp;nbsp; = 360;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void shield() {nShield = 320;}&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;struct Game: Map&lt;br /&gt;{&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; enum&amp;nbsp;&amp;nbsp; {txtW=80, txtH=14};&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HBITMAP hBmp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HDC&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hdc, hdcMem;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HFONT&amp;nbsp;&amp;nbsp; font;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Image&amp;nbsp;&amp;nbsp; text;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bool&amp;nbsp;&amp;nbsp;&amp;nbsp; bOver;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; //是否結束遊戲&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; level;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; //目前關卡&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; life[2];&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;&amp;nbsp; //玩家生命&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nEnemy, nActEnemy;&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;amp; 活動中 的坦克數&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; enemyHoldTime;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; enemyCreateTime;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; maxEnemyCreateTime;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Tank&amp;nbsp;&amp;nbsp;&amp;nbsp; tank [MAX_TANK];&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; //坦克集合: [0,1] 為我方&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Depot&amp;nbsp;&amp;nbsp; depot[3];&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; //我方2人與敵方彈藥庫&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Sprite&amp;nbsp; bonus;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void setup_player (int i, bool bReset)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int type = bReset? 0: tank[i].type;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int id&amp;nbsp;&amp;nbsp; = bReset? (i? PLAYER2: PLAYER): tank[i].id;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (bReset) depot[i].nLimit = 1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tank[i].set (id, (i?7:4)*16+8+1, 12*16+1, UP, 2, 1, 0, type);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tank[i].setup (depot[i], 5); tank[i].shield();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void create_enemy()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; static struct {int x, y;} &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; p[] = {0,0, 16*6,0, 16*12,0, 16*12,16*5, 0,16*5};&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (--enemyCreateTime &amp;gt; 0&amp;nbsp; ||&lt;br /&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; nEnemy &amp;lt; 1 || nActEnemy &amp;gt;= level/4+4) return;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; enemyCreateTime = maxEnemyCreateTime;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nActEnemy++;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int i = --nEnemy + 2;&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; //t決定坦克類型&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int t = rand()%(MAX_LEVEL+7)&amp;lt;=level?2: rand()%2;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int d = t==0? 2: t==1? 3+(level&amp;gt;13): 1+level/6; //移動速度&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int l = nEnemy% (level&amp;lt;15? 3: 5);&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;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int id = t&amp;lt;2? ENEMY+ t*2: GENEMY;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tank[i].set (id, p[l].x+1, p[l].y+1, rand()%4, d, (t==2?3:1), 1); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; d = (6-t) * (level&amp;gt;15? 4: level&amp;gt;10? 5: 6);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //攻擊時間間隔&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tank[i].setup (depot[2], d);&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;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (rand()%100 &amp;gt; 61) tank[i].setBonus();&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //39%機率攜帶道具&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void init (int w=W*4, int h=H*2)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; srand ((UINT)time(0));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hdc&amp;nbsp;&amp;nbsp;&amp;nbsp; = GetDC (GetConsoleWindow());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hdcMem = CreateCompatibleDC (hdc);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hBmp&amp;nbsp;&amp;nbsp; = CreateCompatibleBitmap (hdc, txtW, txtH);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; font = CreateFont (10,0,0,0,FW_BOLD,0,0,0,0,0,0,0,0,"Courier");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SelectObject (hdcMem, GetStockObject (LTGRAY_BRUSH));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetBkColor&amp;nbsp;&amp;nbsp; (hdcMem, RGB(0xC0,0xC0,0xC0));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetTextColor (hdcMem, RGB(0,0,64));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SelectObject (hdcMem, font);&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;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SelectObject (hdcMem, hBmp);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetBkMode (hdc, TRANSPARENT); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SMALL_RECT size = {0, 0, 79, 40};&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HANDLE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hOut = GetStdHandle (STD_OUTPUT_HANDLE);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CONSOLE_CURSOR_INFO cur = {100, 0};&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetConsoleCursorInfo (hOut, &amp;amp;cur);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //關閉字標&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetConsoleWindowInfo (hOut, TRUE, &amp;amp;size);&amp;nbsp;&amp;nbsp; //變更視窗大小&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bg.create (w*4, h*8);&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; //背景佔視窗的 1/4&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; canvas.create (w*4+mapX*2, h*8+mapY*2+12);&amp;nbsp; //畫布要比背景大 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; memset (bg.data, 0x22, 4*bg.w*bg.h);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //用以容納邊界爆破&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; init_obj();&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //配置影像元素&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; text.create (txtW, txtH);&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; //配置文字面版&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map = this;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //設定全域性代理者&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tanks = tank;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //指涉地圖與坦克集合&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; depot[0].setup (16, 1);&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; //配置我方彈藥庫&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; depot[1].setup (16, 1);&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; //配置我方彈藥庫&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; depot[2].setup (64,64);&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; //配置敵方彈藥庫&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; life[0] = life[1] = 3;&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; //初始生命值&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; setup_player (0, 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;&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;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; setup_player (1, true);&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; level = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new_level();&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //建立地圖&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void release ()&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //釋放資源&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; release_obj();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DeleteObject (hBmp);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DeleteDC (hdcMem);&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DeleteDC (hdc);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; text.free();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bg.free();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; canvas.free();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void new_level ()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; char c, *code = lev_data [level];&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //元素索引值 j=(0~4)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int x,y,n,j,k=0, len = strlen (code), i=0; i&amp;lt;len; ++i) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c = ((c=code[ i ])=='$' ? '?' : c=='%'?'\\':c)-'&amp;amp;';&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (j = c&amp;gt;&amp;gt;4, n = (c&amp;amp;15)+1 ;n--; ++k) { &lt;br /&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; set_space_2x2 (x= k%(W*2)*2, y= k/(H*2)*2, j);&lt;br /&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; if (j&amp;lt;2) bg.draw (obj[j], x*4, y*4);&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;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; draw_hawk ();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; setProtect (false);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; level++;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nActEnemy = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; maxEnemyCreateTime = 132;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nEnemy = MAX_TANK - 2;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (life[0]) setup_player (0, false);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (life[1]) setup_player (1, false);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void check_over () &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (bStone || life[0]==0 &amp;amp;&amp;amp; life[1]==0) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; drawText (5*16, 7*16, "Game Over", 9);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if (nActEnemy + nEnemy == 0 &amp;amp;&amp;amp; level == MAX_LEVEL) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; drawText (5*16, 7*16, "You&amp;nbsp; Win!", 9);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void check_levelup()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; static int c = 0; if(++c&amp;gt;255) c=0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (nActEnemy + nEnemy == 0 &amp;amp;&amp;amp; level &amp;lt; MAX_LEVEL) {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetTextColor (hdc,&amp;nbsp; RGB(255,(c+55)%256,c));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TextOut (hdc, 5*16*3+6, 7*16*3, &lt;br /&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; "請按空白鍵進入下一關", 20);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (GetAsyncKeyState (VK_SPACE) &amp;gt;= 0) return;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; memset (bg.data, 0x22, 4*bg.w*bg.h);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new_level();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void create_bonus (int id)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bonus.id&amp;nbsp;&amp;nbsp; = id;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bonus.x&amp;nbsp;&amp;nbsp;&amp;nbsp; = rand()%(W-1) *16;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bonus.y&amp;nbsp;&amp;nbsp;&amp;nbsp; = rand()%(H-1) *16;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bonus.life = 280;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void draw_bonus()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (bonus.life &amp;gt; 0) {bonus.life--; draw_canvas (bonus);}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void colisionTest()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Depot *d, *d2; Tank* t; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int i,j,k,l;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (enemyHoldTime &amp;gt; 0) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; enemyHoldTime--;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (i=0; i&amp;lt;MAX_TANK; ++i)&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; //畫出坦克&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((t = tank+i)-&amp;gt;bActive) {&lt;br /&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; if (i&amp;gt;1 &amp;amp;&amp;amp; t-&amp;gt;nBegin&amp;lt;=0 &amp;amp;&amp;amp; enemyHoldTime &amp;lt;= 0) &lt;br /&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; t-&amp;gt;autoMove();&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; //移動敵方坦克&lt;br /&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; t-&amp;gt;draw();&lt;br /&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; if (t-&amp;gt;nBegin &amp;gt; 0) continue;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //閃爍時不做碰撞測試&lt;br /&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; for (j=0; j&amp;lt;3; ++j) {&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;br /&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; if (t-&amp;gt;depot == (d = &amp;amp;depot[j])) continue; &lt;br /&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; for (k=0; k&amp;lt;d-&amp;gt;nLimit; ++k) &lt;br /&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; if (d-&amp;gt;bullet[k].bActive &amp;amp;&amp;amp;&lt;br /&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;&amp;nbsp; t-&amp;gt;bCollide (d-&amp;gt;bullet[k])) {&lt;br /&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;&amp;nbsp; if (t-&amp;gt;nShield &amp;gt; 0){&amp;nbsp;&amp;nbsp;&amp;nbsp; //護盾狀態時吸收子彈&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (--d-&amp;gt;bullet[k].life &amp;lt;= 0) &lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; d-&amp;gt;bullet[k].bActive= false;&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; continue;&lt;br /&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;&amp;nbsp; }&lt;br /&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;&amp;nbsp; d-&amp;gt;checkExplode (d-&amp;gt;bullet[k]);&lt;br /&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;&amp;nbsp; t-&amp;gt;checkExplode ();&lt;br /&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;&amp;nbsp; if (t-&amp;gt;life == 0 &amp;amp;&amp;amp; i&amp;gt;1) {&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nActEnemy--;&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (t-&amp;gt;nFlick &amp;gt; 0) &lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; create_bonus(t-&amp;gt;bonus);&lt;br /&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;&amp;nbsp; }&lt;br /&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; }&lt;br /&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; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Sprite *b, *b2;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (j=0; j&amp;lt;3; ++j) {&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; //子彈碰撞處理&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; d = depot + j;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; d-&amp;gt;processBullets ();&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; //和景物的碰撞&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (i=0; i&amp;lt;d-&amp;gt;nLimit; ++i)&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;br /&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; for (b= d-&amp;gt;bullet+i, k=0; k&amp;lt;3; ++k)&lt;br /&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; if (k != j &amp;amp;&amp;amp; b-&amp;gt;bActive) &lt;br /&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; for (d2= depot+k, l=0; l&amp;lt;d2-&amp;gt;nLimit; ++l) {&lt;br /&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;&amp;nbsp; b2 = d2-&amp;gt;bullet + l;&lt;br /&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;&amp;nbsp; if (b2-&amp;gt;bActive &amp;amp;&amp;amp; b-&amp;gt;bCollide (*b2)) {&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (--b-&amp;gt;life &amp;lt;= 0) b-&amp;gt;bActive = false;&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (--b2-&amp;gt;life&amp;lt;= 0) b2-&amp;gt;bActive= false;&lt;br /&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;&amp;nbsp; }&lt;br /&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; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void check_player()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int j,i=0; i&amp;lt;2; ++i) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (life[i] == 0) continue;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if (!tank[i].bActive) {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //還有命嗎?&lt;br /&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; if (--life[i] &amp;gt; 0) setup_player (i, true);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if (bonus.life &amp;gt; 0 &amp;amp;&amp;amp;&lt;br /&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; tank[i].nBegin &amp;lt;= 0 &amp;amp;&amp;amp; &lt;br /&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; tank[i].bCollide (bonus)) {&lt;br /&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; bonus.life = 0;&lt;br /&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; switch (bonus.id - BONUS) {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //若吃到特殊道具&lt;br /&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; case Bonus::LIFE:&amp;nbsp;&amp;nbsp; life[i]++;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;br /&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; case Bonus::CLOCK:&amp;nbsp; enemyHoldTime = 240; break;&lt;br /&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; case Bonus::SHOVEL: setProtect (true);&amp;nbsp;&amp;nbsp; break;&lt;br /&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; case Bonus::HELMET: tank[i].shield();&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;br /&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; case Bonus::STAR:&amp;nbsp;&amp;nbsp; tank[i].levelup();&amp;nbsp;&amp;nbsp; break;&lt;br /&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; case Bonus::BOMB:&lt;br /&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; for (j=2; j&amp;lt;MAX_TANK; ++j)&lt;br /&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; if (tank[j].bActive &amp;amp;&amp;amp; tank[i].nBegin &amp;lt; 1) &lt;br /&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;&amp;nbsp; tank[j].life = 1,&lt;br /&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;&amp;nbsp; tank[j].checkExplode(),&lt;br /&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;&amp;nbsp; nActEnemy--;&lt;br /&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; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void _cdecl drawText (int x, int y, char* fmt...)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; static char s[64];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; static int bits = GetDeviceCaps (hdc, BITSPIXEL) *&lt;br /&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; GetDeviceCaps (hdc, PLANES);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; static BITMAPINFO f = {{40,txtW,-txtH,1,bits,0,0,0,0,0,0},{{0}}};&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Rectangle (hdcMem, -1, -1, txtW+1, txtH+1);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vsprintf_s (s, fmt, (char*)(&amp;amp;fmt+1));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TextOut (hdcMem, 0, 0, s, strlen(s));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GetDIBits (hdcMem, hBmp, 0,txtH, text.data, &amp;amp;f, DIB_RGB_COLORS);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (bits == 16) &lt;br /&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; canvas.draw16 (text, x, y, RGB(180,80,80));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else canvas.draw32 (text, x, y, RGB(180,80,80));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void update ()&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; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; memset (canvas.data, 0xC0, 4*canvas.w*canvas.h); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; drawText (16*6-8,&amp;nbsp;&amp;nbsp; 2,&amp;nbsp;&amp;nbsp; "LEVEL%2d", level);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; drawText (16*11,&amp;nbsp;&amp;nbsp;&amp;nbsp; 2,&amp;nbsp;&amp;nbsp; "&amp;nbsp; [%2d] ", nEnemy);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; drawText (16*1, 16*14+2, "P1:%2d&amp;nbsp; ", life[0]);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; drawText (16*9, 16*14+2, "&amp;nbsp; P2:%2d", life[1]);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; canvas.draw (bg, mapX, mapY);&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;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; draw_river();&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //畫出河流&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; create_enemy();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; colisionTest();&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;&amp;nbsp;&amp;nbsp; //移動物件並處理碰撞&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; check_player();&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;&amp;nbsp;&amp;nbsp; //吃東西與重生&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Map::update();&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; //繪出前景&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; draw_bonus();&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //繪出道具&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; check_over();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; show (canvas, 0,0);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; check_levelup();&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;&amp;nbsp; //是否進到下一關&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void show (Image&amp;amp; in, int x, int y)&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BITMAPINFO info = {{40, in.w, -in.h, 1,32,0,0,0,0,0,0},{{0}}};&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; StretchDIBits (hdc, x, y, int(in.w*2.7), int(in.h*2.7),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0, 0, in.w, in.h, in.data, &amp;amp;info, DIB_RGB_COLORS, SRCCOPY);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void key_control()&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; //按鍵控制&lt;br /&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; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #define PRESS(key) if (GetAsyncKeyState(key)&amp;amp; 0x8000)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PRESS (VK_ESCAPE) bOver = true;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (bStone) return;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (tank[0].bActive) {&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; //操控玩家1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PRESS ('S') tank[0].move (DOWN); else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PRESS ('A') tank[0].move (LEFT); else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PRESS ('D') tank[0].move (RIGHT);else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PRESS ('W') tank[0].move (UP);&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PRESS ('H') tank[0].fire ();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (tank[1].bActive) {&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; //操控玩家2&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PRESS (VK_DOWN&amp;nbsp; ) tank[1].move (DOWN); else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PRESS (VK_LEFT&amp;nbsp; ) tank[1].move (LEFT); else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PRESS (VK_RIGHT ) tank[1].move (RIGHT);else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PRESS (VK_UP&amp;nbsp;&amp;nbsp;&amp;nbsp; ) tank[1].move (UP);&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PRESS (VK_NUMPAD0)tank[1].fire ();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Game()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; init();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (DWORD curr = timeGetTime(); !bOver;)&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (timeGetTime() - curr &amp;gt; 20) {&lt;br /&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; update();&lt;br /&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; key_control();&lt;br /&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; curr = timeGetTime();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; release ();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}_;&lt;br /&gt;/*******************/&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;code 用 VC++ 或 Dev C++ 來編譯，編譯時以 console mode 編譯。&lt;br /&gt;&lt;br /&gt;Dev C++ 要在 [專案選項&amp;gt;參數&amp;gt;連結器]&lt;br /&gt;內設定 -lwinmm、-lGDI32，&lt;br /&gt;並將 vsprintf_s 改成 vsprintf。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Q&amp;amp;A：&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;＠一開始的構築要怎規劃呢？&lt;br /&gt;&lt;br /&gt;首先要讓遊戲以穩定的速度進行&lt;br /&gt;也就是讓 FPS 盡量維持在一定範圍&lt;br /&gt;在這段時間內，進行畫面更新和玩家輸入處理&lt;br /&gt;最簡單的計時器架構是：&lt;br /&gt;&lt;code&gt;&lt;br /&gt;bool  bGameOver;                     //是否結束遊戲&lt;br /&gt;DWORD curr;                          //目前的時間點&lt;br /&gt;int   frequence = 50;                //更新率&lt;br /&gt;&lt;br /&gt;curr = timeGetTime();&lt;br /&gt;while (!bGameOver)&lt;br /&gt;    if (timeGetTime() - curr &amp;gt; 1000/frequence)&lt;br /&gt;    {&lt;br /&gt;        update();                    //畫面更新&lt;br /&gt;        key_control();               //玩家輸入處理&lt;br /&gt;        curr = timeGetTime();&lt;br /&gt;    }&lt;/code&gt;&lt;br /&gt;接著是秀圖，由於各平台的繪圖 API 不盡相同&lt;br /&gt;我們會把秀圖功能統一包裝在一個函式中&lt;br /&gt;然後在其中呼叫系統相關的繪圖函式，如 2D 方面有：&lt;br /&gt;xlib、Glib、libXt、BGI、OpenGL、DirectX、GDI、&lt;br /&gt;GDI+、Motif、LessTif、Qt/KDE、GTK+/Gnome.. 等。&lt;br /&gt;&lt;br /&gt;圖會先畫在一塊 buffer 上，再根據玩家螢幕解析度進行縮放。&lt;br /&gt;程式中使用 StretchDIBits 達成此目的。&lt;br /&gt;&lt;br /&gt;處理輸入有許多方法語誨誥認，皆為 platform dependent&lt;br /&gt;如 Win32 上有 kbhit + getch，GetAsyncKeyState、或 DirectInput。&lt;br /&gt;因為 Battle City 一次要分析的按鍵不多&lt;br /&gt;這裡便使用 GetAsyncKeyState 來讀取按鍵狀態。&lt;br /&gt;&lt;br /&gt;順便附上Neil用Visual C++ 2008編譯出來的執行檔&lt;br /&gt;沒有編譯程式的就點下面連結下載吧～&lt;br /&gt;&lt;a href="http://cid-87fb5e04653d7482.skydrive.live.com/self.aspx/Blogger%20%E7%A8%8B%E5%BC%8F%E8%BB%9F%E9%AB%94%E6%94%BE%E7%BD%AE/tank.exe" target="_blank"&gt;點我&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-5387457019306919170?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/5387457019306919170/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2009/07/blog-post_31.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/5387457019306919170'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/5387457019306919170'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2009/07/blog-post_31.html' title='坦克遊戲雛型'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_h6JuD6TTUD0/SnLJvXDhGJI/AAAAAAAAAQU/BPInVKDcDRI/s72-c/0907240059e260c41534f3e84c.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-2462468646112916553</id><published>2009-07-28T01:50:00.004+08:00</published><updated>2012-02-02T22:52:23.525+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='遊戲漫談'/><title type='text'>完美世界 - Neil之回憶錄～</title><content type='html'>最近呢～玩起了AIKA&lt;br /&gt;玩著玩著，突然想起了我在大一放假時玩的一款遊戲---完美世界&lt;br /&gt;那時大概是2007年出左右吧，當時最高等級限制是80等，還沒開放二轉（仙魔轉）&lt;br /&gt;好像是快開學的原因，玩的機會應該會變少了&lt;br /&gt;所以開學之後就不曾在玩那遊戲了&lt;br /&gt;不過遊戲中有四位玩家讓我忘也忘不了&lt;br /&gt;因為我所玩過很多很多線上遊戲所認識的朋友裡&lt;br /&gt;完美世界那四位朋友是我遇過最好的朋友，ID分別是：&lt;span style="color: #6600cc; font-weight: bold;"&gt;月浮&lt;/span&gt;、&lt;span style="color: #6600cc; font-weight: bold;"&gt;藍凝&lt;/span&gt;、&lt;span style="color: #6600cc; font-weight: bold;"&gt;真痕&lt;/span&gt;、&lt;span style="color: #6600cc; font-weight: bold;"&gt;白色&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;其實我之後在玩其他遊戲，有時候都會想起那時的回憶，不是只有玩AIKA才想起。有這麼值得想起嗎？對我來說可能有......因為我玩其他款遊戲，在虛擬世界所認識的朋友裡，我總覺得好像某方面都比不太上完美世界那四位朋友。該說是默契上比不上嗎？還是？我也不知道該怎形容，總之在那時我們四個人，不管打怪，打副本，都玩得很快樂，講話對談都非常談得來，真的蠻懷念那時的情景。因為之後我玩的線上遊戲，或之前玩過的，好像都沒這麼「有情」過XD，這應該只能體會過才知道我的感受吧～～XDD&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span class="fullpost"&gt;從一開始，我好像在30幾級還幾等忘了，正想去解第二個副本，突然有個人「月浮」，她主動幫我，順利解玩某個麻煩的任務。之後我在練功時，碰巧遇到她，她剛好要打王，剛好我就順便幫她解完了任務，詳細狀況其實我也不太記得...不過大概是有這過程因而認識月浮的吧...&lt;br /&gt;&lt;br /&gt;之後在某次我練功，月浮突然密我，問我要不要打副本，我就答應了她，在那次組隊裡，有「真痕」跟「藍凝」，然後副本打完之後就各自練各自的樣子吧～不太記得...之後某次副本團，我找了月浮，月浮她叫了她認識的朋友一起解，沒想到是上次遇到的「藍凝」跟「真痕」，然後也多了「白色」，那時我印象很深刻，我開了一個小玩笑讓大家笑很久...&lt;br /&gt;&lt;br /&gt;我：「咦？好熟悉的鼻孔」&lt;br /&gt;我趕緊接著說：「阿..說錯..是面孔」&lt;br /&gt;藍凝還真痕好像說了「噗」，接著月浮說：「我笑了」&lt;br /&gt;然後大家就笑成一片&lt;br /&gt;&lt;br /&gt;光看上面可能覺得沒什麼好笑，可能是要融入當時情景才會有所感受吧～&lt;br /&gt;印象中當時是要打49等副本&lt;br /&gt;&lt;br /&gt;接著後來，我們每次要打副本，好像都只有我們四個出團去～很少有別人加入，之後我好像在60～70等左右期間...我也不知道為啥，就只有想練功，一直狂練功，月浮跟其他三位好像也看得出來我很努力衝等，有時候出團都不太好意思找我去的感覺，因為看我練功練得很起勁...因此我那期間好像比較少去打副本，都在狂練功...當然啦～也沒因此朋友間就疏離了，都會密頻聊天，遇到都會哈拉一下。&lt;br /&gt;&lt;br /&gt;之後我好像練到70幾等，漸漸沒這麼努力練功，就比較會跟那四位一起去副本，也比較常在一起了。&lt;br /&gt;&lt;br /&gt;在末期～因為快開學了，我就說我開學之後可能會比較少玩，然後因為藍凝跟真痕，他們兩個好像是認識的，他們也說他們要準備工作了，會比較少上線，也因此我就先離開了完美世界。&lt;br /&gt;&lt;br /&gt;現在想想好像有點後悔，我後悔我太早先離開，沒跟他們道別，因為我不知道在這之後我玩的線上遊戲，沒遇過這麼好的朋友，從我練功就可以看得出來，從我在60等～70等期間，我的確是中了毒一樣，狂練功，幾乎沒打副本，但是那三位卻看得出來，好像很瞭解我的感覺似的，他們要打副本都不好意思吵我，不好意思叫我去，但我知道他們去打副本，因為有時候密語聊天他說他們正在打副本，我也看得出來這絕對不是排擠我，因為他們看我練功練得好起勁...不好意思吵我吧，之後我比較少練功了，我們五個都會互相一起找去練功打副本。從這點我感覺得出來他們人真的很好，很能體會別人心情，這點是我在玩其他線上遊戲沒有的感覺...&lt;br /&gt;&lt;br /&gt;PO了這篇文章...算是心得有感而發吧，話說我在打這篇時，我正在下載完美世界主程式說＝ ＝&lt;br /&gt;還有..突然有點後悔當時沒把玩遊戲時的截圖(ScreenShot)留下來，現在想想感覺好可惜...沒任何紀念品...所以現在下載程式裝來回味那些好友名單，拍個照順便附上以下此圖～～～～～～～～～&lt;br /&gt;&lt;br /&gt;2009/07/28 點圖放大&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_h6JuD6TTUD0/Sm3oGbpOUMI/AAAAAAAAAPs/kwTX8IRP1Sw/s1600-h/2009-7-28.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5363197928465649858" src="http://3.bp.blogspot.com/_h6JuD6TTUD0/Sm3oGbpOUMI/AAAAAAAAAPs/kwTX8IRP1Sw/s320/2009-7-28.jpg" style="cursor: pointer; height: 207px; width: 320px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_h6JuD6TTUD0/Sm6PxIATqyI/AAAAAAAAAQM/bWX0z9suUHM/s1600-h/06.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5363382280369974050" src="http://4.bp.blogspot.com/_h6JuD6TTUD0/Sm6PxIATqyI/AAAAAAAAAQM/bWX0z9suUHM/s320/06.jpg" style="cursor: pointer; height: 207px; width: 320px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_h6JuD6TTUD0/Sm6Pry6pi5I/AAAAAAAAAQE/m92smPRYI90/s1600-h/05.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5363382188809751442" src="http://1.bp.blogspot.com/_h6JuD6TTUD0/Sm6Pry6pi5I/AAAAAAAAAQE/m92smPRYI90/s320/05.jpg" style="cursor: pointer; height: 207px; width: 320px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_h6JuD6TTUD0/Sm6PlF7QhgI/AAAAAAAAAP8/-4oAT-osyrY/s1600-h/03.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5363382073653495298" src="http://1.bp.blogspot.com/_h6JuD6TTUD0/Sm6PlF7QhgI/AAAAAAAAAP8/-4oAT-osyrY/s320/03.jpg" style="cursor: pointer; height: 207px; width: 320px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_h6JuD6TTUD0/Sm6PgVH5bgI/AAAAAAAAAP0/qx7q71nBX9A/s1600-h/02.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5363381991833693698" src="http://3.bp.blogspot.com/_h6JuD6TTUD0/Sm6PgVH5bgI/AAAAAAAAAP0/qx7q71nBX9A/s320/02.jpg" style="cursor: pointer; height: 207px; width: 320px;" /&gt;&lt;/a&gt;&lt;br /&gt;到目前為止，我玩了這麼多線上遊戲，我真的覺得完美世界做得最好....尤其是畫面，效果全開，到目前為止好像還沒有一款線上遊戲讓我覺得是比完美世界漂亮的。有人說天堂2？我看了天堂2效果全開的畫面......跟完美世界差多了...天堂2的湖面，水波，倒影，跟路地上的吻合度，貼圖材質細節度等等，根本就比完美世界遜多了...&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-2462468646112916553?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/2462468646112916553/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2009/07/neil.html#comment-form' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/2462468646112916553'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/2462468646112916553'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2009/07/neil.html' title='完美世界 - Neil之回憶錄～'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_h6JuD6TTUD0/Sm3oGbpOUMI/AAAAAAAAAPs/kwTX8IRP1Sw/s72-c/2009-7-28.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-4181265813630718584</id><published>2009-07-20T23:55:00.003+08:00</published><updated>2012-02-02T22:52:40.604+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='電腦網路新資訊'/><title type='text'>Office 2010 beta 曝光～</title><content type='html'>微軟在WPC 09大會上正式將Office 2010曝光，目前連同SharePonit Server 2010、Visio 2010和Project 2010都已經完成了技術預覽板，在網路上也流出了Office 2010 14.0.4302.1000，也就是Office 2010的Beta版。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Web Office年底測試&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Office 2010的產品都會有Web版本，但這次WPC 09並沒有放出Web版，只宣佈年底開始測試。未來開放之後只要使用瀏覽器就可以在線上編輯Word、PowerPoint、Excel和 OneNote，Web版只要透過Windows Live的帳號就可以免費使用。&lt;br /&gt;&lt;br /&gt;微軟會推出Web版絕對是衝著Google Docs來的，Office本家做的Web版會不會比Google的好用，也很令人期待。&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span class="fullpost"&gt;&lt;a href="http://4.bp.blogspot.com/_h6JuD6TTUD0/SmFqwKFYljI/AAAAAAAAAPk/e_Ybb2cdjqo/s1600-h/msoffice2010.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5359682407120803378" src="http://4.bp.blogspot.com/_h6JuD6TTUD0/SmFqwKFYljI/AAAAAAAAAPk/e_Ybb2cdjqo/s320/msoffice2010.png" style="cursor: pointer; height: 224px; width: 320px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;網路化的Office 2010Office 2010加強了共同編輯的功能&lt;span class="lib_jm_word"&gt;摋撇搿撤&lt;/span&gt;，&lt;span class="lib_jm_word"&gt;漻漣滮漆&lt;/span&gt;在Word 2010、PowerPoint 2010和OneNote 2010都可以使用共同編輯(非web版)，文件協同作業更加方便，Outlook 2010也更完善了Email的管理功能，全面採用Office Ribbon選單，可整合Gmail郵件，能夠直接用Gmail的標籤分類和星號，也提供了像是Gmail的單一郵件串的功能。&lt;br /&gt;斯斯有三種，Office 2010有五種同時Office 2010也將Office 2007的8個版本縮減為5個版本：&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="fullpost"&gt;Home and Student：Word、PowerPoint、Excel、OneNote&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="fullpost"&gt;Home and Business：Word、PowerPoint、Excel、OneNote、Outlook&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="fullpost"&gt;Standard：Word、PowerPoint、Excel、OneNote、Outlook、Publisher&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="fullpost"&gt;Professional：Word、PowerPoint、Excel、OneNote、Outlook、Publisher、Access&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="fullpost"&gt;Professional Plus：Word、PowerPoint、Excel、OneNote、Outlook、Publisher、Access、SharePoint Workspace、InfoPath&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span class="fullpost"&gt;以上內容來源：PCADV實驗室&lt;br /&gt;&lt;br /&gt;又出了...感覺好像多了很多新功能(一定是肥蟲一隻)，介面也變得不一樣，我想...實際上用到的功能應該也就那些...&lt;br /&gt;&lt;br /&gt;個人感覺與其多那些有的沒的，不如讓軟體支援度、相容性提高，把消耗電腦的資源度降低，修改演算法讓軟體執行有效率一點，還比較來得實際點...&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-4181265813630718584?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/4181265813630718584/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2009/07/office-2008-beta.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/4181265813630718584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/4181265813630718584'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2009/07/office-2008-beta.html' title='Office 2010 beta 曝光～'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_h6JuD6TTUD0/SmFqwKFYljI/AAAAAAAAAPk/e_Ybb2cdjqo/s72-c/msoffice2010.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-1582393971404350016</id><published>2009-07-18T13:01:00.004+08:00</published><updated>2009-07-18T15:44:35.943+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='有趣搞笑文'/><title type='text'>[轉貼]史上最強的蹺課方式！</title><content type='html'>在國外的某節課堂上&lt;br /&gt;坐在最前座的同學忽然電話響了...&lt;br /&gt;然後...&lt;br /&gt;&lt;br /&gt;&lt;object width="445" height="364"&gt;&lt;param name="movie" value="http://www.youtube.com/v/hO7HdIYiL40&amp;amp;hl=zh_TW&amp;amp;fs=1&amp;amp;rel=0&amp;amp;border=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/hO7HdIYiL40&amp;amp;hl=zh_TW&amp;amp;fs=1&amp;amp;rel=0&amp;amp;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="445" height="364"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;........&lt;br /&gt;要拯救地球是很好...可是也沒必要把手機摔爛吧...&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-1582393971404350016?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/1582393971404350016/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2009/07/blog-post.html#comment-form' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/1582393971404350016'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/1582393971404350016'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2009/07/blog-post.html' title='[轉貼]史上最強的蹺課方式！'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-2027120893148338203</id><published>2009-07-16T15:25:00.008+08:00</published><updated>2012-02-02T22:53:06.115+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='未分類'/><title type='text'>IE6 使用者之警告標語</title><content type='html'>話說不知道從何開始，漸漸對IE6使用者發起了一些警告標語...不過我想這樣也好，常常在公用電腦裡都只有IE瀏覽器，重點是...瀏覽器竟然都6版的....瀏覽不少網站、部落格，圖案跟配置都不太對...顏色都變調勒= =所以我都用firefox portable版，去公用電腦直接拿出我的攜帶版firefox，書籤～附加元件～通通都有～要離開時把整個資料夾刪除或帶走就好～不容易殘留痕跡在電腦裡，而且又方便。所以對於這警告標語可能對我沒有啥大影響吧～&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;以下新聞來自&lt;/span&gt;&lt;a href="http://www.student.tw/db/showthread.php?t=199208" style="font-weight: bold;"&gt;這裡&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;：&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;現在IE6使用者連到Youtube會看到以下訊息：&lt;br /&gt;   請升級至最新的瀏覽器，體驗更多采多姿的線上瀏覽環境。&lt;br /&gt;   我們將在不久後停止支援Internet Explorer 6，請立刻升級。&lt;br /&gt;旁邊還列出Google Chrome、IE8和Fx3.5的連結&lt;br /&gt;（Opera：那我呢？）&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span class="fullpost"&gt;另外，Twitter對IE6也有警告訊息：&lt;br /&gt;   There's a better way to browse the web!&lt;br /&gt;   Twitter recommands that you upgrade to the latest version&lt;br /&gt;   of Internet Explorer.&lt;br /&gt;（Opera：......）&lt;br /&gt;&lt;br /&gt;Facebook對IE6也有警告訊息：&lt;br /&gt;   你可能需要將你的瀏覽器升級。&lt;br /&gt;   你正在使用舊版的 Internet Explorer 瀏覽 Facebook。要順利&lt;br /&gt;   使用Facebook，請將你的瀏覽器升級或是改用另一種瀏覽器。&lt;br /&gt;Facebook推薦的瀏覽器有：IE7、Firefox、Safari、Flock&lt;br /&gt;（Opera：┴─┴ ~╰(#‵□′)╯~ ┴─┴）&lt;br /&gt;&lt;br /&gt;自己有架設網站或是blog的人，可以參考以下文章，在自己的網站也&lt;br /&gt;加上警告訊息：&lt;br /&gt;&lt;a href="http://briian.com/?p=6382" target="_blank"&gt;http://briian.com/?p=6382&lt;/a&gt; （重灌狂人）&lt;br /&gt;&lt;br /&gt;---------------------------------------------------------------------&lt;br /&gt;Opera一整個被嚴重忽略.....XDDDDDDDD&lt;br /&gt;&lt;br /&gt;最後最後～～～附加一張很有去的圖片，圖解排擠IE6(可點圖放大)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_h6JuD6TTUD0/Sl7wxOZw4aI/AAAAAAAAAPc/WkDLkGTgvsU/s1600-h/%E5%9C%96%E8%A7%A3%E6%8E%92%E6%93%A0IE6.jpg"&gt;&lt;img border="0" id="BLOGGER_PHOTO_ID_5358985335087882658" src="http://1.bp.blogspot.com/_h6JuD6TTUD0/Sl7wxOZw4aI/AAAAAAAAAPc/WkDLkGTgvsU/s320/%E5%9C%96%E8%A7%A3%E6%8E%92%E6%93%A0IE6.jpg" style="cursor: pointer; height: 224px; width: 320px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-2027120893148338203?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/2027120893148338203/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2009/07/ie6.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/2027120893148338203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/2027120893148338203'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2009/07/ie6.html' title='IE6 使用者之警告標語'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_h6JuD6TTUD0/Sl7wxOZw4aI/AAAAAAAAAPc/WkDLkGTgvsU/s72-c/%E5%9C%96%E8%A7%A3%E6%8E%92%E6%93%A0IE6.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-5864039712972991829</id><published>2009-07-16T13:36:00.003+08:00</published><updated>2009-07-16T13:49:23.097+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='電腦軟體推薦'/><title type='text'>Quicksys RegDefrag - 電腦大掃除，登錄檔最佳化軟體！</title><content type='html'>【軟體名稱】Quicksys RegDefrag&lt;br /&gt;【軟體語言】多國語言 （內建繁中語系）&lt;br /&gt;【軟體性質】免費軟體&lt;br /&gt;【支援環境】Windows 2000/XP/2003/Vista/2008 （32/64位元版本）&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_h6JuD6TTUD0/Sl6_MH4HjuI/AAAAAAAAAN8/97WCUcecIEk/s1600-h/regdefrag_logo.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 86px;" src="http://4.bp.blogspot.com/_h6JuD6TTUD0/Sl6_MH4HjuI/AAAAAAAAAN8/97WCUcecIEk/s320/regdefrag_logo.jpg" alt="" id="BLOGGER_PHOTO_ID_5358930821611228898" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;軟體簡介：&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;Quicksys RegDefrag&lt;/strong&gt;是一套專門對登錄檔進行最佳化的免費軟體。每次安裝／移除程式時會讓電腦的登錄表產生碎片或空洞，使用Quicksys RegDefrag就是對登錄表進行重組的工作（原理類似硬碟重組），進而達到最佳化登錄檔的效果。&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;官方網站：&lt;a href="http://www.regdefrag.com/" rel="external" target="_blank"&gt;http://www.regdefrag.com/&lt;/a&gt;&lt;br /&gt;官方下載頁面：&lt;a href="http://www.regdefrag.com/download-registry-defrag" rel="external" target="_blank"&gt;http://www.regdefrag.com/download-registry-defrag&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-5864039712972991829?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/5864039712972991829/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2009/07/quicksys-regdefrag.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/5864039712972991829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/5864039712972991829'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2009/07/quicksys-regdefrag.html' title='Quicksys RegDefrag - 電腦大掃除，登錄檔最佳化軟體！'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_h6JuD6TTUD0/Sl6_MH4HjuI/AAAAAAAAAN8/97WCUcecIEk/s72-c/regdefrag_logo.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-608680962359419058</id><published>2009-07-16T13:21:00.005+08:00</published><updated>2009-07-16T13:34:25.594+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='電腦軟體推薦'/><title type='text'>RadioSure! - 12000個電台可錄音的免費網路收音機，讓你聽到翻</title><content type='html'>【軟體名稱】：RadioSure!&lt;br /&gt;【軟體性質】：免費&lt;br /&gt;【軟體語言】：多國語言(含繁體中文)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_h6JuD6TTUD0/Sl67mPC4iEI/AAAAAAAAAN0/ubuIH5dRCZE/s1600-h/RadioSure1.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 245px;" src="http://1.bp.blogspot.com/_h6JuD6TTUD0/Sl67mPC4iEI/AAAAAAAAAN0/ubuIH5dRCZE/s320/RadioSure1.jpg" alt="" id="BLOGGER_PHOTO_ID_5358926872165517378" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;軟體簡介：&lt;br /&gt;&lt;br /&gt;RadioSure是一套來自俄國的網路收音機軟體，它內建了超過一萬兩千個網路電台頻道，讓你有聽不完的好音樂！RadioSure另一個很棒的優點就是，它提供了錄音的功能，能將音樂直接錄製成MP3檔，而且還提供免安裝版以及更換面板的功能喔！&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;官方網站：&lt;a href="http://www.radiosure.com/"&gt;http://www.radiosure.com/&lt;/a&gt;&lt;br /&gt;官方下載頁面：&lt;a href="http://www.radiosure.com/download/"&gt;http://www.radiosure.com/download/&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-608680962359419058?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/608680962359419058/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2009/07/radiosure-12000.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/608680962359419058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/608680962359419058'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2009/07/radiosure-12000.html' title='RadioSure! - 12000個電台可錄音的免費網路收音機，讓你聽到翻'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_h6JuD6TTUD0/Sl67mPC4iEI/AAAAAAAAAN0/ubuIH5dRCZE/s72-c/RadioSure1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-994712212940566094</id><published>2009-07-15T23:34:00.005+08:00</published><updated>2012-02-02T22:54:07.397+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='電腦軟體推薦'/><title type='text'>NEGiES - 免費好用的網路流量監控及限制軟體</title><content type='html'>【軟體名稱】：NEGiES&lt;br /&gt;【軟體性質】：免費&lt;br /&gt;【軟體語言】：日文(含繁體中文檔)&lt;br /&gt;【軟體類型】：網路監控&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_h6JuD6TTUD0/Sl4Op12LjSI/AAAAAAAAANk/cGQVwCeVRzk/s1600-h/2816989116_ffd5f0448a.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5358736718609222946" src="http://3.bp.blogspot.com/_h6JuD6TTUD0/Sl4Op12LjSI/AAAAAAAAANk/cGQVwCeVRzk/s320/2816989116_ffd5f0448a.jpg" style="cursor: pointer; height: 201px; width: 320px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_h6JuD6TTUD0/Sl4OvetV37I/AAAAAAAAANs/VGzeiYH72H4/s1600-h/2816989134_2c0dbc00fa.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5358736815477350322" src="http://3.bp.blogspot.com/_h6JuD6TTUD0/Sl4OvetV37I/AAAAAAAAANs/VGzeiYH72H4/s320/2816989134_2c0dbc00fa.jpg" style="cursor: pointer; height: 202px; width: 320px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;軟體說明：&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span class="fullpost"&gt;Negies的主要功能是用來限制程式軟體的上傳或下載頻寬。當多台電腦共用一條ADSL，其中一台拼命下載把所有頻寬都霸佔了，其他人慢得跟烏龜一樣；偏偏又想不到方法可以控制那台電腦的頻寬，實在很頭大！來來來，只要在那台電腦上安裝Negies，然後將最佔頻寬的軟體作限速，就不怕互搶頻寬的情況再度發生囉！&lt;br /&gt;&lt;br /&gt;Negies是由日本人所開發的軟體，所以介面相當然爾是日文的；不過已經有熱心網友替它寫了一個中文語系檔(&lt;a href="http://tinyurl.com/umjf2"&gt;http://tinyurl.com/umjf2&lt;/a&gt;)，下載回來後將之解壓縮到Negies的資料夾內覆蓋舊語系檔即可。&lt;br /&gt;&lt;br /&gt;該怎麼限制軟體的頻寬呢？執行Negies之後，點選「過濾器」→「新增」，然後在左下方「過濾器名」空格內填上欲限速程式的名字並按下右方的「瀏覽」，點選欲限速的程式檔案(通常都是Flashget、eMule、BT、FOXY等這類P2P軟體最佔頻寬)；接著在左方的「方向」部份選擇限制上傳或下載速度(UP為上傳，DOWN為下載)，再勾選右下方的「頻寬限制」，並在旁邊輸入限制的速度，最後按下「確定」即完成設定。&lt;br /&gt;&lt;br /&gt;完成設定後，Negies就會開始替這些最佔頻寬的軟體作限速。如果想停止限速，只要在項目上按一下滑鼠右鍵，點選【有效∕無效】就行了。你正遇到頻寬被別台電腦搶光卻不知所措的困境嗎？來試試Negies吧，它應該可以解決你的問題。&lt;br /&gt;&lt;br /&gt;這款功能強大且免費免安裝的網路流量監控、流量限制軟體，比有名的NetLimiter還棒...唯一小缺點只是他沒有像NetLimiter有比較人性化介面，不過這應該不是問題，操作上大致都還清楚明瞭。&lt;br /&gt;&lt;br /&gt;官方網站(日)：&lt;a href="http://hp.vector.co.jp/authors/VA036210/howtouse1.html"&gt;http://hp.vector.co.jp/authors/VA036210/howtouse1.html&lt;/a&gt;&lt;br /&gt;中文語系檔：&lt;a href="http://tinyurl.com/umjf2"&gt;http://tinyurl.com/umjf2&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-994712212940566094?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/994712212940566094/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2009/07/negies.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/994712212940566094'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/994712212940566094'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2009/07/negies.html' title='NEGiES - 免費好用的網路流量監控及限制軟體'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_h6JuD6TTUD0/Sl4Op12LjSI/AAAAAAAAANk/cGQVwCeVRzk/s72-c/2816989116_ffd5f0448a.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-8433644738210482981</id><published>2009-07-15T23:26:00.003+08:00</published><updated>2009-07-15T23:31:13.359+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='電腦軟體推薦'/><title type='text'>HD Tune - 硬碟檢測軟體</title><content type='html'>【軟體名稱】：HD Tune&lt;br /&gt;【軟體性質】：免費(有付費Pro版)&lt;br /&gt;【軟體語言】：英文&lt;br /&gt;【軟體類型】：硬碟檢測&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_h6JuD6TTUD0/Sl313aPaTPI/AAAAAAAAANc/0hOsHNONyxQ/s1600-h/randomaccess_read.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 278px;" src="http://3.bp.blogspot.com/_h6JuD6TTUD0/Sl313aPaTPI/AAAAAAAAANc/0hOsHNONyxQ/s320/randomaccess_read.png" alt="" id="BLOGGER_PHOTO_ID_5358709463926328562" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;軟體說明：&lt;br /&gt;&lt;br /&gt;是專門用來測試硬碟存取速度與穩定度的軟體，一般都是用來跑硬碟的「Benchmark」測試硬碟運作效能，另外他還會列出一些硬碟的總容量、健康狀態、溫度、韌體版本、序號...等相關資訊，以及是否有錯誤或壞軌之類的問題。&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;官方網站：&lt;a href="http://www.hdtune.com/main.html"&gt;http://www.hdtune.com/main.html&lt;/a&gt;&lt;br /&gt;官方下載頁面：&lt;a href="http://www.hdtune.com/download.html"&gt;http://www.hdtune.com/download.html&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-8433644738210482981?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/8433644738210482981/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2009/07/hd-tune.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/8433644738210482981'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/8433644738210482981'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2009/07/hd-tune.html' title='HD Tune - 硬碟檢測軟體'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_h6JuD6TTUD0/Sl313aPaTPI/AAAAAAAAANc/0hOsHNONyxQ/s72-c/randomaccess_read.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-4218048699190934154</id><published>2009-07-15T22:58:00.004+08:00</published><updated>2012-02-02T22:54:39.031+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='電腦軟體推薦'/><title type='text'>Cheat Engine - 遊戲作弊程式</title><content type='html'>【軟體名稱】：Cheat Engine&lt;br /&gt;【軟體性質】：免費&lt;br /&gt;【軟體語言】：英文（有繁體，但沒完全中文化）&lt;br /&gt;【軟體類型】：遊戲作弊&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_h6JuD6TTUD0/Sl3yGMdh60I/AAAAAAAAANU/eV-LdEIEJVE/s1600-h/CE54.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5358705319878978370" src="http://1.bp.blogspot.com/_h6JuD6TTUD0/Sl3yGMdh60I/AAAAAAAAANU/eV-LdEIEJVE/s320/CE54.png" style="cursor: pointer; height: 320px; width: 298px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;軟體簡介：&lt;br /&gt;&lt;br /&gt;這個作弊程式跟常聽到的GM (Game Master)很類似，都是修改記憶體內容，達到作弊的目的，但是Cheat Engine功能可以說比gm還要好很多很多，而且能做出專屬遊戲的修改器。&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span class="fullpost"&gt;安裝好他之後，有個程式叫做Cheat Engine Toturial，這東西是一個模擬遊戲的程式，有教學，也就是專門給新手練習、熟悉用的，對剛接觸Cheat Engine非常非常非常非常有幫助！5.4版有九個步驟教學，一步一步通過Cheat Engine Toturial，並要〔瞭解〕它的原理，這是很重要的，因為就算通過，不瞭解他的原理的話，等於不會用。話說其實只要通過了前四步、前五步，就能對付很多很多的遊戲了，如果能瞭解第六步之後的原理，一定幫助的。&lt;br /&gt;&lt;br /&gt;話說～要如何做出專屬修改器，這方面資訊好像在網路比較少，Neil也咕狗半天都沒看到（可能我沒有仔細找吧），所以如何做出專屬修改器，Neil完全靠自己摸索出來的......所以說起來還蠻累的......因為沒有任何教學資料情況下自己摸出來的說～&lt;span style="color: #996633;"&gt;至於想做出專屬遊戲修改器，第八步（多重指針）一定要弄懂它的原理，不然你想做出修改器，可以說不太可能&lt;/span&gt;，除非你要做的遊戲是很單純的小遊戲。(&lt;span style="color: #996633;"&gt;咖啡色&lt;/span&gt;部份是Neil個人覺得啦...)&lt;br /&gt;&lt;br /&gt;Cheat Engine可以改什麼遊戲呢？只要不是「連線」的遊戲幾乎都能改。舉凡flash遊戲、魔獸爭霸三、惡魔獵人4 (Devil May Cry 4)、末日之戰(Crysis)等等很多遊戲都能改。阿如果你想修改MMORPG這種線上遊戲(例如魔獸世界)，那就可能要用到修改封包的軟體了。至於是什麼軟體...就請自行上google找吧...&lt;br /&gt;&lt;br /&gt;Cheat Engine 官方網站：&lt;a href="http://www.cheatengine.org/download.php" target="_blank"&gt;http://www.cheatengine.org/download.php&lt;/a&gt;&lt;br /&gt;5.4版中文化下載：&lt;a href="http://www.badongo.com/file/9614670" target="_blank"&gt;http://www.badongo.com/file/9614670&lt;/a&gt;&lt;br /&gt;Tutorial教學：&lt;a href="http://cid-87fb5e04653d7482.skydrive.live.com/self.aspx/%e5%85%ac%e9%96%8b/Cheat%20Engine%205.4%20%e6%95%99%e5%ad%b8.doc"&gt;點我&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-4218048699190934154?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/4218048699190934154/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2009/07/cheat-engine.html#comment-form' title='13 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/4218048699190934154'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/4218048699190934154'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2009/07/cheat-engine.html' title='Cheat Engine - 遊戲作弊程式'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_h6JuD6TTUD0/Sl3yGMdh60I/AAAAAAAAANU/eV-LdEIEJVE/s72-c/CE54.png' height='72' width='72'/><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-5330069974537563084</id><published>2009-07-15T22:46:00.002+08:00</published><updated>2012-02-02T22:54:55.752+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='電腦軟體推薦'/><title type='text'>ImgBurn - 免費好用功能強的燒錄軟體</title><content type='html'>【軟體名稱】：ImageBurn&lt;br /&gt;【軟體類型】：燒錄軟體&lt;br /&gt;【軟體性質】：免費&lt;br /&gt;【軟體語言】：多國(含繁中)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_h6JuD6TTUD0/Sl3sSZykINI/AAAAAAAAANM/iFequlrDdHU/s1600-h/logo.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5358698932545528018" src="http://1.bp.blogspot.com/_h6JuD6TTUD0/Sl3sSZykINI/AAAAAAAAANM/iFequlrDdHU/s320/logo.png" style="cursor: pointer; height: 80px; width: 256px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;各式各樣的光碟影像檔，並非所有的燒錄軟體都能支援，而且通常燒錄軟體因為功能比較強大，所以在開啟執行的速度，也會比較慢。如果為了燒錄各種的光碟影檔，而安裝了相對應的燒錄軟體，不但佔用了硬碟空間，而且還要花很多時間去找尋相對應的燒錄軟體。&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span class="fullpost"&gt;ImgBurn就如同它名字一樣，專門燒錄光碟影像檔的軟體，沒有市面燒錄軟體的強大功能，但卻擁有著極佳的反應速度，以及支援市面十多種光碟影像檔。如果你手上擁有著各式各樣的光碟影像檔，又不想安裝相對應的燒錄軟體，那就來試試這款專門燒錄光碟影像檔的燒錄軟體。&lt;br /&gt;&lt;br /&gt;ImgBurn 支援CD/DVD/HD DVD/Blu-ray等光碟映像檔的燒錄，目前支援的映像檔格式有BIN, DI, DVD, GI, IMG, ISO, MDS, NRG 跟 PDI，幾乎常用的光碟映像檔格式都可支援。ImgBurn除了可以將光碟ISO檔燒錄成DVD光碟片之外，還可支援資料燒錄、光碟備份等等，操作簡單、 順暢、較不佔系統資源，比起要花錢買的Nero好用太多囉！&lt;br /&gt;&lt;br /&gt;官方網站：&lt;a href="http://www.imgburn.com/" target="_blank"&gt;http://www.imgburn.com/&lt;/a&gt;&lt;br /&gt;官方下載頁面：&lt;a href="http://www.imgburn.com/index.php?act=download" target="_blank"&gt;http://www.imgburn.com/index.php?act=download&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-5330069974537563084?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/5330069974537563084/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2009/07/imgburn.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/5330069974537563084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/5330069974537563084'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2009/07/imgburn.html' title='ImgBurn - 免費好用功能強的燒錄軟體'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_h6JuD6TTUD0/Sl3sSZykINI/AAAAAAAAANM/iFequlrDdHU/s72-c/logo.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-6352875462777091599</id><published>2009-07-15T22:39:00.003+08:00</published><updated>2012-02-02T22:55:05.313+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='電腦軟體推薦'/><title type='text'>Unlocker - 解決無法刪除的檔案</title><content type='html'>【軟體名稱】：Unlocker&lt;br /&gt;【軟體性質】：免費&lt;br /&gt;【軟體語言】：多國語言(含繁中)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_h6JuD6TTUD0/Sl3qzqQpZQI/AAAAAAAAANE/TbEtEF-4iCo/s1600-h/tutorial2.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5358697304879097090" src="http://3.bp.blogspot.com/_h6JuD6TTUD0/Sl3qzqQpZQI/AAAAAAAAANE/TbEtEF-4iCo/s320/tutorial2.png" style="cursor: pointer; height: 118px; width: 320px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;軟體說明：&lt;br /&gt;&lt;br /&gt;許多使用者在進行檔案或目錄的刪除時都碰過底下的問題，就是被系統告知，檔案被某個程序所佔用，無法順利被刪除，但是令人百思不得其解的是，該檔案到底是被誰所佔用呢？是那個程序導致使用者無法將檔案刪除呢？現在就讓 Unlocker 來幫你解決吧！&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span class="fullpost"&gt;Unlocker 是一個免費的右鍵擴充工具，使用者在安裝後，它便能整合於滑鼠右鍵的操作當中，當使用者發現有某個檔案或目錄無法刪除時，只要按下滑鼠右鍵中的 「Unlocker」，那麼程式馬上就會顯示出是哪一些程序佔用了該目錄或檔案，接著只要按下彈出的視窗中的「Unlock」就能夠為你的檔案解套囉。&lt;br /&gt;&lt;br /&gt;Unlocker 不同於其他解鎖軟體的部分在於它並非強制關閉那些佔用檔案的程序，而是以解除檔案與程序關連性的方式來解鎖，因此不會像其他解鎖程式一樣因為強制關閉程序而造成使用者可能的資料遺失。&lt;br /&gt;&lt;br /&gt;Unlocker 的安裝非常簡單，使用者於下載後，只需雙擊檔案就能進行安裝，在安裝的過程中，程式會讓使用者選擇要將 Unlocker 直接整合進滑鼠右鍵選單或是「傳送到...」項目中，讓使用者能夠更有彈性地呼叫它。&lt;br /&gt;&lt;br /&gt;官方網站：&lt;a href="http://ccollomb.free.fr/unlocker/index.htm" target="_blank"&gt;http://ccollomb.free.fr/unlocker/index.htm&lt;/a&gt;&lt;br /&gt;官方下載：&lt;a href="http://ccollomb.free.fr/unlocker/unlocker1.8.7.exe" target="_blank"&gt;http://ccollomb.free.fr/unlocker/unlocker1.8.7.exe&lt;/a&gt;  (1.8.7版)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-6352875462777091599?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/6352875462777091599/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2009/07/unlocker.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/6352875462777091599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/6352875462777091599'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2009/07/unlocker.html' title='Unlocker - 解決無法刪除的檔案'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_h6JuD6TTUD0/Sl3qzqQpZQI/AAAAAAAAANE/TbEtEF-4iCo/s72-c/tutorial2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-7370597830436048999</id><published>2009-07-15T22:27:00.005+08:00</published><updated>2012-02-02T22:55:21.132+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='電腦軟體推薦'/><title type='text'>XnView - 免費支援眾多的看圖軟體</title><content type='html'>【軟體名稱】：XnView&lt;br /&gt;【軟體性質】：免費&lt;br /&gt;【軟體類型】：看圖軟體&lt;br /&gt;【軟體語言】：多國語言（含繁中）&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.xnview.com/img/index/logo.gif"&gt;&lt;img alt="" border="0" src="http://www.xnview.com/img/index/logo.gif" style="cursor: pointer; height: 318px; width: 333px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;軟體簡介：&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span class="fullpost"&gt;&amp;nbsp;* 可讀取四百餘種的檔案格式。（&lt;a href="http://perso.orange.fr/pierre.g/xnview/enformats.html"&gt;檔案支援格式列表&lt;/a&gt;，英文。）&lt;br /&gt; * 可輸出五十餘種的檔案格式。（&lt;a href="http://perso.orange.fr/pierre.g/xnview/enformats.html"&gt;檔案支援格式列表&lt;/a&gt;，英文。）&lt;br /&gt; * 支援 TIFF、動態 GIF 及動態圖示&lt;br /&gt; * 支援讀取 Image IPTC 及 EXIF 圖片資訊&lt;br /&gt; * IPTC 編輯功能&lt;br /&gt; * 圖片翻轉、尺寸修改及裁切功能&lt;br /&gt; * 圖片亮度及對比的調整&lt;br /&gt; * 濾鏡效果或圖片特效的套用&lt;br /&gt; * 全螢幕瀏覽模式&lt;br /&gt; * 幻燈片功能&lt;br /&gt; * 批次圖片轉換以及批次檔名修改&lt;br /&gt; * 螢幕擷取功能&lt;br /&gt; * 支援 TWAIN 及 WIA（僅限使用 Windows 作業系統）&lt;br /&gt; * 列印功能（僅限使用 Windows 作業系統）&lt;br /&gt; * 多語系支援&lt;br /&gt;&lt;br /&gt;若 XnView 以英文介面呈現，請依如下步驟操作，以調整至繁體中文介面。&lt;br /&gt;Tools→Options→Interface→Language→選擇「Chinese Traditional [正體中文]」→OK&lt;br /&gt;&lt;br /&gt;功能及各方便絕對比之前著名的ACDSee還好用，而且速度又快，而且是免費的&lt;br /&gt;&lt;br /&gt;官方網站：&lt;a href="http://www.xnview.com/"&gt;http://www.xnview.com/&lt;/a&gt;&lt;br /&gt;官方下載頁面：&lt;a href="http://www.xnview.com/en/download.html"&gt;http://www.xnview.com/en/download.html&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-7370597830436048999?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/7370597830436048999/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2009/07/xnview.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/7370597830436048999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/7370597830436048999'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2009/07/xnview.html' title='XnView - 免費支援眾多的看圖軟體'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-8210171816344053664</id><published>2009-07-15T22:06:00.004+08:00</published><updated>2009-07-15T23:31:54.787+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='電腦軟體推薦'/><title type='text'>MyUninstaller - 免費免安裝、輕巧快速的新增移除程式</title><content type='html'>【軟體名稱】：MyUninstaller&lt;br /&gt;【軟體性質】：免費&lt;br /&gt;【軟體類型】：新增移除工具&lt;br /&gt;【軟體語言】：繁體中文&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_h6JuD6TTUD0/Sl3juHWgfNI/AAAAAAAAAM8/bSpeiX6et-w/s1600-h/pic.jpg"&gt;&lt;img style="cursor: pointer; width: 364px; height: 228px;" src="http://4.bp.blogspot.com/_h6JuD6TTUD0/Sl3juHWgfNI/AAAAAAAAAM8/bSpeiX6et-w/s320/pic.jpg" alt="" id="BLOGGER_PHOTO_ID_5358689513027697874" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;軟體說明：&lt;br /&gt;&lt;br /&gt;超級輕薄短小的「新增或移除程式」工具 — MyUninstaller，讓你不用再去用「控制台」裡面那個微軟寫了二十幾年都還寫不好的大怪物來移除程式，它的開啟速度快，沒有 BUG！在 Windows XP、Windows 2000 跟 Vista 使用，都不會有任何問題！&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;相關連結：請參考&lt;a href="http://azo-freeware.blogspot.com/2006/12/myuninstaller-134.html"&gt;阿榮福利社&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-8210171816344053664?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/8210171816344053664/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2009/07/myuninstaller.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/8210171816344053664'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/8210171816344053664'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2009/07/myuninstaller.html' title='MyUninstaller - 免費免安裝、輕巧快速的新增移除程式'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_h6JuD6TTUD0/Sl3juHWgfNI/AAAAAAAAAM8/bSpeiX6et-w/s72-c/pic.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-4844061370297035944</id><published>2009-07-15T21:25:00.004+08:00</published><updated>2012-02-02T22:55:46.893+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='電腦軟體推薦'/><title type='text'>Mozilla Firefox - 強大好用的瀏覽器</title><content type='html'>【軟體名稱】：Mozilla Firefox&lt;br /&gt;【軟體性質】：免費&lt;br /&gt;【軟體類型】：網路瀏覽器&lt;br /&gt;【軟體語言】：多國語言（含繁中）&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_h6JuD6TTUD0/Sl3b91kSaRI/AAAAAAAAAM0/3QXpryh20mw/s1600-h/p2.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5358680987038542098" src="http://1.bp.blogspot.com/_h6JuD6TTUD0/Sl3b91kSaRI/AAAAAAAAAM0/3QXpryh20mw/s320/p2.jpg" style="cursor: pointer; height: 126px; width: 320px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;軟體簡介：&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;Firefox擁有分頁瀏覽、拼字檢查、即時書籤、下載管理員及自訂搜尋引擎等功能。此外還可以通過由第三方開發者貢獻的附加元件（早先版本譯為「擴充套件」）來加強各種功能，高擴展性是Firefox的特色之一。較受歡迎的有專門瀏覽IE only網頁的IE Tab、阻擋網頁廣告的Adblock Plus、下載FLV格式在線影片的Video Downloader Helper、保護電腦安全的NoScript等。截至2008年，Firefox可用的附加元件多於2,000種。&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Firefox可以在多種作業系統中執行，原始碼以GPL/LGPL/MPL三種授權方式釋出。&lt;br /&gt;&lt;br /&gt;官方網站：&lt;a href="http://www.mozilla.com/firefox/"&gt;http://www.mozilla.com/firefox/&lt;/a&gt;&lt;br /&gt;附加元件(擴充套件)：&lt;a href="https://addons.mozilla.org/zh-TW/firefox/"&gt;https://addons.mozilla.org/zh-TW/firefox/&lt;/a&gt;&lt;br /&gt;不來恩大大的精選擴充套件：&lt;a href="http://briian.com/?p=139"&gt;http://briian.com/?p=139&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-4844061370297035944?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/4844061370297035944/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2009/07/mozilla-firefox.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/4844061370297035944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/4844061370297035944'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2009/07/mozilla-firefox.html' title='Mozilla Firefox - 強大好用的瀏覽器'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_h6JuD6TTUD0/Sl3b91kSaRI/AAAAAAAAAM0/3QXpryh20mw/s72-c/p2.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-7443928189264261061</id><published>2009-07-15T20:25:00.005+08:00</published><updated>2012-02-02T23:03:40.785+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='電腦軟體推薦'/><title type='text'>PDF-XChange Viewer - 好用且速度快的PDF閱讀器</title><content type='html'>【軟體名稱】：PDF-XChange Viewer&lt;br /&gt;【軟體性質】：免費&lt;br /&gt;【軟體類型】：PDF閱讀器&lt;br /&gt;【軟體語言】：多國語言（含繁中）&lt;br /&gt;&lt;br /&gt;&lt;img src="http://3cjcaw.bay.livefilestore.com/y1pjNdA6o0KM2IeyZIEFblj0u95wW0snbBVsaZx01xRlupWo4ticQecjVQgMJ5drz4gKp3xfhtwq228MNSubWvcsQT-_Uy0MD9j/p1.jpg" /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span class="fullpost"&gt;&lt;img src="http://3cjcaw.bay.livefilestore.com/y1pCvE0hPmPyw3Mh0u7vweSeQoisUzCfoo1kuq50Ejp0EEn8l6PMrst3Qj-y_QL8CAkxkMPKcI_Aa9uHfVUy1iVx0r1caOGdpTZ/p2.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;軟體簡介：&lt;br /&gt;&lt;br /&gt;開啟 PDF 檔，除了 Adobe Reader 之外，PDF-XChange Viewer 可說是另一款更合適的軟體了，PDF-XChange Viewer 除了可以開啟觀看 PDF 檔之外，它另外的書寫工具功能，可是不容忽視的。也就是說 PDF-XChange Viewer 還允許我們在 PDF 檔案上任意位置加上註解、輸入文字、建立文字區域、箭頭、框線…等功能。最重要的是 PDF-XChange Viewer 還是一個免費的軟體。&lt;br /&gt;&lt;br /&gt;另外他有付費Pro版本，多了不少功能，不過一般只要免費版就很夠用了。對了，還有一個也很有明的PDF閱讀器，叫foxit，它的是也不錯...不過仔細比較結果...Neil覺得PDF-XChange Viewer比較好...因為我在Aspire one小筆電開啟有大量圖片的pdf檔時，用foxit開啟，捲動頁面竟然會lag...而且圖片越大量越嚴重...，而我用PDF-XChange Viewer開啟時，捲動雖然也會lag，不過比foxit好很多很多...因此我會比較推薦這款。&lt;br /&gt;&lt;br /&gt;官方網站：&lt;a href="http://www.docu-track.com/"&gt;http://www.docu-track.com/&lt;/a&gt;&lt;br /&gt;官方下載頁面：&lt;a href="http://www.docu-track.com/downloads/users/"&gt;http://www.docu-track.com/downloads/users/&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-7443928189264261061?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/7443928189264261061/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2009/07/pdf-xchange-viewer.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/7443928189264261061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/7443928189264261061'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2009/07/pdf-xchange-viewer.html' title='PDF-XChange Viewer - 好用且速度快的PDF閱讀器'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-7572104146374936013</id><published>2009-02-11T18:23:00.015+08:00</published><updated>2012-02-07T20:25:25.481+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Neil自製'/><title type='text'>【Neil自製】 魔獸爭霸三 自訂遊戲解析度程式 v3.1版釋出！</title><content type='html'>【軟體名稱】：魔獸爭霸三自訂解析度&lt;br /&gt;【軟體性質】：免費軟體&lt;br /&gt;【軟體語言】：繁體中文&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_h6JuD6TTUD0/S0yyI4w3L5I/AAAAAAAAAU0/qZdP4wl1JEU/s1600-h/%E6%9C%AA%E5%91%BD%E5%90%8D.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5425907516820631442" src="http://1.bp.blogspot.com/_h6JuD6TTUD0/S0yyI4w3L5I/AAAAAAAAAU0/qZdP4wl1JEU/s320/%E6%9C%AA%E5%91%BD%E5%90%8D.jpg" style="cursor: pointer; height: 214px; width: 320px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;這個呢...是Neil我心血來潮無聊花個2小時還3小時用C寫出來的小小程式...(v1.0)&lt;br /&gt;這是作啥的勒？&lt;br /&gt;如果你的桌面解析度不是一般常見的解析度的話（尤其是寬螢幕）&lt;br /&gt;通常魔獸都無法偵測到你要的解析度&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;例如我的是1440*900&lt;br /&gt;但都沒有1440*900的選項&lt;br /&gt;調整成跟桌面解析度大小一樣的話&lt;br /&gt;在切換視窗時不用等待「螢幕切換時間」（不知道怎形容，就是黑黑的畫面會閃爍兩三下，多等三秒鐘的切換時間）&lt;br /&gt;直接切換就顯示出來了&lt;br /&gt;而且畫面的比例大小也比較好看&lt;br /&gt;不然用寬螢幕卻用4:3的解析度&lt;br /&gt;看起來就是不一樣...&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;br /&gt;其實只要用個登錄檔（.reg）就可以了&lt;br /&gt;因為我家有三台電腦（有19吋、22吋、還有小筆電...）&lt;br /&gt;有時候重灌電腦、不小心調整到選項內容&lt;br /&gt;又要在執行一次登錄檔&lt;br /&gt;而且還要找適合的登錄檔執行&lt;br /&gt;說真的有點麻煩...&lt;br /&gt;於是我就乾脆寫個程式出來&lt;br /&gt;就不必再去稿三四個登錄檔&lt;br /&gt;要用的時候還找半天...&lt;br /&gt;&lt;br /&gt;我是在&lt;span style="color: #ff6666; text-decoration: underline;"&gt;Windows XP SP3 32位元&lt;/span&gt;的作業系統底下寫的&lt;br /&gt;所以windows vista, windows 7不知道能不能用喔！(聽說有人測試過可以用)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #cc9933; font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #cc9933; font-weight: bold;"&gt;關於3.1版：(2010/01/13)&lt;/span&gt;&lt;br /&gt;其實這版在功能上沒有太大的改變，只是在「關於此程式」裡的部落格連結有重新調整（因為短網址都掛掉了= =...），然後增加一個會發生小小錯誤的例外處理，細節就不多講了...因為發生的機會是蠻少的，所以～大概只有改這些。&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;span style="color: #cc9933; font-weight: bold;"&gt;關於3.0版：&lt;/span&gt;&lt;br /&gt;話說...一般情況下把遊戲解析度大小改成跟桌面的解析度大小一樣時，切換視窗就不必等待「螢幕切換時間」，但我發現還有一個重要的設定→「螢幕更新頻率 Refresh Rate」，如果遊戲的設定沒有跟桌面的一樣的話，就算解析度相同，還是要等待「螢幕切換時間」。那螢幕更新頻率去哪看勒？請在桌面按右鍵→「內容」→「設定值」→「進階」→「監視器」，就看到螢幕更新頻率了。所以3.0版我就把這個加進去，順便修改一下程式版面.....大概就降子囉...一般情況下遊戲預設應該都會是60Hz，所以大部分的人應該不太需要調整到Refresh Rate，如果你的解析度都一樣了，還是要等待螢幕切換時間的人，就試試看吧，應該會有效果。&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #cc9933; font-weight: bold;"&gt;關於v2.0版：&lt;/span&gt;&lt;br /&gt;因為原本1.0的是用console模式下執行跟輸入，介面也比較不友善。後來我就寫完1.0的版本之後，過了兩三天，突然想去找BCB6（Borland C++ Builder 6）程式來寫視窗程式，因為我也沒用過BCB，所以去網路找看看有沒有教學之類的，結果到某個伺服器，裡面竟然一大堆BCB6的範例程式！還有BCB6的34張powerpoint檔！超爽的.....還好大一有學過Java（不是javascript），對物件導向有概念，所以我就看看一些範例程式，很快就會了。&lt;br /&gt;&lt;br /&gt;在寫的時候發現，寫出來的視窗怎麼感覺怪怪的，例如按鈕的樣式，好像回到Windows 95、98、2000的那種灰色按鈕，而且BCB6好像有點年紀了...免不了會有些bug吧？因此就去找最新版...花了很多時間去找，才發現......原來Borland轉賣給CodeGear了？難怪我找得時候都一直看到「CodeGear」這公司.....，然後找找找，終於被我下載到CodeGear C++ Builder 2009了！而且裡面還附序號跟破解.......（噓...低調...XD），新版果然就是新版...介面比較好看，編寫視窗程式也好用多了，因此我的「魔獸爭霸三 解析度自訂程式 v2.0」就是用它寫的。&lt;br /&gt;&lt;br /&gt;因為我繪圖能力不好...所以找了我表哥...它就幫我做出一張icon給我...so...圖示就是他做的啦～還有程式裡的排版跟一些意見都是他提的，我就負責寫程式，大概就這樣搞出來。在上課之閒暇時間，過了三、四天才把程式搞出來...因此2.0版就降子誕生啦～&lt;br /&gt;&lt;br /&gt;※2.0版已經除去256~4095數字大小的限制。&lt;br /&gt;※2.0版檔案大小肥了很多...我也不知道如何把他更精簡...已經加殼過還是很大，希望有會BCB的高手能告訴我如何把執行檔弄小一點。&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #cc9933; font-weight: bold;"&gt;關於1.0版本：&lt;/span&gt;&lt;br /&gt;打開程式之後就要求你輸入解析度&lt;br /&gt;如果你要調整成1440*900就直接打「1440*900」，按Enter就好了&lt;br /&gt;執行成功之後記得重開魔獸喔（如果你本來就有開著的話）&lt;br /&gt;如果假設你是調整成1440*900&lt;br /&gt;你去選項會顯示640*480&lt;br /&gt;是因為魔獸裡的解析選項沒有1440*900的選項&lt;br /&gt;所以會預設顯示640*480&lt;br /&gt;但其實你的解析度已經是1440*900了&lt;br /&gt;※解析度必須介於256*256~4095*4095，原因...懶得解釋 XD&lt;br /&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;※附註 2010/3/22：(必看！)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;發現最近真多人問我這程式能不能用在幻想三國志、夢三國...等等其他遊戲，這個程式只能用在魔獸爭霸三這個遊戲，因為這只針對魔獸爭霸三的登錄檔(Registry)而寫的，所以其他遊戲是不能執行的。&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost" style="font-weight: bold;"&gt;&lt;span style="color: red;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost" style="font-weight: bold;"&gt;&lt;span style="color: red;"&gt;v3.1載點：&lt;/span&gt;&lt;a href="http://cid-87fb5e04653d7482.skydrive.live.com/self.aspx/%e5%85%ac%e9%96%8b/war3%5E_dpi%5E_fix%5E_v3.1.exe"&gt;點我下載&lt;/a&gt; 或 &lt;a href="http://anyhub.net/file/4pgw-war3_dpi_fix_v3.1.exe"&gt;Anyhub&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;span style="color: red;"&gt;v3.0載點：&lt;/span&gt;&lt;a href="http://cid-87fb5e04653d7482.skydrive.live.com/self.aspx/%E5%85%AC%E9%96%8B/war3%7C_dpi%7C_fix%7C_v3.0.exe" target="_blank"&gt;點我下載&lt;/a&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;v2.0載點：&lt;/span&gt;&lt;a href="http://twewga.bay.livefilestore.com/y1pDfYC7k8DmyRrGukXenBwRZo94BkaWbELyNVZdNgx7gdWJp04I20ixBTzvBMQfTEc-hgj6m7MvEu40AaUt_S1-A/war3_dpi_fix_v2.0.exe"&gt;點我下載&lt;/a&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;v1.0載點：&lt;/span&gt;&lt;a href="http://twewga.bay.livefilestore.com/y1pm1csNoRi6E-e8KVISaS_aEQ7kyGvtpSfM1MJQhGPxgYjcpmIRkZKVNdDcPt2L9k9xt82NCwI9z_hX1yxNO8NDw/%E9%AD%94%E7%8D%B8%E7%88%AD%E9%9C%B8%E4%B8%89%E8%87%AA%E8%A8%82%E8%A7%A3%E6%9E%90%E5%BA%A6.exe"&gt;點我下載&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #00ccff;"&gt;Neil碎碎念：&lt;/span&gt;&lt;br /&gt;嗯....我要念什麼呢？&lt;br /&gt;話說我把這篇PO在某論壇&lt;br /&gt;我把PO在論壇的文章內容有作點修改&lt;br /&gt;刪去一些關於程式的更新&lt;br /&gt;刪去了載點&lt;br /&gt;放了一個連結到我網誌文章&lt;br /&gt;然後有個回應說：「&lt;span id="tpid2"&gt;&lt;span id="spid2"&gt;通常在放家族的東西是別有目的吧?!&lt;/span&gt;&lt;/span&gt;」&lt;br /&gt;我看到的時候&lt;br /&gt;只有一個感覺&lt;br /&gt;那就是，我寫這程式好像變成雞婆了？&lt;br /&gt;我好心寫個小程式放網路給人用&lt;br /&gt;卻被人這樣講？&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="font-weight: bold;"&gt;我就是親自寫個程式方便大家&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;花心思、花時間，讓程式更方便用&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;把我作品放網路上&lt;/span&gt; &lt;/span&gt;&lt;span style="font-size: 85%; font-weight: bold;"&gt;就是希望有多點人來觀光我的網誌&lt;/span&gt;&lt;span style="font-size: 85%;"&gt; &lt;span style="font-weight: bold;"&gt; 至少不是無緣無故放一個連結，連到我網誌來衝人數&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;如果我直接把我PO在論壇的文章放上載點&lt;br /&gt;有多少人會來看看是誰寫得？&lt;br /&gt;有多少人會逛我網誌？&lt;br /&gt;我寫辛酸的？&lt;br /&gt;這麼排斥我就不要用我程式阿！&lt;br /&gt;我看我考慮把載點刪掉好了&lt;br /&gt;自己寫的東西自己用&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-7572104146374936013?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/7572104146374936013/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2009/02/neil-v30.html#comment-form' title='43 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/7572104146374936013'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/7572104146374936013'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2009/02/neil-v30.html' title='【Neil自製】 魔獸爭霸三 自訂遊戲解析度程式 v3.1版釋出！'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_h6JuD6TTUD0/S0yyI4w3L5I/AAAAAAAAAU0/qZdP4wl1JEU/s72-c/%E6%9C%AA%E5%91%BD%E5%90%8D.jpg' height='72' width='72'/><thr:total>43</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-494613226239571828</id><published>2009-02-11T18:20:00.004+08:00</published><updated>2012-02-02T23:04:25.222+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Neil自製'/><title type='text'>惡魔獵人4 PC版 Neil牌自製 作弊程式</title><content type='html'>【檔案名稱】：惡魔獵人4作弊程式（Devil May Cry 4 Cheat）DirectX 9.0版&lt;br /&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;【檔案大小】：580KB&lt;br /&gt;【檔案類型】：遊戲外掛&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_h6JuD6TTUD0/Sl7KCv-4dNI/AAAAAAAAAOM/MzrCPdC7QjY/s1600-h/dmc4.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5358942755206231250" src="http://3.bp.blogspot.com/_h6JuD6TTUD0/Sl7KCv-4dNI/AAAAAAAAAOM/MzrCPdC7QjY/s320/dmc4.jpg" style="cursor: pointer; height: 320px; width: 217px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;嗯.....遊戲玩破關了，感覺關卡有點少，只有最後Mission 18~20有用外掛破，其他都是純手工XDD&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;反正這單機遊戲，剛好有做出來，就拿出來分享一下好了.......&lt;br /&gt;這也是我第一個"半"自製作弊程式，放在網路供人下載....&lt;br /&gt;為什麼說"半"勒...因為我是靠著別的程式輔助才做出來的....&lt;br /&gt;程式裡面都有說明，所以這裡就不多說了&lt;br /&gt;至於Vista能不能用我就不清楚了&lt;br /&gt;小弟我是在windows xp 32位元作業系統底下製作&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="color: red;"&gt;下載：&lt;/span&gt;&lt;/span&gt;&lt;a href="http://twewga.bay.livefilestore.com/y1p8dkS8cB2Axhnt7oEGDZwYqJshXfeYmKWNzXYBKigYYg2YJeiJ1U7YdOrCkGpGXO7jQ_fBxYFzD0/dmc4_dx9_cheat.exe" style="font-weight: bold;" target="_blank"&gt;點我&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="zemanta-pixie"&gt;&lt;img class="zemanta-pixie-img" src="http://img.zemanta.com/pixy.gif?x-id=d26b44bf-46d9-46cd-af78-925e21ec5c15" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-494613226239571828?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/494613226239571828/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2009/02/4-pc-neil.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/494613226239571828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/494613226239571828'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2009/02/4-pc-neil.html' title='惡魔獵人4 PC版 Neil牌自製 作弊程式'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_h6JuD6TTUD0/Sl7KCv-4dNI/AAAAAAAAAOM/MzrCPdC7QjY/s72-c/dmc4.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-1596078073362679735</id><published>2009-02-11T17:46:00.002+08:00</published><updated>2012-02-02T23:04:42.769+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='電腦軟體推薦'/><title type='text'>JoyToKey - 把搖桿當鍵盤用吧</title><content type='html'>【軟體名稱】：JoyToKey&lt;br /&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;【軟體性質】：免費&lt;br /&gt;【軟體大小】：&lt;br /&gt;【軟體語言】：繁體中文&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_h6JuD6TTUD0/Sl7L4xjJZhI/AAAAAAAAAOU/kg5wDmz1ayI/s1600-h/joytokey.JPG"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5358944782851335698" src="http://1.bp.blogspot.com/_h6JuD6TTUD0/Sl7L4xjJZhI/AAAAAAAAAOU/kg5wDmz1ayI/s320/joytokey.JPG" style="cursor: pointer; height: 206px; width: 320px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;◆前言&lt;br /&gt;JoyToKey是一個使用搖桿來模擬鍵盤的好用程式，什麼時候要用到JoyToKey呢？&lt;br /&gt;-狀況一：有搖桿，但是模擬器卻不支援搖桿…只好猛操鍵盤！&lt;br /&gt;-狀況二：有搖桿，但是某些電腦遊戲卻不支援你的搖桿…又要猛操鍵盤！&lt;br /&gt;-狀況三：很多好玩的FlashGame會支援搖桿嗎？別開玩笑了…這時再度猛操鍵盤！&lt;br /&gt;-狀況四：看影片經常用滑鼠快轉、倒帶或暫停？那就快把你的搖桿當作遙控器吧！&lt;br /&gt;如果以上幾種狀況常常讓你腦神經衰弱，那麼JoyToKey將在一瞬間解決你的頭痛！&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span class="fullpost"&gt;◆準備工具&lt;br /&gt;◇搖桿：&lt;br /&gt;使用JoyToKey你一定要有一隻搖桿(廢話)，並且記得搖桿要接在電腦上(又是廢話)&lt;br /&gt;◇JoyToKey主程式：&lt;br /&gt;這個好用的程式是日本人開發的，要查看最新版本請到作者的網頁&lt;br /&gt;&lt;br /&gt;&lt;img alt="" src="http://portable.easylife.idv.tw/tac/JoyToKey.gif" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;官方網站：&lt;/strong&gt;&lt;a href="http://hp.vector.co.jp/authors/VA016823/"&gt;http://hp.vector.co.jp/authors/VA016823/&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;下載位址(繁體3.7.9)：&lt;/strong&gt;&lt;a href="http://space.uwants.com/batch.download.php?aid=390245"&gt;http://space.uwants.com/batch.download.php?aid=390245&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;※使用教學請到&lt;a href="http://home.pchome.com.tw/idv01/pinkjr2000/gui-joytokey.htm" target="_blank"&gt;粉紅豬的模擬器&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-1596078073362679735?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/1596078073362679735/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2009/02/joytokey.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/1596078073362679735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/1596078073362679735'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2009/02/joytokey.html' title='JoyToKey - 把搖桿當鍵盤用吧'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_h6JuD6TTUD0/Sl7L4xjJZhI/AAAAAAAAAOU/kg5wDmz1ayI/s72-c/joytokey.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-2524034190845257616</id><published>2009-02-11T17:40:00.002+08:00</published><updated>2009-07-16T16:28:04.195+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='電腦軟體推薦'/><title type='text'>HWMonitor - 免費免安裝的硬體偵測</title><content type='html'>【軟體名稱】：HWMonitor&lt;br /&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;【語言介面】：英文&lt;br /&gt;【軟體性質】：免費&lt;br /&gt;【軟體分類】：系統工具&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_h6JuD6TTUD0/Sl7kUG5m-mI/AAAAAAAAAOc/2AmYkrY8YAE/s1600-h/images113_1.gif"&gt;&lt;img style="cursor: pointer; width: 308px; height: 320px;" src="http://3.bp.blogspot.com/_h6JuD6TTUD0/Sl7kUG5m-mI/AAAAAAAAAOc/2AmYkrY8YAE/s320/images113_1.gif" alt="" id="BLOGGER_PHOTO_ID_5358971640718228066" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;軟體簡介：&lt;br /&gt;&lt;br /&gt;極具盛名的 CPU-Z 相信大家可一點兒也不陌生。現在，它們又推出了一個單純監測電腦系統上的電壓、溫度以及風扇轉速的軟體 - HWMonitor。而它可監控的項目，大抵如下：CPU 的電壓、CPU 風扇轉速、CPU 溫度、顯示卡溫度以及硬碟機溫度。若您擔心電腦會因為過熱或是覺得風扇運作不太正常，我們都可以透過 HWMonitor 來幫我們做時時的監控。&lt;br /&gt;&lt;br /&gt;官方網站：&lt;a href="http://www.cpuid.com/" target="_blank"&gt;http://www.cpuid.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="zemanta-pixie"&gt;&lt;img src="http://img.zemanta.com/pixy.gif?x-id=5d7a385f-31e2-4eb8-922e-9ca2adfb846e" class="zemanta-pixie-img" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-2524034190845257616?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/2524034190845257616/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2009/02/hwmonitor.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/2524034190845257616'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/2524034190845257616'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2009/02/hwmonitor.html' title='HWMonitor - 免費免安裝的硬體偵測'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_h6JuD6TTUD0/Sl7kUG5m-mI/AAAAAAAAAOc/2AmYkrY8YAE/s72-c/images113_1.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-6868277791200499631</id><published>2009-02-11T17:39:00.002+08:00</published><updated>2009-07-16T16:32:25.402+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='電腦軟體推薦'/><title type='text'>GPU-Z - 免費免安裝的顯示卡資訊偵測軟體</title><content type='html'>【軟體名稱】：GPU-Z&lt;br /&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;【語言介面】：英文&lt;br /&gt;【軟體性質】：免費&lt;br /&gt;【軟體分類】：系統工具&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_h6JuD6TTUD0/Sl7liulru9I/AAAAAAAAAOk/lu2KNtvUNXo/s1600-h/screen1.gif"&gt;&lt;img style="cursor: pointer; width: 273px; height: 320px;" src="http://2.bp.blogspot.com/_h6JuD6TTUD0/Sl7liulru9I/AAAAAAAAAOk/lu2KNtvUNXo/s320/screen1.gif" alt="" id="BLOGGER_PHOTO_ID_5358972991401868242" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;軟體簡介：&lt;br /&gt;&lt;br /&gt;GPU-Z 是專為顯示卡而設計的測試軟體，支援 NVIDAI 及 ATI 兩家晶片的顯示卡，經由 GPU-Z 可讓我們充份地了解顯示卡的晶片類型、製程、晶片大小、匯流排介面、DirectX版本、記憶體類型、記憶體大小、驅動程式版本、其他像晶片和記憶體的時 脈它也能偵測得出來，而且我們還能透過時脈的部份，來判斷我們的顯示卡是否有超頻。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;官方網站：&lt;/span&gt;&lt;a href="http://www.techpowerup.com/gpuz/" target="_blank"&gt;http://www.techpowerup.com/gpuz/&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;官方下載頁面：&lt;/span&gt;&lt;a href="http://www.techpowerup.com/downloads/1132/mirrors.php" target="_blank"&gt;http://www.techpowerup.com/downloads/1132/mirrors.php&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="zemanta-pixie"&gt;&lt;img src="http://img.zemanta.com/pixy.gif?x-id=adcdd789-104a-4319-9f16-998b876fabe2" class="zemanta-pixie-img" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-6868277791200499631?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/6868277791200499631/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2009/02/gpu-z.html#comment-form' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/6868277791200499631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/6868277791200499631'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2009/02/gpu-z.html' title='GPU-Z - 免費免安裝的顯示卡資訊偵測軟體'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_h6JuD6TTUD0/Sl7liulru9I/AAAAAAAAAOk/lu2KNtvUNXo/s72-c/screen1.gif' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-8652431270373703079</id><published>2009-02-11T17:38:00.002+08:00</published><updated>2009-07-16T16:35:59.632+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='電腦軟體推薦'/><title type='text'>CPU-Z - 免費免安裝的cpu資訊偵測軟體</title><content type='html'>【軟體名稱】：CPU-Z&lt;br /&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;【語言介面】：英文&lt;br /&gt;【軟體性質】：免費&lt;br /&gt;【軟體分類】：系統工具&lt;br /&gt;【軟體簡介】：&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_h6JuD6TTUD0/Sl7mXzCqoII/AAAAAAAAAOs/vADD-FpSHJI/s1600-h/cpu-z.jpg"&gt;&lt;img style="cursor: pointer; width: 301px; height: 320px;" src="http://2.bp.blogspot.com/_h6JuD6TTUD0/Sl7mXzCqoII/AAAAAAAAAOs/vADD-FpSHJI/s320/cpu-z.jpg" alt="" id="BLOGGER_PHOTO_ID_5358973903130239106" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;CPU-Z 是一個免費免安裝且迷你的 CPU 資訊偵測軟體，它主要提供了 CPU 類型、時脈、電壓、外頻、倍頻、製程、快取記憶體大小…等資訊。另外，它也提供了主機板型號、BIOS 版本、晶片組、顯示卡、作業系統版本、DirectX 版本等資訊。是很不錯的硬體查看軟體～而且都會不斷更新，支援各家廠牌資訊。&lt;br /&gt;&lt;br /&gt;官方網站及下載：&lt;a target="_blank" href="http://www.cpuid.com/cpuz.php"&gt;http://www.cpuid.com/cpuz.php&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="zemanta-pixie"&gt;&lt;img src="http://img.zemanta.com/pixy.gif?x-id=02ab8d76-41b9-4c87-8a30-df013b343bcd" class="zemanta-pixie-img" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-8652431270373703079?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/8652431270373703079/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2009/02/cpu-z-cpu.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/8652431270373703079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/8652431270373703079'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2009/02/cpu-z-cpu.html' title='CPU-Z - 免費免安裝的cpu資訊偵測軟體'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_h6JuD6TTUD0/Sl7mXzCqoII/AAAAAAAAAOs/vADD-FpSHJI/s72-c/cpu-z.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-1685598293666167811</id><published>2009-02-11T16:56:00.002+08:00</published><updated>2012-02-02T23:05:20.294+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='電腦軟體推薦'/><title type='text'>MagicDisc - 免費輕巧虛擬光碟</title><content type='html'>【軟體名稱】：Magic Disk&lt;br /&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;【軟體性質】：免費&lt;br /&gt;【軟體語言】：英文&lt;br /&gt;【系統支援】：Windows 98/2000/XP/2003/Vista&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_h6JuD6TTUD0/Sl7nPAROYAI/AAAAAAAAAO0/jvZ9HIZqEJQ/s1600-h/magicdisk.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5358974851573768194" src="http://3.bp.blogspot.com/_h6JuD6TTUD0/Sl7nPAROYAI/AAAAAAAAAO0/jvZ9HIZqEJQ/s320/magicdisk.jpg" style="cursor: pointer; height: 318px; width: 320px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;這個好用的MagicDisk免費軟體，功能其實跟酒精、Daemon tools很類似，是用來掛載映像檔的，不但一次可以掛載15個光碟機、免費、無廣告之外，重點是，MagicDisk除了可以支援標準的ISO格式之 外，還可支援MDF、NRG、BIN...共17種映像檔格式，幾乎常見的格式都可通吃了！有了MagicDisk就可以不用再去找Alcohol酒精的 xx版了（如果沒有要破防拷的話）。&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;支援的格式：(來自官方)&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="fullpost"&gt;BIN              (CDRWin) &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="fullpost"&gt;IMA/IMG          (Generic disk images)                                   &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="fullpost"&gt;CIF              (Easy CD Creator) &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="fullpost"&gt;NRG              (Nero - Burning ROM) &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="fullpost"&gt;IMG/CCD          (CloneCD) &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="fullpost"&gt;MDF/MDS          (Fantom CD) &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="fullpost"&gt;VCD              (Farstone Virtual Drive)                                   &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="fullpost"&gt;VaporCD          (Noum Vapor CDROM) &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="fullpost"&gt;P01/MD1/XA       (Gear) &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="fullpost"&gt;VC4/000          (Virtual CD) &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="fullpost"&gt;VDI              (Virtuo CD Manager) &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="fullpost"&gt;C2D              (WinOnCD) &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="fullpost"&gt;BWI/BWT          (BlinkWrite) &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="fullpost"&gt;CDI              (DiscJuggler) &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="fullpost"&gt;TAO/DAO          (Duplicator) &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="fullpost"&gt;PDI              (Instant Copy) &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span class="fullpost"&gt;  &lt;strong&gt;&lt;br /&gt;&lt;strong&gt;官方網站：&lt;/strong&gt;&lt;a href="http://www.magiciso.com/tutorials/miso-magicdisc-overview.htm?=magiciso" target="_blank"&gt;http://www.magiciso.com/&lt;/a&gt;&lt;/strong&gt;&lt;/span&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;&lt;div class="zemanta-pixie"&gt;&lt;strong&gt;&lt;img class="zemanta-pixie-img" src="http://img.zemanta.com/pixy.gif?x-id=d5d7699e-32f2-4423-a628-ec8de3419eaf" /&gt;&lt;/strong&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-1685598293666167811?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/1685598293666167811/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2009/02/magicdisc.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/1685598293666167811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/1685598293666167811'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2009/02/magicdisc.html' title='MagicDisc - 免費輕巧虛擬光碟'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_h6JuD6TTUD0/Sl7nPAROYAI/AAAAAAAAAO0/jvZ9HIZqEJQ/s72-c/magicdisk.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-1826014769310291978</id><published>2009-02-11T16:46:00.002+08:00</published><updated>2009-07-16T16:46:19.235+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='電腦軟體推薦'/><title type='text'>utorrent - 好用的BT下載軟體</title><content type='html'>【檔案名稱】：utorrent&lt;br /&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;【檔案類型】：BT下載工具&lt;br /&gt;【檔案性質】：免費多國語言&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_h6JuD6TTUD0/Sl7ox6JhDNI/AAAAAAAAAPE/N_lu-IQgLas/s1600-h/utorrent2.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 224px;" src="http://1.bp.blogspot.com/_h6JuD6TTUD0/Sl7ox6JhDNI/AAAAAAAAAPE/N_lu-IQgLas/s320/utorrent2.png" alt="" id="BLOGGER_PHOTO_ID_5358976550737874130" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;uTorrent是一套很簡便的BT下載軟體，比起「廣告越來越多、功能越來越複雜的Bitcomet」來說，uTorrent的輕便、操作簡單而且沒有一堆廣告的軟體介面，反而成了越來越多人下載BT時的首選工具。以下簡單介紹下如果安裝、中文化uTorrent軟體，並用它來下載BT檔案，讓我們享受極速下載的同時，也不會被軟體的一堆複雜功能搞得七葷八素。(重灌狂人)&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;官方網站：&lt;a href="http://utorrent.com/" target="_blank"&gt;http://utorrent.com/&lt;/a&gt;&lt;br /&gt;官方下載頁面：&lt;a href="http://utorrent.com/download.php" target="_blank"&gt;http://utorrent.com/download.php&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;將主程式跟多國語言包下載完放再同一個資料夾，執行主程式，就可以安裝好多國語言囉。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="zemanta-pixie"&gt;&lt;img src="http://img.zemanta.com/pixy.gif?x-id=538879d4-c47c-46ad-a76b-1d98cb7dc795" class="zemanta-pixie-img" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-1826014769310291978?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/1826014769310291978/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2009/02/utorrent-bt.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/1826014769310291978'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/1826014769310291978'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2009/02/utorrent-bt.html' title='utorrent - 好用的BT下載軟體'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_h6JuD6TTUD0/Sl7ox6JhDNI/AAAAAAAAAPE/N_lu-IQgLas/s72-c/utorrent2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-5784086105771367988</id><published>2009-02-11T16:34:00.002+08:00</published><updated>2012-02-02T23:05:44.452+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='電腦軟體推薦'/><title type='text'>FormatFactory - 免費萬用多媒體影音轉檔軟體</title><content type='html'>【軟體名稱】：格式工廠 ( Format Factory )&lt;br /&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;【軟體性質】：免費&lt;br /&gt;【軟體類型】：轉檔工具&lt;br /&gt;【軟體語言】：多國語言（含繁中）&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_h6JuD6TTUD0/Sl7paPP5RYI/AAAAAAAAAPM/pVItU_QGZyM/s1600-h/formatfactory1.90"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5358977243596539266" src="http://2.bp.blogspot.com/_h6JuD6TTUD0/Sl7paPP5RYI/AAAAAAAAAPM/pVItU_QGZyM/s320/formatfactory1.90" style="cursor: pointer; height: 230px; width: 320px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;免費萬用多媒體轉檔工具 - 格式工廠，可以把所有影片轉成 MP4、3GP、MPG、AVI、WMV、FLV、SWF 檔，把所有音樂轉成 MP3、WMA、MMF、AMR、OGG、M4A、WAV 檔，還可以轉圖片格式、擷取 DVD 影片、抓音軌，超齊全的多媒體轉檔軟體～而且又是免費，檔案小，介面清楚。&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;以下是官方的介紹（1.70）&lt;br /&gt;&lt;span class="fullpost"&gt;Format Factory is a multifunctional media converter.&lt;br /&gt;Provides functions below:&lt;br /&gt;All to MP4/3GP/MPG/AVI/WMV/FLV/SWF.&lt;br /&gt;All to MP3/WMA/AMR/OGG/AAC/WAV.&lt;br /&gt;All to JPG/BMP/PNG/TIF/ICO/GIF/TGA.&lt;br /&gt;Rip DVD to video file , Rip Music CD to audio file.&lt;br /&gt;MP4 files support iPod/iPhone/PSP/BlackBerry format.&lt;br /&gt;Source files support RMVB.&lt;br /&gt;&lt;br /&gt;Format Factory's Feature:&lt;br /&gt;1 support converting all popular video,audio,picture formats to others.&lt;br /&gt;2 Repair damaged video and audio file.&lt;br /&gt;3 Reducing Multimedia file size.&lt;br /&gt;4 Support iphone,ipod multimedia file formats.&lt;br /&gt;5 Picture converting supports Zoom,Rotate/Flip,tags.&lt;br /&gt;6 DVD Ripper.&lt;br /&gt;7 Supports 42 languages&lt;br /&gt;&lt;br /&gt;OS requirements: All 32 windows OS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="zemanta-pixie"&gt;&lt;img class="zemanta-pixie-img" src="http://img.zemanta.com/pixy.gif?x-id=cd5b868f-4a5c-4953-b4a5-c83079ed76f3" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-5784086105771367988?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/5784086105771367988/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2009/02/formatfactory.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/5784086105771367988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/5784086105771367988'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2009/02/formatfactory.html' title='FormatFactory - 免費萬用多媒體影音轉檔軟體'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_h6JuD6TTUD0/Sl7paPP5RYI/AAAAAAAAAPM/pVItU_QGZyM/s72-c/formatfactory1.90' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-3382654316111267212</id><published>2008-12-05T22:00:00.000+08:00</published><updated>2012-02-02T23:05:59.766+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C/C++：教學'/><title type='text'>C/C++：scanf 格式控制介紹</title><content type='html'>&lt;span style="color: #6600cc;"&gt;scanf格式控制的完整格式：&lt;/span&gt;&lt;br /&gt;%&amp;nbsp; *&amp;nbsp; m&amp;nbsp; l或h&amp;nbsp; 格式字符&lt;br /&gt;① 格式字符與printf函數中的使用方式相同，以%d、%o、%x、%c、%s、%f、%e，無%u格式、%g格式。&lt;br /&gt;&lt;br /&gt;② 可以指定輸入數據所佔列寬，系統自動按它截取所需數據。如:&lt;br /&gt;scanf(「%3d%3d」,&amp;amp;a,&amp;amp;b);&lt;br /&gt;輸入：123456&lt;br /&gt;系統自動將123賦給a,456賦給b。&lt;br /&gt;&lt;br /&gt;③ %後的「*」附加說明符，用來表示跳過它相應的數據。例如：&lt;br /&gt;scanf(「%2d%*3d%2d」,&amp;amp;a,&amp;amp;b);&lt;br /&gt;如果輸入如下信息：1234567。將12賦給a，67賦給b。第二個數據」345」被跳過不賦給任何變量。&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;④ 輸入數據時不能規定精度，例如：&lt;br /&gt;scanf(「%7.2f」,&amp;amp;a);&lt;br /&gt;是不合法的，不能企圖輸入：12345.67而使a的值為12345.67。&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #6600cc;"&gt;輸入數據流分隔&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;① 根據格式字符的含義從輸入流中取得數據，當輸入流中數據類型與格式字符要求不符時，就認為這一項結束。如：&lt;br /&gt;scanf(「%d%c%f」,&amp;amp;a,&amp;amp;b,&amp;amp;c)；&lt;br /&gt;如果輸入如下信息：&lt;br /&gt;1234r1234.567&lt;br /&gt;則scanf函數在接收數據時發現」r」類型不匹配，於是把」1234」轉換成整型賦值給a，把」r」賦給變量b，最後把」1234.567」轉換成實型數據賦給c。&lt;br /&gt;&lt;br /&gt;② 根據格式項中指定的域寬分隔出數據項。如語句：scanf(「%2d%3f%4f」,&amp;amp;a,&amp;amp;b,&amp;amp;c);&lt;br /&gt;如果輸入如下信息：&lt;br /&gt;123456789012345&lt;br /&gt;&amp;nbsp;&amp;nbsp; 則scanf函數在接收數據時根據域寬把12賦值給a,345賦值給b，6789賦值給c。&lt;br /&gt;&lt;br /&gt;③ 隱示分隔符。空格、跳格符（』\t'）、換行符（』\n'）都是C語言認定的數據分隔符。&lt;br /&gt;&lt;br /&gt;④ 顯示分隔符。在scanf函數的兩個格式說明項間有一個或多個普通字符，那麼在輸入數據時，在兩個數據之間也必須以這一個或多個字符分隔。如語句：&lt;br /&gt;scanf(「a=%d,b=%f,c=%f」,&amp;amp;a,&amp;amp;b,&amp;amp;c);&lt;br /&gt;則輸入數據應該為：&lt;br /&gt;&amp;nbsp;&amp;nbsp; a=1234,b=67.8,c=98.123&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #6600cc;"&gt;關於scanf函數的進一步說明：&lt;/span&gt;&lt;br /&gt;① scanf函數中的「格式控制」後面應當是變量地址，而不應是變量名。例如，如果a、b為整型變量，則&lt;br /&gt;scanf(「%d,%d」,a,b);&lt;br /&gt;是不對的，應將」a，b」改為」&amp;amp;a,&amp;amp;b」。&lt;br /&gt;&lt;br /&gt;② 如果在「格式控制」字符串中除了格式說明以外還有其它字符，則在輸入數據時應輸入與這些字符相同的字符。例如：&lt;br /&gt;scanf(「%d,%d」,&amp;amp;a,&amp;amp;b);&lt;br /&gt;輸入時應輸入：3，4。3與4之間的逗號應與scanf函數中的「格式控制」中的逗號相對應，輸入其它符號是不對的。&lt;br /&gt;&lt;br /&gt;③ 在用「%c」格式輸入字符時，空格字符和轉義字符都作為有效字符輸入。&lt;br /&gt;scanf(「%c%c%c」,&amp;amp;c1,&amp;amp;c2,&amp;amp;c3);&lt;br /&gt;如輸入：a b c 。字符』a'賦給c1,字符（空格）』 』賦給c2,字符』b' 賦給c3。&lt;br /&gt;&lt;br /&gt;④ scanf&amp;nbsp; 中不使用U說明符.對unsigned型數據用d、o、x說明符輸入&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #6600cc;"&gt;[Reading&amp;nbsp;Undelimited&amp;nbsp;strings]&lt;/span&gt;&lt;br /&gt;*To&amp;nbsp;read&amp;nbsp;strings&amp;nbsp;not&amp;nbsp;delimited&amp;nbsp;by&amp;nbsp;whitespace&amp;nbsp;characters,&amp;nbsp;a&amp;nbsp;set&amp;nbsp;of&amp;nbsp;characters&amp;nbsp;in&amp;nbsp;brackets&amp;nbsp;([&amp;nbsp;])&amp;nbsp;can&amp;nbsp;be&amp;nbsp;substituted&amp;nbsp;for&amp;nbsp;the&amp;nbsp;s&amp;nbsp;(string)&amp;nbsp;type&amp;nbsp;character.&amp;nbsp;The&amp;nbsp;set&amp;nbsp;of&amp;nbsp;characters&amp;nbsp;in&amp;nbsp;brackets&amp;nbsp;is&amp;nbsp;referred&amp;nbsp;to&amp;nbsp;as&amp;nbsp;a&amp;nbsp;control&amp;nbsp;string.&amp;nbsp;The&amp;nbsp;corresponding&amp;nbsp;input&amp;nbsp;field&amp;nbsp;is&amp;nbsp;read&amp;nbsp;up&amp;nbsp;to&amp;nbsp;the&amp;nbsp;first&amp;nbsp;character&amp;nbsp;that&amp;nbsp;does&amp;nbsp;not&amp;nbsp;appear&amp;nbsp;in&amp;nbsp;the&amp;nbsp;control&amp;nbsp;string.&amp;nbsp;If&amp;nbsp;the&amp;nbsp;first&amp;nbsp;character&amp;nbsp;in&amp;nbsp;the&amp;nbsp;set&amp;nbsp;is&amp;nbsp;a&amp;nbsp;caret&amp;nbsp;(^),&amp;nbsp;the&amp;nbsp;effect&amp;nbsp;is&amp;nbsp;reversed:&amp;nbsp;The&amp;nbsp;input&amp;nbsp;field&amp;nbsp;is&amp;nbsp;read&amp;nbsp;up&amp;nbsp;to&amp;nbsp;the&amp;nbsp;first&amp;nbsp;character&amp;nbsp;that&amp;nbsp;does&amp;nbsp;appear&amp;nbsp;in&amp;nbsp;the&amp;nbsp;rest&amp;nbsp;of&amp;nbsp;the&amp;nbsp;character&amp;nbsp;set.&lt;br /&gt;*Note&amp;nbsp;that&amp;nbsp;%[a-z]&amp;nbsp;and&amp;nbsp;%[z-a]&amp;nbsp;are&amp;nbsp;interpreted&amp;nbsp;as&amp;nbsp;equivalent&amp;nbsp;to&amp;nbsp;%[abcde...z].&amp;nbsp;This&amp;nbsp;is&amp;nbsp;a&amp;nbsp;common&amp;nbsp;scanf&amp;nbsp;function&amp;nbsp;extension,&amp;nbsp;but&amp;nbsp;note&amp;nbsp;that&amp;nbsp;the&amp;nbsp;ANSI&amp;nbsp;standard&amp;nbsp;does&amp;nbsp;not&amp;nbsp;require&amp;nbsp;it.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #6600cc;"&gt;舉一些例子：&lt;/span&gt;&lt;br /&gt;對於&amp;nbsp;const&amp;nbsp;char*&amp;nbsp;p&amp;nbsp;=&amp;nbsp;"12232114687ABC12356";&lt;br /&gt;sscanf(p,"%[123]",buf);&amp;nbsp;//&amp;nbsp;就把是'1'或'2'或'3'的字讀讀到buf中，直到遇到一個不是'1'且不是'2'且不是'3'的字符，於是執行後buf應該是"1223211";&lt;br /&gt;%[123]等同於%[231]，等同於%[321]……，列表中的順序是無所謂的；&lt;br /&gt;%[123]也等同於%[1-3]或%[3-1],也就是「1至3」，對於連續的字符列表這樣寫就很簡單，比如%[a-z]等同%[abc…省略…z]；&lt;br /&gt;想想看，%[3-14]應該等同於什麼？是「3至14」嗎？當然不是，因為[]中的是字符，而不是數字，所以%[3-14]應該等同於%[3214]，等同於%[1234]；&lt;br /&gt;同理，想只取字母，那就可以寫成%[A-Za-z]；&lt;br /&gt;如果列表的第一個字母是^，那麼正好相反，比如%[^A-Za-z]的意思就是取字母之外的所有字符。&lt;br /&gt;對於字符串"abDEc123"如果想按照字母和數字讀到兩個字符串中就應該是&amp;nbsp;"%[a-zA-Z]%[0-9]",buf1,buf2&amp;nbsp;；&lt;br /&gt;假 如我想取一行字符，該怎麼辦？"%s"是不行的，因為%s遇到空白字符（空格、製表符、\r、\n）就結束了，所以可以寫成&amp;nbsp;"%[^\n]%*c"，% [^\n]的作用剛才講過了，就是讀\n之外的所有字符，也就是說讀到\n為止，%*c的作用就是把\n去掉，否則再次讀的時候一直遇到的都是\n；&lt;br /&gt;所有對%s起作用的控制，都可以用於%[]，比如"%*[^\n]%*c"就表示跳過一行，"%-20[^\n]"就表示讀取\n前20個字符。&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;span style="color: red;"&gt;※以上並非完整格式介紹，但我想應該算蠻多的了。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956810645962042332-3382654316111267212?l=neilchennc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://neilchennc.blogspot.com/feeds/3382654316111267212/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://neilchennc.blogspot.com/2008/12/ccscanf.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/3382654316111267212'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2956810645962042332/posts/default/3382654316111267212'/><link rel='alternate' type='text/html' href='http://neilchennc.blogspot.com/2008/12/ccscanf.html' title='C/C++：scanf 格式控制介紹'/><author><name>Neil</name><uri>http://www.blogger.com/profile/07496780013736645751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://3.bp.blogspot.com/_h6JuD6TTUD0/SSe8MD0pK4I/AAAAAAAAAAM/qQSkDgcHJgY/S220/Neil.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2956810645962042332.post-3248636884958972494</id><published>2008-12-05T21:45:00.002+08:00</published><updated>2012-02-02T23:06:20.831+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C/C++：教學'/><title type='text'>C/C++：printf 格式控制介紹</title><content type='html'>&lt;span style="color: #6600cc;"&gt;printf的格式控制：&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #009900;"&gt;%  -  0  m.n  l&lt;/span&gt;或&lt;span style="color: #009900;"&gt;h&lt;/span&gt;  格式字符&lt;br /&gt;下面對組成格式說明的各項加以說明：&lt;br /&gt;① &lt;span style="color: #009900;"&gt;%&lt;/span&gt;：表示格式說明的起始符號，不可缺少。&lt;br /&gt;② &lt;span style="color: #009900;"&gt;-&lt;/span&gt;：有-表示左對齊輸出，如省略表示右對齊輸出。&lt;br /&gt;③ &lt;span style="color: #009900;"&gt;0&lt;/span&gt;：有0表示指定空位填0,如省略表示指定空位不填。&lt;br /&gt;④ &lt;span style="color: #009900;"&gt;m.n&lt;/span&gt;：m指域寬，即對應的輸出項在輸出設備上所佔的字符數。N指精度。用於說明輸出的實型數的小數位數。為指定n時，隱含的精度為n=6位。&lt;br /&gt;⑤ &lt;span style="color: #009900;"&gt;l&lt;/span&gt;或&lt;span style="color: #009900;"&gt;h&lt;/span&gt;:l對整型指long型，對實型指double型。h用於將整型的格式字符修正為short型。&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #6600cc;"&gt;&lt;strong&gt;&lt;/strong&gt;格式字符&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;① &lt;span style="color: #009900;"&gt;d格式&lt;/span&gt;：用來輸出十進制整數。有以下幾種用法：&lt;br /&gt;%d：按整型數據的實際長度輸出。&lt;br /&gt;%md：m為指定的輸出字段的寬度。如果數據的位數小於m，則左端補以空格，若大於m，則按實際位數輸出。&lt;br /&gt;%ld：輸出長整型數據。&lt;br /&gt;&lt;br /&gt;② &lt;span style="color: #009900;"&gt;o格式&lt;/span&gt;：以無符號八進制形式輸出整數。對長整型可以用"%lo"格式輸出。同樣也可以指定字段寬度用「%mo」格式輸出。&lt;br /&gt;例：&lt;br /&gt;   main()&lt;br /&gt;   { int a = -1;&lt;br /&gt;     printf("%d, %o", a, a);&lt;br /&gt;   }&lt;br /&gt;  執行結果：-1,177777&lt;br /&gt;  程序解析：-1在內存單元中（以補碼形式存放）為(1111111111111111)2，轉換為八進制數為(177777)8。&lt;br /&gt;&lt;br /&gt;③ &lt;span style="color: #009900;"&gt;x格式&lt;/span&gt;：以無符號十六進制形式輸出整數。對長整型可以用"%lx"格式輸出。同樣也可以指定字段寬度用"%mx"格式輸出。&lt;br /&gt;&lt;br /&gt;④ &lt;span style="color: #009900;"&gt;u格式&lt;/span&gt;：以無符號十進制形式輸出整數。對長整型可以用"%lu"格式輸出。同樣也可以指定字段寬度用「%mu」格式輸出。&lt;br /&gt;&lt;br /&gt;⑤ &lt;span style="color: #009900;"&gt;c格式&lt;/span&gt;：輸出一個字符。&lt;br /&gt;&lt;br /&gt;⑥ &lt;span style="color: #009900;"&gt;s格式&lt;/span&gt;：用來輸出一個串。有幾中用法&lt;br /&gt;%s：例如:printf("%s", "Taiwan")輸出"Taiwan"字符串（不包括雙引號）。&lt;br /&gt;%ms：輸出的字符串佔m列，如字符串本身長度大於m，則突破獲m的限制,將字符串全部輸出。若串長小於m，則左補空格。&lt;br /&gt;%-ms：如果串長小於m，則在m列範圍內，字符串向左靠，右補空格。&lt;br /&gt;%m.ns：輸出佔m列，但只取字符串中左端n個字符。這n個字符輸出在m列的右側，左補空格。&lt;br /&gt;%-m.ns：其中m、n含義同上，n個字符輸出在m列範圍的左側，右補空格。如果n&amp;gt;m，則自動取n值，即保證n個字符正常輸出。&lt;br /&gt;&lt;br /&gt;⑦ &lt;span style="color: #009900;"&gt;f格式&lt;/span&gt;：用來輸出實數（包括單、雙精度），以小數形式輸出。有以下幾種用法：&lt;br /&gt;%f：不指定寬度，整數部分全部輸出並輸出6位小數。&lt;br /&gt;%m.nf：輸出共佔m列，其中有n位小數，如數值寬度小於m左端補空格。&lt;br /&gt;%-m.nf：輸出共佔n列，其中有n位小數，如數值寬度小於m右端補空格。&lt;br /&gt;&lt;br /&gt;⑧ &lt;span style="color: #009900;"&gt;e格式&lt;/span&gt;：以指數形式輸出實數。可用以下形式：&lt;br /&gt;%e：數字部分（又稱尾數）輸出6位小數，指數部分佔5位或4位。&lt;br /&gt;%m.ne和%-m.ne：m、n和」-」字符含義與前相同。此處n指數據的數字部分的小數位數，m表示整個輸出數據所佔的寬度。&lt;br /&gt;&lt;br /&gt;⑨ &lt;span style="color: #009900;"&gt;g格式&lt;/span&gt;：自動選f格式或e格式中較短的一種輸出，且不輸出無意義的零。&lt;br /&
