修改VC++6.0代码提示快捷键设置

随时随地阅读更多技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(ydmsq666)

工具--》定制,弹出定制对话框:

然后点击键盘,类别选择编辑,命令选择CompleteWord,在按下新快捷键位置输入新快捷键,然后点击右上角的分配,如图:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
VC++ 6.0贪吃蛇代码可以通过以下步骤实现: 1. 创建一个Win32应用程序项目。 2. 在资源编辑器中创建一个对话框,用于显示游戏界面。 3. 在代码中实现贪吃蛇的逻辑,包括蛇的移动、食物的生成等。 4. 在对话框的WM_PAINT消息中绘制游戏界面,包括蛇、食物和障碍物等。 5. 在对话框的WM_KEYDOWN消息中响应键盘事件,控制蛇的移动方向。 6. 在对话框的WM_TIMER消息中更新游戏状态,实现游戏的运行。 以下是一个简单的VC++ 6.0贪吃蛇代码示例: ``` #include <windows.h> #include <time.h> #define ROWS 30 // 地图行数 #define COLS 40 // 地图列数 #define CELL_SIZE 20 // 每个格子的大小 #define WM_GAMEOVER (WM_USER + 1) // 游戏结束消息 int map[ROWS][COLS]; // 地图数组 int snake[ROWS * COLS]; // 蛇身数组 int food; // 食物坐标 int length; // 蛇身长度 int direction; // 蛇头方向 BOOL isGameOver; // 是否游戏结束 HWND hDlg; // 对话框句柄 void InitMap() // 初始化地图 { memset(map, 0, sizeof(map)); // 所有格子都设置为0 for (int i = 0; i < COLS; i++) { map[i] = map[ROWS - 1][i] = 1; // 上下两行设置为1,表示障碍物 } for (int i = 0; i < ROWS; i++) { map[i] = map[i][COLS - 1] = 1; // 左右两列设置为1,表示障碍物 } } void InitSnake() // 初始化蛇 { length = 3; // 初始长度为3 snake = ROWS / 2; snake = COLS / 2; // 初始位置为地图中心 snake = snake + 1; snake = snake; snake = snake + 2; snake = snake; } void InitFood() // 初始化食物 { srand((unsigned)time(NULL)); // 初始化随机数种子 do { food = rand() % ROWS; food = rand() % COLS; } while (map[food][food] != 0); // 食物不能出现在障碍物或蛇身上 } void DrawCell(HDC hdc, int row, int col, COLORREF color) // 绘制一个格子 { HBRUSH hBrush = CreateSolidBrush(color); HBRUSH hOldBrush = (HBRUSH)SelectObject(hdc, hBrush); Rectangle(hdc, col * CELL_SIZE, row * CELL_SIZE, (col + 1) * CELL_SIZE, (row + 1) * CELL_SIZE); SelectObject(hdc, hOldBrush); DeleteObject(hBrush); } void DrawMap(HDC hdc) // 绘制地图 { for (int i = 0; i < ROWS; i++) { for (int j = 0; j < COLS; j++) { if (map[i][j] == 1) { DrawCell(hdc, i, j, RGB(128, 128, 128)); // 障碍物 } else if (map[i][j] == 2) { DrawCell(hdc, i, j, RGB(255, 0, 0)); // 蛇头 } else if (map[i][j] == 3) { DrawCell(hdc, i, j, RGB(0, 255, 0)); // 蛇身 } else if (map[i][j] == 4) { DrawCell(hdc, i, j, RGB(255, 255, 0)); // 食物 } } } } void MoveSnake() // 移动蛇 { int row = snake[length - 1]; int col = snake[length - 1]; map[row][col] = 0; // 删除蛇尾 for (int i = length - 1; i >= 1; i--) { // 向前移动蛇身 snake[i] = snake[i - 1]; snake[i] = snake[i - 1]; map[snake[i][0]][snake[i]] = 3; } if (direction == VK_UP) { snake--; } else if (direction == VK_DOWN) { snake++; } else if (direction == VK_LEFT) { snake--; } else if (direction == VK_RIGHT) { snake++; } if (map[snake][snake] != 0) { // 撞到障碍物或自己身体 isGameOver = TRUE; return; } if (snake == food && snake == food) { // 吃到食物 length++; InitFood(); map[food][food] = 4; } map[snake][snake] = 2; // 更新蛇头位置 } void GameOver() // 游戏结束处理 { KillTimer(hDlg, 1); // 停止计时器 PostMessage(hDlg, WM_GAMEOVER, 0, 0); // 发送游戏结束消息 } LRESULT CALLBACK GameDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_INITDIALOG: hDlg = hwndDlg; InitMap(); InitSnake(); InitFood(); SetTimer(hwndDlg, 1, 200, NULL); // 设置计时器,每200ms更新一次游戏状态 return TRUE; case WM_PAINT: { PAINTSTRUCT ps; HDC hdc = BeginPaint(hwndDlg, &ps); DrawMap(hdc); EndPaint(hwndDlg, &ps); return TRUE; } case WM_KEYDOWN: switch (wParam) { case VK_UP: case VK_DOWN: case VK_LEFT: case VK_RIGHT: direction = wParam; break; } return TRUE; case WM_TIMER: MoveSnake(); InvalidateRect(hwndDlg, NULL, FALSE); // 刷新对话框客户区 if (isGameOver) { GameOver(); } return TRUE; case WM_GAMEOVER: MessageBox(hwndDlg, TEXT("Game Over!"), TEXT("Notice"), MB_OK); EndDialog(hwndDlg, IDOK); return TRUE; case WM_CLOSE: EndDialog(hwndDlg, IDCANCEL); return TRUE; default: return FALSE; } } INT_PTR CALLBACK AboutDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_INITDIALOG: return TRUE; case WM_COMMAND: switch (LOWORD(wParam)) { case IDOK: EndDialog(hwndDlg, IDOK); return TRUE; default: return FALSE; } default: return FALSE; } } int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { DialogBox(hInstance, MAKEINTRESOURCE(IDD_DIALOG_GAME), NULL, GameDlgProc); return 0; } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

u010142437

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值