切不要因暂时的得失而胆怯
作者:互联网
题目描述
游戏中需要检测元素是否碰撞到一起,比如打飞机游戏,没躲避炮弹就算碰撞,检测出来,游戏game over。假设将游戏中的元素当作矩形,当两个矩形有重合点,则认为它们发生碰撞。
设屏幕左上角坐标为(0,0),x轴向右,y轴向下,屏幕上的点用(X,Y)坐标表示,如下图所示。
屏幕中的矩形用其左上角和右下角坐标标识。分别输入两个矩形的左上角和右下角坐标,检测其是否碰撞。
输入
测试次数T
每组测试数据两行:
第一行,矩形1的左上角坐标,右下角坐标
第二行,矩形2的左上角坐标,右下角坐标
输出
对每组测试数据,输出碰撞检测结果,YES(碰撞)或NO(无碰撞)
//判断是否相撞:数学问题(如图)1.在左右时高无所谓,在上下时宽无所谓
//111
//121
//111
#include<stdio.h>
int main(void)
{
int x1,x2,y1,y2,i;
int k1,k2,h1,h2,t;
scanf("%d\n",&t);
for(i=1;i<=t;i++)
{
scanf("%d %d %d %d",&x1,&y1,&x2,&y2);
scanf("%d %d %d %d",&k1,&h1,&k2,&h2);//1为左和上,2为右和下
//高无所谓时
if(x2<k1)//左边
{
printf("NO\n");
}
else if(x1>k2)//右边
{
printf("No\n");
}
//宽无所谓时
else if(y2<h1)//上边
{
printf("No\n");
}
else if(y1>h2)//下边
{
printf("No\n");
}
else
{
printf("YES\n");
}
}
return 0;
}
标签:碰撞,else,暂时,坐标,得失,printf,左上角,矩形,胆怯 来源: https://blog.csdn.net/shadow_of_maple/article/details/121800140