其他分享
首页 > 其他分享> > 切不要因暂时的得失而胆怯

切不要因暂时的得失而胆怯

作者:互联网

题目描述

游戏中需要检测元素是否碰撞到一起,比如打飞机游戏,没躲避炮弹就算碰撞,检测出来,游戏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