切不要因暂时的得失而胆怯
Posted shadow_of_maple
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了切不要因暂时的得失而胆怯相关的知识,希望对你有一定的参考价值。
题目描述
游戏中需要检测元素是否碰撞到一起,比如打飞机游戏,没躲避炮弹就算碰撞,检测出来,游戏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;
以上是关于切不要因暂时的得失而胆怯的主要内容,如果未能解决你的问题,请参考以下文章