7俄罗斯方块游戏界面的设计与实现实验目的:(1)理解WindowsAPI应用程序接口,并学会使用(2)掌握利用API函数控制光标在控制台移动的方法(3)掌握C程序的基本结构,编写规范的程序(4)掌握循环结构的程序设计方法(5)掌握全局变量的定义和使用实验内容:综合应用所学知识,设计俄罗斯方块游戏的界面,如下图1所示:图1俄罗斯方块游戏界面游戏界面分为两大区域:游戏区域和信息提示区域。其中:游戏区域高度为20个单位,宽度为10个单位,为该区域绘制边框时,上下边框使用“┅”,左右边框“┇”,四角的边框分别使用“┏”、“┓”、“┗”、“┛”进行绘制。信息提示区域高度为20个单位,宽度为4个单位。除了边框外,还有三个信息,即“NEXT”、“SCORE”、“LEVEL”。他们分别表示下一个要下落方块的类型、玩家当前得分和等级。这三个提示文字分别在该区域的第2、8、14行显示,并在每一行空一个字符位置处显示。一般情况下,控制台的光标是随着输入/输出向后移动的,而利用WindowsAPI函数,可以将光标移动到控制台的任意位置,这里介绍一下移动光标的方法。#include#includeHANDLEg_hOutput;//声明一个句柄voidMySetCursor(intx,inty)//自定义的光标定位函数{COORDcd={x,y};//定义坐标//调用WindowsAPI中设置光标位置的函数,传入句柄和位置信息做参数SetConsoleCursorPosition(g_hOutput,cd);}voidmain(){//通过调用WindowsAPI函数返回一个标准输出的句柄,并为句柄变量赋值g_hOutput=GetStdHandle(STD_OUTPUT_HANDLE);MySetCursor(2,3);//将光标定位到标准输出的第3行第2列的位置printf("World!");MySetCursor(0,0);//将光标定位到标准输出的第0行第0列的位置printf("Hello");}输出结果为:图2输出结果图实现俄罗斯方块游戏界面的源代码如下:#include#include#include#include#defineHEIGHT20//定义游戏区域高度#defineWIDTH10//定义游戏区域宽度constintSysAlign=WIDTH*2+4+3;//提示文字起始水平坐标constintNextLine=2;//“NEXT”所在垂直坐标constintScoreLine=8;//“SCORE”所在垂直坐标constintLevelLine=14;//“Level”所在垂直坐标intiScore,iLevel;//玩家的即时得分,等级HANDLEg_hOutput;//声明一个句柄voidMySetCursor(intx,inty)//本游戏中适用的光标定位函数{COORDcd={x,y};//调用WindowsAPI中设置光标位置的函数,传入句柄和位置信息做参数SetConsoleCursorPosition(g_hOutput,cd);}//注意:一个"┅"占2个字符宽度voidDrawBoarder(intx,inty,inth,intw){inti;for(i=0;i
1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。
常见问题具体如下:
1、问:已经付过费的文档可以多次下载吗?
答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。
2、问:已经付过费的文档不知下载到什么地方去了?
答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。
如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。
注:微信交易号是以“420000”开头的28位数字;
支付宝交易号是以“2024XXXX”交易日期开头的28位数字。
客服邮箱:
biganzikefu@outlook.com
所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;
文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;
如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:
biganzikefu@outlook.com
常见问题具体如下:
1、问:已经付过费的文档可以多次下载吗?
答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。
2、问:已经付过费的文档不知下载到什么地方去了?
答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。
如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。
注:微信交易号是以“420000”开头的28位数字;
支付宝交易号是以“2024XXXX”交易日期开头的28位数字。