第10章_综合练习.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第10章_综合练习

综合练习 俄罗斯方块 自学为主、提示思路 综合练习 进度安排 第11周实现游戏帮助方块预览(11周周日) 实现以上功能并完成实验报告 第12周游戏显示更新(12周周日) 实现各类方块下落并固定,完成实验报告 第13-14周游戏方块控制(14周周日) 实现游戏按键控制功能如翻转左移下落右移,并消行,完成实验报告 第15周完善程序并提升功能(15周周日) 完善程序结构,实现游戏速度更新功能,完成实验报告 截止时间 第16周周一 综合练习 组长职责 秉公判分(组长相互判分) 根据完成情况任务百分比判分、如果超额完成可加分(最高加10分) 提问以检测是否抄袭(抄袭不给分) 及时判分(判分截止时间见进度) 组员职责 认真独立完成程序 及时交给组长判分 奖惩 组长未能及时、秉公判分(扣平时成绩中奖励分) 组员未能及时完成作业,每次作业扣30分 抽查制度 每周周一抽查每组1-2名同学 综合练习 总成绩评定标准 每周成绩均分占70%,最终成绩占30% 最终成绩评定标准 程序规范(15分) 算法思想(30分) 功能完备易用(30分) 程序结构合理性(25分) 重复代码尽量少 综合练习 相关知识讲解 画图工具包 #include graphics.h EasyX 2011(ftp提供下载) 使用到主要函数 initgraph outtextxy setorigin rectangle closegraph setfillstyle bar3d bar 可以使用其他函数美化程序 综合练习 如何表示俄罗斯方块 Win32 API里定义的byte WORD DWORD byte为char 8-bit WORD是16-bit unsigned integer DWORD为32-bit unsigned integer 画方块 方块下沉 方块下沉中的三种画法 隐藏 显示 固定 区别体现在颜色 方块下沉时的检测 是否可以放下 不超出游戏边界 不能与已有固定方块重叠 游戏结束 如果方块的固定位置超出高度,结束游戏 如何结束游戏? 结束游戏主要工作 closegraph(); exit(0); 如果想继续玩游戏呢? * * * * 俄罗斯方块 游 戏 方 块 预 览 游 戏 方 块 控 制 游 戏 显 示 更 新 游 戏 帮 助 功 能 游 戏 速 度 分 数 更 新 功 能 struct BLOCK { WORD dir[4]; // 方块的四个旋转状态 COLORREF color;// 方块的颜色 }g_Blocks[7] = { {0x0F00, 0x4444, 0x0F00, 0x4444, RED},//I /*口*/ {0x0660, 0x0660, 0x0660, 0x0660, BLUE}, /*L*/ {0x4460, 0x02E0, 0x0622, 0x0740, MAGENTA}, /*反L*/ {…, …, …, …, YELLOW}, /*Z*/ {…, …, …, …, CYAN}, /*反Z*/ {…, …, …, …, GREEN}, /*T*/ {…, …, …, …, BROWN}}; #define BLOCKSIZE 30// 每个游戏区单位的实际像素 main() { WORD b = g_Blocks[0].dir[1]; int x,y; initgraph(640, 480); setfillstyle(g_Blocks[0].color); for(int i=0; i16; i++) { if (b 0x8000) { x = i % 4; y = i / 4; bar(x*BLOCKSIZE, y*BLOCKSIZE, (x + 1)*BLOCKSIZE - 2,(y + 1)*BLOCKSIZE - 2); } b = 1; } system(pause); } struct BLOCKINFO { byte id; // 方块 ID 确定方块的形状 char x, y; // 方块在游戏区中的坐标 byte dir:2; // 方向 } g_CurBlock, g_NextBlock; HWND wnd = GetHWnd(); if (MessageBox(wnd, 游戏结束。\n您想重新来一局吗?, 游戏结束, MB_YESNO | MB_ICONQUESTION) == IDYES) …… //重新开始游戏 else …….//退出游戏 * * *

文档评论(0)

xy88118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档