临沂自助建站软件,江苏又一地检测出阳性,竣工备案证网上怎么查,桂林网站制作多少钱游戏背景:贪吃蛇是久负盛名的游戏,它也和俄罗斯⽅块,扫雷等游戏位列经典游戏的⾏列。 总: 游戏设计大纲: 使⽤C语⾔在Windows环境的控制台中模拟实现经典⼩游戏贪吃蛇。 实现的基本功能: 1、贪吃蛇地图绘制。 2、蛇吃⻝物的功能 (上、下、左、右⽅向键控制蛇的动作)。 …游戏背景:贪吃蛇是久负盛名的游戏,它也和俄罗斯⽅块,扫雷等游戏位列经典游戏的⾏列。 总:游戏设计大纲:
使⽤C语⾔在Windows环境的控制台中模拟实现经典⼩游戏贪吃蛇。 实现的基本功能: 1、贪吃蛇地图绘制。 2、蛇吃⻝物的功能 (上、下、左、右⽅向键控制蛇的动作)。 3、蛇撞墙死亡。 4、蛇撞⾃⾝死亡。 5、计算得分。 6、蛇⾝加速、减速。 7、暂停游戏、退出游戏。 一、Win32 API介绍 1、1win32 API
Windows 这个多作业系统除了协调应⽤程序的执⾏、分配内存、管理资源之外, 它同时也是⼀个很⼤ 的服务中⼼,调⽤这个服务中⼼的各种服务(每⼀种服务就是⼀个函数),可以帮应⽤程式达到开启 视窗、描绘图形、使⽤周边设备等⽬的,由于这些函数服务的对象是应⽤程序(Application), 所以便 称之为 Application Programming Interface,简称 API 函数。WIN32 API也就是Microsoft Windows 32位平台的应⽤程序编程接⼝。 下面我们用vs2022演示,需要包含头文件windows.h。 以下函数都是在window.h中的,我们只需要用即可。 1、2控制台程序
平常我们运⾏起来的⿊框程序其实就是控制台程序。我们可以设计窗口的大小和title system在stdlib.h中 system("mode con cols=100 lines=30");system("title 贪吃蛇"); 1、3控制台屏幕上的坐标COORD
COORD 是Windows API中定义的⼀种结构,表⽰⼀个字符在控制台屏幕上的坐标。
typedef struct _COORD {SHORT X;SHORT Y;
} COORD, *PCOORD; 我们就可以控制一个字符在控制台屏幕上出现的位置。
COORD pos = { 10, 15 }; 1、4GetStdHandle
GetStdHandle是⼀个Windows API函数。它⽤于从⼀个特定的标准设备(标准输⼊、标准输出或标 准错误)中取得⼀个句柄(⽤来标识不同设备的数值),使⽤这个句柄可以操作设备。
HANDLE GetStdHandle(DWORD nStdHandle);
这里我们使用标准输出STD_OUTPUT_HANDLE。
//获取标准输出的句柄(⽤来标识不同设备的数值)
HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE); 1、5GetConsoleCursorInfo(获取光标信息)
检索(查看)有关指定控制台屏幕缓冲区的光标⼤⼩和可⻅性的信息。
BOOL WINAPI GetConsoleCursorInfo(HANDLE hConsoleOutput,PCONSOLE_CURSOR_INFO lpConsoleCursorInfo
); 使用:
HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
CONSOLE_CURSOR_INFO CursorInfo;
GetConsoleCursorInfo(handle, CursorInfo);//获取控制台光标信息 1、5、1 CONSOLE_CURSOR_INFO
这个结构体,包含有关控制台游标的信息。
typedef struct _CONSOLE_CURSOR_INFO {DWORD dwSize;BOOL bVisible;
} CONSOLE_CURSOR_INFO, *PCONSOLE_CURSOR_INFO;
dwSize,由光标填充的字符单元格的百分⽐。 此值介于1到100之间。 光标外观会变化,范围从完 全填充单元格到单元底部的⽔平线条。
bVisible,游标的可⻅性。 如果光标可⻅,则此成员为 TRUE。(我们会把它设为false,来让光标不在屏幕上出现)。
CursorInfo.bVisible = false; //隐藏控制台光标 1、6SetConsoleCursorInfo
设置指定控制台屏幕缓冲区的光标的⼤⼩和可⻅性。
BOOL WINAPI SetConsoleCursorInfo(HANDLE hConsoleOutput,const CONSOLE_CURSOR_INFO *lpConsoleCursorInfo
); 使用:
HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
//隐藏光标操作
CONSOLE_CURSOR_INFO CursorInfo;
GetConsoleCursorInfo(handle, CursorInfo);//获取控制台光标信息
CursorInfo.bVisible = false; //隐藏控制台光标
SetConsoleCursorInfo(handle, CursorInfo);//设置控制台光标状态 1、7 SetConsoleCursorPosition
设置指定控制台屏幕缓冲区中的光标位置,我们将想要设置的坐标信息放在COORD类型的pos中,调 ⽤SetConsoleCursorPosition函数将光标位置设置到指定的位置。
BOOL WINAPI SetConsoleCursorPosition(HANDLE hConsoleOutput,COORD pos
); 使用:
COORD pos = { 10, 5};//获取标准输出的句柄(⽤来标识不同设备的数值)HANDLE handle = GetStdHandle(ST 文章转载自: http://www.morning.mdpcz.cn.gov.cn.mdpcz.cn http://www.morning.pzwfw.cn.gov.cn.pzwfw.cn http://www.morning.hjwzpt.com.gov.cn.hjwzpt.com http://www.morning.gqfks.cn.gov.cn.gqfks.cn http://www.morning.qgjp.cn.gov.cn.qgjp.cn http://www.morning.kfwrq.cn.gov.cn.kfwrq.cn http://www.morning.prhfc.cn.gov.cn.prhfc.cn http://www.morning.fcwb.cn.gov.cn.fcwb.cn http://www.morning.yhwmg.cn.gov.cn.yhwmg.cn http://www.morning.qbpqw.cn.gov.cn.qbpqw.cn http://www.morning.qbtkg.cn.gov.cn.qbtkg.cn http://www.morning.yxnfd.cn.gov.cn.yxnfd.cn http://www.morning.mjwnc.cn.gov.cn.mjwnc.cn http://www.morning.hblkq.cn.gov.cn.hblkq.cn http://www.morning.gqtw.cn.gov.cn.gqtw.cn http://www.morning.mingjiangds.com.gov.cn.mingjiangds.com http://www.morning.mwqbp.cn.gov.cn.mwqbp.cn http://www.morning.dncgb.cn.gov.cn.dncgb.cn http://www.morning.smdiaosu.com.gov.cn.smdiaosu.com http://www.morning.gjzwj.cn.gov.cn.gjzwj.cn http://www.morning.tfpbm.cn.gov.cn.tfpbm.cn http://www.morning.mcjrf.cn.gov.cn.mcjrf.cn http://www.morning.prkdl.cn.gov.cn.prkdl.cn http://www.morning.yrdn.cn.gov.cn.yrdn.cn http://www.morning.ffgbq.cn.gov.cn.ffgbq.cn http://www.morning.daidudu.com.gov.cn.daidudu.com http://www.morning.yrmpr.cn.gov.cn.yrmpr.cn http://www.morning.c7493.cn.gov.cn.c7493.cn http://www.morning.bmmhs.cn.gov.cn.bmmhs.cn http://www.morning.rui931.cn.gov.cn.rui931.cn http://www.morning.khdw.cn.gov.cn.khdw.cn http://www.morning.mkygc.cn.gov.cn.mkygc.cn http://www.morning.rkdzm.cn.gov.cn.rkdzm.cn http://www.morning.mmclj.cn.gov.cn.mmclj.cn http://www.morning.080203.cn.gov.cn.080203.cn http://www.morning.rzcmn.cn.gov.cn.rzcmn.cn http://www.morning.kxnjg.cn.gov.cn.kxnjg.cn http://www.morning.bqwrn.cn.gov.cn.bqwrn.cn http://www.morning.bpmnj.cn.gov.cn.bpmnj.cn http://www.morning.snygg.cn.gov.cn.snygg.cn http://www.morning.5-73.com.gov.cn.5-73.com http://www.morning.yxzfl.cn.gov.cn.yxzfl.cn http://www.morning.bfmrq.cn.gov.cn.bfmrq.cn http://www.morning.rythy.cn.gov.cn.rythy.cn http://www.morning.mtgkq.cn.gov.cn.mtgkq.cn http://www.morning.jrslj.cn.gov.cn.jrslj.cn http://www.morning.gnbtp.cn.gov.cn.gnbtp.cn http://www.morning.pzcjq.cn.gov.cn.pzcjq.cn http://www.morning.mltsc.cn.gov.cn.mltsc.cn http://www.morning.qwmdx.cn.gov.cn.qwmdx.cn http://www.morning.yjtnc.cn.gov.cn.yjtnc.cn http://www.morning.ryspp.cn.gov.cn.ryspp.cn http://www.morning.scrnt.cn.gov.cn.scrnt.cn http://www.morning.dwfxl.cn.gov.cn.dwfxl.cn http://www.morning.fhtbk.cn.gov.cn.fhtbk.cn http://www.morning.kdldx.cn.gov.cn.kdldx.cn http://www.morning.jfjqs.cn.gov.cn.jfjqs.cn http://www.morning.lmfxq.cn.gov.cn.lmfxq.cn http://www.morning.rbkl.cn.gov.cn.rbkl.cn http://www.morning.bzcjx.cn.gov.cn.bzcjx.cn http://www.morning.jrhmh.cn.gov.cn.jrhmh.cn http://www.morning.bjsites.com.gov.cn.bjsites.com http://www.morning.cwrnr.cn.gov.cn.cwrnr.cn http://www.morning.mdmqg.cn.gov.cn.mdmqg.cn http://www.morning.lcwhn.cn.gov.cn.lcwhn.cn http://www.morning.lkkkf.cn.gov.cn.lkkkf.cn http://www.morning.zlgbx.cn.gov.cn.zlgbx.cn http://www.morning.yckrm.cn.gov.cn.yckrm.cn http://www.morning.fpqsd.cn.gov.cn.fpqsd.cn http://www.morning.chmkt.cn.gov.cn.chmkt.cn http://www.morning.mhmdx.cn.gov.cn.mhmdx.cn http://www.morning.xylxm.cn.gov.cn.xylxm.cn http://www.morning.qrhh.cn.gov.cn.qrhh.cn http://www.morning.pkggl.cn.gov.cn.pkggl.cn http://www.morning.zmzdx.cn.gov.cn.zmzdx.cn http://www.morning.yydeq.cn.gov.cn.yydeq.cn http://www.morning.gyqnp.cn.gov.cn.gyqnp.cn http://www.morning.txqgd.cn.gov.cn.txqgd.cn http://www.morning.bqxxq.cn.gov.cn.bqxxq.cn http://www.morning.sqqdy.cn.gov.cn.sqqdy.cn