{"id":44,"date":"2018-10-10T22:10:20","date_gmt":"2018-10-10T14:10:20","guid":{"rendered":"https:\/\/blog.tcreopargh.cf\/?p=44"},"modified":"2018-10-28T13:21:26","modified_gmt":"2018-10-28T05:21:26","slug":"c2048%e6%ba%90%e7%a0%81%ef%bc%88%e8%bd%ac%e8%bd%bd%ef%bc%89","status":"publish","type":"post","link":"https:\/\/blog.tcreopargh.xyz\/?p=44","title":{"rendered":"(C)2048\u6e90\u7801\uff08\u8f6c\u8f7d\uff09"},"content":{"rendered":"\n<p>\u7ecf\u51782048\u6e38\u620f\u7684C\u8bed\u8a00\u5b9e\u73b0\u3002<\/p>\n\n\n\n\n<div class=\"codecolorer-container c default\" style=\"overflow:auto;white-space:nowrap;width:958px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/>4<br \/>5<br \/>6<br \/>7<br \/>8<br \/>9<br \/>10<br \/>11<br \/>12<br \/>13<br \/>14<br \/>15<br \/>16<br \/>17<br \/>18<br \/>19<br \/>20<br \/>21<br \/>22<br \/>23<br \/>24<br \/>25<br \/>26<br \/>27<br \/>28<br \/>29<br \/>30<br \/>31<br \/>32<br \/>33<br \/>34<br \/>35<br \/>36<br \/>37<br \/>38<br \/>39<br \/>40<br \/>41<br \/>42<br \/>43<br \/>44<br \/>45<br \/>46<br \/>47<br \/>48<br \/>49<br \/>50<br \/>51<br \/>52<br \/>53<br \/>54<br \/>55<br \/>56<br \/>57<br \/>58<br \/>59<br \/>60<br \/>61<br \/>62<br \/>63<br \/>64<br \/>65<br \/>66<br \/>67<br \/>68<br \/>69<br \/>70<br \/>71<br \/>72<br \/>73<br \/>74<br \/>75<br \/>76<br \/>77<br \/>78<br \/>79<br \/>80<br \/>81<br \/>82<br \/>83<br \/>84<br \/>85<br \/>86<br \/>87<br \/>88<br \/>89<br \/>90<br \/>91<br \/>92<br \/>93<br \/>94<br \/>95<br \/>96<br \/>97<br \/>98<br \/>99<br \/>100<br \/>101<br \/>102<br \/>103<br \/>104<br \/>105<br \/>106<br \/>107<br \/>108<br \/>109<br \/>110<br \/>111<br \/>112<br \/>113<br \/>114<br \/>115<br \/>116<br \/>117<br \/>118<br \/>119<br \/>120<br \/>121<br \/>122<br \/>123<br \/>124<br \/>125<br \/>126<br \/>127<br \/>128<br \/>129<br \/>130<br \/>131<br \/>132<br \/>133<br \/>134<br \/>135<br \/>136<br \/>137<br \/>138<br \/>139<br \/>140<br \/>141<br \/>142<br \/>143<br \/>144<br \/>145<br \/>146<br \/>147<br \/>148<br \/>149<br \/>150<br \/>151<br \/>152<br \/>153<br \/>154<br \/>155<br \/>156<br \/>157<br \/>158<br \/>159<br \/>160<br \/>161<br \/>162<br \/>163<br \/>164<br \/>165<br \/>166<br \/>167<br \/>168<br \/>169<br \/>170<br \/>171<br \/>172<br \/>173<br \/>174<br \/>175<br \/>176<br \/>177<br \/>178<br \/>179<br \/>180<br \/>181<br \/>182<br \/>183<br \/>184<br \/>185<br \/>186<br \/>187<br \/>188<br \/>189<br \/>190<br \/>191<br \/>192<br \/>193<br \/>194<br \/>195<br \/>196<br \/>197<br \/>198<br \/>199<br \/>200<br \/>201<br \/>202<br \/>203<br \/>204<br \/>205<br \/>206<br \/>207<br \/>208<br \/>209<br \/>210<br \/>211<br \/>212<br \/>213<br \/>214<br \/>215<br \/>216<br \/>217<br \/>218<br \/>219<br \/>220<br \/>221<br \/>222<br \/>223<br \/>224<br \/>225<br \/>226<br \/>227<br \/>228<br \/>229<br \/>230<br \/>231<br \/>232<br \/>233<br \/>234<br \/>235<br \/>236<br \/>237<br \/>238<br \/>239<br \/>240<br \/>241<br \/>242<br \/>243<br \/>244<br \/>245<br \/>246<br \/>247<br \/>248<br \/>249<br \/>250<br \/>251<br \/>252<br \/>253<br \/>254<br \/>255<br \/>256<br \/>257<br \/>258<br \/>259<br \/>260<br \/>261<br \/>262<br \/>263<br \/>264<br \/>265<br \/>266<br \/>267<br \/>268<br \/>269<br \/>270<br \/>271<br \/>272<br \/>273<br \/>274<br \/>275<br \/>276<br \/>277<br \/>278<br \/>279<br \/>280<br \/>281<br \/>282<br \/>283<br \/>284<br \/>285<br \/>286<br \/>287<br \/>288<br \/>289<br \/>290<br \/>291<br \/>292<br \/>293<br \/>294<br \/>295<br \/>296<br \/>297<br \/>298<br \/>299<br \/>300<br \/>301<br \/>302<br \/>303<br \/>304<br \/>305<br \/>306<br \/>307<br \/>308<br \/>309<br \/>310<br \/>311<br \/>312<br \/>313<br \/>314<br \/>315<br \/>316<br \/>317<br \/>318<br \/>319<br \/>320<br \/>321<br \/>322<br \/>323<br \/>324<br \/>325<br \/>326<br \/>327<br \/>328<br \/>329<br \/>330<br \/>331<br \/>332<br \/>333<br \/>334<br \/>335<br \/>336<br \/>337<br \/>338<br \/>339<br \/>340<br \/>341<br \/>342<br \/>343<br \/>344<br \/>345<br \/>346<br \/>347<br \/>348<br \/>349<br \/>350<br \/>351<br \/>352<br \/>353<br \/>354<br \/>355<br \/>356<br \/>357<br \/>358<br \/>359<br \/>360<br \/>361<br \/>362<br \/>363<br \/>364<br \/>365<br \/>366<br \/>367<br \/>368<br \/>369<br \/>370<br \/>371<br \/>372<br \/>373<br \/>374<br \/>375<br \/>376<br \/>377<br \/>378<br \/>379<br \/>380<br \/>381<br \/>382<br \/>383<br \/>384<br \/>385<br \/>386<br \/>387<br \/>388<br \/>389<br \/>390<br \/>391<br \/>392<br \/>393<br \/>394<br \/>395<br \/>396<br \/>397<br \/>398<br \/>399<br \/>400<br \/>401<br \/>402<br \/>403<br \/>404<br \/>405<br \/>406<br \/>407<br \/>408<br \/>409<br \/>410<br \/>411<br \/>412<br \/>413<br \/>414<br \/>415<br \/>416<br \/>417<br \/>418<br \/>419<br \/>420<br \/>421<br \/>422<br \/>423<br \/>424<br \/>425<br \/>426<br \/>427<br \/>428<br \/>429<br \/>430<br \/>431<br \/>432<br \/>433<br \/>434<br \/>435<br \/>436<br \/>437<br \/>438<br \/>439<br \/>440<br \/>441<br \/>442<br \/>443<br \/>444<br \/>445<br \/>446<br \/>447<br \/>448<br \/>449<br \/>450<br \/>451<br \/>452<br \/>453<br \/>454<br \/>455<br \/>456<br \/>457<br \/>458<br \/>459<br \/>460<br \/>461<br \/>462<br \/>463<br \/>464<br \/>465<br \/>466<br \/>467<br \/>468<br \/>469<br \/>470<br \/>471<br \/>472<br \/>473<br \/>474<br \/>475<br \/>476<br \/>477<br \/>478<br \/>479<br \/>480<br \/>481<br \/>482<br \/>483<br \/>484<br \/>485<br \/>486<br \/>487<br \/>488<br \/>489<br \/>490<br \/>491<br \/>492<br \/>493<br \/>494<br \/>495<br \/>496<br \/>497<br \/>498<br \/>499<br \/>500<br \/>501<br \/>502<br \/>503<br \/>504<br \/>505<br \/>506<br \/>507<br \/>508<br \/>509<br \/>510<br \/>511<br \/>512<br \/>513<br \/>514<br \/>515<br \/>516<br \/>517<br \/>518<br \/>519<br \/>520<br \/>521<br \/>522<br \/>523<br \/>524<br \/>525<br \/>526<br \/>527<br \/>528<br \/>529<br \/>530<br \/>531<br \/>532<br \/>533<br \/>534<br \/>535<br \/>536<br \/>537<br \/>538<br \/><\/div><\/td><td><div class=\"c codecolorer\"><span class=\"coMULTI\">\/*<br \/>\n* Copyright (C) 2014-2018 Judge Young<br \/>\n* E-mail: yjjtc@126.com<br \/>\n* Version: 2.0<br \/>\n* DateTime: 2018-08-01 23:18<br \/>\n*\/<\/span><br \/>\n<br \/>\n<span class=\"co2\">#include &lt;time.h&gt; &nbsp; \/* \u5305\u542b\u8bbe\u5b9a\u968f\u673a\u6570\u79cd\u5b50\u6240\u9700\u8981\u7684time()\u51fd\u6570 *\/<\/span><br \/>\n<span class=\"co2\">#include &lt;stdio.h&gt; &nbsp;\/* \u5305\u542bC\u7684IO\u8bfb\u5199\u529f\u80fd *\/<\/span><br \/>\n<span class=\"co2\">#include &lt;stdlib.h&gt; \/* \u5305\u542bC\u6807\u51c6\u5e93\u7684\u529f\u80fd *\/<\/span><br \/>\n<br \/>\n<span class=\"co2\">#ifdef _WIN32<\/span><br \/>\n<br \/>\n<span class=\"coMULTI\">\/* \u5305\u542bWindows\u5e73\u53f0\u76f8\u5173\u51fd\u6570\uff0c\u5305\u62ec\u63a7\u5236\u53f0\u754c\u9762\u6e05\u5c4f\u53ca\u5149\u6807\u8bbe\u5b9a\u7b49\u529f\u80fd *\/<\/span><br \/>\n<span class=\"co2\">#include &lt;conio.h&gt;<\/span><br \/>\n<span class=\"co2\">#include &lt;windows.h&gt;<\/span><br \/>\n<span class=\"co2\">#include &lt;io.h&gt;<\/span><br \/>\n<span class=\"co2\">#include &lt;direct.h&gt;<\/span><br \/>\n<span class=\"co2\">#include &lt;Shlobj.h&gt;<\/span><br \/>\n<br \/>\n<span class=\"co2\">#else<\/span><br \/>\n<br \/>\n<span class=\"coMULTI\">\/* \u5305\u542bLinux\u5e73\u53f0\u76f8\u5173\u51fd\u6570\uff0c\u5305\u62ec\u63a7\u5236\u53f0\u754c\u9762\u6e05\u5c4f\u53ca\u5149\u6807\u8bbe\u5b9a\u7b49\u529f\u80fd *\/<\/span><br \/>\n<span class=\"co2\">#include &lt;termio.h&gt;<\/span><br \/>\n<span class=\"co2\">#include &lt;unistd.h&gt;<\/span><br \/>\n<span class=\"co2\">#include &lt;bits\/signum.h&gt;<\/span><br \/>\n<span class=\"co2\">#include &lt;signal.h&gt;<\/span><br \/>\n<br \/>\n<span class=\"co2\">#define KEY_CODE_UP &nbsp; &nbsp;0x41<\/span><br \/>\n<span class=\"co2\">#define KEY_CODE_DOWN &nbsp;0x42<\/span><br \/>\n<span class=\"co2\">#define KEY_CODE_LEFT &nbsp;0x44<\/span><br \/>\n<span class=\"co2\">#define KEY_CODE_RIGHT 0x43<\/span><br \/>\n<span class=\"co2\">#define KEY_CODE_QUIT &nbsp;0x71<\/span><br \/>\n<br \/>\n<span class=\"kw4\">struct<\/span> termios old_config<span class=\"sy0\">;<\/span> <span class=\"coMULTI\">\/* linux\u4e0b\u7ec8\u7aef\u5c5e\u6027\u914d\u7f6e\u5907\u4efd *\/<\/span><br \/>\n<br \/>\n<span class=\"co2\">#endif<\/span><br \/>\n<br \/>\n<span class=\"kw4\">static<\/span> <span class=\"kw4\">char<\/span> config_path<span class=\"br0\">&#91;<\/span><span class=\"nu0\">4096<\/span><span class=\"br0\">&#93;<\/span> <span class=\"sy0\">=<\/span> <span class=\"br0\">&#123;<\/span><span class=\"nu0\">0<\/span><span class=\"br0\">&#125;<\/span><span class=\"sy0\">;<\/span> <span class=\"coMULTI\">\/* \u914d\u7f6e\u6587\u4ef6\u8def\u5f84 *\/<\/span><br \/>\n<br \/>\n<span class=\"kw4\">static<\/span> <span class=\"kw4\">void<\/span> init_game<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span> &nbsp; &nbsp;<span class=\"coMULTI\">\/* \u521d\u59cb\u5316\u6e38\u620f *\/<\/span><br \/>\n<span class=\"kw4\">static<\/span> <span class=\"kw4\">void<\/span> loop_game<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span> &nbsp; &nbsp;<span class=\"coMULTI\">\/* \u6e38\u620f\u5faa\u73af *\/<\/span><br \/>\n<span class=\"kw4\">static<\/span> <span class=\"kw4\">void<\/span> reset_game<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span> &nbsp; <span class=\"coMULTI\">\/* \u91cd\u7f6e\u6e38\u620f *\/<\/span><br \/>\n<span class=\"kw4\">static<\/span> <span class=\"kw4\">void<\/span> release_game<span class=\"br0\">&#40;<\/span><span class=\"kw4\">int<\/span> signal<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span> <span class=\"coMULTI\">\/* \u91ca\u653e\u6e38\u620f *\/<\/span><br \/>\n<br \/>\n<span class=\"kw4\">static<\/span> <span class=\"kw4\">int<\/span> read_keyboard<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\n<span class=\"kw4\">static<\/span> <span class=\"kw4\">void<\/span> move_left<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span> &nbsp;<span class=\"coMULTI\">\/* \u5de6\u79fb *\/<\/span><br \/>\n<span class=\"kw4\">static<\/span> <span class=\"kw4\">void<\/span> move_right<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span> <span class=\"coMULTI\">\/* \u53f3\u79fb *\/<\/span><br \/>\n<span class=\"kw4\">static<\/span> <span class=\"kw4\">void<\/span> move_up<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span> &nbsp; &nbsp;<span class=\"coMULTI\">\/* \u4e0a\u79fb *\/<\/span><br \/>\n<span class=\"kw4\">static<\/span> <span class=\"kw4\">void<\/span> move_down<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span> &nbsp;<span class=\"coMULTI\">\/* \u4e0b\u79fb *\/<\/span><br \/>\n<br \/>\n<span class=\"kw4\">static<\/span> <span class=\"kw4\">void<\/span> add_rand_num<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span> &nbsp; &nbsp;<span class=\"coMULTI\">\/* \u751f\u6210\u968f\u673a\u6570\uff0c\u672c\u7a0b\u5e8f\u4e2d\u4ec5\u751f\u62102\u62164\uff0c\u6982\u7387\u4e4b\u6bd4\u8bbe\u4e3a9:1 *\/<\/span><br \/>\n<span class=\"kw4\">static<\/span> <span class=\"kw4\">void<\/span> check_game_over<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span> <span class=\"coMULTI\">\/* \u68c0\u6d4b\u662f\u5426\u8f93\u6389\u6e38\u620f\uff0c\u8bbe\u5b9a\u6e38\u620f\u7ed3\u675f\u6807\u5fd7 *\/<\/span><br \/>\n<span class=\"kw4\">static<\/span> <span class=\"kw4\">int<\/span> get_null_count<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span> &nbsp; <span class=\"coMULTI\">\/* \u83b7\u53d6\u6e38\u620f\u9762\u677f\u4e0a\u7a7a\u4f4d\u7f6e\u6570\u91cf *\/<\/span><br \/>\n<span class=\"kw4\">static<\/span> <span class=\"kw4\">void<\/span> clear_screen<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span> &nbsp; &nbsp;<span class=\"coMULTI\">\/* \u6e05\u5c4f *\/<\/span><br \/>\n<span class=\"kw4\">static<\/span> <span class=\"kw4\">void<\/span> refresh_show<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span> &nbsp; &nbsp;<span class=\"coMULTI\">\/* \u5237\u65b0\u754c\u9762\u663e\u793a *\/<\/span><br \/>\n<br \/>\n<span class=\"kw4\">static<\/span> <span class=\"kw4\">int<\/span> board<span class=\"br0\">&#91;<\/span><span class=\"nu0\">4<\/span><span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span><span class=\"nu0\">4<\/span><span class=\"br0\">&#93;<\/span><span class=\"sy0\">;<\/span> &nbsp; &nbsp; <span class=\"coMULTI\">\/* \u6e38\u620f\u6570\u5b57\u9762\u677f\uff0c\u62bd\u8c61\u4e3a\u4e8c\u7ef4\u6570\u7ec4 *\/<\/span><br \/>\n<span class=\"kw4\">static<\/span> <span class=\"kw4\">int<\/span> score<span class=\"sy0\">;<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"coMULTI\">\/* \u6e38\u620f\u5f97\u5206 *\/<\/span><br \/>\n<span class=\"kw4\">static<\/span> <span class=\"kw4\">int<\/span> best<span class=\"sy0\">;<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"coMULTI\">\/* \u6e38\u620f\u6700\u9ad8\u5206 *\/<\/span><br \/>\n<span class=\"kw4\">static<\/span> <span class=\"kw4\">int<\/span> if_need_add_num<span class=\"sy0\">;<\/span> <span class=\"coMULTI\">\/* \u662f\u5426\u9700\u8981\u751f\u6210\u968f\u673a\u6570\u6807\u5fd7\uff0c1\u8868\u793a\u9700\u8981\uff0c0\u8868\u793a\u4e0d\u9700\u8981 *\/<\/span><br \/>\n<span class=\"kw4\">static<\/span> <span class=\"kw4\">int<\/span> if_game_over<span class=\"sy0\">;<\/span> &nbsp; &nbsp;<span class=\"coMULTI\">\/* \u662f\u5426\u6e38\u620f\u7ed3\u675f\u6807\u5fd7\uff0c1\u8868\u793a\u6e38\u620f\u7ed3\u675f\uff0c0\u8868\u793a\u6b63\u5e38 *\/<\/span><br \/>\n<span class=\"kw4\">static<\/span> <span class=\"kw4\">int<\/span> if_prepare_exit<span class=\"sy0\">;<\/span> <span class=\"coMULTI\">\/* \u662f\u5426\u51c6\u5907\u9000\u51fa\u6e38\u620f\uff0c1\u8868\u793a\u662f\uff0c0\u8868\u793a\u5426 *\/<\/span><br \/>\n<br \/>\n<span class=\"coMULTI\">\/* main\u51fd\u6570 \u51fd\u6570\u5b9a\u4e49 *\/<\/span><br \/>\n<span class=\"kw4\">int<\/span> main<span class=\"br0\">&#40;<\/span><span class=\"kw4\">int<\/span> argc<span class=\"sy0\">,<\/span> <span class=\"kw4\">char<\/span> <span class=\"sy0\">*<\/span>argv<span class=\"br0\">&#91;<\/span><span class=\"br0\">&#93;<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; init_game<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; loop_game<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; release_game<span class=\"br0\">&#40;<\/span><span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">return<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><br \/>\n<br \/>\n<span class=\"coMULTI\">\/* \u8bfb\u53d6\u952e\u76d8 \u51fd\u6570\u5b9a\u4e49 *\/<\/span><br \/>\n<span class=\"kw4\">int<\/span> read_keyboard<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n<span class=\"co2\">#ifdef _WIN32<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">return<\/span> _getch<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n<span class=\"co2\">#else<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw4\">int<\/span> key_code<span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>read<span class=\"br0\">&#40;<\/span><span class=\"nu0\">0<\/span><span class=\"sy0\">,<\/span> <span class=\"sy0\">&amp;<\/span>key_code<span class=\"sy0\">,<\/span> <span class=\"nu0\">1<\/span><span class=\"br0\">&#41;<\/span> <span class=\"sy0\">&lt;<\/span> <span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">return<\/span> <span class=\"sy0\">-<\/span><span class=\"nu0\">1<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">return<\/span> key_code<span class=\"sy0\">;<\/span><br \/>\n<span class=\"co2\">#endif<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><br \/>\n<br \/>\n<span class=\"coMULTI\">\/* \u5f00\u59cb\u6e38\u620f \u51fd\u6570\u5b9a\u4e49 *\/<\/span><br \/>\n<span class=\"kw4\">void<\/span> loop_game<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">while<\/span> <span class=\"br0\">&#40;<\/span><span class=\"nu0\">1<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw4\">int<\/span> cmd <span class=\"sy0\">=<\/span> read_keyboard<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span> <span class=\"coMULTI\">\/* \u63a5\u6536\u6807\u51c6\u8f93\u5165\u6d41\u5b57\u7b26\u547d\u4ee4 *\/<\/span><br \/>\n<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"coMULTI\">\/* \u5224\u65ad\u662f\u5426\u51c6\u5907\u9000\u51fa\u6e38\u620f *\/<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>if_prepare_exit<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>cmd <span class=\"sy0\">==<\/span> <span class=\"st0\">'y'<\/span> <span class=\"sy0\">||<\/span> cmd <span class=\"sy0\">==<\/span> <span class=\"st0\">'Y'<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"coMULTI\">\/* \u9000\u51fa\u6e38\u620f\uff0c\u6e05\u5c4f\u540e\u9000\u51fa *\/<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; clear_screen<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">return<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span> <span class=\"kw1\">else<\/span> <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>cmd <span class=\"sy0\">==<\/span> <span class=\"st0\">'n'<\/span> <span class=\"sy0\">||<\/span> cmd <span class=\"sy0\">==<\/span> <span class=\"st0\">'N'<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"coMULTI\">\/* \u53d6\u6d88\u9000\u51fa *\/<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if_prepare_exit <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; refresh_show<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">continue<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span> <span class=\"kw1\">else<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">continue<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"coMULTI\">\/* \u5224\u65ad\u662f\u5426\u5df2\u7ecf\u8f93\u6389\u6e38\u620f *\/<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>if_game_over<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>cmd <span class=\"sy0\">==<\/span> <span class=\"st0\">'y'<\/span> <span class=\"sy0\">||<\/span> cmd <span class=\"sy0\">==<\/span> <span class=\"st0\">'Y'<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"coMULTI\">\/* \u91cd\u73a9\u6e38\u620f *\/<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; reset_game<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">continue<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span> <span class=\"kw1\">else<\/span> <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>cmd <span class=\"sy0\">==<\/span> <span class=\"st0\">'n'<\/span> <span class=\"sy0\">||<\/span> cmd <span class=\"sy0\">==<\/span> <span class=\"st0\">'N'<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"coMULTI\">\/* \u9000\u51fa\u6e38\u620f\uff0c\u6e05\u5c4f\u540e\u9000\u51fa &nbsp;*\/<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; clear_screen<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">return<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span> <span class=\"kw1\">else<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">continue<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; if_need_add_num <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span> <span class=\"coMULTI\">\/* \u5148\u8bbe\u5b9a\u4e0d\u9ed8\u8ba4\u9700\u8981\u751f\u6210\u968f\u673a\u6570\uff0c\u9700\u8981\u65f6\u518d\u8bbe\u5b9a\u4e3a1 *\/<\/span><br \/>\n<br \/>\n<span class=\"co2\">#ifdef _WIN32<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"coMULTI\">\/* \u547d\u4ee4\u89e3\u6790\uff0cw\uff0cs\uff0ca\uff0cd\u5b57\u7b26\u4ee3\u8868\u4e0a\u4e0b\u5de6\u53f3\u547d\u4ee4\uff0cq\u4ee3\u8868\u9000\u51fa *\/<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">switch<\/span> <span class=\"br0\">&#40;<\/span>cmd<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">case<\/span> <span class=\"st0\">'a'<\/span><span class=\"sy0\">:<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">case<\/span> <span class=\"nu0\">75<\/span><span class=\"sy0\">:<\/span>move_left<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw2\">break<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">case<\/span> <span class=\"st0\">'s'<\/span><span class=\"sy0\">:<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">case<\/span> <span class=\"nu0\">80<\/span><span class=\"sy0\">:<\/span>move_down<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw2\">break<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">case<\/span> <span class=\"st0\">'w'<\/span><span class=\"sy0\">:<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">case<\/span> <span class=\"nu0\">72<\/span><span class=\"sy0\">:<\/span>move_up<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw2\">break<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">case<\/span> <span class=\"st0\">'d'<\/span><span class=\"sy0\">:<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">case<\/span> <span class=\"nu0\">77<\/span><span class=\"sy0\">:<\/span>move_right<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw2\">break<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">case<\/span> <span class=\"st0\">'q'<\/span><span class=\"sy0\">:<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">case<\/span> <span class=\"nu0\">27<\/span><span class=\"sy0\">:<\/span>if_prepare_exit <span class=\"sy0\">=<\/span> <span class=\"nu0\">1<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw2\">break<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">default<\/span><span class=\"sy0\">:<\/span><span class=\"kw1\">continue<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n<span class=\"co2\">#else<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"coMULTI\">\/* \u547d\u4ee4\u89e3\u6790\uff0c\u4e0a\u4e0b\u5de6\u53f3\u7bad\u5934\u4ee3\u8868\u4e0a\u4e0b\u5de6\u53f3\u547d\u4ee4\uff0cq\u4ee3\u8868\u9000\u51fa *\/<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">switch<\/span> <span class=\"br0\">&#40;<\/span>cmd<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">case<\/span> <span class=\"st0\">'a'<\/span><span class=\"sy0\">:<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">case<\/span> KEY_CODE_LEFT<span class=\"sy0\">:<\/span>move_left<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw2\">break<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">case<\/span> <span class=\"st0\">'s'<\/span><span class=\"sy0\">:<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">case<\/span> KEY_CODE_DOWN<span class=\"sy0\">:<\/span>move_down<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw2\">break<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">case<\/span> <span class=\"st0\">'w'<\/span><span class=\"sy0\">:<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">case<\/span> KEY_CODE_UP<span class=\"sy0\">:<\/span>move_up<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw2\">break<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">case<\/span> <span class=\"st0\">'d'<\/span><span class=\"sy0\">:<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">case<\/span> KEY_CODE_RIGHT<span class=\"sy0\">:<\/span>move_right<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw2\">break<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">case<\/span> KEY_CODE_QUIT<span class=\"sy0\">:<\/span>if_prepare_exit <span class=\"sy0\">=<\/span> <span class=\"nu0\">1<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw2\">break<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">default<\/span><span class=\"sy0\">:<\/span><span class=\"kw1\">continue<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n<span class=\"co2\">#endif<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"coMULTI\">\/* \u6253\u7834\u5f97\u5206\u7eaa\u5f55 *\/<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>score <span class=\"sy0\">&gt;<\/span> best<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; best <span class=\"sy0\">=<\/span> score<span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; FILE <span class=\"sy0\">*<\/span>fp <span class=\"sy0\">=<\/span> <a href=\"http:\/\/www.opengroup.org\/onlinepubs\/009695399\/functions\/fopen.html\"><span class=\"kw3\">fopen<\/span><\/a><span class=\"br0\">&#40;<\/span>config_path<span class=\"sy0\">,<\/span> <span class=\"st0\">&quot;w&quot;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>fp<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href=\"http:\/\/www.opengroup.org\/onlinepubs\/009695399\/functions\/fwrite.html\"><span class=\"kw3\">fwrite<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"sy0\">&amp;<\/span>best<span class=\"sy0\">,<\/span> <span class=\"kw4\">sizeof<\/span><span class=\"br0\">&#40;<\/span>best<span class=\"br0\">&#41;<\/span><span class=\"sy0\">,<\/span> <span class=\"nu0\">1<\/span><span class=\"sy0\">,<\/span> fp<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href=\"http:\/\/www.opengroup.org\/onlinepubs\/009695399\/functions\/fclose.html\"><span class=\"kw3\">fclose<\/span><\/a><span class=\"br0\">&#40;<\/span>fp<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"coMULTI\">\/* \u9ed8\u8ba4\u4e3a\u9700\u8981\u751f\u6210\u968f\u673a\u6570\u65f6\u4e5f\u540c\u65f6\u9700\u8981\u5237\u65b0\u663e\u793a\uff0c\u53cd\u4e4b\u4ea6\u7136 *\/<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>if_need_add_num<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; add_rand_num<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; refresh_show<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span> <span class=\"kw1\">else<\/span> <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>if_prepare_exit<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; refresh_show<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><br \/>\n<br \/>\n<span class=\"coMULTI\">\/* \u91cd\u7f6e\u6e38\u620f \u51fd\u6570\u5b9a\u4e49 *\/<\/span><br \/>\n<span class=\"kw4\">void<\/span> reset_game<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; score <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; if_need_add_num <span class=\"sy0\">=<\/span> <span class=\"nu0\">1<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; if_game_over <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; if_prepare_exit <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\n&nbsp; &nbsp; <span class=\"coMULTI\">\/* \u4e86\u89e3\u5230\u6e38\u620f\u521d\u59cb\u5316\u65f6\u51fa\u73b0\u7684\u4e24\u4e2a\u6570\u4e00\u5b9a\u4f1a\u6709\u4e2a2\uff0c\u6240\u4ee5\u5148\u968f\u673a\u751f\u6210\u4e00\u4e2a2\uff0c\u5176\u4ed6\u5747\u4e3a0 *\/<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw4\">int<\/span> n <span class=\"sy0\">=<\/span> <a href=\"http:\/\/www.opengroup.org\/onlinepubs\/009695399\/functions\/rand.html\"><span class=\"kw3\">rand<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span> <span class=\"sy0\">%<\/span> <span class=\"nu0\">16<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw4\">int<\/span> i<span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">for<\/span> <span class=\"br0\">&#40;<\/span>i <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span> i <span class=\"sy0\">&lt;<\/span> <span class=\"nu0\">4<\/span><span class=\"sy0\">;<\/span> <span class=\"sy0\">++<\/span>i<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw4\">int<\/span> j<span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">for<\/span> <span class=\"br0\">&#40;<\/span>j <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span> j <span class=\"sy0\">&lt;<\/span> <span class=\"nu0\">4<\/span><span class=\"sy0\">;<\/span> <span class=\"sy0\">++<\/span>j<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; board<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">=<\/span> <span class=\"br0\">&#40;<\/span>n<span class=\"sy0\">--<\/span> <span class=\"sy0\">==<\/span> <span class=\"nu0\">0<\/span> <span class=\"sy0\">?<\/span> <span class=\"nu0\">2<\/span> <span class=\"sy0\">:<\/span> <span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n<br \/>\n&nbsp; &nbsp; <span class=\"coMULTI\">\/* \u524d\u9762\u5df2\u7ecf\u751f\u6210\u4e86\u4e00\u4e2a2\uff0c\u8fd9\u91cc\u518d\u751f\u6210\u4e00\u4e2a\u968f\u673a\u76842\u6216\u80054\uff0c\u6982\u7387\u4e4b\u6bd49:1 *\/<\/span><br \/>\n&nbsp; &nbsp; add_rand_num<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\n&nbsp; &nbsp; <span class=\"coMULTI\">\/* \u5728\u8fd9\u91cc\u5237\u65b0\u754c\u9762\u5e76\u663e\u793a\u7684\u65f6\u5019\uff0c\u754c\u9762\u4e0a\u5df2\u7ecf\u9ed8\u8ba4\u51fa\u73b0\u4e86\u4e24\u4e2a\u6570\u5b57\uff0c\u5176\u4ed6\u7684\u90fd\u4e3a\u7a7a\uff08\u503c\u4e3a0\uff09 *\/<\/span><br \/>\n&nbsp; &nbsp; refresh_show<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><br \/>\n<br \/>\n<span class=\"coMULTI\">\/* \u751f\u6210\u968f\u673a\u6570 \u51fd\u6570\u5b9a\u4e49 *\/<\/span><br \/>\n<span class=\"kw4\">void<\/span> add_rand_num<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; <a href=\"http:\/\/www.opengroup.org\/onlinepubs\/009695399\/functions\/srand.html\"><span class=\"kw3\">srand<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#40;<\/span><span class=\"kw4\">unsigned<\/span> <span class=\"kw4\">int<\/span><span class=\"br0\">&#41;<\/span> <a href=\"http:\/\/www.opengroup.org\/onlinepubs\/009695399\/functions\/time.html\"><span class=\"kw3\">time<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw4\">int<\/span> n <span class=\"sy0\">=<\/span> <a href=\"http:\/\/www.opengroup.org\/onlinepubs\/009695399\/functions\/rand.html\"><span class=\"kw3\">rand<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span> <span class=\"sy0\">%<\/span> get_null_count<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span> <span class=\"coMULTI\">\/* \u786e\u5b9a\u5728\u4f55\u5904\u7a7a\u4f4d\u7f6e\u751f\u6210\u968f\u673a\u6570 *\/<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw4\">int<\/span> i<span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">for<\/span> <span class=\"br0\">&#40;<\/span>i <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span> i <span class=\"sy0\">&lt;<\/span> <span class=\"nu0\">4<\/span><span class=\"sy0\">;<\/span> <span class=\"sy0\">++<\/span>i<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw4\">int<\/span> j<span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">for<\/span> <span class=\"br0\">&#40;<\/span>j <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span> j <span class=\"sy0\">&lt;<\/span> <span class=\"nu0\">4<\/span><span class=\"sy0\">;<\/span> <span class=\"sy0\">++<\/span>j<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"coMULTI\">\/* \u5b9a\u4f4d\u5f85\u751f\u6210\u7684\u4f4d\u7f6e *\/<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>board<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">==<\/span> <span class=\"nu0\">0<\/span> <span class=\"sy0\">&amp;&amp;<\/span> n<span class=\"sy0\">--<\/span> <span class=\"sy0\">==<\/span> <span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; board<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">=<\/span> <span class=\"br0\">&#40;<\/span><a href=\"http:\/\/www.opengroup.org\/onlinepubs\/009695399\/functions\/rand.html\"><span class=\"kw3\">rand<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span> <span class=\"sy0\">%<\/span> <span class=\"nu0\">10<\/span> <span class=\"sy0\">?<\/span> <span class=\"nu0\">2<\/span> <span class=\"sy0\">:<\/span> <span class=\"nu0\">4<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span> <span class=\"coMULTI\">\/* \u751f\u6210\u6570\u5b572\u62164\uff0c\u751f\u6210\u6982\u7387\u4e3a9:1 *\/<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">return<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><br \/>\n<br \/>\n<span class=\"coMULTI\">\/* \u83b7\u53d6\u7a7a\u4f4d\u7f6e\u6570\u91cf \u51fd\u6570\u5b9a\u4e49 *\/<\/span><br \/>\n<span class=\"kw4\">int<\/span> get_null_count<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw4\">int<\/span> n <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw4\">int<\/span> i<span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">for<\/span> <span class=\"br0\">&#40;<\/span>i <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span> i <span class=\"sy0\">&lt;<\/span> <span class=\"nu0\">4<\/span><span class=\"sy0\">;<\/span> <span class=\"sy0\">++<\/span>i<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw4\">int<\/span> j<span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">for<\/span> <span class=\"br0\">&#40;<\/span>j <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span> j <span class=\"sy0\">&lt;<\/span> <span class=\"nu0\">4<\/span><span class=\"sy0\">;<\/span> <span class=\"sy0\">++<\/span>j<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; board<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">==<\/span> <span class=\"nu0\">0<\/span> <span class=\"sy0\">?<\/span> <span class=\"sy0\">++<\/span>n <span class=\"sy0\">:<\/span> <span class=\"nu0\">1<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">return<\/span> n<span class=\"sy0\">;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><br \/>\n<br \/>\n<span class=\"coMULTI\">\/* \u68c0\u67e5\u6e38\u620f\u662f\u5426\u7ed3\u675f \u51fd\u6570\u5b9a\u4e49 *\/<\/span><br \/>\n<span class=\"kw4\">void<\/span> check_game_over<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw4\">int<\/span> i<span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">for<\/span> <span class=\"br0\">&#40;<\/span>i <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span> i <span class=\"sy0\">&lt;<\/span> <span class=\"nu0\">4<\/span><span class=\"sy0\">;<\/span> <span class=\"sy0\">++<\/span>i<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw4\">int<\/span> j<span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">for<\/span> <span class=\"br0\">&#40;<\/span>j <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span> j <span class=\"sy0\">&lt;<\/span> <span class=\"nu0\">3<\/span><span class=\"sy0\">;<\/span> <span class=\"sy0\">++<\/span>j<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"coMULTI\">\/* \u6a2a\u5411\u548c\u7eb5\u5411\u6bd4\u8f83\u6328\u7740\u7684\u4e24\u4e2a\u5143\u7d20\u662f\u5426\u76f8\u7b49\uff0c\u82e5\u6709\u76f8\u7b49\u5219\u6e38\u620f\u4e0d\u7ed3\u675f *\/<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>board<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">==<\/span> board<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>j <span class=\"sy0\">+<\/span> <span class=\"nu0\">1<\/span><span class=\"br0\">&#93;<\/span> <span class=\"sy0\">||<\/span> board<span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">==<\/span> board<span class=\"br0\">&#91;<\/span>j <span class=\"sy0\">+<\/span> <span class=\"nu0\">1<\/span><span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if_game_over <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">return<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; if_game_over <span class=\"sy0\">=<\/span> <span class=\"nu0\">1<\/span><span class=\"sy0\">;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><br \/>\n<br \/>\n<span class=\"coMULTI\">\/*<br \/>\n&nbsp;* \u5982\u4e0b\u56db\u4e2a\u51fd\u6570\uff0c\u5b9e\u73b0\u4e0a\u4e0b\u5de6\u53f3\u79fb\u52a8\u65f6\u6570\u5b57\u9762\u677f\u7684\u53d8\u5316\u7b97\u6cd5<br \/>\n&nbsp;* \u5de6\u548c\u53f3\u79fb\u52a8\u7684\u672c\u8d28\u4e00\u6837\uff0c\u533a\u522b\u4ec5\u4ec5\u662f\u5217\u9879\u7684\u904d\u5386\u65b9\u5411\u76f8\u53cd<br \/>\n&nbsp;* \u4e0a\u548c\u4e0b\u79fb\u52a8\u7684\u672c\u8d28\u4e00\u6837\uff0c\u533a\u522b\u4ec5\u4ec5\u662f\u884c\u9879\u7684\u904d\u5386\u65b9\u5411\u76f8\u53cd<br \/>\n&nbsp;* \u5de6\u548c\u4e0a\u79fb\u52a8\u7684\u672c\u8d28\u4e5f\u4e00\u6837\uff0c\u533a\u522b\u4ec5\u4ec5\u662f\u904d\u5386\u65f6\u884c\u548c\u5217\u4e92\u6362<br \/>\n*\/<\/span><br \/>\n<br \/>\n<span class=\"coMULTI\">\/* &nbsp;\u5de6\u79fb \u51fd\u6570\u5b9a\u4e49 *\/<\/span><br \/>\n<span class=\"kw4\">void<\/span> move_left<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"coMULTI\">\/* \u53d8\u91cfi\u7528\u6765\u904d\u5386\u884c\u9879\u7684\u4e0b\u6807\uff0c\u5e76\u4e14\u5728\u79fb\u52a8\u65f6\u6240\u6709\u884c\u76f8\u4e92\u72ec\u7acb\uff0c\u4e92\u4e0d\u5f71\u54cd *\/<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw4\">int<\/span> i<span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">for<\/span> <span class=\"br0\">&#40;<\/span>i <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span> i <span class=\"sy0\">&lt;<\/span> <span class=\"nu0\">4<\/span><span class=\"sy0\">;<\/span> <span class=\"sy0\">++<\/span>i<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"coMULTI\">\/* \u53d8\u91cfj\u4e3a\u5217\u4e0b\u6807\uff0c\u53d8\u91cfk\u4e3a\u5f85\u6bd4\u8f83\uff08\u5408\u5e76\uff09\u9879\u7684\u4e0b\u6807\uff0c\u5faa\u73af\u8fdb\u5165\u65f6k&lt;j *\/<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw4\">int<\/span> j<span class=\"sy0\">,<\/span> k<span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">for<\/span> <span class=\"br0\">&#40;<\/span>j <span class=\"sy0\">=<\/span> <span class=\"nu0\">1<\/span><span class=\"sy0\">,<\/span> k <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span> j <span class=\"sy0\">&lt;<\/span> <span class=\"nu0\">4<\/span><span class=\"sy0\">;<\/span> <span class=\"sy0\">++<\/span>j<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>board<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">&gt;<\/span> <span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/span> <span class=\"coMULTI\">\/* \u627e\u51fak\u540e\u9762\u7b2c\u4e00\u4e2a\u4e0d\u4e3a\u7a7a\u7684\u9879\uff0c\u4e0b\u6807\u4e3aj\uff0c\u4e4b\u540e\u5206\u4e09\u79cd\u60c5\u51b5 *\/<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>board<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>k<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">==<\/span> board<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"coMULTI\">\/* \u60c5\u51b51\uff1ak\u9879\u548cj\u9879\u76f8\u7b49\uff0c\u6b64\u65f6\u5408\u5e76\u65b9\u5757\u5e76\u8ba1\u5206 *\/<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; score <span class=\"sy0\">+=<\/span> board<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>k<span class=\"sy0\">++<\/span><span class=\"br0\">&#93;<\/span> <span class=\"sy0\">*=<\/span> <span class=\"nu0\">2<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; board<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if_need_add_num <span class=\"sy0\">=<\/span> <span class=\"nu0\">1<\/span><span class=\"sy0\">;<\/span> <span class=\"coMULTI\">\/* \u9700\u8981\u751f\u6210\u968f\u673a\u6570\u548c\u5237\u65b0\u754c\u9762 *\/<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span> <span class=\"kw1\">else<\/span> <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>board<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>k<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">==<\/span> <span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"coMULTI\">\/* \u60c5\u51b52\uff1ak\u9879\u4e3a\u7a7a\uff0c\u5219\u628aj\u9879\u8d4b\u503c\u7ed9k\u9879\uff0c\u76f8\u5f53\u4e8ej\u65b9\u5757\u79fb\u52a8\u5230k\u65b9\u5757 *\/<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; board<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>k<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">=<\/span> board<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; board<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if_need_add_num <span class=\"sy0\">=<\/span> <span class=\"nu0\">1<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span> <span class=\"kw1\">else<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"coMULTI\">\/* \u60c5\u51b53\uff1ak\u9879\u4e0d\u4e3a\u7a7a\uff0c\u4e14\u548cj\u9879\u4e0d\u76f8\u7b49\uff0c\u6b64\u65f6\u628aj\u9879\u8d4b\u503c\u7ed9k+1\u9879\uff0c\u76f8\u5f53\u4e8e\u79fb\u52a8\u5230k+1\u7684\u4f4d\u7f6e *\/<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; board<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span><span class=\"sy0\">++<\/span>k<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">=<\/span> board<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>j <span class=\"sy0\">!=<\/span> k<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"coMULTI\">\/* \u5224\u65adj\u9879\u548ck\u9879\u662f\u5426\u539f\u5148\u5c31\u6328\u5728\u4e00\u8d77\uff0c\u82e5\u4e0d\u662f\u5219\u628aj\u9879\u8d4b\u503c\u4e3a\u7a7a\uff08\u503c\u4e3a0\uff09 *\/<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; board<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if_need_add_num <span class=\"sy0\">=<\/span> <span class=\"nu0\">1<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><br \/>\n<br \/>\n<span class=\"coMULTI\">\/* \u53f3\u79fb \u51fd\u6570\u5b9a\u4e49 *\/<\/span><br \/>\n<span class=\"kw4\">void<\/span> move_right<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"coMULTI\">\/* \u4eff\u7167\u5de6\u79fb\u64cd\u4f5c\uff0c\u533a\u522b\u4ec5\u4ec5\u662fj\u548ck\u90fd\u53cd\u5411\u904d\u5386 *\/<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw4\">int<\/span> i<span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">for<\/span> <span class=\"br0\">&#40;<\/span>i <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span> i <span class=\"sy0\">&lt;<\/span> <span class=\"nu0\">4<\/span><span class=\"sy0\">;<\/span> <span class=\"sy0\">++<\/span>i<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw4\">int<\/span> j<span class=\"sy0\">,<\/span> k<span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">for<\/span> <span class=\"br0\">&#40;<\/span>j <span class=\"sy0\">=<\/span> <span class=\"nu0\">2<\/span><span class=\"sy0\">,<\/span> k <span class=\"sy0\">=<\/span> <span class=\"nu0\">3<\/span><span class=\"sy0\">;<\/span> j <span class=\"sy0\">&gt;=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span> <span class=\"sy0\">--<\/span>j<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>board<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">&gt;<\/span> <span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>board<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>k<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">==<\/span> board<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; score <span class=\"sy0\">+=<\/span> board<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>k<span class=\"sy0\">--<\/span><span class=\"br0\">&#93;<\/span> <span class=\"sy0\">*=<\/span> <span class=\"nu0\">2<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; board<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if_need_add_num <span class=\"sy0\">=<\/span> <span class=\"nu0\">1<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span> <span class=\"kw1\">else<\/span> <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>board<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>k<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">==<\/span> <span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; board<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>k<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">=<\/span> board<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; board<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if_need_add_num <span class=\"sy0\">=<\/span> <span class=\"nu0\">1<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span> <span class=\"kw1\">else<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; board<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span><span class=\"sy0\">--<\/span>k<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">=<\/span> board<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>j <span class=\"sy0\">!=<\/span> k<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; board<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if_need_add_num <span class=\"sy0\">=<\/span> <span class=\"nu0\">1<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><br \/>\n<br \/>\n<span class=\"coMULTI\">\/* \u4e0a\u79fb \u51fd\u6570\u5b9a\u4e49 *\/<\/span><br \/>\n<span class=\"kw4\">void<\/span> move_up<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"coMULTI\">\/* \u4eff\u7167\u5de6\u79fb\u64cd\u4f5c\uff0c\u533a\u522b\u4ec5\u4ec5\u662f\u884c\u5217\u4e92\u6362\u540e\u904d\u5386 *\/<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw4\">int<\/span> i<span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">for<\/span> <span class=\"br0\">&#40;<\/span>i <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span> i <span class=\"sy0\">&lt;<\/span> <span class=\"nu0\">4<\/span><span class=\"sy0\">;<\/span> <span class=\"sy0\">++<\/span>i<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw4\">int<\/span> j<span class=\"sy0\">,<\/span> k<span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">for<\/span> <span class=\"br0\">&#40;<\/span>j <span class=\"sy0\">=<\/span> <span class=\"nu0\">1<\/span><span class=\"sy0\">,<\/span> k <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span> j <span class=\"sy0\">&lt;<\/span> <span class=\"nu0\">4<\/span><span class=\"sy0\">;<\/span> <span class=\"sy0\">++<\/span>j<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>board<span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">&gt;<\/span> <span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>board<span class=\"br0\">&#91;<\/span>k<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">==<\/span> board<span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; score <span class=\"sy0\">+=<\/span> board<span class=\"br0\">&#91;<\/span>k<span class=\"sy0\">++<\/span><span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">*=<\/span> <span class=\"nu0\">2<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; board<span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if_need_add_num <span class=\"sy0\">=<\/span> <span class=\"nu0\">1<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span> <span class=\"kw1\">else<\/span> <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>board<span class=\"br0\">&#91;<\/span>k<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">==<\/span> <span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; board<span class=\"br0\">&#91;<\/span>k<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">=<\/span> board<span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; board<span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if_need_add_num <span class=\"sy0\">=<\/span> <span class=\"nu0\">1<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span> <span class=\"kw1\">else<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; board<span class=\"br0\">&#91;<\/span><span class=\"sy0\">++<\/span>k<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">=<\/span> board<span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>j <span class=\"sy0\">!=<\/span> k<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; board<span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if_need_add_num <span class=\"sy0\">=<\/span> <span class=\"nu0\">1<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><br \/>\n<br \/>\n<span class=\"coMULTI\">\/* \u4e0b\u79fb \u51fd\u6570\u5b9a\u4e49 *\/<\/span><br \/>\n<span class=\"kw4\">void<\/span> move_down<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"coMULTI\">\/* \u4eff\u7167\u5de6\u79fb\u64cd\u4f5c\uff0c\u533a\u522b\u4ec5\u4ec5\u662f\u884c\u5217\u4e92\u6362\u540e\u904d\u5386\uff0c\u4e14j\u548ck\u90fd\u53cd\u5411\u904d\u5386 *\/<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw4\">int<\/span> i<span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">for<\/span> <span class=\"br0\">&#40;<\/span>i <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span> i <span class=\"sy0\">&lt;<\/span> <span class=\"nu0\">4<\/span><span class=\"sy0\">;<\/span> <span class=\"sy0\">++<\/span>i<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw4\">int<\/span> j<span class=\"sy0\">,<\/span> k<span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">for<\/span> <span class=\"br0\">&#40;<\/span>j <span class=\"sy0\">=<\/span> <span class=\"nu0\">2<\/span><span class=\"sy0\">,<\/span> k <span class=\"sy0\">=<\/span> <span class=\"nu0\">3<\/span><span class=\"sy0\">;<\/span> j <span class=\"sy0\">&gt;=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span> <span class=\"sy0\">--<\/span>j<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>board<span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">&gt;<\/span> <span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>board<span class=\"br0\">&#91;<\/span>k<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">==<\/span> board<span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; score <span class=\"sy0\">+=<\/span> board<span class=\"br0\">&#91;<\/span>k<span class=\"sy0\">--<\/span><span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">*=<\/span> <span class=\"nu0\">2<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; board<span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if_need_add_num <span class=\"sy0\">=<\/span> <span class=\"nu0\">1<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span> <span class=\"kw1\">else<\/span> <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>board<span class=\"br0\">&#91;<\/span>k<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">==<\/span> <span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; board<span class=\"br0\">&#91;<\/span>k<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">=<\/span> board<span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; board<span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if_need_add_num <span class=\"sy0\">=<\/span> <span class=\"nu0\">1<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span> <span class=\"kw1\">else<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; board<span class=\"br0\">&#91;<\/span><span class=\"sy0\">--<\/span>k<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">=<\/span> board<span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>j <span class=\"sy0\">!=<\/span> k<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; board<span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if_need_add_num <span class=\"sy0\">=<\/span> <span class=\"nu0\">1<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><br \/>\n<br \/>\n<span class=\"coMULTI\">\/* \u6e05\u5c4f *\/<\/span><br \/>\n<span class=\"kw4\">void<\/span> clear_screen<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n<span class=\"co2\">#ifdef _WIN32<\/span><br \/>\n&nbsp; &nbsp; <span class=\"coMULTI\">\/* \u91cd\u8bbe\u5149\u6807\u8f93\u51fa\u4f4d\u7f6e\u6e05\u5c4f\u53ef\u4ee5\u51cf\u5c11\u95ea\u70c1\uff0csystem(&quot;cls&quot;)\u4e3a\u5907\u7528\u6e05\u5c4f\u547d\u4ee4\uff0c\u5747\u4e3aWindows\u5e73\u53f0\u76f8\u5173*\/<\/span><br \/>\n&nbsp; &nbsp; COORD pos <span class=\"sy0\">=<\/span> <span class=\"br0\">&#123;<\/span><span class=\"nu0\">0<\/span><span class=\"sy0\">,<\/span> <span class=\"nu0\">0<\/span><span class=\"br0\">&#125;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; SetConsoleCursorPosition<span class=\"br0\">&#40;<\/span>GetStdHandle<span class=\"br0\">&#40;<\/span>STD_OUTPUT_HANDLE<span class=\"br0\">&#41;<\/span><span class=\"sy0\">,<\/span> pos<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; CONSOLE_CURSOR_INFO info <span class=\"sy0\">=<\/span> <span class=\"br0\">&#123;<\/span><span class=\"nu0\">1<\/span><span class=\"sy0\">,<\/span> <span class=\"nu0\">0<\/span><span class=\"br0\">&#125;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; SetConsoleCursorInfo<span class=\"br0\">&#40;<\/span>GetStdHandle<span class=\"br0\">&#40;<\/span>STD_OUTPUT_HANDLE<span class=\"br0\">&#41;<\/span><span class=\"sy0\">,<\/span> <span class=\"sy0\">&amp;<\/span>info<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n<span class=\"co2\">#else<\/span><br \/>\n&nbsp; &nbsp; <a href=\"http:\/\/www.opengroup.org\/onlinepubs\/009695399\/functions\/printf.html\"><span class=\"kw3\">printf<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;<span class=\"es5\">\\033<\/span>c&quot;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span> &nbsp; &nbsp; <span class=\"coMULTI\">\/* linux\u4e0b\u7684\u6e05\u5c4f\u547d\u4ee4 *\/<\/span><br \/>\n&nbsp; &nbsp; <a href=\"http:\/\/www.opengroup.org\/onlinepubs\/009695399\/functions\/printf.html\"><span class=\"kw3\">printf<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;<span class=\"es5\">\\033<\/span>[?25l&quot;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span> <span class=\"coMULTI\">\/* linux\u4e0b\u7684\u9690\u85cf\u8f93\u5165\u5149\u6807 *\/<\/span><br \/>\n<span class=\"co2\">#endif<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><br \/>\n<br \/>\n<span class=\"coMULTI\">\/* \u5237\u65b0\u754c\u9762 \u51fd\u6570\u5b9a\u4e49 *\/<\/span><br \/>\n<span class=\"kw4\">void<\/span> refresh_show<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; clear_screen<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\n&nbsp; &nbsp; <a href=\"http:\/\/www.opengroup.org\/onlinepubs\/009695399\/functions\/printf.html\"><span class=\"kw3\">printf<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;<span class=\"es1\">\\n<\/span><span class=\"es1\">\\n<\/span><span class=\"es1\">\\n<\/span><span class=\"es1\">\\n<\/span>&quot;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <a href=\"http:\/\/www.opengroup.org\/onlinepubs\/009695399\/functions\/printf.html\"><span class=\"kw3\">printf<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;GAME: 2048 &nbsp; &nbsp; SCORE: %05d &nbsp; &nbsp; BEST: %06d<span class=\"es1\">\\n<\/span>&quot;<\/span><span class=\"sy0\">,<\/span> score<span class=\"sy0\">,<\/span> best<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <a href=\"http:\/\/www.opengroup.org\/onlinepubs\/009695399\/functions\/printf.html\"><span class=\"kw3\">printf<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --------------------------------------------------&quot;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\n&nbsp; &nbsp; <span class=\"coMULTI\">\/* \u7ed8\u5236\u65b9\u683c\u548c\u6570\u5b57 *\/<\/span><br \/>\n&nbsp; &nbsp; <a href=\"http:\/\/www.opengroup.org\/onlinepubs\/009695399\/functions\/printf.html\"><span class=\"kw3\">printf<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;<span class=\"es1\">\\n<\/span><span class=\"es1\">\\n<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \u250c\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2510<span class=\"es1\">\\n<\/span>&quot;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw4\">int<\/span> i<span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">for<\/span> <span class=\"br0\">&#40;<\/span>i <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span> i <span class=\"sy0\">&lt;<\/span> <span class=\"nu0\">4<\/span><span class=\"sy0\">;<\/span> <span class=\"sy0\">++<\/span>i<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <a href=\"http:\/\/www.opengroup.org\/onlinepubs\/009695399\/functions\/printf.html\"><span class=\"kw3\">printf<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \u2502&quot;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw4\">int<\/span> j<span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">for<\/span> <span class=\"br0\">&#40;<\/span>j <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span> j <span class=\"sy0\">&lt;<\/span> <span class=\"nu0\">4<\/span><span class=\"sy0\">;<\/span> <span class=\"sy0\">++<\/span>j<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>board<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">!=<\/span> <span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>board<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">&lt;<\/span> <span class=\"nu0\">10<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href=\"http:\/\/www.opengroup.org\/onlinepubs\/009695399\/functions\/printf.html\"><span class=\"kw3\">printf<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot; &nbsp;%d \u2502&quot;<\/span><span class=\"sy0\">,<\/span> board<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span> <span class=\"kw1\">else<\/span> <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>board<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">&lt;<\/span> <span class=\"nu0\">100<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href=\"http:\/\/www.opengroup.org\/onlinepubs\/009695399\/functions\/printf.html\"><span class=\"kw3\">printf<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot; %d \u2502&quot;<\/span><span class=\"sy0\">,<\/span> board<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span> <span class=\"kw1\">else<\/span> <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>board<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">&lt;<\/span> <span class=\"nu0\">1000<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href=\"http:\/\/www.opengroup.org\/onlinepubs\/009695399\/functions\/printf.html\"><span class=\"kw3\">printf<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot; %d\u2502&quot;<\/span><span class=\"sy0\">,<\/span> board<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span> <span class=\"kw1\">else<\/span> <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>board<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">&lt;<\/span> <span class=\"nu0\">10000<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href=\"http:\/\/www.opengroup.org\/onlinepubs\/009695399\/functions\/printf.html\"><span class=\"kw3\">printf<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;%4d\u2502&quot;<\/span><span class=\"sy0\">,<\/span> board<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span> <span class=\"kw1\">else<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw4\">int<\/span> n <span class=\"sy0\">=<\/span> board<span class=\"br0\">&#91;<\/span>i<span class=\"br0\">&#93;<\/span><span class=\"br0\">&#91;<\/span>j<span class=\"br0\">&#93;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw4\">int<\/span> k<span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">for<\/span> <span class=\"br0\">&#40;<\/span>k <span class=\"sy0\">=<\/span> <span class=\"nu0\">1<\/span><span class=\"sy0\">;<\/span> k <span class=\"sy0\">&lt;<\/span> <span class=\"nu0\">20<\/span><span class=\"sy0\">;<\/span> <span class=\"sy0\">++<\/span>k<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; n <span class=\"sy0\">=<\/span> n <span class=\"sy0\">&gt;&gt;<\/span> <span class=\"nu0\">1<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>n <span class=\"sy0\">==<\/span> <span class=\"nu0\">1<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href=\"http:\/\/www.opengroup.org\/onlinepubs\/009695399\/functions\/printf.html\"><span class=\"kw3\">printf<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;2^%02d\u2502&quot;<\/span><span class=\"sy0\">,<\/span> k<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span> <span class=\"coMULTI\">\/* \u8d85\u8fc7\u56db\u4f4d\u7684\u6570\u5b57\u75282\u7684\u5e42\u5f62\u5f0f\u8868\u793a\uff0c\u59822^13\u5f62\u5f0f *\/<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw2\">break<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span> <span class=\"kw1\">else<\/span> <a href=\"http:\/\/www.opengroup.org\/onlinepubs\/009695399\/functions\/printf.html\"><span class=\"kw3\">printf<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot; &nbsp; &nbsp;\u2502&quot;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>i <span class=\"sy0\">&lt;<\/span> <span class=\"nu0\">3<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href=\"http:\/\/www.opengroup.org\/onlinepubs\/009695399\/functions\/printf.html\"><span class=\"kw3\">printf<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;<span class=\"es1\">\\n<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \u251c\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2524<span class=\"es1\">\\n<\/span>&quot;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span> <span class=\"kw1\">else<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href=\"http:\/\/www.opengroup.org\/onlinepubs\/009695399\/functions\/printf.html\"><span class=\"kw3\">printf<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;<span class=\"es1\">\\n<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \u2514\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2518<span class=\"es1\">\\n<\/span>&quot;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; <a href=\"http:\/\/www.opengroup.org\/onlinepubs\/009695399\/functions\/printf.html\"><span class=\"kw3\">printf<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;<span class=\"es1\">\\n<\/span>&quot;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <a href=\"http:\/\/www.opengroup.org\/onlinepubs\/009695399\/functions\/printf.html\"><span class=\"kw3\">printf<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --------------------------------------------------<span class=\"es1\">\\n<\/span>&quot;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <a href=\"http:\/\/www.opengroup.org\/onlinepubs\/009695399\/functions\/printf.html\"><span class=\"kw3\">printf<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[W]:UP [S]:DOWN [A]:LEFT [D]:RIGHT [Q]:EXIT&quot;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\n&nbsp; &nbsp; <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>get_null_count<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span> <span class=\"sy0\">==<\/span> <span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; check_game_over<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"coMULTI\">\/* \u5224\u65ad\u662f\u5426\u8f93\u6389\u6e38\u620f *\/<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>if_game_over<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href=\"http:\/\/www.opengroup.org\/onlinepubs\/009695399\/functions\/printf.html\"><span class=\"kw3\">printf<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;<span class=\"es1\">\\r<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;GAME OVER! TRY THE GAME AGAIN? [Y\/N]: &nbsp; &nbsp; <span class=\"es1\">\\b<\/span><span class=\"es1\">\\b<\/span><span class=\"es1\">\\b<\/span><span class=\"es1\">\\b<\/span>&quot;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n<span class=\"co2\">#ifdef _WIN32<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; CONSOLE_CURSOR_INFO info <span class=\"sy0\">=<\/span> <span class=\"br0\">&#123;<\/span><span class=\"nu0\">1<\/span><span class=\"sy0\">,<\/span> <span class=\"nu0\">1<\/span><span class=\"br0\">&#125;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SetConsoleCursorInfo<span class=\"br0\">&#40;<\/span>GetStdHandle<span class=\"br0\">&#40;<\/span>STD_OUTPUT_HANDLE<span class=\"br0\">&#41;<\/span><span class=\"sy0\">,<\/span> <span class=\"sy0\">&amp;<\/span>info<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n<span class=\"co2\">#else<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href=\"http:\/\/www.opengroup.org\/onlinepubs\/009695399\/functions\/printf.html\"><span class=\"kw3\">printf<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;<span class=\"es5\">\\033<\/span>[?25h&quot;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span> <span class=\"coMULTI\">\/* linux\u4e0b\u7684\u663e\u793a\u8f93\u5165\u5149\u6807 *\/<\/span><br \/>\n<span class=\"co2\">#endif<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n<br \/>\n&nbsp; &nbsp; <span class=\"coMULTI\">\/* \u5224\u65ad\u662f\u5426\u51c6\u5907\u9000\u51fa\u6e38\u620f *\/<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>if_prepare_exit<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <a href=\"http:\/\/www.opengroup.org\/onlinepubs\/009695399\/functions\/printf.html\"><span class=\"kw3\">printf<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;<span class=\"es1\">\\r<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; DO YOU REALLY WANT TO QUIT THE GAME? [Y\/N]: &nbsp; <span class=\"es1\">\\b<\/span><span class=\"es1\">\\b<\/span>&quot;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n<span class=\"co2\">#ifdef _WIN32<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; CONSOLE_CURSOR_INFO info <span class=\"sy0\">=<\/span> <span class=\"br0\">&#123;<\/span><span class=\"nu0\">1<\/span><span class=\"sy0\">,<\/span> <span class=\"nu0\">1<\/span><span class=\"br0\">&#125;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SetConsoleCursorInfo<span class=\"br0\">&#40;<\/span>GetStdHandle<span class=\"br0\">&#40;<\/span>STD_OUTPUT_HANDLE<span class=\"br0\">&#41;<\/span><span class=\"sy0\">,<\/span> <span class=\"sy0\">&amp;<\/span>info<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n<span class=\"co2\">#else<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <a href=\"http:\/\/www.opengroup.org\/onlinepubs\/009695399\/functions\/printf.html\"><span class=\"kw3\">printf<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;<span class=\"es5\">\\033<\/span>[?25h&quot;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span> <span class=\"coMULTI\">\/* linux\u4e0b\u7684\u663e\u793a\u8f93\u5165\u5149\u6807 *\/<\/span><br \/>\n<span class=\"co2\">#endif<\/span><br \/>\n&nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n<br \/>\n&nbsp; &nbsp; <a href=\"http:\/\/www.opengroup.org\/onlinepubs\/009695399\/functions\/fflush.html\"><span class=\"kw3\">fflush<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span> <span class=\"coMULTI\">\/* \u5237\u65b0\u8f93\u51fa\u7f13\u51b2\u533a *\/<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><br \/>\n<br \/>\n<span class=\"coMULTI\">\/* \u521d\u59cb\u5316\u6e38\u620f *\/<\/span><br \/>\n<span class=\"kw4\">void<\/span> init_game<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n<span class=\"co2\">#ifdef _WIN32<\/span><br \/>\n&nbsp; &nbsp; <a href=\"http:\/\/www.opengroup.org\/onlinepubs\/009695399\/functions\/system.html\"><span class=\"kw3\">system<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;cls&quot;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\n&nbsp; &nbsp; <span class=\"coMULTI\">\/* \u83b7\u53d6\u6e38\u620f\u5b58\u6863\u8def\u5f84\uff0cWindows\u4e0b\u653e\u5728C:\\Users\\UserName\\AppData\\Local\\2048\u76ee\u5f55\u4e0b *\/<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw4\">char<\/span> m_lpszDefaultDir<span class=\"br0\">&#91;<\/span>MAX_PATH<span class=\"br0\">&#93;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw4\">char<\/span> szDocument<span class=\"br0\">&#91;<\/span>MAX_PATH<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">=<\/span> <span class=\"br0\">&#123;<\/span><span class=\"nu0\">0<\/span><span class=\"br0\">&#125;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <a href=\"http:\/\/www.opengroup.org\/onlinepubs\/009695399\/functions\/memset.html\"><span class=\"kw3\">memset<\/span><\/a><span class=\"br0\">&#40;<\/span>m_lpszDefaultDir<span class=\"sy0\">,<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">,<\/span> _MAX_PATH<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; LPITEMIDLIST pidl <span class=\"sy0\">=<\/span> NULL<span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; SHGetSpecialFolderLocation<span class=\"br0\">&#40;<\/span>NULL<span class=\"sy0\">,<\/span> CSIDL_LOCAL_APPDATA<span class=\"sy0\">,<\/span> <span class=\"sy0\">&amp;<\/span>pidl<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>pidl <span class=\"sy0\">&amp;&amp;<\/span> SHGetPathFromIDList<span class=\"br0\">&#40;<\/span>pidl<span class=\"sy0\">,<\/span> szDocument<span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; GetShortPathName<span class=\"br0\">&#40;<\/span>szDocument<span class=\"sy0\">,<\/span> m_lpszDefaultDir<span class=\"sy0\">,<\/span> _MAX_PATH<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; <a href=\"http:\/\/www.opengroup.org\/onlinepubs\/009695399\/functions\/sprintf.html\"><span class=\"kw3\">sprintf<\/span><\/a><span class=\"br0\">&#40;<\/span>config_path<span class=\"sy0\">,<\/span> <span class=\"st0\">&quot;%s<span class=\"es1\">\\\\<\/span>2048&quot;<\/span><span class=\"sy0\">,<\/span> m_lpszDefaultDir<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>_access<span class=\"br0\">&#40;<\/span>config_path<span class=\"sy0\">,<\/span> <span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/span> <span class=\"sy0\">==<\/span> <span class=\"sy0\">-<\/span><span class=\"nu0\">1<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; _mkdir<span class=\"br0\">&#40;<\/span>config_path<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; <a href=\"http:\/\/www.opengroup.org\/onlinepubs\/009695399\/functions\/sprintf.html\"><span class=\"kw3\">sprintf<\/span><\/a><span class=\"br0\">&#40;<\/span>config_path<span class=\"sy0\">,<\/span> <span class=\"st0\">&quot;%s<span class=\"es1\">\\\\<\/span>2048<span class=\"es1\">\\\\<\/span>2048.dat&quot;<\/span><span class=\"sy0\">,<\/span> m_lpszDefaultDir<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n<span class=\"co2\">#else<\/span><br \/>\n&nbsp; &nbsp; <span class=\"coMULTI\">\/* \u83b7\u53d6\u6e38\u620f\u5b58\u6863\u8def\u5f84\uff0cLinux\u4e0b\u653e\u5728\u5f53\u524d\u7528\u6237\u4e3b\u76ee\u5f55\u4e0b *\/<\/span><br \/>\n&nbsp; &nbsp; <a href=\"http:\/\/www.opengroup.org\/onlinepubs\/009695399\/functions\/sprintf.html\"><span class=\"kw3\">sprintf<\/span><\/a><span class=\"br0\">&#40;<\/span>config_path<span class=\"sy0\">,<\/span> <span class=\"st0\">&quot;%s\/.2048&quot;<\/span><span class=\"sy0\">,<\/span> <a href=\"http:\/\/www.opengroup.org\/onlinepubs\/009695399\/functions\/getenv.html\"><span class=\"kw3\">getenv<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;HOME&quot;<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\n&nbsp; &nbsp; tcgetattr<span class=\"br0\">&#40;<\/span><span class=\"nu0\">0<\/span><span class=\"sy0\">,<\/span> <span class=\"sy0\">&amp;<\/span>old_config<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"coMULTI\">\/* \u83b7\u53d6\u7ec8\u7aef\u5c5e\u6027 *\/<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw4\">struct<\/span> termios new_config <span class=\"sy0\">=<\/span> old_config<span class=\"sy0\">;<\/span> <span class=\"coMULTI\">\/* \u521b\u5efa\u65b0\u7684\u7ec8\u7aef\u5c5e\u6027 *\/<\/span><br \/>\n&nbsp; &nbsp; new_config.<span class=\"me1\">c_lflag<\/span> <span class=\"sy0\">&amp;=<\/span> ~ICANON<span class=\"sy0\">;<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"coMULTI\">\/* \u8bbe\u7f6e\u975e\u6b63\u89c4\u6a21\u5f0f *\/<\/span><br \/>\n&nbsp; &nbsp; new_config.<span class=\"me1\">c_lflag<\/span> <span class=\"sy0\">&amp;=<\/span> ~ECHO<span class=\"sy0\">;<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"coMULTI\">\/* \u5173\u95ed\u8f93\u5165\u56de\u663e *\/<\/span><br \/>\n&nbsp; &nbsp; new_config.<span class=\"me1\">c_cc<\/span><span class=\"br0\">&#91;<\/span>VMIN<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">=<\/span> <span class=\"nu0\">1<\/span><span class=\"sy0\">;<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"coMULTI\">\/* \u8bbe\u7f6e\u975e\u6b63\u89c4\u6a21\u5f0f\u4e0b\u7684\u6700\u5c0f\u5b57\u7b26\u6570 *\/<\/span><br \/>\n&nbsp; &nbsp; new_config.<span class=\"me1\">c_cc<\/span><span class=\"br0\">&#91;<\/span>VTIME<span class=\"br0\">&#93;<\/span> <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"coMULTI\">\/* \u8bbe\u7f6e\u975e\u6b63\u89c4\u6a21\u5f0f\u4e0b\u7684\u8bfb\u5ef6\u65f6 *\/<\/span><br \/>\n&nbsp; &nbsp; tcsetattr<span class=\"br0\">&#40;<\/span><span class=\"nu0\">0<\/span><span class=\"sy0\">,<\/span> TCSANOW<span class=\"sy0\">,<\/span> <span class=\"sy0\">&amp;<\/span>new_config<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span> &nbsp; &nbsp; <span class=\"coMULTI\">\/* \u8bbe\u7f6e\u65b0\u7684\u7ec8\u7aef\u5c5e\u6027 *\/<\/span><br \/>\n<br \/>\n&nbsp; &nbsp; <a href=\"http:\/\/www.opengroup.org\/onlinepubs\/009695399\/functions\/printf.html\"><span class=\"kw3\">printf<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;<span class=\"es5\">\\033<\/span>[?25l&quot;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\n&nbsp; &nbsp; signal<span class=\"br0\">&#40;<\/span>SIGINT<span class=\"sy0\">,<\/span> release_game<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n<span class=\"co2\">#endif<\/span><br \/>\n<br \/>\n&nbsp; &nbsp; <span class=\"coMULTI\">\/* \u8bfb\u53d6\u6e38\u620f\u6700\u9ad8\u5206\u6570 *\/<\/span><br \/>\n&nbsp; &nbsp; FILE <span class=\"sy0\">*<\/span>fp <span class=\"sy0\">=<\/span> <a href=\"http:\/\/www.opengroup.org\/onlinepubs\/009695399\/functions\/fopen.html\"><span class=\"kw3\">fopen<\/span><\/a><span class=\"br0\">&#40;<\/span>config_path<span class=\"sy0\">,<\/span> <span class=\"st0\">&quot;r&quot;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>fp<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <a href=\"http:\/\/www.opengroup.org\/onlinepubs\/009695399\/functions\/fread.html\"><span class=\"kw3\">fread<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"sy0\">&amp;<\/span>best<span class=\"sy0\">,<\/span> <span class=\"kw4\">sizeof<\/span><span class=\"br0\">&#40;<\/span>best<span class=\"br0\">&#41;<\/span><span class=\"sy0\">,<\/span> <span class=\"nu0\">1<\/span><span class=\"sy0\">,<\/span> fp<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <a href=\"http:\/\/www.opengroup.org\/onlinepubs\/009695399\/functions\/fclose.html\"><span class=\"kw3\">fclose<\/span><\/a><span class=\"br0\">&#40;<\/span>fp<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"br0\">&#125;<\/span> <span class=\"kw1\">else<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; best <span class=\"sy0\">=<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; fp <span class=\"sy0\">=<\/span> <a href=\"http:\/\/www.opengroup.org\/onlinepubs\/009695399\/functions\/fopen.html\"><span class=\"kw3\">fopen<\/span><\/a><span class=\"br0\">&#40;<\/span>config_path<span class=\"sy0\">,<\/span> <span class=\"st0\">&quot;w&quot;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>fp<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href=\"http:\/\/www.opengroup.org\/onlinepubs\/009695399\/functions\/fwrite.html\"><span class=\"kw3\">fwrite<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"sy0\">&amp;<\/span>best<span class=\"sy0\">,<\/span> <span class=\"kw4\">sizeof<\/span><span class=\"br0\">&#40;<\/span>best<span class=\"br0\">&#41;<\/span><span class=\"sy0\">,<\/span> <span class=\"nu0\">1<\/span><span class=\"sy0\">,<\/span> fp<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href=\"http:\/\/www.opengroup.org\/onlinepubs\/009695399\/functions\/fclose.html\"><span class=\"kw3\">fclose<\/span><\/a><span class=\"br0\">&#40;<\/span>fp<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n<br \/>\n&nbsp; &nbsp; reset_game<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><br \/>\n<br \/>\n<span class=\"coMULTI\">\/* \u91ca\u653e\u6e38\u620f *\/<\/span><br \/>\n<span class=\"kw4\">void<\/span> release_game<span class=\"br0\">&#40;<\/span><span class=\"kw4\">int<\/span> signal<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n<span class=\"co2\">#ifdef _WIN32<\/span><br \/>\n&nbsp; &nbsp; <a href=\"http:\/\/www.opengroup.org\/onlinepubs\/009695399\/functions\/system.html\"><span class=\"kw3\">system<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;cls&quot;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; CONSOLE_CURSOR_INFO info <span class=\"sy0\">=<\/span> <span class=\"br0\">&#123;<\/span><span class=\"nu0\">1<\/span><span class=\"sy0\">,<\/span> <span class=\"nu0\">1<\/span><span class=\"br0\">&#125;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; SetConsoleCursorInfo<span class=\"br0\">&#40;<\/span>GetStdHandle<span class=\"br0\">&#40;<\/span>STD_OUTPUT_HANDLE<span class=\"br0\">&#41;<\/span><span class=\"sy0\">,<\/span> <span class=\"sy0\">&amp;<\/span>info<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n<span class=\"co2\">#else<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span>signal <span class=\"sy0\">==<\/span> SIGINT<span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <a href=\"http:\/\/www.opengroup.org\/onlinepubs\/009695399\/functions\/printf.html\"><span class=\"kw3\">printf<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;<span class=\"es1\">\\n<\/span>&quot;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n&nbsp; &nbsp; tcsetattr<span class=\"br0\">&#40;<\/span><span class=\"nu0\">0<\/span><span class=\"sy0\">,<\/span> TCSANOW<span class=\"sy0\">,<\/span> <span class=\"sy0\">&amp;<\/span>old_config<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span> <span class=\"coMULTI\">\/* \u8fd8\u539f\u56de\u65e7\u7684\u7ec8\u7aef\u5c5e\u6027 *\/<\/span><br \/>\n&nbsp; &nbsp; <a href=\"http:\/\/www.opengroup.org\/onlinepubs\/009695399\/functions\/printf.html\"><span class=\"kw3\">printf<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;<span class=\"es5\">\\033<\/span>[?25h&quot;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n<span class=\"co2\">#endif<\/span><br \/>\n&nbsp; &nbsp; <a href=\"http:\/\/www.opengroup.org\/onlinepubs\/009695399\/functions\/exit.html\"><span class=\"kw3\">exit<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n","protected":false},"excerpt":{"rendered":"<p>\u7ecf\u51782048\u6e38\u620f\u7684C\u8bed\u8a00\u5b9e\u73b0\u3002 123456789101112131415161718192021222324 [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":167,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[2,7,32,15,10],"tags":[40],"_links":{"self":[{"href":"https:\/\/blog.tcreopargh.xyz\/index.php?rest_route=\/wp\/v2\/posts\/44"}],"collection":[{"href":"https:\/\/blog.tcreopargh.xyz\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.tcreopargh.xyz\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.tcreopargh.xyz\/index.php?rest_route=\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.tcreopargh.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=44"}],"version-history":[{"count":3,"href":"https:\/\/blog.tcreopargh.xyz\/index.php?rest_route=\/wp\/v2\/posts\/44\/revisions"}],"predecessor-version":[{"id":168,"href":"https:\/\/blog.tcreopargh.xyz\/index.php?rest_route=\/wp\/v2\/posts\/44\/revisions\/168"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.tcreopargh.xyz\/index.php?rest_route=\/wp\/v2\/media\/167"}],"wp:attachment":[{"href":"https:\/\/blog.tcreopargh.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=44"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.tcreopargh.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=44"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.tcreopargh.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=44"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}