![打砖块源代码_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-2/8/0f934efa-580d-4290-b50f-016462570bdc/0f934efa-580d-4290-b50f-016462570bdc1.gif)
![打砖块源代码_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-2/8/0f934efa-580d-4290-b50f-016462570bdc/0f934efa-580d-4290-b50f-016462570bdc2.gif)
![打砖块源代码_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-2/8/0f934efa-580d-4290-b50f-016462570bdc/0f934efa-580d-4290-b50f-016462570bdc3.gif)
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、#include <graphics.h> #include <stdio.h> #include vconio.h> #inelude <math.h> #inelude <time.h> /#inelude <string.h> /include <afx.h> #define row 5 #define colunm 20 #define CMD_UP 1 #define CMD_DOWN 2 #define CMD_LEFT 4 #define CMD_RIGHT 8int arowcolunm=0; int
2、 ballx,bally; / 小球的坐标 int boardx,boardy; / 木板的坐标 bool starting= false ;/ 判断是否小球正在运动int addx=1;int addy=-1; /小球坐标加的量bool iscatch= false ; /判断是否木板捕捉到小球voidDispatchCommand( int _cmd)(setfillcolor(BLACK); solidrecta ngle(boardx,boardy,boardx+60,boardy+10);if (_cmd & CMD_LEFT) (if (iscatch) (srand(ti
3、me(NULL); addx=rand()%2+10; setfillcolor(BLACK); solidcircle(ballx,bally,10); ballx- =10;setfillcolor(LIGHTBLUE); / solidcircle(ballx,bally, 10); printf( ” 减 nH);boardx=1;if (_cmd & CMD_RIGHT) (if (iscatch)srand(time(NULL); addx=rand()%2+10; setfillcolor (BLACK); solidcircle(ballx,bally,10); bal
4、lx+=10;setfillcolor(LIGHTBLUE); solidcircle(ballx,bally,10);printf('加n”);)boardx+=1;)if (boardx<=10) boardx=10;if (boardx>=380) boardx=380;setfillcolor(LIGHTMAGENTA);/LIGHTRED/CYAN solidrectangle(boardx,boardy,boardx+60,boardy4-10);int GetCommand()int c = 0;if (GetAsyncKeyState( if (GetAsy
5、ncKeyState( if (GetAsyncKeyState( if/键盘控制TV ) & 0x8000) c |= CMD_LEFT; D ) & 0x8000) c |= CMD_RIGHT;W) & 0x8000) c |= CMD_UP;S ) & 0x8000) c |= CMD_DOWN;(GetAsyncKeyState( return c;)/画砖块void drawrectangle()setfillcolor(LIGHTCYAN); YELLOW/MAGENTA for (int j=0;j<row;j+) for (int i=0
6、;i<colunm;i+)if (aji=O)solidrectangle(i*22,j*12,i*22+20,j*12+10);左上右下)void init()boardx=220-30;boardy=600-10;/ 小球中心坐标 ballx=220; bally=580;drawrecta ngle();setfillcolor(LIGHTMAGENTA);/LIGHTRED/CYANsolidrectangle(boardx,boardy,boardx+60,boardy+10); / 初始化木板 setfillcolor(LIGHTBLUE);solidcircle(ballx
7、,bally,10); / 初始化小球)void drawball()iscatch= false ;setfillcolor(BLACK); / 用于擦出上一次的小球 solidcircle(ballx,bally,10);Begi nBatchDraw();if (ballx>=430)addx=-1;)if (ballx<=0)addx=1;)if (bally<=10) addy=-1*addy;for (int i=0;iv5;i+)int flag0=0;for (int j=0;j<20;j+)/砖块坐标(宽咼)int currentx=j*22; / 左
8、int currenty=i*12; / 上if (aij=0 && ballx<=currentx+30 && ballx>=currentx-10 && bally- currenty<=20 &&bally>=currenty) / 判断小球碰到哪个砖块 < printf(”an”);addy=-1*addy;addx=-1*addx;aij=1:flag0=1;消除原来的砖块setfillcolor(BLACK);solidrectangle(currentx,currenty,current
9、x+20,currenty+10); break ;)if (flagO)break ;)if (starting && ballx<=boardx+70 && ballx>=boardx-10 && boardy-bally<=10 &&boardy-bally>=5) /判断木板是否接到小球printf( ” 接住 H); iscatch= true ;addy=-1*addy;)starting= true ;ballx+=addx; /更新小球坐标bally+=addy; setfillcolor(
10、LIGHTBLUE);solidcircle(ballx,bally,10);FlushBatchDraw();Sleep(5);)void play()char c;while (1)drawrectangle(); / 画砖块/if(kbhit()/c=GetCommand();/ 键盘控制DispatchCommand(c); / 移动控制/drawball(); / 画球if (bally>590)/setcolor(RED);/outtextxy(200,300,LPCTSTR(,GAMEOVERM);/NULLMessageBox(GetHWnd(),TEXT(H GAME
11、OVER ” ),TEXT("提示” ),MB_OK);break ;)/*cleardevice();Sleep(5000);*/)void main()in itgraph(440,600,0);/SHOWCONSO 不显示控制台init();setcolor(WHITE);const char* sh= ”请按空格键开始游戏";/LPCTSTR *p = (LPCTSTR *)sh;outtextxy(140,300,LPCTSTR(sh);getch();if (GetAsyncKeyState(VK_SPACE)cleardevice();piay();/Sleep(5000);/Sleep(5000);/cleardevice();/Sleep(5000);/setcolor(RED);/outtextxy(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大循环呼吸法一种科学呼吸法
- 社交媒体在大数据企业决策中的角色
- 电力设备健康管理状态监测技术的核心价值
- 构建健康工作环境医用绿色制氧机系统的实践与应用
- 知识产权战略规划与执行
- 1 挑战第一次(教学设计)-2023-2024学年道德与法治二年级下册统编版
- 电子病历系统标准化实施案例分享
- 现代办公中的汇报技巧与礼仪概述
- Unit 8 Our Clothes Topic 2 We can design our own uniforms. Section D 教学设计 2024-2025学年仁爱版英语八年级下册
- 排球 正面双手垫球技术 教学设计-2023-2024学年高二上学期体育与健康人教版必修第一册
- 劳务经纪人培训
- 欧洲电力回顾2024(英)
- 2024年金属非金属矿山(露天矿山)安全管理人员试题库附答案
- 小学五年级奥数竞赛试题(含答案)
- 危化品运输安全紧急救援与处理
- Unit-3-Reading-and-thinking课文详解课件-高中英语人教版必修第二册
- 高数(大一上)期末试题及答案
- 工作场所职业病危害因素监督监测技术规范
- 北方春节的十大风俗
- 姓丁的研究报告作文
- 医院审计科长述职报告
评论
0/150
提交评论