一:准备前奏
敲代码之前要有简单的思路,这里我写了一个简单的思维导图。
图片比较简单,接下来,我附上部分代码,整个代码在项目完成后上传。我所用的编译器是Clion,并通过运行。
二:学习了解Windows API
之所以要学习这块,因为我们要在Win32控制台完成这款小游戏,需要控制窗口和光标的位置。实现必要的组件如分数、游戏开始等。下面附上API的头文件和API的实现文件。
Windows ApiHelper定义文件:
/*
windows API 帮助头文件
作者:涵小书
windows API 帮助头文件
Created by asus on 2018/2/6.
让我感谢你 赠我空欢喜 by 琳小呆
版权所有 by GSH 转发注明作者
此版仅供学习参考
*/
#ifndef SNAKE_WINAPIHELPER_H
#define SNAKE_WINAPIHELPER_H
#include<windows.h>
/*建立窗口标题*/
void SetTitle(char * title);
/*
*设置窗体大小
* 长和宽
*/
void SetWinSize(int width,int height);
/*
*设置控制台中光标的位置
* x 坐标
* y 坐标
*/
void SetcursorPosition(int x,int y);
/*
* 设置窗体中文字的颜色
*/
void SetColor(int color);
/*
* 定义横线
* x 坐标
* y 坐标
* 颜色
* 绘制字符
* 绘制长度
*/
void DrawHline(int x,int y,int color,char letter,int len);
/*
* 定义竖线
* x 坐标
* y 坐标
* 颜色
* 绘制字符
* 绘制长度
*/
void DrawVline(int x,int y,int color,char letter,int len);
/*
*要打印出来的文本
* 文本的长度
*/
void printText(char *txt,int size);
/*
* 字符填充
*
*/
void fillText(int x,int y,int color,int letter,int width,int height);
/*
* 读取一个字符
*/
char readchar();
#endif //SNAKE_WINAPIHELPER_H
Windows ApiHelper帮助实现文件:
/*
windows Api 帮助实现文件
作者:涵小书
Created by asus on 2018/2/6.
让我感谢你 赠我空欢喜 by 琳小呆
版权所有 by GSH 转发注明作者
此版仅供学习参考
*/
#include<conio.h>
#include <stdio.h>
#include<string.h>
#include"WinApiHelper.h"
/*
* 定一个全局变量表示窗体的句柄
*/
HANDLE set_win_handle = 0;
/*
*获得标准的输出的句柄
*/
void SetWinhandle(){
if(set_win_handle==0){
set_win_handle =GetStdHandle(STD_OUTPUT_HANDLE);
}
}
/*
* 设置窗口的名字
*/
void SetTitle(char *title) {
SetConsoleTitle(TEXT(title));
}
/*
* 这里