windowsAPI贪吃蛇
LRESULT KeyDirct(HWND hwnd, WPARAM wParam, LPARAM lParam) { nTime -= 10; if (nTime < 50) { nTime = 50; } int nKeyDown = (int)wParam; switch (nKeyDown) { case VK_UP: { if (STAY == Key) { Key = UP; } else if (UP == Key || DOWN == Key) { break; } SetTimer(hwnd, 1001, nTime, TimerProc); Key = UP; } break; case VK_DOWN: { if (STAY == Key) { Key = DOWN; } else if (UP == Key || DOWN == Key) { break; } SetTimer(hwnd, 1001, nTime, TimerProc); Key = DOWN; } break; case VK_LEFT: { if (STAY == Key) { Key = LEFT; } else if (LEFT == Key || RIGHT == Key) { break; } SetTimer(hwnd, 1001, nTime, TimerProc); Key = LEFT; } break; case VK_RIGHT: { if (STAY == Key) { Key = RIGHT; } else if (LEFT == Key || RIGHT == Key) { break; } SetTimer(hwnd, 1001, nTime, TimerProc); Key = RIGHT; } break; default: break; } return 0; } 1001, nTime, TimerProc); Key = UP; } break; case VK_DOWN: { if (STAY == Key) { Key = DOWN; } else if (UP == Key || DOWN == Key) { break; } SetTimer(hwnd, 1001, nTime, TimerProc); Key = DOWN; } break; case VK_LEFT: { if (STAY == Key) { Key = LEFT; } else if (LEFT == Key || RIGHT == Key) { break; } SetTimer(hwnd, 1001, nTime, TimerProc); Key = LEFT; } break; case VK_RIGHT: { if (STAY == Key) { Key = RIGHT; } else if (LEFT == Key || RIGHT == Key) { break; } SetTimer(hwnd, 1001, nTime, TimerProc); Key = RIGHT; } break; default: break; } return 0; }