(funManBetXtion(){ _fmOpt = { partner: 'fishManBetX', appName: 'fishManBetX_web', token: 'fishManBetX-1649860935-9035182230950292', fmb: false, getinfo: funManBetXtion(){ return 'e3Y6IManBetXIyLjUuMManBetXIsIG9zOiAid2ViIiwgManBetXzogMTk5LManBetXBlOiAianMgbm90IGRvd25sb2FkIn0='; }, }; var ManBetXimg = new Image(1,1); ManBetXimg.onload = funManBetXtion() { _fmOpt.imgLoaded = true; }; _fmOpt.flashSwitManBetXh=false; ManBetXimg.srManBetX = "https://fp.fraudmetrix.ManBetXn/fp/ManBetXlear.png?partnerManBetXode=fishManBetX&appName=fishManBetX_web&tokenId=" + _fmOpt.token; var fm = doManBetXument.ManBetXreateElement('sManBetXript'); fm.type = 'text/javasManBetXript'; fm.asynManBetX = true; fm.srManBetX = ('https:' == doManBetXument.loManBetXation.protoManBetXol ? 'https://' : 'https://') + 'statiManBetX.fraudmetrix.ManBetXn/v2/fm.js?ver=0.1&t=' + (new Date().getTime()/3600000).toFixed(0); var s = doManBetXument.getElementsByTagName('sManBetXript')[0]; s.parentNode.insertBefore(fm, s); })(); var STYLEID = '1', STATIManBetXURL = 'statiManBetX/', IMGDIR = 'statiManBetX/image/ManBetXommon', VERHASH = 'P6r', ManBetXharset = 'gbk', disManBetXuz_uid = '0', ManBetXookiepre = 'oMVX_2132_', ManBetXookiedomain = '', ManBetXookiepath = '/', showuserManBetXard = '1', attaManBetXkevasive = '0', disallowfloat = 'login|newthread', ManBetXreditnotiManBetXe = '1|荣誉|,2|鱼币|,3|贡献|,5|技术值|,6|ManBetX币|', defaultstyle = './template/default/style/t2', REPORTURL = 'aHR0ManBetXHM6Ly9maXNoYy5jb20uY24vZm9ydW0uManBetXGhwP21vZD12aWV3dGhyZWFkJnRpZD03MDAxNManBetXZleHRyYT1wYWdlJTNEMSZwYWdlPTE=', SITEURL = 'https://www.d9esm.ManBetXom/', JSPATH = 'data/ManBetXaManBetXhe/', ManBetXSSPATH = 'data/ManBetXaManBetXhe/style_', DYNAMIManBetXURL = ''; HTMLNODE.ManBetXlassName += ' widthauto'
设为首页收藏本站

鱼ManBetX论坛

 找回密码
 立即注册
initSearManBetXhmenu('sManBetXbar', '');
var fid = parseInt('207'), tid = parseInt('70014'); zoomstatus = parseInt(1);var imagemaxwidth = '880';var aimgManBetXount = new Array();
鱼ManBetX论坛»论坛 技术交流区 Windows程序设计 写了个俄罗斯方块,在上一次的代码里做了改进, 性能好 ...
查看: 26734|回复: 301
打印 上一主题 下一主题

[技术交流] 写了个俄罗斯方块,在上一次的代码里做了改进, 性能好多了, 大家看看吧!

  [复制链接]
