打砖块c语言算法,C语言打砖块游戏的原理!哪位高手指点一下,程序有!
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
clearviewport(); /*清除现行图形窗口内容*/
b=t+6;
r=l+60;
setcolor(1);
rectangle(0,0,639,479);
setcolor(4);
rectangle(l,t,r,b);
setfillstyle(SOLID_FILL,1);
floodfill(l+2,t+2,4);
for(i=0,k=0;i<=6;i++) /*此循环绘制方砖阵列*/
{
top[i]=k;
bottom[i]=top[i]+20;
k=k+21;
oop--;
for(j=0,m=0;j<=7;j++)
{
left[j]=m;
right[j]=left[j]+80;
m=m+81;
setcolor(4);
rectangle(left[j],top[i],right[j],bottom[i]);
setfillstyle(SOLID_FILL,j+oop);
floodfill(left[j]+1,top[i]+1,4);
num[i][j]=pp++;
}
}
while(1) /*此循环控制整个动画*/
{
while(!kbhit())
{
x=x+dx; /*小球运动的圆心变量控制*/
y=y+dy;
if(x+r1>r||x+r1
{ phrase=0;}
if((x-r1<=r||x+r1<=r)&&x+r1>=l)
{
if(y
phrase=1;
if(y+r1>=t&&phrase==1)
{dy=-dy;y=t-1-r1;}
}
if(off==0)
continue;
for(i=0;i<=6;i++) /*此循环用于判断、控制方砖阵列的撞击、擦除*/
for(j=0;j<=7;j++)
{
if((x+r1<=right[j]&&x+r1>=left[j])||(x-r1<=right[j]&&x-r1>=left[j]))
{
if(( y-r1>top[i]&&y-r1<=bottom[i])||(y+r1>=top[i]&&y+r1<=bottom[i] ))
{
if(num[i][j]==0)
{continue; }
setcolor(10);
rectangle(left[j],top[i],right[j],bottom[i]);
setfillstyle(SOLID_FILL,10);
floodfill(left[j]+1,top[i]+1,10);
dy=-dy;
num[i][j]=0;
score=score+10;
printf("%d\b\b\b",score);
}
}
if((y+r1>=top[i]&&y+r1<=bottom[i])||(y-r1>=top[i]&&y-r1<=bottom[i]))
{
if((x+r1>=left[j]&&x+r1left[j]))
{
if(num[i][j]==0)
{ continue;}
setcolor(10);
rectangle(left[j],top[i],right[j],bottom[i]);
setfillstyle(SOLID_FILL,10);
floodfill(left[j]+1,top[i]+1,10);
dx=-dx;
num[i][j]=0;
score=score+10;
printf("%d\b\b\b",score);
}
}
}
if(x+r1>639) /*控制小球的弹射范围*/
{dx=-dx;x=638-r1;}
if(x<=r1)
{dx=-dx;x=r1+1;}
if(y+r1>=479)
{off=0;quitwindow();break;}
if(y<=r1)
{dy=-dy;y=r1+1;}
if(score==560)
{off=0;quitwindow();break;}
setcolor(6);
circle(x,y,r1);
setfillstyle(SOLID_FILL,14);
floodfill(x,y,6);
delay(1000);
setcolor(10);
circle(x,y,r1);
setfillstyle(SOLID_FILL,10);
floodfill(x,y,10);
}
a=getch();
setcolor(10);
rectangle(l,t,r,b);
setfillstyle(SOLID_FILL,10);
floodfill(l+2,t+2,10);
if(a==77&&l<=565) /*键盘控制设定*/
{dl=20;l=l+dl;}
if(a==75&&l>=15)
{dl=-20;l=l+dl;}
if(a=='y'&&on==1)
break;
if(a=='n'&&on==1)
break;
if(a==27)
{quitwindow();off=0;}
r=l+60;
setcolor(4);
rectangle(l,t,r,b);
setfillstyle(SOLID_FILL,1);
floodfill(l+5,t+5,4);
delay(100);
}
if(a=='y'&&on==1) /*是否退出游戏*/
{break;}
if(a=='n'&&on==1)
{ continue;}
}
closegraph();
}
打砖块c语言算法,C语言打砖块游戏的原理!哪位高手指点一下,程序有!相关推荐
- c语言函数调用的流程图如何画,这个C语言的流程图如何画!!哪位高手指点!!...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 for(i=0; Stu[i].num!=-1; i++) { printf("\t\t No:%d %s: ",Stu[i]. ...
- 加法接力赛C语言算法,C语言循环结构
<C语言循环结构>由会员分享,可在线阅读,更多相关<C语言循环结构(47页珍藏版)>请在人人文库网上搜索. 1.UML和需求建模,第六章,循环控制,UML和需求建模,主要内容, ...
- 学校门口的树C语言算法,C语言校园导游程序设计汇报.doc
C语言校园导游程序设计汇报 <应用程序设计 课程设计>报告 班级: 学号: 姓名: 指导教师: 成绩评定: 目录 题目: 设计一个校园导游程序,为来访的客人提供各种信息查询服务 一.需求分 ...
- 必背C语言算法 C语言小写转大写
算法思想 在计算机中,大小写字母的ASCII值差32,字符a的ASCII值为97,字符A的ASCII值为65. 程序代码 #include <stdio.h> int main() {ch ...
- 输出每行坐标的的c语言算法,C语言输出空心菱形的实现
http://www.cnblogs.com/liutogo/archive/2013/05/31/3110394.html 输出空心菱形是c语言初学者经常遇到的问题,由于涉及c语言的基础知识较多,也 ...
- mm1模型的c语言算法,C语言动画程序源码(1).pdf
C 语言动画程序 #include #include #include #include #define pi 3.1415926535 double ca3mm1(double m1,double ...
- 田忌赛马c语言算法,C语言里关于田忌赛马的问题
C语言里关于田忌赛马的问题0 limmettle2014.10.24浏览83次分享举报 这是题目 题目描述 赛马是一古老的游戏,早在公元前四世纪的中国,处在诸侯割据的状态,历史上称为"战国时 ...
- a*算法流程图_单片机常用的13个C语言算法,看过的据说都晋级高手了
点击箭头处 "蓝色字" ,关注我们哦!! 问:怎么每天看到这种文章? 答:只需搜索公众号"51单片机学习网"免费关注 推荐阅读 单片机基础汇编语言编程实例 自制 ...
- 必背C语言算法 C语言求自然底数e
自然底数 e=2.718281828-,e 的计算公式如下: e=1+1/1!+1/2!+1/3!+- 要求当最后一项的值小于 10-10 时结束. 算法思想 使用循环实现累加求和,并在求和后计算下一 ...
- 残缺棋盘问题c语言算法,c语言算法--分而治之算法---残缺棋盘
残缺棋盘(defective chessboard)是一个有2k×2k 个方格的棋盘,其中恰有一个方格残缺.图2 - 3给出k≤2时各种可能的残缺棋盘,其中残缺的方格用阴影表示.注意当k= 0时,仅存 ...
最新文章
- 【Groovy】闭包 Closure ( 闭包参数绑定 | curry 函数 | rcurry 函数 | ncurry 函数 | 代码示例 )
- Mysql日志-RedoLog、UndoLog和BinLog的关系捋顺
- 如何在J2ME中创建MIDlet
- 云原生下日志方案的架构设计
- 使用NAS动态存储卷创建有状态应用
- 线程安全的量化时间帧环形缓冲区
- 阿里巴巴开源项目汇总-(JAVA)
- 如何消灭 Android 应用中的广告?
- router优点 vue_Vue 出场率99%的面试题
- Hvv近期0day总结五
- 使用CSS控制表单样式/示例演示
- ncl butterworth滤波官网例子学习
- 英语专升本——常考固定搭配【一百零八将】
- Godaddy Backorder 失败后申请退款。
- proc文件系统介绍
- java学习资源分享
- Science子刊: 类配对分析法揭示孤独症患者肠道菌群解毒功能受损
- 在手机安装 Kali Linux
- 《程序员的思维修炼》读书笔记(思维的重生)
- UTC时间与北京时间相互转换