ultimatepp/uppbox/uppweb/www.tpp/vswx_en-us.tpp
cxl f01ecccbd4 upp.src: Removing .tpp $
git-svn-id: svn://ultimatepp.org/upp/trunk@11511 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2017-12-02 14:09:28 +00:00

767 lines
No EOL
37 KiB
C++
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

topic "U++ vs wxWidgets";
[ $$0,0#00000000000000000000000000000000:Default]
[l288;i704;a17;O9;~~~.992; $$1,0#10431211400427159095818037425705:param]
[a83;*R6 $$2,5#31310162474203024125188417583966:caption]
[b83;* $$3,5#07864147445237544204411237157677:title]
[b167;a42;C $$4,6#40027414424643823182269349404212:item]
[b42;a42; $$5,5#45413000475342174754091244180557:text]
[l288;a17; $$6,6#27521748481378242620020725143825:desc]
[l321;t246;C@5;1 $$7,7#20902679421464641399138805415013:code]
[b2503; $$8,0#65142375456100023862071332075487:separator]
[*@(0.0.255) $$9,0#83433469410354161042741608181528:base]
[t4167;C+117 $$10,0#37138531426314131251341829483380:class]
[l288;a17;*1 $$11,11#70004532496200323422659154056402:requirement]
[i416;b42;a42;O9;~~~.416; $$12,12#10566046415157235020018451313112:tparam]
[b167;C $$13,13#92430459443460461911108080531343:item1]
[a42;C $$14,14#77422149456609303542238260500223:item2]
[*@2$(0.128.128) $$15,15#34511555403152284025741354420178:NewsDate]
[l321;*C$7 $$16,16#03451589433145915344929335295360:result]
[l321;b83;a83;*C$7 $$17,17#07531550463529505371228428965313:result`-line]
[l160;t4167;*C+117 $$18,5#88603949442205825958800053222425:package`-title]
[{_}%EN-US
[s0;= [7 Ultimate`+`+ vs wxWidgets]&]
[s0;=2 &]
[s0; [2 To compare Ultimate`+`+ with wxWindows, we decided to reimplement
wxWindows demonstration example `"Bombs`". On the left side is
U`+`+ code, on the right side wxWidgets code (part of wxWidgets
release).]&]
[s0;=2 &]
[ {{5000:5000f0;g0; [s0;= [2
@@image:1549&1849
ƒ<EFBFBD>ò<EFBFBD>ƒŽþø·œí<EFBFBD>¯˜ãƃ҃<EFBFBD>®Èˆˆ¸° àÁ<EFBFBD><EFBFBD><EFBFBD>ƒœÄØðÀ àÁÀ<EFBFBD>ƒŒœ¸°àÀƒ°œØð<EFBFBD><EFBFBD>
<EFBFBD>ƒŒˆ˜<EFBFBD>à<EFBFBD>°  üÐàÀ×þ¸˜­ÙÖ«Õ¥Õ©Ùï¿õô¼ÊÓëçòõ¿®µÇö½¾¾¼âÞ˜¦ÒÞ¾ýëËúü¥Ç°ÌøÝÞÞÖÎþ
ÒÞ<EFBFBD>áØÃšîþñÕ¸ûËØ×Ÿ·ýן¿½øúÓÿÅõÿÓý¸ùÐ÷ÿýíøåÑ¿ÞýýëÍÿ¥ë¿©»úÊÞ½ñûËï÷ ìÿöùê¬ïåÿõÛ×ß
÷îú·ÕÿíÕ×ÅÿíÕßìßú×®¿¸ªûÙï<EFBFBD>ªþúóæàÛ¿ù÷ýú¾ÝÕÿÝõ×õ׿³÷·®ÿëûú÷Õÿ<EFBFBD>²ßÅÙâ×߬ÖîúÁÙÿ¿ºø¾
å꿬<EFBFBD>ýå»<EFBFBD>åÿÃþíÙÿ°éß¹õþãÕ×öþŸæþÿÙ½¨ûå¿ç÷Ë¢ÿ¼¨ùúÿÕý¿ªþòîÑôÅÿ«·øñÓÿøñÏó ì¯<EFBFBD>ª
ÕþþóàÛÿü÷÷ýÿß×ý¿Æ®«¾²åÿæžÊþ¿Åÿ°Ý¼©û<EFBFBD>ý÷×Îßþ÷ѽ¨ûåÕãÓ¾íú«¢ÏåÿûÔçö·þãÿ«÷úÊ®¿ûýÚ
¬½¨ûÿÛ×öâÓô÷Õÿ·éö·öÓóÙÿ´ÜÞíúçÕýÕ<EFBFBD>ß×ýÏÕ¿ÿçæÁ¿ý­øóõðçÝï¯ìÍãè£Þ´Ï²º÷Ÿìœ ½êÒ
ûßöÐý¦ì¿çüÆï½Ô·<EFBFBD>øþÙÀº<EFBFBD>ê«ý·Õÿꫵ·û<EFBFBD>îú«ÕËšÕØŠæÒÇã¡Ô¯öÒ õÐý³<EFBFBD>é<EFBFBD>ÿìú½Ô½ÒÈËþ<EFBFBD>Õí¿
¤ïû¨þ¬û÷ÆŸýÞÃõéå»ÒýÔß·ô¡­ÌÇõǺÂï¢ÚÛÁê»Ø¬Ð­½®Óû¦íÑýØ äúÓ÷ÛàÛ¨þú<EFBFBD>ýêÁÛôòÓÓöÐÝ
ÒÀúøŒÕ­¤Ôפ¥ª¥°ˆ<EFBFBD>È<EFBFBD>¢úóß<EFBFBD>÷ÍÔËà«È¼·ä¨ÀÎØÉè<EFBFBD>ã<EFBFBD>œú¥õžž»»<EFBFBD>Ãê¿ú¹´óõÞò×ûôÍÕ×àøö¨
ÑÞòèÆšï¯ö½ŸÉëþû×Àóºìÿõ¾ù°<EFBFBD>æõ¡èœúÓ÷û´å²<EFBFBD>˜å¦­¬×Τ»œººèÃï÷½Ãò£ö<EFBFBD>æíž˜ÿ¬µÀ¼<EFBFBD>Ãïšà
îû<EFBFBD>µ˜Í¼Þ÷Ù³çý<EFBFBD>çß갽¾œê<EFBFBD>Ṳ̀ޟöÜdzÃËȤ¿½ùàÞÝöÖýÿöôºÖ³Ä󽃳÷Ρ<EFBFBD>̺ç´óÌ¢Þ÷
ªåÒÝöìáÙªåÒªŽÚû´º¤£ó¨ƒô<EFBFBD>㯻Èì£õþáßîî²¾çÕ¿î¾ÜýßÓ´°Ã¹´œéê·íÔ´<EFBFBD>æÏè¯ú÷÷¡Ýôï»
à¯÷ÍȨñ¯÷÷Ù³êþÿè¼ÜÝÏž¦åÿþÀ޽½¹<EFBFBD>ïïÞïßê¡ú¹½ÿ̼éÝŽ½ý«óèƒÙ³êýïî¦éÕ·òèãÂ
¹÷ò<EFBFBD>Õǃº ­úöŽýéùúŸÒ<EFBFBD>Õõ³ûÞ÷ÁÚÚöµ¡ƒžñºÆ«ÂýŒÈ§Øï¯íìÃÙÚÜÔÎèíÛªÖö¼´<EFBFBD>
öí¤ï±ûЊîÐö¡ìÃíí<EFBFBD>Ãýˆüªùý£úˆ´øæÍËÜ®ý¨<EFBFBD>æñ¸úŸÔÚʾý¨Íýè<EFBFBD>àðÚÓé·šÖ¤¥ŒÛÈ
¿ëÇõƒšÐâºØ·¨Å²í<EFBFBD>´ªýðÿ®÷ýƒìöÃÙÚÙúšÌÅÝåúìö»¡êßâØúŠ·¯òë˜ðý°ëæì¹ƒó÷øïŸÚ
Þßñî<EFBFBD>ɾÆý¨©ýèÏœðÂ÷·œÍÐ<EFBFBD>Âú´þðèóèÅåò÷¸ž¢±Ø<EFBFBD>Öߎթ³±<EFBFBD>í<EFBFBD>¦Úþý¨ûÐŽûÐñ¹´<EFBFBD>¦ÏŸÐšÆÿñ
¥×¾ôÐŽÝÑ£¹ÃÛ°¾ú³Ã<EFBFBD>ŒÍȧٲ<EFBFBD>½õýŨÏè¼<EFBFBD>æžÍ¡Ÿ<EFBFBD>åлÍßþž½Ã뿲<EFBFBD>àåŸêåŸÚÎ÷þÁ´
Ȳïþµƒó·ÿëìØÖ<EFBFBD>îõòæð¾´¯Ì½°÷ñäŸÊæ¾Ôƾ´úïÅ¡òß®û¾Ðö¡ƒö¡£ùïØˆÔßèòß®ûÐö¡ÞÇö¡Á­ü
¯­Ç¸­¿»â¾Üö¡ìÃæû÷¡ïðºûŠš»¿Úº¾ïùãû¡ìÿÙÎúýЮÔãŸÊ¾ý¨ƒô÷ñŒÓåŠ<EFBFBD>Šáš<EFBFBD>±̳Á¨é
ªˆÅ°Í¡˜ã¦ÙˆíÜ«ŒÐœ©ûèëèŒâ˜ÖÀÂÌ<EFBFBD><EFBFBD>±¬õïÿ÷ì¡À°¦ÄЌÎڜ¡¿<EFBFBD>«ÜˆÕ£Ùƒê<EFBFBD>«ëÿüÄ®±·¡
ÿûÐúÈã¡Ýà踬¡ô·ß°ŽžŸô¼˜þæËÆçÐöçÀÈ¡öäŸúðþÓ©öƒ¸çÅü°ÛЈç<EFBFBD>í¢´<EFBFBD>Ãòž¨<EFBFBD>ª¥¥´þ®¯ŸÛÏ
ÒþÀÕ®ö޲קÅ<EFBFBD>³¢­®ò£ŸÃŒÒ÷á˜æëò¥´¬ÇèÙøè§íë¦Òư<EFBFBD>³ò¨éªˆÅ°Í¡˜¦Ù Ã´Û÷ƒÐðŸÝ¥Ñ
袭ƲÁèÎÆ£Ñæî¾Ôí»þÅú¤Àå<EFBFBD>ÿäï²¥ÊÄÃú´ÄüâöÚ¾è©ù¥šÖÍÀ ­ºˆÕ²¿ŠÄú¡ùÒÈ ©ˆÕµ¿Ä
ú¡ù¢ÈëÔˆÕ¿ÄãìüÎÆÁêŸÚŽ¡Šç蜳ÏÙ¬¤<EFBFBD>¬¡Ôçü<EFBFBD>¡ð¹Žéû¨ˆÕ»¿ÄãüÎÀúðð¼ÂŸÿÈïÿ
»Î¯ïòï¿ÌÂÁȲÕß­Ç­ÉÊˆÃæíõéø±ÊÇãýûú­¹ÜºÁßݸ̟<EFBFBD>àžÿýÜü¿Ø¼¨ÿ¿¸»»íó<EFBFBD>ÇÛ¾Ÿ
ùij¡ËåÆÞŠÉñæÛÏ¿³ýÕõà¦øÚûäéÄšÌ ŽœŒçÓïÏÙåð©§š<EFBFBD>çÿýÏ÷ÅãÛÏÿ·î«««µ£àóƒ¦<EFBFBD>ÆÈ<EFBFBD>ûܽù§
ÏÙ÷ªÍÂèïåäÆ<EFBFBD>š·ìæ¡ß¾×·ãÖäØåàèÒ£¡ö£úÑãÙ¿Ì<EFBFBD>³¿æõùúæºðßûù<EFBFBD>çâªÈâåÿ¾·ÇÔ˜¾çǯ<EFBFBD>
ÙÚõðüšœ þœöêÜ»® åÑÂ<EFBFBD>ÅÃÿûãó¨´Ï<EFBFBD>諭êŸì<EFBFBD>±ÅèÂìÐÍ©¼´÷ÍÞÛ¬ÃˆÕØŸ<EFBFBD>ÿå»í<EFBFBD>îÎÌјþ®
óâ²êªŸ³æßÒò<EFBFBD>ŸÍ<EFBFBD>§ú¼ÝÙçÛÓø´ëò˜òÀ¸Ëóøº½Œ¨ï¡¢ïß²õÜÅÅÆó³ù£±ÏÇߟݩϿ½¥Õô¹ÛÂúÜý
Ú«ÄçÍÚϪï¬ðµ©¯Ü÷ºÜ¢¬¿ØØÈΨ¹èä<EFBFBD>Þ§æÅóëþ±æèŒ¡ÔíÜîËûÜž²ôÙ³¡õ¿¿×Õûä¢ïó¼õÙå¾×åÏ
è¼¤Îµš»µ¹·®â£³¢÷¡»ó´ýªö©¿ä³¢ˆßŸÿûìïÐÂˮÉáÊÇߪûË­®ï¥Ìµ<EFBFBD>׌˜¡ç©ñÙí¿
ëýÙÌå󻨥¾<EFBFBD>ôÙ<EFBFBD>¡öÇŽ<EFBFBD>ܡʜý¯ª«<EFBFBD>á´¦Ž¾ÌÄÿ¹<EFBFBD>Ã÷ÙíÕ®È<EFBFBD>úœµ¾©ŠëñÙ<EFBFBD>¡ÏÛƒ<EFBFBD>µª¼ð¤ÁžòŽÑð
þ<EFBFBD>î<EFBFBD>ÛŠÞæ÷Ù±éÿ¨øÕüŠ<EFBFBD>ÂçæÔŸÖ¾÷üœ<EFBFBD>ŠÐç¿ÊÉÍ÷àüšÜ׳ðì<EFBFBD>Œ¼õÄÐÖùŽÂíÆÃ«¿Óï¹íóÇ¿£ïÙÝ­ó
š»Ûï·ŸïÇûûœ÷ùœÉ߃±Ðž³Ýøíöû¥¬òÏ䚎Æñ§¤ßä×ñèÞ¼«´õû¯òøûü¾à»ï±óȳ¾Û²òÈèØ<EFBFBD>Æä
 ¾çáßïéšÞ¡Êçè˜<EFBFBD>ö¹Óñí³õ³ðªó˴̧ûœñ<EFBFBD>îÖ¤÷ÑÐê󯝠­°¦ÖŸ³ÄþÉŒµÉ´´·úœñ뜬Éߢ¡ÕçŒß´
<EFBFBD>æÍ<EFBFBD>­¾çœóÔ Ñèáì­Ò<EFBFBD>­òžŽŒÏÓûìÐÈÂÕ¬œü¡ÐŽåˆÕ±òð»¡Ô§ÅÊÁçˆíСЫŸ¡¡´ÃÂÕ¬œ
üÐŽåˆÕűò𻜡ÔÅÊÁçˆÝíО­öÙÀ®°³êÓÒÝû¬ÌÛâǧÚËýñ¿¹<EFBFBD>£ÏëãÖå¸Òæ«ý<EFBFBD>¨Æó³êÓÔû
š¬Ìáÿ׿úòÿçöŸã×ÅÆüÊù¬©³ëýÖßߘ³¼¹Ø¦¢ôŸÝ<EFBFBD>̤ÊüŽßó©ºûƒÏÐö©ñú«ç¦«öâÙƒÅÁÛë
÷ëðŸ<EFBFBD>ݯçȵ¡Àù¤ÀµÔ¹ËÝí³³¾çÿøå¡ŸóÚøýþ´ñÑŽÜŠÏŒ¼Ðó³ÔÕ¾¾³ËžÅǬÛÙÒúÇ¢¾ÿǬ<EFBFBD>¹óÓ
ê¢ÔÜå¬<EFBFBD>µ³Ïç°¯òéÙÈÏÏÏîóäÚ˜Õ¹šüº¯ÖËÆÊ嬟<EFBFBD>µÏãÜØ<EFBFBD>»¬ø¼øí¨Ð¾½Âó£<EFBFBD>³Ö¾ç¼Ê üž
ѨŸ¤¡ÅũʫçåݦͭÏí󦟼Ê<EFBFBD>Æç<EFBFBD>ëÆÃ<EFBFBD>òÉê¨òïÉà©úüηŸàÊüüÒ¤ç󰵡ÀÀùÂãêŸçõ<EFBFBD>±Ø¹«á
èÉÂ¥ý¾¾ñ¹öñ®þ¦ààß¡·ÍîîóüژϹ°¨ˆÒæ«ýÖ·ÝÆâ嬧ã®<EFBFBD>ÀçºÎîĵ¦¹ãáÊŸ¾¯<EFBFBD>ùóØòÒøîË áó
©øìÐÂÕ¬œüÐŽåˆÕ±òðÂò»¡ÔÅÊÁçˆíÐЫŸ¡´ÃäÂÕ¬œüÐÐŽåˆÕ±òðÈ»¡ÔÅÓÊÁçˆíЦ
½ö<EFBFBD>¦¹<EFBFBD>àôŽÅÙט骬ú¬¦Œ¡§©®ìñµÛôÙàÌÂÏÜÙâÞê·è³˜²ßž¸²ÅÕîÑç±åˆ½ñå߫ݢÏâÊÌ<EFBFBD>úâÊ×»
îÅŸÅ¡ôÄÕ­®ö¾Œ©Ãè«ÛÜ¡íýÓÖÜ¿ûìñ×Ç¢àªÁøÞƒ­ÞÖΪ<EFBFBD>ªê¢Ž¾Ë­çÍ´Þñî®Þ®œÝ¾¿þÚŒæÚç
Ë<EFBFBD>¹ˆ<EFBFBD>´ÐÙ¾âå¬Â¨ª¦³íóò©²ž·¾ËâåÖ±¹þÙ¿¿¼¯Þ׫þ·ð¤ôÖÒßÑõÍžõ±ÚŸÿø®<EFBFBD>²ÆªßŴݹªêÒ¾×
øî¤ÞÏŽÊìú¥«Óçý˽ïûçÓËÓ¯²°Ú§Øíõ©ÖªçÑÕíÑŸ«·¯çÇ÷¦<EFBFBD>¤ûàþÙÑÆµÚ¾ÅàÍôòå󻨪<EFBFBD>Ïž
ï×óòåé<EFBFBD>Òôô÷ÖËæêŽöª ´ø¤ýþ·Ë¨ìÑ®òÕÕ¦ó˜¹ØÏŽÇçÃÇ<EFBFBD>œÔÁ¨Ÿâ<EFBFBD>ËÅðåÞ󳨪±Ï<EFBFBD>š®ìÒÒ
±ÈçÄʪ çÑÕí⟡ä´ÜÙí¿ýšäâó£³û¨ª½ÏÉתó±<EFBFBD>ݻ뤯ö¡î<EFBFBD>·üã­ÀÁÊþ©Ê«ú絯êê֯ļüµŸ¹¾
øÐÃÕÕ¯ç¯ÕËêô¾ËõêìúŸŸŽì¦Ñ®ÍÜå¬Ü¾¾í<EFBFBD>®ØÒꫪÚòÃõ¼þÙ»¤ï¦ÞîÊèìÿžµêŽöª«­ýßæ®ëüÛÑŠ
ñÖûÓʈ²ÝíÊÙõø¤®«¨ÒÕ­á<EFBFBD>빯î©úþðùöàÞøóÐö°¼¢ªžÙÀÇ£¡ñÊÆ«çùãÇÚÕçÝÕÈ­ÛÏåÌ
Ñ÷­¸¼ëäÚƒ«Ì÷ÛÎÜÙëÆðù²ÐÜ׸ڭúª¬¦Œ¡§®ìŠñµÛôÙÌØÂÏÜÙâê·÷賘²ž¸²ÅÕîÑç±à刽ñå«
Ý¢ÏâÊ<EFBFBD>úÓâÊ׻ş»Å¡ôÄ­®ö¾©ÓÛûŒÆÓÜæËõ¡ß§ñÙ÷<EFBFBD>Ùâ´ŒªÃ¨Ä¾Ã¨æåˆÅìçˆÕ¬Œ¡øÎŒ¡š¡Ÿ
´¡Ô³²â³ÉêÖÐüÐÍÊ<EFBFBD>ŠÏ<EFBFBD>ÙªÙùÚçÝúÔîÔõ­ž¢«ªÍêóäèÕµ¹Ÿ­Î áÜúŽé©öîÙ·­«é­<EFBFBD>ƒ¤­ïßÕí
úÖŸ£«ªÉùØìñåÖóÀü°ãµÏú¦©¢±æéûäâ¾þ㫪ÍçóÒü<EFBFBD>©¹Ÿ­ÎË Üúîã¯ßöÙÀùíº¨úùµ§ô¹íÌ©øœºÖç³
þ¨·žûÆØ«èýµ¿ÕðžÚÕÍÏߪªÉù¬£šáÃæÐî½÷<EFBFBD>µ±×ûìÈüŠÏÕ·ÊÖÕ<EFBFBD>Û瘪êò¾­Ï<EFBFBD><EFBFBD>˜ÛϽãÌÕí
³˜ßÆÛõ<EFBFBD>þ±¿ÃªªÍê óäÕµ¹Ÿ­Î Üúî<EFBFBD>óïŠÖÿÜËÔá·šÜÕÍ<EFBFBD>Ï¿ƒ«ªÉù¬ Èšòõñ ôÐéüö¿½˜°<EFBFBD>¾ÕàªêŠü
³ÎÖÕóÙœÁ´äê⥧½ÔÞí³áóû<EFBFBD>äøÄüÆÔÕëÛçß¡¿Ô<EFBFBD><EFBFBD>ðùîèˆóÖÅËΨ½ÚŽçÃç÷éûðñâþ£«ªÍùêóíêªÉ
±ùìñåÖó¹ß˜ûµÏºíæÝͯÐý«ø<EFBFBD>ªêóùœßÕÊÍÎ糨·žƒ«ýöïô½·ÝéêòÛÅ×ÕÏçÃøªêò¾ÛœÆÁ¹õœ£
ÆêŸÉ˜¾Ï磳Åè˜ÔÐÚüÐÍÊ<EFBFBD>ŠÅÏ<EFBFBD>ªÙÂñµ«Ã¨¾¢Ã¨æåˆÅçˆÕ¬Œ¡øŒ§¡š¡Ÿ¡šÔ³²µÏè´ïÍ<EFBFBD>ú¡¨£¬
ÀÙÂÑÆÙ³ž²¢Œ²æå°ˆÅåÍÊ<EFBFBD><EFBFBD>Š²Êš¡Â嵫èʨ¨ëÖÐѳ֬¼Ûí³Ùù­ÖÎóÙÇ¢²ŠåòÊ«³Õ¾ÏÙâ
É嬹Ÿ­ªËÍŹ<EFBFBD>­Ð¦§º¼ÛïýͧìݱòœÏåâœÝ¡ÌÎùŒµØ¹ËÍÎçÊòñŽé®Ð¦§üÏÑ߹럭ª§<EFBFBD>óô
ɲ¹å³§ÔæÊå¬ü¨Ýœ¼ÎÑÕÕäçϜЫ³î¦ðÙ¢²Îʘ«<EFBFBD>ÕΚÀçÊ<EFBFBD>ºã¬¦ÐÔ¹Ä럭ªíÖÃ÷Îʺ<EFBFBD><EFBFBD>
ÀоÛÂíÕÎßöÙ¢²Äœ­£«É©Ÿ§³¡æªçúìØÑÙ¨ÎÑÊËäç«ýŸ²ÅÊÙò¾ÛÆÔóžÛ¡ØÌÎùÚçóì©Û¬œ¥ç³
Å幸Ñù¡ÌÎï ƒŒ²æåˆÅÖåÍÊ<EFBFBD>Š²Ê£š¡åµˆ«Ã¨Ê¨ëÖµÐÑÖ¬Œ<EFBFBD>¡¨£¬ÙÂèÑÆÙ³²µÏ¬è´Í<EFBFBD>œŠ²
ÇÊš¡å<EFBFBD>µ«Ã¨Ê¨ëêÖÐÑÖ¬šŒ¡¨£¬ÙÐÂÑÆÙ³²¢Œ²æåˆÅŒåÍÊɈոիŠå¡Ê««×Ñû¬œÐæíµ¢Ðžª¼
äÜš«Þ§ª¬°íǪ°Öþʃ½Áé×»¹å³¸<EFBFBD>е¢Ðžó¤ì<EFBFBD>Üã²ÂœÉ¨Â ÚѨ<EFBFBD>Òö£áÈÎÙáŒÑޤÔá<EFBFBD>
˜©ûƒÍð¤ã§¬ð¡ô̧½Áæ¸ÓäÖ¸ƒ<EFBFBD>úæÊÞ೜ɩ«ûœÁ¤ûÐÆóÑÎÛ«ŠåÁÊÞ೜ɩ«¯œÁª¬£ò åï°
·ŽäÎàÈÌÂÖŠÂù<EFBFBD>Ų·ØŒÇòʈŠç°Õ½ÅúÄêÅ¡¼Ô¹·¢Ö½ÎÔÙÛŒ¢¦¹¯×Õ­¨óªçÖª×éªëÁ¾Û<EFBFBD>²Êš¡
Â嵫èʨ¨ëÖÐÑëÖ¬Œ¡¨£¬ÀÙÂÑÆÙ³ž²¢Œ²æåðˆÅåÍÊÔ¾£Ñ´·ò¨Êʲ浚ªâÊ<EFBFBD>Šò¤²Î¢Œ¡¨Ç
ÔªÃè¤Ê<EFBFBD>Šªò¤²Î¢Œ¡¡¨ÇªÃè¤ÕÊ<EFBFBD>Šò¤²ŠÎ¢Œ¡¨ÇªªÃè¤Ê<EFBFBD>ŠòÕ¤²Î¢Ìíš³£ëˆõ£ÅÖî¬ÛåÙìº<EFBFBD>¡Ô¾£ö
Ùù¨¯ÑõĺíÝ<EFBFBD>ÙŸþùÈ²í§ŠÄÆúìðù©ýöæÊÞà¦äæ­Âó­«®­Þå¦ä§ÔáŒÒûì¿Ì½Á²öØ<EFBFBD>ÔŨ¤
çöÙ«ûƒ§¬ ô¡Ð³¦Èݳ×ö¼ú¼ý¤¨¡Ûîȵªðü¡ô̽Á©éí´ÕßÙš<EFBFBD>ÚÖг×ÙöæÐõàÃýÿó<EFBFBD>Ð
ݲµÏÎÜÙà¬Èèá÷ÛŃ׊ոƒÁÔ¾»óåï°Š¸¡ÇŽ«¡ÔùáŒÒûìÌ<EFBFBD>½Áâ¾ÕáºêÕ¸ƒÔؾù<EFBFBD>«£Ö®íëŠÐçïà
ÉàíŲ¾œœÁ꟡ܥªÈùèöì·ÅÏØ­¹²¾œîÁ¾Ûò¤²ÝŒÙ<EFBFBD>˜²µ¢œ©Œ¡¨œÃ¨ÊÊ<EFBFBD>º­²¢œ©Œã¡¨Ã¨Ê
éÊ<EFBFBD>º²¢šœ©Œ¡¨ÃΨÊÊ<EFBFBD>ºÖ²¢œ©Œ¡Ù¨ÓûŒÆÓ·ÜÈ¡¨£¬Ù ÂÑÆÙ³²<EFBFBD>¢Œ²æåˆØÅåÍÊ<EFBFBD>ŠŽ²Êš¡å
¡µ«Ã¨Ê¨ÔëÖÐÑÖõ¬Ìí³å꽈½þú¸øþ½á»þîî®ß¡òú÷õò¹šôƒ¯¾»ØýæÚð¹®ÎÔ¨¾Ãù¹©£íæ ÊöÛÈ
¼<EFBFBD>Ô¾ÿù¾ŒóËçÛ÷ÊÕÕÝòŸ£ãÌí³³×ö§¦ÿôúæºàèùÝ<EFBFBD>çæŠüÎĹƳ¾¥äÙ¬ùýŽŽ³µëÏÎÜÙœ˜üйŽÚ§¤Ê
¥¡ø¼±¡Š¤ëÅ¡¼ÈÙ<EFBFBD>œ˜Ðö©®ÃÐ¥×ö̹<EFBFBD>£°ËùÖüž˜Ðáõ®Ðž¤ì¸<EFBFBD>¤ôñ×ÇÆ÷ÊÓïϺ<EFBFBD>îèÆ¿»üòàÅ爸
¦Ãè«ûƒØõûº<EFBFBD>ÑØðåŽÿùŽÍ£É¿Ïññг×öËêÝÈç­<EFBFBD>Ê®ûÿóñºÖüžåŸÓº§¹÷­¨˜©ûƒ¥ˆõ
ÎÛ¹õïëåÓ¼ºÍþù޳œÏª°Ö¾Êƒ½Á¢º­âȥ觜Ïõ©éÿ¦Þ¢êóάò åïðÔúÂݺ÷¿ÆÐ©¾÷Íèó¾
¹½œõ§ÜÖï¤ÄçÍõÕŠÂù¨ò®äÓÇÌÝ¥ºÔŸí·ÛϽîÕ¨û÷ú­·îÍ¿ÏÑñ¦öêÊÙë§÷ö¨·úÈ®î¡ÊÅ<EFBFBD>þÙ<EFBFBD>
ÈÛçç÷¹ºÎü·åµ«ÄèʨëÖÚÐÑÖ¬Œ¡¨£¬ÙÂÑôÆÙ³²¢Œ<EFBFBD>²æåˆÅåëÍÊ<EFBFBD>Š²Êš©ýÆ£éîíäÐթ˘
ƒ¬²Ø´ åŠõÊ<EFBFBD>êŃÂÑÖ§Œ¡Þ´Ð åõÊ<EFBFBD>ê ÅƒÂÑÖ§Œ<EFBFBD>¡Þ´ åõÊ<EFBFBD>êŃÂÑŠÖ§Œ¡Þ´ ¨åõÊ<EFBFBD>êÅô㼡òµ¢´
¢Õ¡Šœé®Â׺ÚçÝ ´ÓßåÙúœÝ¡Åâ¼öĤëÛ©­çâÕ¾òƒïÊäãç°Û®êÅúÈÃä¿Üò´®ŽÌÕóÈÂå
¨êÅ©¬ÂÕ»åÆâ²¹åø®ìá±æéøû乎бÊÐâñžÉ¨Ü­ª¨Õ¨úÇØÉ¬Ð¦§œ¿ƒäƒ¹êº¸žÐ¢<EFBFBD>ÊâñÎûɈѦÓßÊȹ
ùš´Ý¡ÌΡ¹¾¥ô£¸Úˆš¤¬÷çŠÕŠÓξ¦Í××È¥ôØŒŽáåèùûùÎݲ¦¥ô˜²Ø<EFBFBD>œªÔ«ÊèΧÑÎ
ñÎàÇ<EFBFBD>êÌ»«œÐÈå±Ò¸§¢Ô®ÖžªÔýã ´©ÉŒŽÉôëªÍÓ­úþ²¢«ô¬çÔÊÕÛŠÒÓª÷Œ±éŠåòʃç˜ðˆÇÝï<EFBFBD>
°Þ¥¥ô˜²Øƒœ<EFBFBD>ª×«ÊŒÕªÞ±ö«»É©ÇÌàðÃŽŽœŸÉè¨<EFBFBD>²ØœÜÓ¤àÔ«ÊÛªÞ˜±Æ«É©ÇûÎàðŽžªËïÑäªÅ
âùü½Åµ¢ÄÖ¡Šæ®ÂœòüŒöÛºÒùöŽËÞü£«¬çŸÊÕŠÒØ<EFBFBD>ªðìÕ¨½ÓŽŸÁ£¹ã®Ýá·ÐÊþªÅï 
é¬ÎÙÆäÅÕ¢<EFBFBD>¡¨«Ó°Ð¯š<EFBFBD>вº¬åˆõ¢<EFBFBD>¡¨«ÓЯš<EFBFBD>㊲ºåˆõ¢ª<EFBFBD>¡¨«ÓИ¯š<EFBFBD>вºåÖˆõ¢<EFBFBD>¡¨«¢ÓЯšÔ¾
ۣѴ·žœÊí»ùˆ¸ÏªÂŒ¡šæÁÐȸ×Ð<EFBFBD>³š ¨Ìœ<EFBFBD>«ÃèÙ<EFBFBD>Ô¦ÎÆ¡ÔìˆØªçãÊ<EFBFBD>ª¸á³ñäåˆÕ°Ê
×ÄÙ¸²ê˜ˆÁåâìܹ§ŽÐƒíñêÕ¨Çêªýºëœ­ÖÅÓÖ¸ñ¯º®«éç­<EFBFBD>œüª<EFBFBD>šáêêŸÍç¥õñÖÜþóÛ˜ßüÔ
Ý«ÐõŽÑØûò쾸۬§£°âÞÚÂ»Ž¹Ž§ô²Üê½ï£±öÙüÂñØÏáÅ ½Â➩˭ö¾±šê럩ˆó팡ºøòʳ
ºúòÕ¨úǨ÷¬Û¢ Î¹ÁÙºøòÊÓÚÞ諾³Â<EFBFBD>šÔÛí½ã옪<EFBFBD>çÜàÝì¼¹åé­ÿ¥¹¾õªÔýã ìª<EFBFBD>çõ«ñôÔÜ˾<EFBFBD>
½ßž¼ÉªÔ½ã´Ö¾Ó<EFBFBD>ÚçõñôÔÜœËÎèã£<EFBFBD>ÕÛíý㪴־»Îÿë⩪¸œÇЧ격¹¡Û¡Êò«½ïŒ»ÆÚç³ÆÙâ
ðݼí÷ÆßÐÓô¾Õ¨Â£©«ýßœ­ÃÖÅÓØñ¯á®ý¹Ù©×¡ŠùœÝµÏæÇ³ÅºøŠ«î·ñÝÀ³ªÌ³œ<EFBFBD>«Ã¨Ù¸<EFBFBD>Ô¦ÎÆ¡
Ô숪çãÊ<EFBFBD>ªádzñåˆÕü°ÊÄÙ¸Š²ê˜ÁåÁâị̀ܵ ²ñ®Œ¡¡šæÁиìצö<EFBFBD>¦Ù¹<EFBFBD>¡Ôõ˜
áÍîÊÚ˜ÅØÐŒ©ÃÔâ˜æÉƒÐŒÓì<EFBFBD>ŠÂáš<EFBFBD>±̳ÄÁ¨éˆÅê°ÍöÐÿöòÿàÛäàÁÚÀ»÷ ïƒÍžñŒÏ£ßÚ
œÏ<EFBFBD><EFBFBD>ŒõꯢúÉ÷Á±±¡íߢÎÜÌÜåö<EFBFBD>¡˜¦ä±©ˆíçØÆûÿŸ<EFBFBD>·Ï<EFBFBD>õó§ÄÿăŸÏÕåùòüÂŽ÷Ń
´»ç르±Ôàúóè»Ãµœ˜º²÷颼¹þÜ<EFBFBD>Ÿÿ¾¡íÓÃÙìòöÃŽÚµö᎜œÏè׳ŒœùºãŽ·ÓÈûÀ»ã²Îïúðäš
¬ÇÂáÇ¿ýËí<EFBFBD>ŸÐ®²§ê<EFBFBD>ò<EFBFBD>ÃïþŒù¡¾<EFBFBD>Š<EFBFBD>·<EFBFBD>ÏòÖû<EFBFBD>§¥´· šÈ×óˆ<EFBFBD>¼ž÷ ÀãLjíܳÇÕÇۢݣý
°£Çö׹ǻž´ýÊÿõ<EFBFBD>ÐÿŸÇåùøé¿¡ öŃ»çÓÿºÏÑù®Õóü<EFBFBD>ÕØÛôú¾¬ÆÅÚ¡˜¦Ù Ã´â˜æƒÐŒ
Ó쵡´š°ÍåûË£Ñôã·ÿÃÔ<EFBFBD><EFBFBD>
]]
:: [s0;= [2
@@image:1429&1720
ƒž<EFBFBD>Ø<EFBFBD>ƒ¨þøœí<EFBFBD>­øœ¹ž´Œ´¬¸<EFBFBD>°Àà<EFBFBD>Á<EFBFBD>Áƒœ˜<EFBFBD><EFBFBD><EFBFBD>à˜ð àÁ¬°ØüàðÀàÁ
<EFBFBD>ŒŽŒŒœÔ˜˜Ø à´£×éŸéߩԥ°Öõÿúêѳöé·¿Ñôº¾ÚíÉçÝîåñÀ Øãææ¯Æôù÷œ<EFBFBD>ÀêðÅú½®Éš¡œñâÑ 
áëïÿÿϽ×÷¯âªÐÞÝý¼õ×þéÿüøøÓñã¡®¯í¿˜þõýèÍ¿¯û߬¯ßœú×Ò·¦ßŸúÓË߯ÿªúýŸÎýÕÛû×
ŠïïÏý¿ììÞŽýí¡¿ýË­í·×¿ï®ìíßÄͯŸ¯¤ÿ©úÿþ®âŽÕô«Ïï×<EFBFBD>ÿþÝ©¯âýø¡îíÿáÑö·Ÿžîïž<EFBFBD>ú¯îŽñíÿ
ºåû§óâÔÿèüªãõëÑÿÓú´Ú¿¯ì¿ÿýóûߊþù·ÃÿˆûíûéûÓÿ÷ûÑÿ¾½Ûìïìÿ»ˆÃÿéÐÿ¾´ý§¢ÿüÒÙÅŸ»Ó¯Íÿ
¿ÇËúáÔ¯Ÿêì¿Ûÿùèïýÿ¼¼¸ÿóËÕ¡ÿüòÿØô³ÿþòøñïþ잊þÉôûýóâóŸ¢ÿÏÿþ³íŸ÷çüÃÿˆ¿¾žú¿ö<EFBFBD>ÛÓÿ½
óôÛÃÿˆÿÚŸþÛáűÿüÿùöðòíÔÿƒïЧžƒäÝôíµÚùÂõ·×Åÿà✿ˆ¸®<EFBFBD>å»®ú·<EFBFBD>ÄÖÖçˆýôê<EFBFBD>ñ¯öþÔ¿Ýð
¥Õ<EFBFBD>»ï¢öó©<EFBFBD>Ø¿ìêðƒ<EFBFBD>úÿîº<EFBFBD>«£àºùçûìÙạö¡ÀìÜÃ<EFBFBD>±Û³¸ôžï<EFBFBD>ðݞࢪúºÜíÄŽäð½ð<EFBFBD>úû<EFBFBD>ç®÷Ü
ŠâïËľíÏ¿ˆÕຫમúƒí«ÄÎâð­Ïð<EFBFBD>ûÇÛÝúˆ×ú×ÏÎÂÕ<EFBFBD>Ø×Õ©¯áºôÿíÚ˸êˆíψ<EFBFBD>ý÷Ôð<EFBFBD>×ý¬Åìëäà<EFBFBD>
£ÉÚì¯ÿûð±áÞ˜¸Çõªš¹ØÆ­«<EFBFBD>Õ¨«×°¥ÖõëãÙùͺᵮ°ºž©±ªÕ¬ƒÖ¿÷Íšõ¨ÙÅÿ˜¬Ù¥Û÷·°ªÕ®®
šõê æýŸ¨êÀêãÑﳊʵºÇê¹¼æ½<EFBFBD>Õ¬ûÚÛ³ê«Þ³šþ¯<EFBFBD>µÙë½<EFBFBD>êÓ£ÏçØ<EFBFBD>êÖŸµõ º°ºÕ¬ªªòÕëÖ«ý
×ÍúÒÕ¬ÃëÿµÑ³ª¬ßˬºêÖÙ¿¹Ššåµë±·Ü÷üÚ»ŒÍ嘲çþüåõãå®ìÓ¼£º³¸ÚÊĺẪúß«®šõãàÍ
ẩÖäݷݵ븭¼<EFBFBD>¨Ù½Æðõß<EFBFBD>µëÃá¼æ½Öµë¼î<EFBFBD>®ê°×®õ©¯áÚ<EFBFBD>Õß<EFBFBD>ÖêÖ󳤿íÚðíÛ·Õíá½æ
ÇÕêãÃñÛØÑ³šðíºï∻êÖ­ìÙô¸ÊµïµÛåñ½Ÿö®Ãþä­³ÌÀõþÛÃûì°Õ«×Ë´û¬ûóûݬÅí³Èä­£û´Ù<EFBFBD>ÇÛ
ê¾Óº<EFBFBD>²Ì<EFBFBD>œüýæÚÖ®Åò¾«ÑÉÃöØÙÖ<EFBFBD>û¬Åíý³¤È²çôÒå×ÿݹþÄé¬ÛŒÌß¾ž<EFBFBD>´íù¯çóþ½ìöÙõ½ Î¯©û¬æ
£Í¾ëû¬˜²Ùý¿<EFBFBD>š¦Ã«<EFBFBD>Òƒ´²óÊ瘃·åî¬ËŽÏеÔüñÃõâՎѪʚåïˆíëÛ­êëàëÖ£ƒ®òÓµ½¡ìœÐÖ
Ϭ³ƒØçáŸÜÕ£«ó´Ñ²¾Ê ÚõË<EFBFBD>¬÷ƒÌ𾫾ۤšêÑí¦ÿ°¤©âå¸ÏüêƒõºàÈʃ¥Ð<EFBFBD>ýÜÖ<EFBFBD>צ¤Œûö¬ì³˜Éê¼
ê­£«Ý³ÌíáÉÖ×§ÖâõšÕݾƩª¡Öž´ãû¬âûõϠꜬŠöÙíØçé®Ùí°«û¬ó²ú÷ÙþÕͪ½®Õ¬ï¦³šõÏ
ȪëÖãî<EFBFBD>û¾¬ì³ÂɪƒïÕˬû««ááýíõýÙÖÅÑìÃŒ²ùí³Æê©ÖÍÕ³ªÊþëê®ÙåÓÁ¢ì៵ÛýÖØûåÊ<EFBFBD>ÕÖ®
Ÿñüè¿ô­áذÊçƒÞ͵Ý×¾Ëùôç<EFBFBD>¿ÏªÇÕ¬¡ýÖõïÀ÷üªøþ·ˆ®ýÖœ÷Ù¾ä¯Ñžº»ÔÆÑ<EFBFBD>²Öƒ¿Òª¾ÖÈï³ð¹Á
«ì³¦Ùçí§ÿϨٰû·è¿ÂÔÇÙÖÖøÜ öäÙöÙƒÕ§ñѬÙÞçÓÞÂå¬ûÃØ¾Ûî¬ÖøÜ ö¬Ùî³îÉíÝÆïíÁ
äêì»Ü¾ëާÿŸýþÿ˜ÖŸÙ´À¾Ýû¬üÿ¬¾²<EFBFBD><EFBFBD>ˆË¬Â¢À¡ì <EFBFBD><EFBFBD>ˆ<EFBFBD>øÀȬ¬õ ©úÑÆ¨öÙí<EFBFBD>ãÕû<EFBFBD>
Çèû±ƒÜð¡Ëë¸ãΦļƒÀÖ£¬æêέõͩơ¬ÿŠ<EFBFBD>¢ñˆ¼ìŬöÇ·<EFBFBD>½³<EFBFBD>ïçñ¯·Å<EFBFBD> âÆàÍêóÙçýõ®á
<EFBFBD>öÚ¢<EFBFBD>±Ú£œ¬Â¾«¯¹Ô¬ò¢Í़Õ芡¡ÒŒòÉžà´¾Ñ÷¤î°ä͈¸Ã<EFBFBD>Ïà <EFBFBD>á­ûì<EFBFBD>¥Ì´µ Ñý<EFBFBD>³Ô¬
¢À¡Ø <EFBFBD><EFBFBD>ˆ<EFBFBD>ñÀÈă¬Î°çèèÉ´ü©ê<EFBFBD>¸µÎ²<EFBFBD>ìÃé<EFBFBD>Í貌êšÕüˆ˜ËËØŽýœ š<EFBFBD>ú´ù಺ ¾šÐÌΡˆ
¡ÇŠäÁšù»<EFBFBD>¬À¸êß² Í¬Ÿ<EFBFBD>ðšÖ šÐÌèÛäà꟟ÜÙû¯ßŸÿ¾ÝþüíââÄ×¥´ÍÜÙå÷ùóð¢ÙÍ­ùÐ
Ãܾ쯯¯Íú¹¦ßÿÖüÛÚݰô¾<EFBFBD>ú¾É²ÛŒßǹû²«ÿßÐÕêÝÊñœ<EFBFBD>¾äÝÝý³á¦ÇÄáÍÕµ¾²ëÿŸïÍÞÜæ·ùíš
ýšÚòÉ®¹ÿŸº¿û×<EFBFBD>ýừ¹ÓþÓɳ®Ý<EFBFBD>Ôù<EFBFBD>ðíñ˜«îƒáã´Øí¾<EFBFBD>þúø¨<EFBFBD>çÍñïªð<EFBFBD>íî<EFBFBD>÷ÛÖØµ·ùûÅžíòÓžò
úóÏÓ§¦©ª¥Ÿš<EFBFBD>޲õçÛ²¾²êÝ«ÁÍÅØÍãµÀÛØùŽóíäââ½úááô<EFBFBD>æÙï÷Ì¥ÄÄÖÔÏÑÍòÌóÆÏ誹׃
ùšì<EFBFBD>«Ñ»ÁزÌùÍŽÿÑåäÙåî§Õ̲¿»ùûôæîäÒÓÔìÏÑͼر<EFBFBD>ú÷ƒµŽšÏý³±ò¤Ë슽íîëéùÉ廜³¤Ë¬ù
Â<EFBFBD>£©èêÉß§¨¦õïëûëæÜˆÙÙÙˬßÄ<EFBFBD>þÙ«ìÒîÉû¬<EFBFBD>¥þÈÓÁª±<EFBFBD>ÂÑœ£«¯ê¿é¯Žû¬ÝºðͲñðøà
ÿËÖíÏ㻲ÙåîÒÚï˜Û¹Ô´µäèÓÔóõîå²ÒÐÏ´<EFBFBD>Ȫᩲ<EFBFBD>Œ¯¸È²°áî³·óçâÉÖíþëý®ßÙÿÚÇúá<EFBFBD>Ϥ´µä
ÄÓÎÓÖ<EFBFBD>÷ÁƒÜ¿æµð¤À«÷þ¼¸Ë²¼šÏÈÍúã½ô´µäÓȲó÷å×ß³˜áÊÜž<EFBFBD>ºî³ˆêÇŽÝ¥Ù½öáËïŽäí¿žþãè
ôÞðÍš»¦©ú¦æÖ<EFBFBD>÷·ººšÚòÉ®éý°²Û«ì¼¹°¼žœ «øÍžñõÈâéøŸÐèÞ¾Ñɲƒ°´ôìßÇŒ¿ì¯ŽÍåÚý¥Éê<EFBFBD>«üÖ¤
ö´óã§ìƒýñõîóɸ<EFBFBD>šÚòÉ®é¿ã×Ôè®<EFBFBD>´ûåȺ»¬ÚÅÛñÓÍÛóªæÎÅ<EFBFBD>½Ô³˜É¸¿éÁ§ò¡©Ï³<EFBFBD>áü樟Á È
ñ¦¾Íÿ¬ÏŒ<EFBFBD>ÙÐæ§Ùè®Ø<EFBFBD>œ² ÒÍÙîØõ­<EFBFBD><EFBFBD>² ÍìÀŒÜ š§ÐÌú<EFBFBD>¡ÃÛ² Í¬<EFBFBD>âÀ¸À´¡ˆ±áÕäÁ
šŸÖ¥ÜƒÑÈÂÃÃìݵ»²½¿¢<EFBFBD>Õè®ùޤӮ<EFBFBD>»ÀÖÍš¥ÏÈÒ¸ëÚ´¼Ç Ë«ã¬éÑÜòœ<EFBFBD><EFBFBD>¬<EFBFBD>³¦ÅóéÉó²´Îš
úÍ¥ÏѼÈÑêì·­ß쯬Á×<EFBFBD>òíñ¿çˆîÁÞÿÕ<EFBFBD>šßºÔµóëÖúÕ¬ÑßìÚ¯¬Á×<EFBFBD>òí<EFBFBD>ç¨Èƒ½Ÿ«<EFBFBD>šßºÔµóëúÞ<EFBFBD>æ­áä
ﬢãØìä­Â×½âØœù°÷üóì®õíÜšÀ¬ä<EFBFBD>ÿËü²Öáë¾ÅœßïîáÁîðš<EFBFBD>ߺԵóë·²<EFBFBD>µÊŒ¬ÅÃøºÏ±Ç¹Á
¥ƒýìœß¿ô½©ëç֤ո囹ûÄÈÚ§ûôóŽ¼ØÇ°ªË¾ÏŠºöîÍ×Àšµ»¾¼ïÈò»ö©Ñ樧ø°»œçæå®õíÜ
ëšá÷ƒÜ¾ÙÙŒä­Â×ýŠú¹¢ø°»<EFBFBD>éóî®õíÜšõáäõ<EFBFBD>œ<EFBFBD>¬ÖÅøºÇŸ£¢Î»ÏÉä¹ÄÞ»·æ¸ÙÛßãËÈÚÕ¯ûܹ¢û°
í»Ý»ßºÔɵóëÒþÓ¼Ú¯Ž¾ÙÙ¢·»È¬üݽů½âœù°<EFBFBD>÷üì®õŸíÜš<EFBFBD>Ÿîªêý³Þâ¬ýö÷°¬Øûͺǜ£ <EFBFBD>ö
ù¾ÌÒýÒ¥®ù<EFBFBD>ÛŸÈժ۹乸öî<EFBFBD>ÙÚµ¼Ç¬ Ëã¬éÑÜõòœ<EFBFBD>¬<EFBFBD>³¦¤ÅóÉ󲴫ΚͥÏÃÈÒ¸ëÚ´°¼Ç Ëã¬é
ÕÑÜòœ<EFBFBD>¬<EFBFBD>³¦ÅóÉ󭲴ΚͥûÏÚ²ÐÐÐþ´«ÅÍ¥×ÁîÍ<EFBFBD>¢ÍÊäñëÈæ¥²ø˜äÁ³ÒÙÌü<EFBFBD>² Ùé
²¬¾ÙЬ´ØÁßø¥á<EFBFBD>ï­¡©Å«þ<EFBFBD>þþéú×̓ӬÿïÕÍÜ×ü¢ü·Ò¯¥²¦ìÙþÞšµžóØÈðõßÝߺòµÄÖ
òŒÙçåÜþÞ÷욌äúºò峿ôÁ®ýòͲÙìÛþÞšŒäƒúºËÜûªþ¡éÓÜûŠšä<EFBFBD>²øý½´éÉõŸæ¿ö¿üÒ§˜÷
Ò´ÉäÉøû³Ð몢ëþéÜÝûäš´²Æ¤ü½¥´ÉÚõõŸ³ßú®×ž¦<EFBFBD>¬<EFBFBD>ÿï¡ÏðÆë²äüÝçîžýÚÑô¥ÖËÂßÛγœ
ñ¬¡ß÷ùûƒ¥ëß˴ͯͲ¤ü½¥´óÓ¢ÊÝ«þÎþéÊ×ÙÓÁ¬ÿïÍõüûǼ»®®ÑÁøýÝáÓ®ü­µññÜè֚ܡ
éÚ¹µÁ´Œ«Í<EFBFBD>Å Ûš¦Èâ<EFBFBD>¢ÍÊäñëÈæ¥²ø˜äÁ³ÒÙÌü<EFBFBD>² Ù鲬¾ÙЬ´ˆÁ߬èÖõš ¯àëŽ
ݦÑâÕ¬üؼľ¤²º´Îšò¾¦ÓÈÒ¸ëÈçúÙš Ë㬡Ÿõéë¬<EFBFBD>³Öü¦¯²´Îžšò¾¦¯ÙÞô¿ôžÙì·äŽÏð­¾î
ÖÚò¹äïýšñ¦¯Ùô¿ôžÃ<EFBFBD>ðŒ<EFBFBD>šçÿº×ÙýݵäóçÉÞûäÍÚÝÊ ãÊÈÛ«ÁžñŒ<EFBFBD>šçóϤüݵä®óÉÞûäÍäÝÉšþøä
ëúºëÉçùîËñÞ§ë¦ËöÖàÝ û¬«úºëÉç¾¼Åïý²æºäÕòç¸ã¬©ºÏëÉç¾¼Åïý²æºäÅÿäôŒÏüÖóÔå³ßž÷þ
¯œÈÊù¼ÃŒçÍÔ×Ý˾Öè½ÏÖÌ׬¾ƒ¥çû뮥ŸËôÞ´§ë¦ÉÖöøÙä²¥²üÝ»µäó±ÞûäðÍÙÄ¿ôžÃ<EFBFBD>ðŒ<EFBFBD>šçÿ
º×ÙýݵäóÇÉÞûäÍß²Úó²ºÛ¸çøÐ¸Ï»àõõ×Ï¥ûïµñÜÙ¯Œ§¤ü¦Õ­²´Îšò¾¦ÈÒ¸ëÍÈçúš Ëã
­¬¡Ÿé묷<EFBFBD>³ü¦¯õ²´Îšò¾¦¦ÈÒ¸ëÈç³úš Ë㬡ëŸéë¬<EFBFBD>³<EFBFBD>ü¦¯ß÷œ´´¿Å<EFBFBD>ÍèÊè¬è ÂäÁšÚ
дÁ´¡² Í­š šÐÌ<EFBFBD>¬ÿäï­šùÒ¾îÍúµç<EFBFBD>ϯ²î¤ü½µè機ùºëל÷¾ÿ½Èð÷֢»òÍÙùç³äŸ±ú
üû§®œ¯»žòÍÙçÌû»¿÷âšÉùͺ«×œý¾Éæä±ûû§®÷œû´òÍÙçÙÌ»¿÷⣚³ß ×ÝÆ¿÷âïšÉùº«×œ
 ý¾äÉøû¿§¯œ¯»òŸÍÙçÓ¬øÿïšÉùºæ«×œý¾½Èÿð÷Ö¢§çæë®ßóÞùÙô¢ËÂßÛ·¦<EFBFBD>üÝõë<EFBFBD>λŸøÄ®´
µ¡©¡² ÂÍ<EFBFBD>ÍèêÑìÙЦȦ´µè¬è ÂäÁšÚдÁ´¡²± Í­šðõÇÃèøÛ¤ÐšÿžÂßœ»ÀÖÍ
´ÞÍ<EFBFBD>² ©¡²À´¥ø´ÁȦò¦ÈÙÐМš¬ºßú<EFBFBD>ê<EFBFBD>íöå·Áþäí¾ì®®®ß¬àêÝŠåÖÃÒñŒŸÝÝìòþéÚ´éùä
ÞŸñüÝû´ÐŒ¸¼²¸ê<EFBFBD>å°ª<EFBFBD>Эì¸ëž˜äÙÂËdzüØÓÂä¯Ý¦½ŸÜ<EFBFBD>볞¯û £ÙëÈÅÙ<EFBFBD>õƒÁ¿ñŽŸÃÜÉ<EFBFBD>»¦ßº
æÍ üò¯ÏÎø¾îž£Ÿþíá²êáݧæ<EFBFBD>íÑæÀšßºÍ üò»¯Ïø¾îž£²<EFBFBD>¹¬ÃìŠ<EFBFBD>íîËÅÞÆð±Ö¢êÊø¥ëõьʧ÷úŒ
çë¾òú³Î°ìƒÉ²Øµ¬û¬ú¬Å³ÔðõÖ¢íÏîõÏ×ÛÝùçÂî¸ò¿ãÀšÎ¹æäêã<EFBFBD>¥Ú³¨ŸÜý볞¯»óÈ
<EFBFBD>óâ<EFBFBD>ÌÙ֦̭àæöþîŒÈðË×¢ÚÏîõÏ×ÝçäýéŽäåÎ<EFBFBD>çÀëߺ͠ìüò¯Ïø¾î¾£ßž<EFBFBD>ܲù埸ü¾
°øäÉø¥ëõьʧ÷úŒçëÞ·ÂçðßœùºÖÙìëøÆ¤¹¢íËᚌ־×ÇæšáÁòñŒŸÖðÖË×¢Éϧ÷ÿúŒçëÞÿÓ
Û Ñ®ŽŸžÙˆŽŽû˜¬ƒûù©æ®<EFBFBD>ë¯Ý͵Ǧæ®àۮŞÏî«õÏäú­ÊèÎÖ»ÀÃÖÍÞÍ<EFBFBD>Ö² ©¡²À´¥´Á
¯È¦¦ÈŽÙÐÐÙ Ššš ä ÁÓÂä<EFBFBD>¬èÊèÆ¡<EFBFBD>Œ<EFBFBD>­°¡æé<EFBFBD>Œ§´ÓÖÙÚÍÇÍ´µÁÁÖñ³íÍ<EFBFBD><EFBFBD>¥õœÐÌÛ
àäé<EFBFBD>§´ÓÖèÙÚÇÍ´Öµáë¾í¸éÿùìÿê½âÿÓñÞ¯ûÕãŒÊçÿ×<EFBFBD>쟎÷¾üÁݧœçоDZÏáÛÝðõÏçÖ¯û¢ã
»ôÎçÄÕµˆðß÷îÍøº§à°Îʾ£®®æÅøºóëÂ×ýòñóñõ­ÂýšÛß¾îŒÓ»ŸÈ×È¢èÂ¥×½ñÒò¸ñõ­Â×<EFBFBD>Û
þ¾î<EFBFBD>˜çψ«ë¾î×ÜšðõŸöœáôüÆÜÝðþõçÖ¯ûÝãŒÊçà¯õЏöš¦üݧœçо·¾ÚŒÕµóß÷îÍü¢
º×븡¦ãÈÒºÎ覭®²´Žšéºë¬­ãæÓÚš Ë븡¦ÈÒºÎö覭²´ŽÒšé묭ãæÚš Ë<EFBFBD>븡¦ü
çÝÑФڼš¹µäÍÔÁå鬘š ëù©š «¦ÈÚÝž¦ÈŠ¡²Ë§²âèÛ¬å鬘šØ ëùš¾ä¥ë㽬©áë®Å«ž¾Î¸
ïùÔ²òÿ¼¯Ùéøæ<EFBFBD>ìèÊø¥ëñŠÈ<EFBFBD>šçÄüÊÌ«»<EFBFBD>¦Íÿžö·È»òöÍÑ¿ô­ÞñÁã댘ÏùÐþ¤ûÏϬöÛŒþ鹞¯
òøïñÎÏÄ¥×Ùÿþöä÷±û¥ëñЧåŒóŠü¦¾ïÈþó³§×įÝ×¼ñœóÑó©´ïŒšþäìÙÅëñŠ÷žÅçùÌü­<EFBFBD>
ï¬Î<EFBFBD>ð˷Ѿ׼åœÓäö³ñµÄöŸŸð±ÙÂþéõÆ¥Èê»È£ËêïœÓä³ñµŽÄöŸŸ«ÙòòþéÒöЧå<EFBFBD>óŠü¦¾×Èþó²ñ
ÝÍžÐðË×ñ⟴Έù÷Ô²òªÿ¼¯ÙíùŽŸ¹×»¦ßº¯óø ñÆÌ§½µôʪ¿ÿ¼¾Ã»´ÝûÒµÁÖŒ¦Í<EFBFBD>µ¼Í<EFBFBD>
Ãä­Ïä³ÅÐÙËÓ°Ù±´ÁÖò´°ÁÖŒÍ<EFBFBD>µ¼Í<EFBFBD>Ãä­˜ÏäÅÐÙƒËÓÙ±´ÁûÖò´á뎊¦ÑгâèʡԬ­õÐ˸
Á¹µÁÖŒÍ<EFBFBD>þ¸¹µÁÖÜŒÍ<EFBFBD>þ¸¹àµÁÖŒÍ<EFBFBD>þ¸¹µÁÖŒ®Í<EFBFBD>þ¸¹µðÁÖŒÍ<EFBFBD>þ¸¹µä¼Ó®ãëÊøû§å뮡Ùÿ
üôß÷¸ãÔëýëÎ󸎯Éÿîï<EFBFBD>œ¯»Òæïò<EFBFBD>ðõ<EFBFBD>¤¸Îù§¯Ï¯²Èž×µëç°å¸¹ßÌ÷͞ˈòÒõ<EFBFBD>¸Îù<EFBFBD>ûãëÎö¸Ž¬
æ©áú¤á뎮¡éœ¥<EFBFBD>ß­÷©ÆÉ¸ïñüÝÉž×µà¥²ÜÆª¾îúšŽãíëÒ¾Å¸ç½Ží¯»Ù·²¦²Äí¤äë®ó¡éð¹Þ¾î
öÓŒñÞã¸âσ¬ÉøºðËèºÜ»·¯ÅûãÔÇ٭㺲¦Äþ±½¯»æØµÐüݧ˜§<EFBFBD>ã¼Çñõ§ûÜÜÇÖÈðçÉäõ<EFBFBD>Œ¡
éËÕóðˆ¾¯îÑÇÉ»ïñüÝɞ׵ܥ²ÜˆéýÝ襴ÖÙ×Ú½î¸Ù罚­¯»Í㺾æÿÎíï<EFBFBD>œ¯»¥æß¢ñõÉ<EFBFBD>¸Îù§¯
ÎÏÚ§ü½®<EFBFBD>ãëç¤Ð³°¹ß÷ÍžËʈòõ<EFBFBD>¸Îù§¯Ïü¢·Á¦÷Èéê¹ö<EFBFBD>ó޲â迬ôÇÉ­ù²âè¬ôÇËÉ­²âè
߬ôÇÉ­²üâè¬ôÇÉå­²â謯ôÇÉ­²âþè¬ôÇÉ­ò²âè¬ôÇÉ­²â迬ôÇÉ­ðß÷´´šÕÔÜêÏØè
¥òÈêê¬ÈèòÈêê<EFBFBD>¬èòÈêꡬèòÈêÂê¬èòÈêê¬èòÎüÝš½ô´¥Û<EFBFBD><EFBFBD>¹Ý«ç¾ÿ«ô<EFBFBD>ö¸Ùšžìðõ
÷Ö¤ûû÷ä<EFBFBD>ù<EFBFBD>×üïÒšŠðà<EFBFBD>¨´¸ÇñµáëÞõ<EFBFBD>ŽÙù¬û֤ļȫ¾çËÁžìµËƒæ¨¢¦üÝõÙ²ìÉÖèÖ¡ÌñúûÅ»
Ößûš£ß÷Œûò·Ø<EFBFBD>Å«Þá´ï<EFBFBD>Áö©´§¾áî잣«Þ¬ØüÈÞñŽé§ùû°Ï¡ä¸Ùðõç˰îóÍâõË÷ö
ÝŠ÷ÐôöàŸ¨ÂäåñõÛ÷¹äò¡·Ãáç¿öŽÅùƒýŠÍÄÉ鯻ÛýÈêÀ»È£«÷þìØúŽÑƒ½ºä¦ñŽ¢êÂ×¥<EFBFBD>­Ã¾äÙ<EFBFBD>
ÁÒ¥ÙþÞñèƒóÊöà<EFBFBD>«¾ÉŸ£ˆšðõœïÑß»§¤¾üȃ¼âû¦Ö´Äƒ½¢æÐþœÅÕ¯ûùÞ×áªÙß­¬š­Ü¼È«£¾çËÁžì
µƒæ¨®æŽ°ß÷ÍîÐô÷íÐä<EFBFBD>ÕÔìÙÐäˆ<EFBFBD>ÕÙÔÙÐäˆ<EFBFBD>³ÕÔÙÐäˆç<EFBFBD>ÕÔÙÐäΈ<EFBFBD>ÕÔÙÐ<EFBFBD>äˆ<EFBFBD>ÕÔÙ»Ðäˆ<EFBFBD>ÕÔ
öÙÐäˆ<EFBFBD>ÕÔœÙÐäˆÙˆ¥À˜¡<EFBFBD>²Öèèìèá­óîÐü¤óò؈Õ<EFBFBD>²<EFBFBD>ˆÙˆÙÄð<EFBFBD>ÿÂ<EFBFBD>­Â¾÷žá³¼Ì©Æ
»ÉªÏ÷ùÿû¸»ÛñÉꜤãô©Ë¼£ûÈšÙÏØûùȚغÓÕÅàýòÌÈ©šÓ˜ˆÊœÞëÖÀÁÎÚÖô¸Òÿççñ<EFBFBD>áï<EFBFBD>˜À§ã<EFBFBD>
˜ïº°Î³»ûÇÖ÷¼ïà茰ÆÇŒÐÔ«Þ²š¯Ž¯ô­¨Î£<EFBFBD>±ìÌÖû<EFBFBD>ÆÇÐøŸžËõº·ü³­ ôÆæƒ«<EFBFBD>§Ù£¬Û±<EFBFBD>µ¼Àœ
´ñöÞÆÐ¸ùôªÉšø¨¯Ô«¥ÑÇêþôŸµˆ¬òâõßšó§«ï¬<EFBFBD>ë¦ôÍš¸Ðߊ¢<EFBFBD>õáîÐý©Ëåõö£ß¢ÔÚÍÂñ«ðÑ
✸öÄêÑÆŽê¬ú<EFBFBD>Ëùå¤Ó¼ñûÓùí탫ºýæèö<EFBFBD>í¾óÚëÓôåŒíáøÕ×¾á´ÇÕ§ÈÆäá̃ØíðŒî¨¾¬Ü
©öÙˆ÷À¹Ù¸ÔŒàå²Ï <EFBFBD>í˜ÆŠäÔ¡<EFBFBD>ðÄê׿¢Ý<EFBFBD><EFBFBD>˜úÓ¸³¸ÆÿÖèÇ ¢¤«ëý¿<EFBFBD>£¡¡ÑÛ¨<EFBFBD>šššÌû¿ïèÚ
]]}}&]
[s0;=2 &]
[s0;=2 &]
[ {{5000:5000^@7 [s0; [*2 Ultimate`+`+ version]]
:: [s0; [*2 wxWidgets version]]
::@2 [s0; [C0 #include <CtrlLib/CtrlLib.h>]&]
[s0;C0 &]
[s0; [C0 class Bombs : public TopWindow `{]&]
[s0; [C0 public:]&]
[s0; [C0 -|virtual void Paint(Draw`& w);]&]
[s0; [C0 -|virtual void LeftDown(Point p, dword flags);]&]
[s0; [C0 -|virtual void RightDown(Point p, dword flags);]&]
[s0;C0 &]
[s0; [C0 private:]&]
[s0; [C0 -|Size level;]&]
[s0; [C0 -|int cx, cy;]&]
[s0; [C0 -|int normal`_cells, bombs;]&]
[s0; [C0 -|Buffer<byte> field;]&]
[s0; [C0 -|MenuBar menu;]&]
[s0; [C0 -|StatusBar status;]&]
[s0; [C0 -|]&]
[s0; [C0 -|byte`& Field(int x, int y) `{ return field`[x `+ y `* cx`];
`}]&]
[s0; [C0 -|]&]
[s0; [C0 -|enum `{]&]
[s0; [C0 -|-|HIDDEN `= 16,]&]
[s0; [C0 -|-|BOMB `= 32,]&]
[s0; [C0 -|-|MARK `= 64,]&]
[s0; [C0 -|-|EXPLODED `= 128,]&]
[s0;C0 &]
[s0; [C0 -|-|UNIT `= 30,]&]
[s0; [C0 -|`};]&]
[s0;C0 &]
[s0; [C0 -|void About();]&]
[s0; [C0 -|]&]
[s0; [C0 -|void File(Bar`& menu);]&]
[s0; [C0 -|void Game(Bar`& menu);]&]
[s0; [C0 -|void Menu(Bar`& menu);]&]
[s0; [C0 -|]&]
[s0; [C0 -|void Status();]&]
[s0; [C0 -|void Level(Size sz);]&]
[s0;C0 &]
[s0; [C0 public:]&]
[s0; [C0 -|void Uncover(int x, int y);]&]
[s0; [C0 -|void Generate();]&]
[s0; [C0 -|void UncoverAll();]&]
[s0;C0 &]
[s0; [C0 -|typedef Bombs CLASSNAME;]&]
[s0; [C0 -|Bombs();]&]
[s0; [C0 `};]&]
[s0;C0 &]
[s0; [C0 void Bombs`::Generate()]&]
[s0; [C0 `{]&]
[s0; [C0 -|cx `= level.cx;]&]
[s0; [C0 -|cy `= level.cy;]&]
[s0; [C0 -|field.Alloc(cx `* cy);]&]
[s0; [C0 -|for(int i `= cx `* cy `- 1; i >`= 0; i`-`-)]&]
[s0; [C0 -|-|field`[i`] `= (rand() `& 15) < 3 ? HIDDEN`|BOMB : HIDDEN;]&]
[s0; [C0 -|normal`_cells `= 0;]&]
[s0; [C0 -|for(int x `= 0; x < cx; x`+`+)]&]
[s0; [C0 -|-|for(int y `= 0; y < cy; y`+`+)]&]
[s0; [C0 -|-|-|if((Field(x, y) `& BOMB) `=`= 0) `{]&]
[s0; [C0 -|-|-|-|normal`_cells`+`+;]&]
[s0; [C0 -|-|-|-|for(int xx `= `-1; xx <`= 1; xx`+`+)]&]
[s0; [C0 -|-|-|-|-|for(int yy `= `-1; yy <`= 1; yy`+`+)]&]
[s0; [C0 -|-|-|-|-|-|if((xx `|`| yy) `&`& x `+ xx >`= 0 `&`& x `+ xx < cx
`&`& y `+ yy >`= 0 `&`& y `+ yy < cy `&`&]&]
[s0; [C0 -|-|-|-|-|-| (Field(x `+ xx, y `+ yy) `& BOMB))]&]
[s0; [C0 -|-|-|-|-|-|-|Field(x, y)`+`+;]&]
[s0; [C0 -|-|-|`}]&]
[s0; [C0 -|bombs `= cx `* cy `- normal`_cells;]&]
[s0; [C0 -|Rect r `= GetRect();]&]
[s0; [C0 -|r.SetSize(AddFrameSize(UNIT `* cx, UNIT `* cy));]&]
[s0; [C0 -|SetRect(r);]&]
[s0; [C0 -|Status();]&]
[s0; [C0 -|Refresh();]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void Bombs`::UncoverAll()]&]
[s0; [C0 `{]&]
[s0; [C0 -|for(int i `= cx `* cy `- 1; i >`= 0; i`-`-)]&]
[s0; [C0 -|-|field`[i`] `&`= `~HIDDEN;]&]
[s0; [C0 -|Refresh();]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void Bombs`::Paint(Draw`& w)]&]
[s0; [C0 `{]&]
[s0; [C0 -|for(int x `= 0; x < cx; x`+`+)]&]
[s0; [C0 -|-|for(int y `= 0; y < cy; y`+`+) `{]&]
[s0; [C0 -|-|-|byte f `= Field(x, y);]&]
[s0; [C0 -|-|-|w.DrawRect(x `* UNIT, y `* UNIT `+ UNIT `- 1, UNIT, 1,
SBlack);]&]
[s0; [C0 -|-|-|w.DrawRect(x `* UNIT `+ UNIT `- 1, y `* UNIT, 1, UNIT,
SBlack);]&]
[s0; [C0 -|-|-|w.DrawRect(x `* UNIT, y `* UNIT, UNIT `- 1, UNIT `- 1,]&]
[s0; [C0 -|-|-| (f `& (HIDDEN`|MARK)) ? SLtGray : f `& BOMB ?
SLtRed : SWhite);]&]
[s0; [C0 -|-|-|String txt;]&]
[s0; [C0 -|-|-|Color ink `= SBlack;]&]
[s0; [C0 -|-|-|Color cross `= Null;]&]
[s0; [C0 -|-|-|if(f `& MARK) `{]&]
[s0; [C0 -|-|-|-|txt `= `"M`";]&]
[s0; [C0 -|-|-|-|ink `= SLtRed;]&]
[s0; [C0 -|-|-|-|if((f `& (HIDDEN`|BOMB)) `=`= BOMB) `{]&]
[s0; [C0 -|-|-|-|-|ink `= SLtBlue;]&]
[s0; [C0 -|-|-|-|-|cross `= SLtRed;]&]
[s0; [C0 -|-|-|-|`}]&]
[s0; [C0 -|-|-|`}]&]
[s0; [C0 -|-|-|else]&]
[s0; [C0 -|-|-|if(!(f `& HIDDEN))]&]
[s0; [C0 -|-|-|-|if(f `& BOMB)]&]
[s0; [C0 -|-|-|-|-|txt `= `"B`";]&]
[s0; [C0 -|-|-|-|else `{]&]
[s0; [C0 -|-|-|-|-|f `= f `& 15;]&]
[s0; [C0 -|-|-|-|-|txt `= String(f `+ `'0`', 1);]&]
[s0; [C0 -|-|-|-|-|ink `= f `=`= 0 ? SLtGreen : f `=`= 1 ? SLtBlue : SBlack;]&]
[s0; [C0 -|-|-|-|`}]&]
[s0; [C0 -|-|-|Size tsz `= w.GetTextSize(txt, Roman(2 `* UNIT / 3));]&]
[s0; [C0 -|-|-|w.DrawText(x `* UNIT `+ (UNIT `- tsz.cx) / 2, y `* UNIT
`+ (UNIT `- tsz.cy) / 2,]&]
[s0; [C0 -|-|-| txt, Roman(2 `* UNIT / 3), ink);]&]
[s0; [C0 -|-|-|if(f `& EXPLODED)]&]
[s0; [C0 -|-|-|-|cross `= SLtBlue;]&]
[s0; [C0 -|-|-|w.DrawLine(x `* UNIT, y `* UNIT, x `* UNIT `+ UNIT `- 1,
y `* UNIT `+ UNIT `- 1, 1, cross);]&]
[s0; [C0 -|-|-|w.DrawLine(x `* UNIT, y `* UNIT `+ UNIT `- 1, x `* UNIT
`+ UNIT `- 1, y `* UNIT, 1, cross);]&]
[s0; [C0 -|-|`}]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void Bombs`::Uncover(int x, int y)]&]
[s0; [C0 `{]&]
[s0; [C0 -|if(x >`= 0 `&`& x < cx `&`& y >`= 0 `&`& y < cy) `{]&]
[s0; [C0 -|-|byte`& f `= Field(x, y);]&]
[s0; [C0 -|-|if((f `& (HIDDEN`|MARK)) `=`= HIDDEN) `{]&]
[s0; [C0 -|-|-|if(f `& BOMB) `{]&]
[s0; [C0 -|-|-|-|f `|`= EXPLODED;]&]
[s0; [C0 -|-|-|-|normal`_cells `= 0;]&]
[s0; [C0 -|-|-|-|UncoverAll();]&]
[s0; [C0 -|-|-|-|return;]&]
[s0; [C0 -|-|-|`}]&]
[s0; [C0 -|-|-|if((f `&`= `~HIDDEN) `=`= 0)]&]
[s0; [C0 -|-|-|-|for(int xx `= `-1; xx <`= 1; xx`+`+)]&]
[s0; [C0 -|-|-|-|-|for(int yy `= `-1; yy <`= 1; yy`+`+)]&]
[s0; [C0 -|-|-|-|-|-|if(xx `|`| yy)]&]
[s0; [C0 -|-|-|-|-|-|-|Uncover(x `+ xx, y `+ yy);]&]
[s0; [C0 -|-|-|normal`_cells`-`-;]&]
[s0; [C0 -|-|-|if(normal`_cells `=`= 0) `{]&]
[s0; [C0 -|-|-|-|UncoverAll();]&]
[s0; [C0 -|-|-|-|PromptOK(`"`[`*`@4A6 Nice!`]`&You have found all the bombs!`");]&]
[s0; [C0 -|-|-|`}]&]
[s0; [C0 -|-|`}]&]
[s0; [C0 -|`}]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void Bombs`::LeftDown(Point p, dword flags)]&]
[s0; [C0 `{]&]
[s0; [C0 -|if(!normal`_cells)]&]
[s0; [C0 -|-|return;]&]
[s0; [C0 -|p /`= UNIT;]&]
[s0; [C0 -|Uncover(p.x, p.y);]&]
[s0; [C0 -|Refresh();]&]
[s0; [C0 -|Status();]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void Bombs`::RightDown(Point p, dword flags)]&]
[s0; [C0 `{]&]
[s0; [C0 -|if(!normal`_cells)]&]
[s0; [C0 -|-|return;]&]
[s0; [C0 -|p /`= UNIT;]&]
[s0; [C0 -|if(Field(p.x, p.y) `& HIDDEN) `{]&]
[s0; [C0 -|-|Field(p.x, p.y) `^`= MARK;]&]
[s0; [C0 -|-|Refresh();]&]
[s0; [C0 -|`}]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void Bombs`::Status()]&]
[s0; [C0 `{]&]
[s0; [C0 -|status `= Format(`"%d bombs, %d cells remaining`", bombs,
normal`_cells);]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void Bombs`::Level(Size sz)]&]
[s0; [C0 `{]&]
[s0; [C0 -|level `= sz;]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void Bombs`::About()]&]
[s0; [C0 `{]&]
[s0; [C0 -|PromptOK(`"`[`*A9/ uBombs`]`&`[A5 Ultimate```+```+ example`]`");]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void Bombs`::File(Bar`& menu)]&]
[s0; [C0 `{]&]
[s0; [C0 -|menu.Add(`"Exit`", Breaker(IDOK));]&]
[s0; [C0 -|menu.Separator();]&]
[s0; [C0 -|menu.Add(`"About..`", THISBACK(About));]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void Bombs`::Game(Bar`& menu)]&]
[s0; [C0 `{]&]
[s0; [C0 -|menu.Add(`"Restart`", THISBACK(Generate));]&]
[s0; [C0 -|menu.Separator();]&]
[s0; [C0 -|menu.Add(`"Easy`", THISBACK1(Level, Size(10, 10)))]&]
[s0; [C0 -| .Check(level.cx `=`= 10);]&]
[s0; [C0 -|menu.Add(`"Medium`", THISBACK1(Level, Size(15, 15)))]&]
[s0; [C0 -| .Check(level.cx `=`= 15);]&]
[s0; [C0 -|menu.Add(`"Difficult`", THISBACK1(Level, Size(25, 20)))]&]
[s0; [C0 -| .Check(level.cx `=`= 25);]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void Bombs`::Menu(Bar`& menu)]&]
[s0; [C0 `{]&]
[s0; [C0 -|menu.Add(`"File`", THISBACK(File));]&]
[s0; [C0 -|menu.Add(`"Game`", THISBACK(Game));]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 #define IMAGECLASS BombsImg]&]
[s0; [C0 #define IMAGEFILE <Bombs/bombs.iml>]&]
[s0; [C0 #include <Draw/iml.h>]&]
[s0;C0 &]
[s0; [C0 Bombs`::Bombs()]&]
[s0; [C0 `{]&]
[s0; [C0 -|level `= Size(10, 10);]&]
[s0; [C0 -|AddFrame(menu);]&]
[s0; [C0 -|menu.Set(THISBACK(Menu));]&]
[s0; [C0 -|AddFrame(status);]&]
[s0; [C0 -|AddFrame(InsetFrame());]&]
[s0; [C0 -|Title(`"uBombs`");]&]
[s0; [C0 -|Icon(BombsImg`::Small());]&]
[s0; [C0 -|Generate();]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 GUI`_APP`_MAIN]&]
[s0; [C0 `{]&]
[s0; [C0 -|Bombs b;]&]
[s0; [C0 -|b.Run();]&]
[s0; [C0 `}]&]
[s0;=2 ]
:: [s0; [C0 #include <wx/wx.h>]&]
[s0;C0 &]
[s0; [C0 const int ID`_RESTART `= 100;]&]
[s0; [C0 const int ID`_EASY `= 101;]&]
[s0; [C0 const int ID`_MEDIUM `= 102;]&]
[s0; [C0 const int ID`_DIFFICULT `= 103;]&]
[s0;C0 &]
[s0; [C0 class MyFrame: public wxFrame]&]
[s0; [C0 `{]&]
[s0; [C0 public:]&]
[s0; [C0 MyFrame( const wxString `&title, const wxPoint`& pos,
const wxSize`& size );]&]
[s0; [C0 void OnAbout( wxCommandEvent `&event );]&]
[s0; [C0 void OnQuit( wxCommandEvent `&event );]&]
[s0; [C0 void OnLevel( wxCommandEvent `&event );]&]
[s0; [C0 void OnRestart( wxCommandEvent `&event );]&]
[s0; [C0 void OnPaint( wxPaintEvent`& event );]&]
[s0; [C0 void OnLeftDown( wxMouseEvent `&event );]&]
[s0; [C0 void OnRightDown( wxMouseEvent `&event );]&]
[s0;C0 &]
[s0; [C0 wxSize level;]&]
[s0; [C0 int cx, cy;]&]
[s0; [C0 int normal`_cells, bombs;]&]
[s0; [C0 wxString field;]&]
[s0; [C0 ]&]
[s0; [C0 enum `{]&]
[s0; [C0 HIDDEN `= 16,]&]
[s0; [C0 BOMB `= 32,]&]
[s0; [C0 MARK `= 64,]&]
[s0; [C0 EXPLODED `= 128,]&]
[s0; [C0 UNIT `= 30,]&]
[s0; [C0 `};]&]
[s0; [C0 ]&]
[s0; [C0 wxChar`& Field(int x, int y) `{ return field`[x `+ y `*
cx`]; `}]&]
[s0; [C0 void Level( wxSize size ) `{ level `= size; `}]&]
[s0; [C0 void Status(); ]&]
[s0;C0 &]
[s0; [C0 public:]&]
[s0; [C0 void Uncover(int x, int y);]&]
[s0; [C0 void Generate();]&]
[s0; [C0 void UncoverAll();]&]
[s0; [C0 `};]&]
[s0;C0 &]
[s0; [C0 class MyApp: public wxApp]&]
[s0; [C0 `{]&]
[s0; [C0 public:]&]
[s0; [C0 virtual bool OnInit();]&]
[s0; [C0 `};]&]
[s0;C0 &]
[s0; [C0 MyFrame`::MyFrame( const wxString `&title, const wxPoint `&position,
const wxSize`& size ) :]&]
[s0; [C0 wxFrame( NULL, `-1, title, position, size )]&]
[s0; [C0 `{]&]
[s0; [C0 wxMenu `*file`_menu `= new wxMenu;]&]
[s0; [C0 file`_menu`->Append( wxID`_ABOUT, wxT(`"About...`"), wxT(`"Program
info`") );]&]
[s0; [C0 file`_menu`->AppendSeparator();]&]
[s0; [C0 file`_menu`->Append( wxID`_EXIT, wxT(`"Quit`"), wxT(`"Quit
wxBombs`") );]&]
[s0; [C0 ]&]
[s0; [C0 wxMenu `*game`_menu `= new wxMenu;]&]
[s0; [C0 game`_menu`->Append( ID`_RESTART, wxT(`"Restart`"), wxT(`"Restart
game`") );]&]
[s0; [C0 game`_menu`->AppendSeparator();]&]
[s0; [C0 game`_menu`->AppendRadioItem( ID`_EASY, wxT(`"Easy`"),
wxT(`"Easy level`") );]&]
[s0; [C0 game`_menu`->AppendRadioItem( ID`_MEDIUM, wxT(`"Medium`"),
wxT(`"Medium level`") );]&]
[s0; [C0 game`_menu`->AppendRadioItem( ID`_DIFFICULT, wxT(`"Difficult`"),
wxT(`"Difficult level`") );]&]
[s0;C0 &]
[s0; [C0 wxMenuBar `*menu`_bar `= new wxMenuBar();]&]
[s0; [C0 menu`_bar`->Append( file`_menu, wxT(`"File`") );]&]
[s0; [C0 menu`_bar`->Append( game`_menu, wxT(`"Game`") );]&]
[s0; [C0 ]&]
[s0; [C0 SetMenuBar( menu`_bar );]&]
[s0; [C0 ]&]
[s0; [C0 CreateStatusBar(1);]&]
[s0; [C0 ]&]
[s0; [C0 Connect( wxID`_ABOUT, wxEVT`_COMMAND`_MENU`_SELECTED,
wxCommandEventHandler(MyFrame`::OnAbout) );]&]
[s0; [C0 Connect( wxID`_EXIT, wxEVT`_COMMAND`_MENU`_SELECTED, wxCommandEventHandler
(MyFrame`::OnQuit) );]&]
[s0; [C0 Connect( ID`_RESTART, wxEVT`_COMMAND`_MENU`_SELECTED,
wxCommandEventHandler(MyFrame`::OnRestart) );]&]
[s0; [C0 Connect( ID`_EASY, wxEVT`_COMMAND`_MENU`_SELECTED, wxCommandEventHandler(M
yFrame`::OnLevel) );]&]
[s0; [C0 Connect( ID`_MEDIUM, wxEVT`_COMMAND`_MENU`_SELECTED, wxCommandEventHandler
(MyFrame`::OnLevel) );]&]
[s0; [C0 Connect( ID`_DIFFICULT, wxEVT`_COMMAND`_MENU`_SELECTED,
wxCommandEventHandler(MyFrame`::OnLevel) );]&]
[s0; [C0 ]&]
[s0; [C0 Connect( `-1, wxEVT`_LEFT`_DOWN, wxMouseEventHandler(MyFrame`::OnLeftDown)
);]&]
[s0; [C0 Connect( `-1, wxEVT`_RIGHT`_DOWN, wxMouseEventHandler(MyFrame`::OnRightDown
) );]&]
[s0; [C0 Connect( `-1, wxEVT`_PAINT, wxPaintEventHandler(MyFrame`::OnPaint)
);]&]
[s0; [C0 ]&]
[s0; [C0 level `= wxSize( 10, 10 );]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0;C0 &]
[s0; [C0 void MyFrame`::OnAbout( wxCommandEvent `&event )]&]
[s0; [C0 `{]&]
[s0; [C0 wxMessageDialog dialog( this, wxT(`"Welcome to wxBombs`"),
wxT(`"About wxBombs`"), wxOK`|wxICON`_INFORMATION );]&]
[s0; [C0 dialog.ShowModal();]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void MyFrame`::OnQuit( wxCommandEvent `&event )]&]
[s0; [C0 `{]&]
[s0; [C0 Close( TRUE );]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void MyFrame`::OnLevel( wxCommandEvent `&event )]&]
[s0; [C0 `{]&]
[s0; [C0 switch (event.GetId())]&]
[s0; [C0 `{]&]
[s0; [C0 case ID`_EASY: Level( wxSize( 10,10 ) ); break;]&]
[s0; [C0 case ID`_MEDIUM: Level( wxSize( 15,15 ) ); break;]&]
[s0; [C0 case ID`_DIFFICULT: Level( wxSize( 25,25 ) ); break;]&]
[s0; [C0 `}]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void MyFrame`::OnRestart( wxCommandEvent `&event )]&]
[s0; [C0 `{]&]
[s0; [C0 Generate();]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void MyFrame`::OnPaint( wxPaintEvent`& event )]&]
[s0; [C0 `{]&]
[s0; [C0 wxPaintDC w( this );]&]
[s0; [C0 ]&]
[s0; [C0 for(int x `= 0; x < cx; x`+`+)]&]
[s0; [C0 for(int y `= 0; y < cy; y`+`+) `{]&]
[s0; [C0 wxChar f `= Field(x, y);]&]
[s0; [C0 w.SetPen( `*wxBLACK`_PEN );]&]
[s0; [C0 w.DrawRectangle(x `* UNIT, y `* UNIT `+ UNIT `-
1, UNIT, 1 );]&]
[s0; [C0 w.DrawRectangle(x `* UNIT `+ UNIT `- 1, y `* UNIT,
1, UNIT );]&]
[s0; [C0 ]&]
[s0; [C0 w.SetPen( (f `& (HIDDEN`|MARK)) ? `*wxGREY`_PEN
: f `& BOMB ? `*wxRED`_PEN : `*wxWHITE`_PEN );]&]
[s0; [C0 w.DrawRectangle(x `* UNIT, y `* UNIT, UNIT `-
1, UNIT `- 1 );]&]
[s0;C0 &]
[s0; [C0 wxString txt;]&]
[s0; [C0 wxColour ink `= `*wxBLACK;]&]
[s0; [C0 wxPen cross;]&]
[s0; [C0 if(f `& MARK) `{]&]
[s0; [C0 txt `= wxT(`"M`");]&]
[s0; [C0 ink `= `*wxRED;]&]
[s0; [C0 if((f `& (HIDDEN`|BOMB)) `=`= BOMB) `{]&]
[s0; [C0 ink `= `*wxBLUE;]&]
[s0; [C0 cross `= `*wxBLACK`_PEN;]&]
[s0; [C0 `}]&]
[s0; [C0 `}]&]
[s0; [C0 else]&]
[s0; [C0 if(!(f `& HIDDEN))]&]
[s0; [C0 if(f `& BOMB)]&]
[s0; [C0 txt `= wxT(`"B`");]&]
[s0; [C0 else `{]&]
[s0; [C0 f `= f `& 15;]&]
[s0; [C0 txt `= wxString( wxChar( f `+ wxT(`'0`')
), (unsigned int )1);]&]
[s0; [C0 ink `= f `=`= 0 ? `*wxGREEN : f `=`= 1
? `*wxBLUE : `*wxBLACK;]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 wxSize tsz `= w.GetTextExtent(txt);]&]
[s0; [C0 w.DrawText(txt, x `* UNIT `+ (UNIT `- tsz.x) /
2, y `* UNIT `+ (UNIT `- tsz.y) / 2 );]&]
[s0; [C0 if(f `& EXPLODED)]&]
[s0; [C0 cross `= wxPen( `*wxBLUE );]&]
[s0; [C0 ]&]
[s0; [C0 if (cross !`= wxNullPen)]&]
[s0; [C0 `{]&]
[s0; [C0 w.SetPen ( cross );]&]
[s0; [C0 w.DrawLine(x `* UNIT, y `* UNIT, x `* UNIT
`+ UNIT `- 1, y `* UNIT `+ UNIT `- 1 );]&]
[s0; [C0 w.DrawLine(x `* UNIT, y `* UNIT `+ UNIT `-
1, x `* UNIT `+ UNIT `- 1, y `* UNIT );]&]
[s0; [C0 `}]&]
[s0; [C0 `}]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void MyFrame`::OnLeftDown( wxMouseEvent `&event )]&]
[s0; [C0 `{]&]
[s0; [C0 if(!normal`_cells)]&]
[s0; [C0 return;]&]
[s0; [C0 wxPoint p( event.GetX(), event.GetY() );]&]
[s0; [C0 p.x /`= UNIT;]&]
[s0; [C0 p.y /`= UNIT;]&]
[s0; [C0 Uncover(p.x, p.y);]&]
[s0; [C0 Refresh();]&]
[s0; [C0 Status();]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void MyFrame`::OnRightDown( wxMouseEvent `&event )]&]
[s0; [C0 `{]&]
[s0; [C0 if(!normal`_cells)]&]
[s0; [C0 return;]&]
[s0; [C0 wxPoint p( event.GetX(), event.GetY() );]&]
[s0; [C0 p.x /`= UNIT;]&]
[s0; [C0 p.y /`= UNIT;]&]
[s0; [C0 if(Field(p.x, p.y) `& HIDDEN) `{]&]
[s0; [C0 Field(p.x, p.y) `^`= MARK;]&]
[s0; [C0 Refresh();]&]
[s0; [C0 `}]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void MyFrame`::Status()]&]
[s0; [C0 `{]&]
[s0; [C0 wxString text;]&]
[s0; [C0 text.Printf( wxT(`"%d bombs, %d cells remaining`"), bombs,
normal`_cells );]&]
[s0; [C0 SetStatusText( text );]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void MyFrame`::Generate()]&]
[s0; [C0 `{]&]
[s0; [C0 cx `= level.x;]&]
[s0; [C0 cy `= level.y;]&]
[s0; [C0 field.Alloc(cx `* cy);]&]
[s0; [C0 for(int i `= cx `* cy `- 1; i >`= 0; i`-`-)]&]
[s0; [C0 field`[i`] `= (rand() `& 15) < 3 ? HIDDEN`|BOMB : HIDDEN;]&]
[s0; [C0 normal`_cells `= 0;]&]
[s0; [C0 for(int x `= 0; x < cx; x`+`+)]&]
[s0; [C0 for(int y `= 0; y < cy; y`+`+)]&]
[s0; [C0 if((Field(x, y) `& BOMB) `=`= 0) `{]&]
[s0; [C0 normal`_cells`+`+;]&]
[s0; [C0 for(int xx `= `-1; xx <`= 1; xx`+`+)]&]
[s0; [C0 for(int yy `= `-1; yy <`= 1; yy`+`+)]&]
[s0; [C0 if((xx `|`| yy) `&`& x `+ xx >`= 0 `&`&
x `+ xx < cx `&`& y `+ yy >`= 0 `&`& y `+ yy < cy `&`&]&]
[s0; [C0 (Field(x `+ xx, y `+ yy) `& BOMB))]&]
[s0; [C0 Field(x, y)`+`+;]&]
[s0; [C0 `}]&]
[s0; [C0 bombs `= cx `* cy `- normal`_cells;]&]
[s0; [C0 SetClientSize( wxSize(UNIT `* cx, UNIT `* cy));]&]
[s0; [C0 Status();]&]
[s0; [C0 Refresh();]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void MyFrame`::Uncover(int x, int y)]&]
[s0; [C0 `{]&]
[s0; [C0 if(x >`= 0 `&`& x < cx `&`& y >`= 0 `&`& y < cy) `{]&]
[s0; [C0 wxChar`& f `= Field(x, y);]&]
[s0; [C0 if((f `& (HIDDEN`|MARK)) `=`= HIDDEN) `{]&]
[s0; [C0 if(f `& BOMB) `{]&]
[s0; [C0 f `|`= EXPLODED;]&]
[s0; [C0 normal`_cells `= 0;]&]
[s0; [C0 UncoverAll();]&]
[s0; [C0 return;]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 if((f `&`= `~HIDDEN) `=`= 0)]&]
[s0; [C0 for(int xx `= `-1; xx <`= 1; xx`+`+)]&]
[s0; [C0 for(int yy `= `-1; yy <`= 1; yy`+`+)]&]
[s0; [C0 if(xx `|`| yy)]&]
[s0; [C0 Uncover(x `+ xx, y `+ yy);]&]
[s0; [C0 normal`_cells`-`-;]&]
[s0; [C0 if(normal`_cells `=`= 0) `{]&]
[s0; [C0 UncoverAll();]&]
[s0; [C0 wxMessageDialog dialog( this, wxT(`"You have
found all the bombs!`"), wxT(`"wxBombs`"), wxOK`|wxICON`_INFORMATION
);]&]
[s0; [C0 dialog.ShowModal();]&]
[s0; [C0 `}]&]
[s0; [C0 `}]&]
[s0; [C0 `}]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void MyFrame`::UncoverAll()]&]
[s0; [C0 `{]&]
[s0; [C0 for(int i `= cx `* cy `- 1; i >`= 0; i`-`-)]&]
[s0; [C0 field`[i`] `= field`[i`] `& `~HIDDEN;]&]
[s0; [C0 Refresh();]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 IMPLEMENT`_APP(MyApp)]&]
[s0;C0 &]
[s0; [C0 bool MyApp`::OnInit()]&]
[s0; [C0 `{]&]
[s0; [C0 MyFrame `*frame `= new MyFrame( wxT(`"wxBombs`"), wxPoint(20,20),
wxSize(500,340) );]&]
[s0; [C0 frame`->Show( TRUE );]&]
[s0; [C0 return TRUE;]&]
[s0; [C0 `}]]}}]