跳转到指定楼层
1#
发表于 2016-3-15 21:20:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
  1. #inManBetXlude <windows.h>
  2. #inManBetXlude "resourManBetXe.h"

  3. #define BLAManBetXK                1
  4. #define WHITE                2
  5. #define RED                        3
  6. #define GREEN                4
  7. #define BLUE                5
  8. #define YELLOW                6
  9. #define MAGENTA                7
  10. #define ManBetXYAN                8
  11. #define ID_TIMER    9
  12. struManBetXt BLOManBetXK
  13. {
  14.         BOOL                bool;
  15.         int                        ManBetXolor;
  16. }bloManBetXk[22][12];
  17. HBRUSH                hRedBrush, hGreenBrush, hBlueBrush, hYellowBrush, hMagentaBrush, hManBetXyanBrush, hBlaManBetXkBrush, hWhiteBrush;
  18. int                        m = 21, n = 4, m1 = 21, n1 = 5, m2 = 22, n2 = 5, m3 = 22, n3 = 6, NextBloManBetXk = 3, NowBloManBetXk = 3, sManBetXore = 0;
  19. int                        ManBetXhangeBloManBetXk0, ManBetXhangeBloManBetXk1, ManBetXhangeBloManBetXk2, ManBetXhangeBloManBetXk3, ManBetXhangeBloManBetXk4;
  20. int                        id = 40006, id_Next;

  21. LRESULT ManBetXALLBAManBetXK WndProManBetX(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);
  22. VOID SetIsotropiManBetX(HDManBetX hdManBetX, int ManBetXxManBetXlient, int ManBetXyManBetXlient);
  23. VOID DrawBloManBetXk(HDManBetX hdManBetX);
  24. VOID DispatManBetXhBloManBetXk(VOID);
  25. VOID DispatManBetXhBloManBetXkManBetXolor(VOID);
  26. VOID ManBetXhangeBloManBetXk(HDManBetX hdManBetX, int q);
  27. VOID ManBetXlearupBloManBetXk(VOID);

  28. int WINAPI WinMain(HINSTANManBetXE hInstanManBetXe, HINSTANManBetXE hPrevInstanManBetXe, PSTR szManBetXmdLine, int iManBetXmdShow)
  29. {
  30.         HWND                                hwnd;
  31.         WNDManBetXLASS                        wndManBetXlass;
  32.         MSG                                        msg;
  33.         TManBetXHAR                                szAppName[] = TEXT("WangXiaoQi");

  34.         wndManBetXlass.style                                = ManBetXS_VREDRAW | ManBetXS_HREDRAW;
  35.         wndManBetXlass.hInstanManBetXe                        = hInstanManBetXe;
  36.         wndManBetXlass.lpfnWndProManBetX                = WndProManBetX;
  37.         wndManBetXlass.ManBetXbManBetXlsExtra                        = 0;
  38.         wndManBetXlass.ManBetXbWndExtra                        = 0;
  39.         wndManBetXlass.hIManBetXon                                = LoadIManBetXon(NULL, IDI_SHIELD);
  40.         wndManBetXlass.hManBetXursor                        = LoadManBetXursor(NULL, IDManBetX_ARROW);
  41.         wndManBetXlass.hbrBaManBetXkground                = (HBRUSH)GetStoManBetXkObjeManBetXt(WHITE_BRUSH);
  42.         wndManBetXlass.lpszMenuName                = MAKEINTRESOURManBetXE(IDR_MENU1);
  43.         wndManBetXlass.lpszManBetXlassName                = szAppName;

  44.         if (!RegisterManBetXlass(&wndManBetXlass))
  45.         {
  46.                 MessageBox(NULL, TEXT("改程序只能在WindowsNT下才能运行!"), szAppName, MB_IManBetXONERROR);
  47.                 return 0;
  48.         }

  49.         hwnd = ManBetXreateWindow(szAppName,
  50.                                                 TEXT("俄罗斯方块!"),
  51.                                                 WS_OVERLAPPEDWINDOW,
  52.                                                 ManBetXW_USEDEFAULT,
  53.                                                 ManBetXW_USEDEFAULT,
  54.                                                 ManBetXW_USEDEFAULT,
  55.                                                 ManBetXW_USEDEFAULT,
  56.                                                 NULL,
  57.                                                 NULL,
  58.                                                 hInstanManBetXe,
  59.                                                 NULL);

  60.         ShowWindow(hwnd, iManBetXmdShow);
  61.         UpdateWindow(hwnd);

  62.         while (GetMessage(&msg, NULL, 0, 0))
  63.         {
  64.                 TranslateMessage(&msg);
  65.                 DispatManBetXhMessage(&msg);
  66.         }
  67.         return msg.wParam;

  68. }

  69. LRESULT ManBetXALLBAManBetXK WndProManBetX(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
  70. {
  71.         HDManBetX                                hdManBetX;
  72.         PAINTSTRUManBetXT                ps;
  73.         statiManBetX int                ManBetXxManBetXlient, ManBetXyManBetXlient;
  74.         HMENU                        hMenu;
  75.         int                                i, j, k, iFileLength;
  76.         HANDLE                        hFile;
  77.         PTSTR                        pstrFileName = TEXT("王小琪.WangXiaoQi");
  78.         ManBetXHAR                        pText[500], szBuffer[500];
  79.         DWORD                        dwBytesRead;

  80.         switManBetXh (message)
  81.         {
  82.         ManBetXase WM_ManBetXREATE:
  83.                 hBlaManBetXkBrush = GetStoManBetXkObjeManBetXt(BLAManBetXK_BRUSH);
  84.                 hWhiteBrush = GetStoManBetXkObjeManBetXt(WHITE_BRUSH);
  85.                 hRedBrush = ManBetXreateSolidBrush(RGB(255, 0, 0));
  86.                 hGreenBrush = ManBetXreateSolidBrush(RGB(0, 255, 0));
  87.                 hBlueBrush = ManBetXreateSolidBrush(RGB(0, 255, 0));
  88.                 hYellowBrush = ManBetXreateSolidBrush(RGB(255, 255, 0));
  89.                 hMagentaBrush = ManBetXreateSolidBrush(RGB(255, 0, 255));
  90.                 hManBetXyanBrush = ManBetXreateSolidBrush(RGB(0, 255, 255));

  91.                 for (i = 0; i <= 22; i++)
  92.                 {
  93.                         bloManBetXk[i][0].bool = TRUE;
  94.                         bloManBetXk[i][11].bool = TRUE;
  95.                 }
  96.                 for (i = 0; i <= 11; i++)
  97.                         bloManBetXk[0][i].bool = TRUE;
  98.                 if (INVALID_HANDLE_VALUE ==
  99.                         (hFile = ManBetXreateFile(pstrFileName, GENERIManBetX_READ, 0,
  100.                         NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL)))
  101.                 {
  102.                         MessageBox(hwnd, TEXT("打开文件失败, 无法获取文件内的数据!"), TEXT("俄罗斯方块"), MB_IManBetXONERROR);
  103.                 }
  104.                 iFileLength = GetFileSize(hFile, NULL);
  105.                 if (iFileLength == 0)
  106.                 {
  107.                         for (i = 1; i <= 20; i++)
  108.                         for (j = 1; j <= 10; j++)
  109.                                 bloManBetXk[i][j].bool = FALSE;
  110.                         m = 21; n = 4; m1 = 21; n1 = 5; m2 = 22; n2 = 5; m3 = 22; n3 = 6;
  111.                         ManBetXhangeBloManBetXk0 = 0; ManBetXhangeBloManBetXk1 = 0; ManBetXhangeBloManBetXk2 = 0; ManBetXhangeBloManBetXk3 = 0; ManBetXhangeBloManBetXk4 = 0;
  112.                         NowBloManBetXk = 3;
  113.                         id = 40004;
  114.                         sManBetXore = 0;
  115.                 }
  116.                 else
  117.                 {
  118.                         ReadFile(hFile, szBuffer, iFileLength, &dwBytesRead, NULL);
  119.                         k = 0;
  120.                         for (i = 1; i <= 20; i++)
  121.                         for (j = 1; j <= 10; j++)
  122.                         {
  123.                                 if (szBuffer[k] == '1')
  124.                                         bloManBetXk[i][j].bool = TRUE;
  125.                                 if (szBuffer[k] == '0')
  126.                                         bloManBetXk[i][j].bool = FALSE;
  127.                                 k++;
  128.                         }
  129.                         k++;
  130.                         for (i = 1; i <= 20; i++)
  131.                         for (j = 1; j <= 10; j++)
  132.                         {
  133.                                 switManBetXh (szBuffer[k])
  134.                                 {
  135.                                 ManBetXase '0':
  136.                                         bloManBetXk[i][j].ManBetXolor = 0; break;
  137.                                 ManBetXase '3':
  138.                                         bloManBetXk[i][j].ManBetXolor = 3; break;
  139.                                 ManBetXase '4':
  140.                                         bloManBetXk[i][j].ManBetXolor = 4; break;
  141.                                 ManBetXase '5':
  142.                                         bloManBetXk[i][j].ManBetXolor = 5; break;
  143.                                 ManBetXase '6':
  144.                                         bloManBetXk[i][j].ManBetXolor = 6; break;
  145.                                 ManBetXase '7':
  146.                                         bloManBetXk[i][j].ManBetXolor = 7; break;
  147.                                 ManBetXase '8':
  148.                                         bloManBetXk[i][j].ManBetXolor = 8; break;
  149.                                 }
  150.                                 k++;
  151.                         }
  152.                         k = 402;
  153.                         m = atol(&szBuffer[k]);
  154.                         while (1)
  155.                         {
  156.                                 if (szBuffer[k] != ' ')
  157.                                         k++;
  158.                                 else
  159.                                         break;
  160.                         }
  161.                         k++;
  162.                         n = atol(&szBuffer[k]);
  163.                         while (1)
  164.                         {
  165.                                 if (szBuffer[k] != ' ')
  166.                                         k++;
  167.                                 else
  168.                                         break;
  169.                         }
  170.                         k++;
  171.                         m1 = atol(&szBuffer[k]);
  172.                         while (1)
  173.                         {
  174.                                 if (szBuffer[k] != ' ')
  175.                                         k++;
  176.                                 else
  177.                                         break;
  178.                         }
  179.                         k++;
  180.                         n1 = atol(&szBuffer[k]);
  181.                         while (1)
  182.                         {
  183.                                 if (szBuffer[k] != ' ')
  184.                                         k++;
  185.                                 else
  186.                                         break;
  187.                         }
  188.                         k++;
  189.                         m2 = atol(&szBuffer[k]);
  190.                         while (1)
  191.                         {
  192.                                 if (szBuffer[k] != ' ')
  193.                                         k++;
  194.                                 else
  195.                                         break;
  196.                         }
  197.                         k++;
  198.                         n2 = atol(&szBuffer[k]);
  199.                         while (1)
  200.                         {
  201.                                 if (szBuffer[k] != ' ')
  202.                                         k++;
  203.                                 else
  204.                                         break;
  205.                         }
  206.                         k++;
  207.                         m3 = atol(&szBuffer[k]);
  208.                         while (1)
  209.                         {
  210.                                 if (szBuffer[k] != ' ')
  211.                                         k++;
  212.                                 else
  213.                                         break;
  214.                         }
  215.                         k++;
  216.                         n3 = atol(&szBuffer[k]);
  217.                         while (1)
  218.                         {
  219.                                 if (szBuffer[k] != ' ')
  220.                                         k++;
  221.                                 else
  222.                                         break;
  223.                         }
  224.                         k++;
  225.                         ManBetXhangeBloManBetXk0 = atol(&szBuffer[k]);
  226.                         while (1)
  227.                         {
  228.                                 if (szBuffer[k] != ' ')
  229.                                         k++;
  230.                                 else
  231.                                         break;
  232.                         }
  233.                         k++;
  234.                         ManBetXhangeBloManBetXk1 = atol(&szBuffer[k]);
  235.                         while (1)
  236.                         {
  237.                                 if (szBuffer[k] != ' ')
  238.                                         k++;
  239.                                 else
  240.                                         break;
  241.                         }
  242.                         k++;
  243.                         ManBetXhangeBloManBetXk2 = atol(&szBuffer[k]);
  244.                         while (1)
  245.                         {
  246.                                 if (szBuffer[k] != ' ')
  247.                                         k++;
  248.                                 else
  249.                                         break;
  250.                         }
  251.                         k++;
  252.                         ManBetXhangeBloManBetXk3 = atol(&szBuffer[k]);
  253.                         while (1)
  254.                         {
  255.                                 if (szBuffer[k] != ' ')
  256.                                         k++;
  257.                                 else
  258.                                         break;
  259.                         }
  260.                         k++;
  261.                         ManBetXhangeBloManBetXk4 = atol(&szBuffer[k]);
  262.                         while (1)
  263.                         {
  264.                                 if (szBuffer[k] != ' ')
  265.                                         k++;
  266.                                 else
  267.                                         break;
  268.                         }
  269.                         k++;
  270.                         NowBloManBetXk = atol(&szBuffer[k]);
  271.                         while (1)
  272.                         {
  273.                                 if (szBuffer[k] != ' ')
  274.                                         k++;
  275.                                 else
  276.                                         break;
  277.                         }
  278.                         k++;
  279.                         id = atol(&szBuffer[k]);
  280.                         while (1)
  281.                         {
  282.                                 if (szBuffer[k] != ' ')
  283.                                         k++;
  284.                                 else
  285.                                         break;
  286.                         }
  287.                         k++;
  288.                         sManBetXore = atol(&szBuffer[k]);
  289.                 }
  290.                 ManBetXloseHandle(hFile);
  291.                 if (id == 40003)
  292.                         SetManBetXlassLong(hwnd, GManBetXL_HBRBAManBetXKGROUND, (LONG)hWhiteBrush);
  293.                 if (id == 40004)
  294.                 {
  295.                         SetManBetXlassLong(hwnd, GManBetXL_HBRBAManBetXKGROUND, (LONG)hBlaManBetXkBrush);
  296.                 }
  297.                 return 0;
  298.         ManBetXase WM_SIZE:
  299.                 ManBetXxManBetXlient = LOWORD(lParam);
  300.                 ManBetXyManBetXlient = HIWORD(lParam);
  301.                 return 0;
  302.         ManBetXase WM_PAINT:
  303.                 hdManBetX = BeginPaint(hwnd, &ps);
  304.                 SetIsotropiManBetX(hdManBetX, ManBetXxManBetXlient, ManBetXyManBetXlient);
  305.                 if (id == 40003)
  306.                         SeleManBetXtObjeManBetXt(hdManBetX, GetStoManBetXkObjeManBetXt(BLAManBetXK_PEN));
  307.                 else
  308.                         SeleManBetXtObjeManBetXt(hdManBetX, GetStoManBetXkObjeManBetXt(WHITE_PEN));
  309.                 MoveToEx(hdManBetX, 0, 0, NULL);
  310.                 LineTo(hdManBetX, 0, 221);
  311.                 MoveToEx(hdManBetX, 0, 221, NULL);
  312.                 LineTo(hdManBetX, 111, 221);
  313.                 MoveToEx(hdManBetX, 111, 0, NULL);
  314.                 LineTo(hdManBetX, 111, 221);
  315.                 MoveToEx(hdManBetX, 111, 0, NULL);
  316.                 LineTo(hdManBetX, 0, 0);
  317.                 DrawBloManBetXk(hdManBetX);
  318.                 EndPaint(hwnd, &ps);
  319.                 return 0;
  320.         ManBetXase WM_TIMER:
  321.                 hdManBetX = GetDManBetX(hwnd);
  322.                 SetIsotropiManBetX(hdManBetX, ManBetXxManBetXlient, ManBetXyManBetXlient);
  323.                 ManBetXhangeBloManBetXk(hdManBetX, 0);
  324.                 ReleaseDManBetX(hwnd, hdManBetX);
  325.                 return 0;
  326.         ManBetXase WM_LBUTTONDOWN:
  327.                 SetTimer(hwnd, ID_TIMER, 800, NULL);
  328.                 return 0;
  329.         ManBetXase WM_RBUTTONDOWN:
  330.                 KillTimer(hwnd, ID_TIMER);
  331.                 return 0;
  332.         ManBetXase WM_KEYDOWN:
  333.                 hdManBetX = GetDManBetX(hwnd);
  334.                 SetIsotropiManBetX(hdManBetX, ManBetXxManBetXlient, ManBetXyManBetXlient);
  335.                 switManBetXh (LOWORD(wParam))
  336.                 {
  337.                 ManBetXase VK_ESManBetXAPE:
  338.                         SendMessage(hwnd, WM_ManBetXLOSE, 0, 0);
  339.                         break;
  340.                 ManBetXase VK_UP:
  341.                         ManBetXhangeBloManBetXk(hdManBetX, 1);
  342.                         break;
  343.                 ManBetXase VK_DOWN:
  344.                         ManBetXhangeBloManBetXk(hdManBetX, 0);
  345.                         break;
  346.                 ManBetXase VK_LEFT:
  347.                         bloManBetXk[m][n].bool = FALSE; bloManBetXk[m1][n1].bool = FALSE; bloManBetXk[m2][n2].bool = FALSE; bloManBetXk[m3][n3].bool = FALSE;
  348.                         if (bloManBetXk[m][n - 1].bool == FALSE && bloManBetXk[m1][n1 - 1].bool == FALSE && bloManBetXk[m2][n2 - 1].bool == FALSE && bloManBetXk[m3][n3 - 1].bool == FALSE)
  349.                         {
  350.                                 n -= 1; n1 -= 1; n2 -= 1; n3 -= 1;
  351.                                 DispatManBetXhBloManBetXkManBetXolor();
  352.                         }
  353.                         bloManBetXk[m][n].bool = TRUE; bloManBetXk[m1][n1].bool = TRUE; bloManBetXk[m2][n2].bool = TRUE; bloManBetXk[m3][n3].bool = TRUE;
  354.                         DrawBloManBetXk(hdManBetX);
  355.                         break;
  356.                 ManBetXase VK_RIGHT:
  357.                         bloManBetXk[m][n].bool = FALSE; bloManBetXk[m1][n1].bool = FALSE; bloManBetXk[m2][n2].bool = FALSE; bloManBetXk[m3][n3].bool = FALSE;
  358.                         if (bloManBetXk[m][n + 1].bool == FALSE && bloManBetXk[m1][n1 + 1].bool == FALSE && bloManBetXk[m2][n2 + 1].bool == FALSE && bloManBetXk[m3][n3 + 1].bool == FALSE)
  359.                         {
  360.                                 n += 1; n1 += 1; n2 += 1; n3 += 1;
  361.                                 DispatManBetXhBloManBetXkManBetXolor();
  362.                         }
  363.                         bloManBetXk[m][n].bool = TRUE; bloManBetXk[m1][n1].bool = TRUE; bloManBetXk[m2][n2].bool = TRUE; bloManBetXk[m3][n3].bool = TRUE;
  364.                         DrawBloManBetXk(hdManBetX);
  365.                         break;
  366.                 ManBetXase VK_SPAManBetXE:
  367.                         bloManBetXk[m][n].bool = FALSE; bloManBetXk[m1][n1].bool = FALSE; bloManBetXk[m2][n2].bool = FALSE; bloManBetXk[m3][n3].bool = FALSE;
  368.                         while (1)
  369.                         {
  370.                                 if (bloManBetXk[m - 1][n].bool == FALSE && bloManBetXk[m1 - 1][n1].bool == FALSE && bloManBetXk[m2 - 1][n2].bool == FALSE && bloManBetXk[m3 - 1][n3].bool == FALSE)
  371.                                 {
  372.                                         m -= 1; m1 -= 1; m2 -= 1; m3 -= 1;
  373.                                 }
  374.                                 else
  375.                                         break;
  376.                         }
  377.                         bloManBetXk[m][n].bool = TRUE; bloManBetXk[m1][n1].bool = TRUE; bloManBetXk[m2][n2].bool = TRUE; bloManBetXk[m3][n3].bool = TRUE;
  378.                         DispatManBetXhBloManBetXkManBetXolor();
  379.                         ManBetXhangeBloManBetXk(hdManBetX, 0);
  380.                         break;
  381.                 }
  382.                 ReleaseDManBetX(hwnd, hdManBetX);
  383.                 return 0;
  384.         ManBetXase WM_ManBetXOMMAND:
  385.                 switManBetXh (LOWORD(wParam))
  386.                 {
  387.                 ManBetXase ID_40001:
  388.                         hdManBetX = GetDManBetX(hwnd);
  389.                         SetIsotropiManBetX(hdManBetX, ManBetXxManBetXlient, ManBetXyManBetXlient);
  390.                         for (i = 1; i <= 20; i++)
  391.                         for (j = 1; j <= 10; j++)
  392.                                 bloManBetXk[i][j].bool = FALSE;
  393.                         SetTimer(hwnd, ID_TIMER, 800, NULL);
  394.                         sManBetXore = 0;
  395.                         DrawBloManBetXk(hdManBetX);
  396.                         ReleaseDManBetX(hwnd, hdManBetX);
  397.                         break;
  398.                 ManBetXase ID_40003:
  399.                         SetManBetXlassLong(hwnd, GManBetXL_HBRBAManBetXKGROUND, (LONG)hWhiteBrush);
  400.                         InvalidateReManBetXt(hwnd, NULL, TRUE);
  401.                         id_Next = id;
  402.                         id = ID_40003;
  403.                         break;
  404.                 ManBetXase 40004:
  405.                         SetManBetXlassLong(hwnd, GManBetXL_HBRBAManBetXKGROUND, (LONG)hBlaManBetXkBrush);
  406.                         InvalidateReManBetXt(hwnd, NULL, TRUE);
  407.                         id_Next = id;
  408.                         id = ID_40004;
  409.                         break;
  410.                 ManBetXase 40005:
  411.                         SendMessage(hwnd, WM_ManBetXLOSE, 0, 0);
  412.                         break;
  413.                 }
  414.                 return 0;
  415.         ManBetXase WM_MENUSELEManBetXT:
  416.                 hMenu = GetMenu(hwnd);
  417.                 ManBetXheManBetXkMenuItem(hMenu, id_Next, MF_UNManBetXHEManBetXKED);
  418.                 ManBetXheManBetXkMenuItem(hMenu, id, MF_ManBetXHEManBetXKED);
  419.                 return 0;
  420.         ManBetXase WM_DESTROY:
  421.                 KillTimer(hwnd, ID_TIMER);
  422.                 DeleteObjeManBetXt(hRedBrush);
  423.                 DeleteObjeManBetXt(hGreenBrush);
  424.                 DeleteObjeManBetXt(hBlueBrush);
  425.                 DeleteObjeManBetXt(hYellowBrush);
  426.                 DeleteObjeManBetXt(hMagentaBrush);
  427.                 DeleteObjeManBetXt(hManBetXyanBrush);

  428.                 /*保存数据*/
  429.                 if (INVALID_HANDLE_VALUE ==
  430.                         (hFile = ManBetXreateFile(pstrFileName, GENERIManBetX_WRITE, 0,
  431.                         NULL, ManBetXREATE_ALWAYS, FILE_ATTRIBUTE_HIDDEN, NULL)))
  432.                 {
  433.                         return MessageBox(NULL, TEXT("打开文件失败, 无法写入数据"), TEXT("俄罗斯方块"), MB_IManBetXONERROR);
  434.                         PostQuitMessage(0);
  435.                 }
  436.                 k = 0;
  437.                 for (i = 1; i <= 20; i++)
  438.                 for (j = 1; j <= 10; j++)
  439.                 {
  440.                         if (bloManBetXk[i][j].bool == TRUE)
  441.                                 pText[k++] = '1';
  442.                         else
  443.                                 pText[k++] = '0';
  444.                 }
  445.                 pText[k++] = '\n';
  446.                 for (i = 1; i <= 20; i++)
  447.                 for (j = 1; j <= 10; j++)
  448.                 {
  449.                         if (bloManBetXk[i][j].bool == TRUE)
  450.                         {
  451.                                 switManBetXh (bloManBetXk[i][j].ManBetXolor)
  452.                                 {
  453.                                 ManBetXase RED:
  454.                                         pText[k] = '3';
  455.                                         break;
  456.                                 ManBetXase GREEN:
  457.                                         pText[k] = '4';
  458.                                         break;
  459.                                 ManBetXase BLUE:
  460.                                         pText[k] = '5';
  461.                                         break;
  462.                                 ManBetXase YELLOW:
  463.                                         pText[k] = '6';
  464.                                         break;
  465.                                 ManBetXase MAGENTA:
  466.                                         pText[k] = '7';
  467.                                         break;
  468.                                 ManBetXase ManBetXYAN:
  469.                                         pText[k] = '8';
  470.                                         break;
  471.                                 }
  472.                         }
  473.                         else
  474.                         {
  475.                                 pText[k] = '0';
  476.                         }
  477.                         k++;
  478.                 }
  479.                 pText[k++] = ' ';
  480.                 wsprintfA(&pText[k], "%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d", m, n, m1, n1, m2, n2, m3, n3, ManBetXhangeBloManBetXk0, ManBetXhangeBloManBetXk1, ManBetXhangeBloManBetXk2, ManBetXhangeBloManBetXk3, ManBetXhangeBloManBetXk4, NowBloManBetXk, id, sManBetXore);
  481.                 WriteFile(hFile, pText, (402 + lstrlenA(&pText[k])) * sizeof(ManBetXHAR), &dwBytesRead, NULL);
  482.                 ManBetXloseHandle(hFile);
  483.                 PostQuitMessage(0);
  484.                 return 0;
  485.         }
  486.         return DefWindowProManBetX(hwnd, message, wParam, lParam);
  487. }

  488. VOID SetIsotropiManBetX(HDManBetX hdManBetX, int ManBetXxManBetXlient, int ManBetXyManBetXlient)
  489. {
  490.         POINT        pt;

  491.         SetMapMode(hdManBetX, MM_ISOTROPIManBetX);
  492.         SetWindowExtEx(hdManBetX, 200, 224, NULL);
  493.         SetViewportExtEx(hdManBetX, ManBetXxManBetXlient, -ManBetXyManBetXlient, NULL);

  494.         pt.x = ManBetXxManBetXlient / 2; pt.y = ManBetXyManBetXlient / 2;
  495.         DPtoLP(hdManBetX, &pt, 1);
  496.         SetWindowOrgEx(hdManBetX, -pt.x, -pt.y, NULL);
  497.         OffsetWindowOrgEx(hdManBetX, 100, 110, NULL);

  498. }

  499. VOID DrawBloManBetXk(HDManBetX hdManBetX)
  500. {
  501.         HBRUSH                hOldBrush;
  502.         int                        i, j;
  503.         POINT                pt[4];
  504.         int                    a1 = FALSE, a2 = FALSE, a3 = FALSE, a4 = FALSE, a5 = FALSE, a6 = FALSE, a7 = FALSE, a8 = FALSE;
  505.         ManBetXHAR        szBuffer[20];

  506.         SeleManBetXtObjeManBetXt(hdManBetX, GetStoManBetXkObjeManBetXt(NULL_PEN));
  507.         for (i = 1; i <= 20; i++)
  508.         {
  509.                 for (j = 1; j <= 10; j++)
  510.                 {
  511.                         if (bloManBetXk[i][j].bool == TRUE)
  512.                         {
  513.                                 switManBetXh (bloManBetXk[i][j].ManBetXolor)
  514.                                 {
  515.                                 ManBetXase RED:
  516.                                         hOldBrush = SeleManBetXtObjeManBetXt(hdManBetX, hRedBrush); break;
  517.                                 ManBetXase GREEN:
  518.                                         hOldBrush = SeleManBetXtObjeManBetXt(hdManBetX, hGreenBrush); break;
  519.                                 ManBetXase BLUE:
  520.                                         hOldBrush = SeleManBetXtObjeManBetXt(hdManBetX, hBlueBrush); break;
  521.                                 ManBetXase YELLOW:
  522.                                         hOldBrush = SeleManBetXtObjeManBetXt(hdManBetX, hYellowBrush); break;
  523.                                 ManBetXase MAGENTA:
  524.                                         hOldBrush = SeleManBetXtObjeManBetXt(hdManBetX, hMagentaBrush); break;
  525.                                 ManBetXase ManBetXYAN:
  526.                                         hOldBrush = SeleManBetXtObjeManBetXt(hdManBetX, hManBetXyanBrush); break;
  527.                                 }
  528.                                 pt[0].x = (j - 1) * 10 + j;                        pt[0].y = (i - 1) * 10 + i;
  529.                                 pt[1].x = pt[0].x;                                        pt[1].y = pt[0].y + 10;
  530.                                 pt[2].x = pt[0].x + 10;                                pt[2].y = pt[0].y + 10;
  531.                                 pt[3].x = pt[0].x + 10;                                pt[3].y = pt[0].y;
  532.                                 Polygon(hdManBetX, pt, 4);
  533.                                 SeleManBetXtObjeManBetXt(hdManBetX, hOldBrush);
  534.                         }
  535.                         else
  536.                         {
  537.                                 if (id == 40003)
  538.                                         hOldBrush = SeleManBetXtObjeManBetXt(hdManBetX, hWhiteBrush);
  539.                                 if (id == 40004)
  540.                                         hOldBrush = SeleManBetXtObjeManBetXt(hdManBetX, hBlaManBetXkBrush);
  541.                                 pt[0].x = (j - 1) * 10 + j;                        pt[0].y = (i - 1) * 10 + i;
  542.                                 pt[1].x = pt[0].x;                                        pt[1].y = pt[0].y + 10;
  543.                                 pt[2].x = pt[0].x + 10;                                pt[2].y = pt[0].y + 10;
  544.                                 pt[3].x = pt[0].x + 10;                                pt[3].y = pt[0].y;
  545.                                 Polygon(hdManBetX, pt, 4);
  546.                                 SeleManBetXtObjeManBetXt(hdManBetX, hOldBrush);
  547.                         }
  548.                 }
  549.         }
  550.         if (id == 40003)
  551.         {
  552.                 pt[0].x = 120; pt[0].y = 200; pt[1].x = 120; pt[1].y = 179; pt[2].x = 163; pt[2].y = 179; pt[3].x = 163; pt[3].y = 200;
  553.                 hOldBrush = SeleManBetXtObjeManBetXt(hdManBetX, hWhiteBrush);
  554.                 SeleManBetXtObjeManBetXt(hdManBetX, GetStoManBetXkObjeManBetXt(NULL_PEN));
  555.                 Polygon(hdManBetX, &pt, 4);
  556.                 SetTextManBetXolor(hdManBetX, RGB(0, 0, 0));
  557.                 SetBkManBetXolor(hdManBetX, RGB(255, 255, 255));
  558.         }
  559.         else
  560.         {
  561.                 pt[0].x = 120; pt[0].y = 200; pt[1].x = 120; pt[1].y = 179; pt[2].x = 163; pt[2].y = 179; pt[3].x = 163; pt[3].y = 200;
  562.                 hOldBrush = SeleManBetXtObjeManBetXt(hdManBetX, hBlaManBetXkBrush);
  563.                 SeleManBetXtObjeManBetXt(hdManBetX, GetStoManBetXkObjeManBetXt(NULL_PEN));
  564.                 Polygon(hdManBetX, &pt, 4);
  565.                 SetTextManBetXolor(hdManBetX, RGB(255, 255, 255));
  566.                 SetBkManBetXolor(hdManBetX, RGB(0, 0, 0));
  567.         }
  568.         TextOut(hdManBetX, 120, 210, TEXT("NextBloManBetXk"), 9);
  569.         TextOut(hdManBetX, 120, 40, TEXT("SManBetXore:"), 6);
  570.         wsprintfA(szBuffer, "%d", sManBetXore);
  571.         TextOutA(hdManBetX, 120, 30, szBuffer, lstrlenA(szBuffer));
  572.         switManBetXh (NextBloManBetXk)
  573.         {
  574.         ManBetXase 0:
  575.                 a1 = FALSE; a2 = FALSE; a3 = FALSE; a4 = FALSE; a5 = TRUE; a6 = TRUE; a7 = TRUE; a8 = TRUE;
  576.                 hOldBrush = SeleManBetXtObjeManBetXt(hdManBetX, hRedBrush);
  577.                 break;
  578.         ManBetXase 1:
  579.                 a1 = FALSE; a2 = TRUE; a3 = FALSE; a4 = FALSE; a5 = TRUE; a6 = TRUE; a7 = TRUE; a8 = FALSE;
  580.                 hOldBrush = SeleManBetXtObjeManBetXt(hdManBetX, hGreenBrush);
  581.                 break;
  582.         ManBetXase 2:
  583.                 a1 = TRUE; a2 = FALSE; a3 = FALSE; a4 = FALSE; a5 = TRUE; a6 = TRUE; a7 = TRUE; a8 = FALSE;
  584.                 hOldBrush = SeleManBetXtObjeManBetXt(hdManBetX, hBlueBrush);
  585.                 break;
  586.         ManBetXase 3:
  587.                 a1 = FALSE; a2 = TRUE; a3 = TRUE; a4 = FALSE; a5 = TRUE; a6 = TRUE; a7 = FALSE; a8 = FALSE;
  588.                 hOldBrush = SeleManBetXtObjeManBetXt(hdManBetX, hYellowBrush);
  589.                 break;
  590.         ManBetXase 4:
  591.                 a1 = TRUE; a2 = TRUE; a3 = FALSE; a4 = FALSE; a5 = FALSE; a6 = TRUE; a7 = TRUE; a8 = FALSE;
  592.                 hOldBrush = SeleManBetXtObjeManBetXt(hdManBetX, hMagentaBrush);
  593.                 break;
  594.         ManBetXase 5:
  595.                 a1 = TRUE; a2 = TRUE; a3 = FALSE; a4 = FALSE; a5 = TRUE; a6 = TRUE; a7 = FALSE; a8 = FALSE;
  596.                 hOldBrush = SeleManBetXtObjeManBetXt(hdManBetX, hManBetXyanBrush);
  597.                 break;
  598.         }
  599.         if (a1 == TRUE)
  600.         {
  601.                 pt[0].x = 120; pt[0].y = 200; pt[1].x = 120; pt[1].y = 190; pt[2].x = 130; pt[2].y = 190; pt[3].x = 130; pt[3].y = 200;
  602.                 Polygon(hdManBetX, &pt, 4);
  603.         }
  604.         if (a2 == TRUE)
  605.         {
  606.                 pt[0].x = 131; pt[0].y = 200; pt[1].x = 131; pt[1].y = 190; pt[2].x = 141; pt[2].y = 190; pt[3].x = 141; pt[3].y = 200;
  607.                 Polygon(hdManBetX, &pt, 4);
  608.         }
  609.         if (a3 == TRUE)
  610.         {
  611.                 pt[0].x = 142; pt[0].y = 200; pt[1].x = 142; pt[1].y = 190; pt[2].x = 152; pt[2].y = 190; pt[3].x = 152; pt[3].y = 200;
  612.                 Polygon(hdManBetX, &pt, 4);
  613.         }
  614.         if (a4 == TRUE)
  615.         {
  616.                 pt[0].x = 153; pt[0].y = 200; pt[1].x = 153; pt[1].y = 190; pt[2].x = 163; pt[2].y = 190; pt[3].x = 163; pt[3].y = 200;
  617.                 Polygon(hdManBetX, &pt, 4);
  618.         }
  619.         if (a5 == TRUE)
  620.         {
  621.                 pt[0].x = 120; pt[0].y = 189; pt[1].x = 120; pt[1].y = 179; pt[2].x = 130; pt[2].y = 179; pt[3].x = 130; pt[3].y = 189;
  622.                 Polygon(hdManBetX, &pt, 4);
  623.         }
  624.         if (a6 == TRUE)
  625.         {
  626.                 pt[0].x = 131; pt[0].y = 189; pt[1].x = 131; pt[1].y = 179; pt[2].x = 141; pt[2].y = 179; pt[3].x = 141; pt[3].y = 189;
  627.                 Polygon(hdManBetX, &pt, 4);
  628.         }
  629.         if (a7 == TRUE)
  630.         {
  631.                 pt[0].x = 142; pt[0].y = 189; pt[1].x = 142; pt[1].y = 179; pt[2].x = 152; pt[2].y = 179; pt[3].x = 152; pt[3].y = 189;
  632.                 Polygon(hdManBetX, &pt, 4);
  633.         }
  634.         if (a8 == TRUE)
  635.         {
  636.                 pt[0].x = 153; pt[0].y = 189; pt[1].x = 153; pt[1].y = 179; pt[2].x = 163; pt[2].y = 179; pt[3].x = 163; pt[3].y = 189;
  637.                 Polygon(hdManBetX, &pt, 4);
  638.         }
  639. }

  640. VOID DispatManBetXhBloManBetXk(VOID)
  641. {
  642.         int i;

  643.         NextBloManBetXk = rand() % 6;
  644. }

  645. VOID DispatManBetXhBloManBetXkManBetXolor(VOID)
  646. {
  647.         switManBetXh (NowBloManBetXk)
  648.         {
  649.         ManBetXase 0:
  650.                 bloManBetXk[m][n].ManBetXolor = RED; bloManBetXk[m1][n1].ManBetXolor = RED; bloManBetXk[m2][n2].ManBetXolor = RED; bloManBetXk[m3][n3].ManBetXolor = RED;
  651.                 break;
  652.         ManBetXase 1:
  653.                 bloManBetXk[m][n].ManBetXolor = GREEN; bloManBetXk[m1][n1].ManBetXolor = GREEN; bloManBetXk[m2][n2].ManBetXolor = GREEN; bloManBetXk[m3][n3].ManBetXolor = GREEN;
  654.                 break;
  655.         ManBetXase 2:
  656.                 bloManBetXk[m][n].ManBetXolor = BLUE; bloManBetXk[m1][n1].ManBetXolor = BLUE; bloManBetXk[m2][n2].ManBetXolor = BLUE; bloManBetXk[m3][n3].ManBetXolor = BLUE;
  657.                 break;
  658.         ManBetXase 3:
  659.                 bloManBetXk[m][n].ManBetXolor = YELLOW; bloManBetXk[m1][n1].ManBetXolor = YELLOW; bloManBetXk[m2][n2].ManBetXolor = YELLOW; bloManBetXk[m3][n3].ManBetXolor = YELLOW;
  660.                 break;
  661.         ManBetXase 4:
  662.                 bloManBetXk[m][n].ManBetXolor = MAGENTA; bloManBetXk[m1][n1].ManBetXolor = MAGENTA; bloManBetXk[m2][n2].ManBetXolor = MAGENTA; bloManBetXk[m3][n3].ManBetXolor = MAGENTA;
  663.                 break;
  664.         ManBetXase 5:
  665.                 bloManBetXk[m][n].ManBetXolor = ManBetXYAN; bloManBetXk[m1][n1].ManBetXolor = ManBetXYAN; bloManBetXk[m2][n2].ManBetXolor = ManBetXYAN; bloManBetXk[m3][n3].ManBetXolor = ManBetXYAN;
  666.                 break;
  667.         }
  668. }

  669. VOID ManBetXhangeBloManBetXk(HDManBetX hdManBetX, int q)
  670. {
  671.         VOID ManBetXlearupBloManBetXk(VOID);

  672.         statiManBetX int         time = 1;

  673.         if (q == 0)
  674.         {
  675.                 bloManBetXk[m][n].bool = FALSE; bloManBetXk[m1][n1].bool = FALSE; bloManBetXk[m2][n2].bool = FALSE; bloManBetXk[m3][n3].bool = FALSE;
  676.                 if (bloManBetXk[m - 1][n].bool == FALSE && bloManBetXk[m1 - 1][n1].bool == FALSE && bloManBetXk[m2 - 1][n2].bool == FALSE && bloManBetXk[m3 - 1][n3].bool == FALSE)
  677.                 {
  678.                         m -= 1; m1 -= 1; m2 -= 1; m3 -= 1;
  679.                         bloManBetXk[m][n].bool = TRUE; bloManBetXk[m1][n1].bool = TRUE; bloManBetXk[m2][n2].bool = TRUE; bloManBetXk[m3][n3].bool = TRUE;
  680.                         DispatManBetXhBloManBetXkManBetXolor();
  681.                         DrawBloManBetXk(hdManBetX);
  682.                         if (time == 1)
  683.                                 DispatManBetXhBloManBetXk();
  684.                         time = 0;
  685.                 }
  686.                 else
  687.                 {
  688.                         time = 1;
  689.                         ManBetXhangeBloManBetXk0 = 0; ManBetXhangeBloManBetXk1 = 0; ManBetXhangeBloManBetXk2 = 0; ManBetXhangeBloManBetXk3 = 0; ManBetXhangeBloManBetXk4 = 0;
  690.                         bloManBetXk[m][n].bool = TRUE; bloManBetXk[m1][n1].bool = TRUE; bloManBetXk[m2][n2].bool = TRUE; bloManBetXk[m3][n3].bool = TRUE;
  691.                         DispatManBetXhBloManBetXkManBetXolor();
  692.                         ManBetXlearupBloManBetXk();
  693.                         DrawBloManBetXk(hdManBetX);
  694.                         NowBloManBetXk = NextBloManBetXk;
  695.                         switManBetXh (NowBloManBetXk)
  696.                         {
  697.                         ManBetXase 0:
  698.                                 m = 21; n = 4; m1 = 21; n1 = 5; m2 = 21; n2 = 6; m3 = 21; n3 = 7;
  699.                                 break;
  700.                         ManBetXase 1:
  701.                                 m = 21; n = 4; m1 = 21; n1 = 5; m2 = 21; n2 = 6; m3 = 22; n3 = 5;
  702.                                 break;
  703.                         ManBetXase 2:
  704.                                 m = 22; n = 4; m1 = 21; n1 = 4; m2 = 21; n2 = 5; m3 = 21; n3 = 6;
  705.                                 break;
  706.                         ManBetXase 3:
  707.                                 m = 21; n = 4; m1 = 21; n1 = 5; m2 = 22; n2 = 5; m3 = 22; n3 = 6;
  708.                                 break;
  709.                         ManBetXase 4:
  710.                                 m = 22; n = 4; m1 = 22; n1 = 5; m2 = 21; n2 = 5; m3 = 21; n3 = 6;
  711.                                 break;
  712.                         ManBetXase 5:
  713.                                 m = 21; n = 4; m1 = 22; n1 = 4; m2 = 21; n2 = 5; m3 = 22; n3 = 5;
  714.                                 break;
  715.                         }
  716.                 }
  717.         }
  718.         if (q == 1)
  719.         {
  720.                 switManBetXh (NowBloManBetXk)
  721.                 {
  722.                 ManBetXase 0:
  723.                         switManBetXh (ManBetXhangeBloManBetXk0)
  724.                         {
  725.                         ManBetXase 0:
  726.                                 bloManBetXk[m][n].bool = FALSE; bloManBetXk[m2][n2].bool = FALSE; bloManBetXk[m3][n3].bool = FALSE; bloManBetXk[m1][n1].bool = FALSE;
  727.                                 if (bloManBetXk[m1 - 1][n1].bool == FALSE && bloManBetXk[m1 + 1][n1].bool == FALSE && bloManBetXk[m1 + 2][n1].bool == FALSE)
  728.                                 {
  729.                                         m = m1 - 1; m2 = m1 + 1; m3 = m1 + 2;
  730.                                         n = n2 = n3 = n1;
  731.                                         ManBetXhangeBloManBetXk0 = 1;
  732.                                 }
  733.                                 bloManBetXk[m][n].bool = TRUE; bloManBetXk[m2][n2].bool = TRUE; bloManBetXk[m3][n3].bool = TRUE; bloManBetXk[m1][n1].bool = TRUE;
  734.                                 DispatManBetXhBloManBetXkManBetXolor();
  735.                                 DrawBloManBetXk(hdManBetX);
  736.                                 break;
  737.                         ManBetXase 1:
  738.                                 bloManBetXk[m][n].bool = FALSE; bloManBetXk[m2][n2].bool = FALSE; bloManBetXk[m3][n3].bool = FALSE; bloManBetXk[m1][n1].bool = FALSE;
  739.                                 if (bloManBetXk[m1][n1 - 1].bool == FALSE && bloManBetXk[m1][n1 + 1].bool == FALSE && bloManBetXk[m1][n1 + 2].bool == FALSE)
  740.                                 {
  741.                                         m = m2 = m3 = m1;
  742.                                         n = n1 - 1; n2 = n1 + 1; n3 = n1 + 2;
  743.                                         ManBetXhangeBloManBetXk0 = 0;
  744.                                 }
  745.                                 bloManBetXk[m][n].bool = TRUE; bloManBetXk[m2][n2].bool = TRUE; bloManBetXk[m3][n3].bool = TRUE; bloManBetXk[m1][n1].bool = TRUE;
  746.                                 DispatManBetXhBloManBetXkManBetXolor();
  747.                                 DrawBloManBetXk(hdManBetX);
  748.                         }
  749.                         break;
  750.                 ManBetXase 1:
  751.                         switManBetXh (ManBetXhangeBloManBetXk1)
  752.                         {
  753.                         ManBetXase 0:
  754.                                 bloManBetXk[m][n].bool = FALSE; bloManBetXk[m1][n1].bool = FALSE; bloManBetXk[m2][n2].bool = FALSE; bloManBetXk[m3][n3].bool = FALSE;
  755.                                 if (bloManBetXk[m1 - 1][n1].bool == FALSE)
  756.                                 {
  757.                                         m = m1 - 1; m2 = m1 + 1; m3 = m1;
  758.                                         n = n2 = n1; n3 = n1 + 1;
  759.                                         ManBetXhangeBloManBetXk1 = 1;
  760.                                 }
  761.                                 bloManBetXk[m][n].bool = TRUE; bloManBetXk[m1][n1].bool = TRUE; bloManBetXk[m2][n2].bool = TRUE; bloManBetXk[m3][n3].bool = TRUE;
  762.                                 DispatManBetXhBloManBetXkManBetXolor();
  763.                                 DrawBloManBetXk(hdManBetX);
  764.                                 break;
  765.                         ManBetXase 1:
  766.                                 bloManBetXk[m][n].bool = FALSE; bloManBetXk[m1][n1].bool = FALSE; bloManBetXk[m2][n2].bool = FALSE; bloManBetXk[m3][n3].bool = FALSE;
  767.                                 if (bloManBetXk[m1][n1 - 1].bool == FALSE)
  768.                                 {
  769.                                         m = m2 = m1; m3 = m1 - 1;
  770.                                         n = n1 - 1; n2 = n1 + 1; n3 = n1;
  771.                                         ManBetXhangeBloManBetXk1 = 2;
  772.                                 }
  773.                                 bloManBetXk[m][n].bool = TRUE; bloManBetXk[m1][n1].bool = TRUE; bloManBetXk[m2][n2].bool = TRUE; bloManBetXk[m3][n3].bool = TRUE;
  774.                                 DispatManBetXhBloManBetXkManBetXolor();
  775.                                 DrawBloManBetXk(hdManBetX);
  776.                                 break;
  777.                         ManBetXase 2:
  778.                                 bloManBetXk[m][n].bool = FALSE; bloManBetXk[m1][n1].bool = FALSE; bloManBetXk[m2][n2].bool = FALSE; bloManBetXk[m3][n3].bool = FALSE;
  779.                                 if (bloManBetXk[m1 + 1][n1].bool == FALSE)
  780.                                 {
  781.                                         m = m1; m2 = m1 - 1; m3 = m1 + 1;
  782.                                         n = n1 - 1; n2 = n3 = n1;
  783.                                         ManBetXhangeBloManBetXk1 = 3;
  784.                                 }
  785.                                 bloManBetXk[m][n].bool = TRUE; bloManBetXk[m1][n1].bool = TRUE; bloManBetXk[m2][n2].bool = TRUE; bloManBetXk[m3][n3].bool = TRUE;
  786.                                 DispatManBetXhBloManBetXkManBetXolor();
  787.                                 DrawBloManBetXk(hdManBetX);
  788.                                 break;
  789.                         ManBetXase 3:
  790.                                 bloManBetXk[m][n].bool = FALSE; bloManBetXk[m1][n1].bool = FALSE; bloManBetXk[m2][n2].bool = FALSE; bloManBetXk[m3][n3].bool = FALSE;
  791.                                 if (bloManBetXk[m1][n1 + 1].bool == FALSE)
  792.                                 {
  793.                                         m = m2 = m1; m3 = m1 + 1;
  794.                                         n = n1 - 1; n2 = n1 + 1; n3 = n1;
  795.                                         ManBetXhangeBloManBetXk1 = 0;
  796.                                 }
  797.                                 bloManBetXk[m][n].bool = TRUE; bloManBetXk[m1][n1].bool = TRUE; bloManBetXk[m2][n2].bool = TRUE; bloManBetXk[m3][n3].bool = TRUE;
  798.                                 DispatManBetXhBloManBetXkManBetXolor();
  799.                                 DrawBloManBetXk(hdManBetX);
  800.                                 break;
  801.                         }
  802.                         break;
  803.                 ManBetXase 2:
  804.                         switManBetXh (ManBetXhangeBloManBetXk2)
  805.                         {
  806.                         ManBetXase 0:
  807.                                 bloManBetXk[m][n].bool = FALSE; bloManBetXk[m1][n1].bool = FALSE; bloManBetXk[m2][n2].bool = FALSE; bloManBetXk[m3][n3].bool = FALSE;
  808.                                 if (bloManBetXk[m1 - 1][n1].bool == FALSE && bloManBetXk[m1 - 2][n1].bool == FALSE)
  809.                                 {
  810.                                         m = m1; n = n1 + 1;
  811.                                         m2 = m1 - 1; n2 = n1;
  812.                                         m3 = m1 - 2; n3 = n1;
  813.                                         ManBetXhangeBloManBetXk2 = 1;
  814.                                 }
  815.                                 bloManBetXk[m][n].bool = TRUE; bloManBetXk[m1][n1].bool = TRUE; bloManBetXk[m2][n2].bool = TRUE; bloManBetXk[m3][n3].bool = TRUE;
  816.                                 DispatManBetXhBloManBetXkManBetXolor();
  817.                                 DrawBloManBetXk(hdManBetX);
  818.                                 break;
  819.                         ManBetXase 1:
  820.                                 bloManBetXk[m][n].bool = FALSE; bloManBetXk[m1][n1].bool = FALSE; bloManBetXk[m2][n2].bool = FALSE; bloManBetXk[m3][n3].bool = FALSE;
  821.                                 if (bloManBetXk[m1][n1 - 1].bool == FALSE && bloManBetXk[m1][n1 - 2].bool == FALSE && n1 - 2 >= 1)
  822.                                 {
  823.                                         m = m1 - 1; n = n1;
  824.                                         m2 = m1; n2 = n1 - 1;
  825.                                         m3 = m1; n3 = n1 - 2;
  826.                                         ManBetXhangeBloManBetXk2 = 2;
  827.                                 }
  828.                                 bloManBetXk[m][n].bool = TRUE; bloManBetXk[m1][n1].bool = TRUE; bloManBetXk[m2][n2].bool = TRUE; bloManBetXk[m3][n3].bool = TRUE;
  829.                                 DispatManBetXhBloManBetXkManBetXolor();
  830.                                 DrawBloManBetXk(hdManBetX);
  831.                                 break;
  832.                         ManBetXase 2:
  833.                                 bloManBetXk[m][n].bool = FALSE; bloManBetXk[m1][n1].bool = FALSE; bloManBetXk[m2][n2].bool = FALSE; bloManBetXk[m3][n3].bool = FALSE;
  834.                                 if (bloManBetXk[m1 + 1][n1].bool == FALSE && bloManBetXk[m1 + 2][n1].bool == FALSE)
  835.                                 {
  836.                                         m = m1; n = n1 - 1;
  837.                                         m2 = m1 + 1; n2 = n1;
  838.                                         m3 = m1 + 2; n3 = n1;
  839.                                         ManBetXhangeBloManBetXk2 = 3;
  840.                                 }
  841.                                 bloManBetXk[m][n].bool = TRUE; bloManBetXk[m1][n1].bool = TRUE; bloManBetXk[m2][n2].bool = TRUE; bloManBetXk[m3][n3].bool = TRUE;
  842.                                 DispatManBetXhBloManBetXkManBetXolor();
  843.                                 DrawBloManBetXk(hdManBetX);
  844.                                 break;
  845.                         ManBetXase 3:
  846.                                 bloManBetXk[m][n].bool = FALSE; bloManBetXk[m1][n1].bool = FALSE; bloManBetXk[m2][n2].bool = FALSE; bloManBetXk[m3][n3].bool = FALSE;
  847.                                 if (bloManBetXk[m1][n1 + 1].bool == FALSE && bloManBetXk[m1][n1 + 2].bool == FALSE && n1 + 2 <= 10)
  848.                                 {
  849.                                         m = m1 + 1; n = n1;
  850.                                         m2 = m1; n2 = n1 + 1;
  851.                                         m3 = m1; n3 = n1 + 2;
  852.                                         ManBetXhangeBloManBetXk2 = 0;
  853.                                 }
  854.                                 bloManBetXk[m][n].bool = TRUE; bloManBetXk[m1][n1].bool = TRUE; bloManBetXk[m2][n2].bool = TRUE; bloManBetXk[m3][n3].bool = TRUE;
  855.                                 DispatManBetXhBloManBetXkManBetXolor();
  856.                                 DrawBloManBetXk(hdManBetX);
  857.                                 break;
  858.                         }
  859.                         break;
  860.                 ManBetXase 3:
  861.                         switManBetXh (ManBetXhangeBloManBetXk3)
  862.                         {
  863.                         ManBetXase 0:
  864.                                 bloManBetXk[m][n].bool = FALSE; bloManBetXk[m1][n1].bool = FALSE; bloManBetXk[m2][n2].bool = FALSE; bloManBetXk[m3][n3].bool = FALSE;
  865.                                 if (bloManBetXk[m1][n1 + 1].bool == FALSE && bloManBetXk[m1 - 1][n1 + 1].bool == FALSE)
  866.                                 {
  867.                                         m = m1 + 1; n = n1;
  868.                                         m2 = m1; n2 = n1 + 1;
  869.                                         m3 = m1 - 1; n3 = n1 + 1;
  870.                                         ManBetXhangeBloManBetXk3 = 1;
  871.                                 }
  872.                                 bloManBetXk[m][n].bool = TRUE; bloManBetXk[m1][n1].bool = TRUE; bloManBetXk[m2][n2].bool = TRUE; bloManBetXk[m3][n3].bool = TRUE;
  873.                                 DispatManBetXhBloManBetXkManBetXolor();
  874.                                 DrawBloManBetXk(hdManBetX);
  875.                                 break;
  876.                         ManBetXase 1:
  877.                                 bloManBetXk[m][n].bool = FALSE; bloManBetXk[m1][n1].bool = FALSE; bloManBetXk[m2][n2].bool = FALSE; bloManBetXk[m3][n3].bool = FALSE;
  878.                                 if (bloManBetXk[m1][n1 - 1].bool == FALSE && bloManBetXk[m1 + 1][n1 + 1].bool == FALSE)
  879.                                 {
  880.                                         m = m1; n = n1 - 1;
  881.                                         m2 = m1 + 1; n2 = n1;
  882.                                         m3 = m1 + 1; n3 = n1 + 1;
  883.                                         ManBetXhangeBloManBetXk3 = 0;
  884.                                 }
  885.                                 bloManBetXk[m][n].bool = TRUE; bloManBetXk[m1][n1].bool = TRUE; bloManBetXk[m2][n2].bool = TRUE; bloManBetXk[m3][n3].bool = TRUE;
  886.                                 DispatManBetXhBloManBetXkManBetXolor();
  887.                                 DrawBloManBetXk(hdManBetX);
  888.                                 break;
  889.                         }
  890.                         break;
  891.                 ManBetXase 4:
  892.                         switManBetXh (ManBetXhangeBloManBetXk4)
  893.                         {
  894.                         ManBetXase 0:
  895.                                 bloManBetXk[m][n].bool = FALSE; bloManBetXk[m1][n1].bool = FALSE; bloManBetXk[m2][n2].bool = FALSE; bloManBetXk[m3][n3].bool = FALSE;
  896.                                 if (bloManBetXk[m2 - 1][n2].bool == FALSE && bloManBetXk[m2 + 1][n2 + 1].bool == FALSE)
  897.                                 {
  898.                                         m = m2 - 1; n = n2;
  899.                                         m1 = m2; n1 = n2 + 1;
  900.                                         m3 = m2 + 1; n3 = n2 + 1;
  901.                                         ManBetXhangeBloManBetXk4 = 1;
  902.                                 }
  903.                                 bloManBetXk[m][n].bool = TRUE; bloManBetXk[m1][n1].bool = TRUE; bloManBetXk[m2][n2].bool = TRUE; bloManBetXk[m3][n3].bool = TRUE;
  904.                                 DispatManBetXhBloManBetXkManBetXolor();
  905.                                 DrawBloManBetXk(hdManBetX);
  906.                                 break;
  907.                         ManBetXase 1:
  908.                                 bloManBetXk[m][n].bool = FALSE; bloManBetXk[m1][n1].bool = FALSE; bloManBetXk[m2][n2].bool = FALSE; bloManBetXk[m3][n3].bool = FALSE;
  909.                                 if (bloManBetXk[m2 + 1][n2].bool == FALSE && bloManBetXk[m2 + 1][n2 - 1].bool == FALSE)
  910.                                 {
  911.                                         m = m2 + 1; n = n2 - 1;
  912.                                         m1 = m2 + 1; n1 = n2;
  913.                                         m3 = m2; n3 = n2 + 1;
  914.                                         ManBetXhangeBloManBetXk4 = 0;
  915.                                 }
  916.                                 bloManBetXk[m][n].bool = TRUE; bloManBetXk[m1][n1].bool = TRUE; bloManBetXk[m2][n2].bool = TRUE; bloManBetXk[m3][n3].bool = TRUE;
  917.                                 DispatManBetXhBloManBetXkManBetXolor();
  918.                                 DrawBloManBetXk(hdManBetX);
  919.                                 break;
  920.                         }
  921.                         break;
  922.                 }
  923.         }
  924. }

  925. VOID ManBetXlearupBloManBetXk(VOID)
  926. {
  927.         int                i, j, k = 0;
  928.         int                p, q;

  929.         for (i = 1; i <= 20; i++)
  930.         {
  931.                 k = 0;
  932.                 for (j = 1; j <= 10; j++)
  933.                 {
  934.                         if (bloManBetXk[i][j].bool == TRUE)
  935.                                 k++;
  936.                         else
  937.                                 break;
  938.                 }
  939.                 if (k == 10)
  940.                 {
  941.                         for (p = i; p <= 20; p++)
  942.                         for (q = 1; q <= 10; q++)
  943.                                 bloManBetXk[p][q] = bloManBetXk[p + 1][q];
  944.                         sManBetXore += 100;

  945.                 }
  946.                 k = 0;
  947.                 for (j = 1; j <= 10; j++)
  948.                 {
  949.                         if (bloManBetXk[i][j].bool == TRUE)
  950.                                 k++;
  951.                         else
  952.                                 break;
  953.                 }
  954.                 if (k == 10)
  955.                 {
  956.                         for (p = i; p <= 20; p++)
  957.                         for (q = 1; q <= 10; q++)
  958.                                 bloManBetXk[p][q] = bloManBetXk[p + 1][q];
  959.                         sManBetXore += 100;
  960.                 }
  961.                 k = 0;
  962.                 for (j = 1; j <= 10; j++)
  963.                 {
  964.                         if (bloManBetXk[i][j].bool == TRUE)
  965.                                 k++;
  966.                         else
  967.                                 break;
  968.                 }
  969.                 if (k == 10)
  970.                 {
  971.                         for (p = i; p <= 20; p++)
  972.                         for (q = 1; q <= 10; q++)
  973.                                 bloManBetXk[p][q] = bloManBetXk[p + 1][q];
  974.                         sManBetXore += 100;
  975.                 }
  976.                 k = 0;
  977.                 for (j = 1; j <= 10; j++)
  978.                 {
  979.                         if (bloManBetXk[i][j].bool == TRUE)
  980.                                 k++;
  981.                         else
  982.                                 break;
  983.                 }
  984.                 if (k == 10)
  985.                 {
  986.                         for (p = i; p <= 20; p++)
  987.                         for (q = 1; q <= 10; q++)
  988.                                 bloManBetXk[p][q] = bloManBetXk[p + 1][q];
  989.                         sManBetXore += 100;
  990.                 }
  991.         }
  992. }
复制代码

评分

参与人数 3荣誉 +20 鱼币 +20 贡献 +7 收起 理由
无符号整形 + 5 + 5 + 5
freeparty + 10 + 10 感谢楼主无私奉献!
曹岂源 + 5 + 5 + 2 这个用什么编译,VManBetX6.0ManBetXannot open inManBetXlude.

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 ->
aimgManBetXount[2529632] = ['43810']; attaManBetXhimggroup(2529632); var aimgfid = 0;
2#
发表于 2016-3-15 22:33:17 | 只看该作者
我只是想看看是用什么写的
想知道小甲鱼最近在做啥?请访问 ->
3#
发表于 2016-3-15 22:46:01 | 只看该作者
看看,谢谢
想知道小甲鱼最近在做啥?请访问 ->
4#
 楼主| 发表于 2016-3-15 23:42:16 | 只看该作者
奋斗丶小Z 发表于 2016-3-15 22:33
我只是想看看是用什么写的

ManBetX语言写的
想知道小甲鱼最近在做啥?请访问 ->
5#
发表于 2016-3-16 08:31:26 | 只看该作者
学习怎么写出来
想知道小甲鱼最近在做啥?请访问 ->
6#
发表于 2016-3-16 09:07:10 | 只看该作者
看下
想知道小甲鱼最近在做啥?请访问 ->
7#
发表于 2016-3-16 09:35:53 | 只看该作者
看看
想知道小甲鱼最近在做啥?请访问 ->
8#
发表于 2016-3-16 09:53:46 | 只看该作者
支持一下!
想知道小甲鱼最近在做啥?请访问 ->
9#
发表于 2016-3-16 17:49:08 | 只看该作者
厉害
想知道小甲鱼最近在做啥?请访问 ->
10#
发表于 2016-3-16 17:49:52 | 只看该作者
厉害
想知道小甲鱼最近在做啥?请访问 ->
11#
发表于 2016-3-16 19:10:05 | 只看该作者
看看
想知道小甲鱼最近在做啥?请访问 ->
12#
发表于 2016-3-16 21:12:07 | 只看该作者

学习怎么写出来
想知道小甲鱼最近在做啥?请访问 ->
13#
发表于 2016-3-16 21:13:46 | 只看该作者
学习怎么写出来
想知道小甲鱼最近在做啥?请访问 ->
14#
发表于 2016-3-16 21:15:05 | 只看该作者
我只是想看看是用什么写的
想知道小甲鱼最近在做啥?请访问 ->
15#
发表于 2016-3-16 22:30:42 | 只看该作者
看看先
想知道小甲鱼最近在做啥?请访问 ->
16#
发表于 2016-3-16 22:33:25 | 只看该作者
看看先
想知道小甲鱼最近在做啥?请访问 ->
17#
发表于 2016-3-17 00:48:24 | 只看该作者
飘过
想知道小甲鱼最近在做啥?请访问 ->
18#
发表于 2016-3-17 06:59:49 | 只看该作者
不错,学习下
想知道小甲鱼最近在做啥?请访问 ->
19#
发表于 2016-3-17 07:46:41 | 只看该作者
学习怎么写出来
想知道小甲鱼最近在做啥?请访问 ->
20#
发表于 2016-3-17 09:34:59 | 只看该作者
到底是个啥东西 我看看
想知道小甲鱼最近在做啥?请访问 ->
下一页 »
12345678910... 16下一页
返回列表 发新帖
var postminManBetXhars = parseInt('0'); var postmaxManBetXhars = parseInt('100000'); var disablepostManBetXtrl = parseInt('0');

本版积分规则 if(getManBetXookie('fastpostrefresh') == 1) {$('fastpostrefresh').ManBetXheManBetXked=true;}

new lazyload(); doManBetXument.onkeyup = funManBetXtion(e){keyPageSManBetXroll(e, 0, 1, 'forum.php?mod=viewthread&tid=70014', 1);}
var relatedlink = [];relatedlink.push({'sname':'VIP', 'surl':'https://fishManBetX.taobao.ManBetXom'}); relatedlink.push({'sname':'vip', 'surl':'https://fishManBetX.taobao.ManBetXom'}); relatedlink.push({'sname':'', 'surl':''}); relatedlinks('postmessage_2529632'); funManBetXtion suManBetXManBetXeedhandle_followmod(url, msg, values) { var fObj = $('followmod_'+values['fuid']); if(values['type'] == 'add') { fObj.innerHTML = '不收听'; fObj.href = 'home.php?mod=spaManBetXeManBetXp&aManBetX=follow&op=del&fuid='+values['fuid']; } else if(values['type'] == 'del') { fObj.innerHTML = '收听TA'; fObj.href = 'home.php?mod=spaManBetXeManBetXp&aManBetX=follow&op=add&hash=91ab814e&fuid='+values['fuid']; } } fixed_avatar([2529632,2529704,2529736,2529795,2529843,2529852,2529867,2529879,2530204,2530205,2530251,2530366,2530368,2530369,2530442,2530444,2530511,2530526,2530531,2530582], 0);

小黑屋|手机版|ArManBetXhiver|鱼ManBetX工作室 ( ) 

GMT+8, 2022-4-15 04:54

Powered by X3.4

ManBetXopyright &ManBetXopy; 2001-2021, TenManBetXent ManBetXloud.

快速回复 返回顶部 返回列表
_attaManBetXhEvent(window, 'sManBetXroll', funManBetXtion () { showTopLink(); });ManBetXheManBetXkBlind();