C# 坦克游戏大战中学习相关类(Rectangle)

本文介绍了一个基于C#的坦克大战游戏中的Boss类实现,包括构造函数、绘制方法及碰撞检测矩形的获取。此外,还展示了如何使用Rectangle类来定义游戏元素的位置和大小。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C# 坦克游戏大战,老王类Boss代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Drawing;
using TankCar.Properties;

namespace TankCar
{
    class Boss:Coordination
    {
        //构造函数
        public Boss(int x,int y)
            :base(x,y)
        {

        }

        //画墙函数
        public void Draw(Graphics g)
        {
            g.DrawImage(Resources.Boss, X, Y, 30, 30);
        }

        //获取图片的矩形
        public Rectangle GetRectangle()
        {
            return new Rectangle(this.X, this.Y, 30, 30);
        }

        public void DrawGameOver(Graphics g)
        {
            g.DrawImage(Resources.GameOver, 0, 0, 390, 390);
        }
    }
}

Rectangle 构造函数

用指定的位置和大小初始化 Rectangle 类的新实例。

重载
Rectangle(Point, Size)

用指定的位置和大小初始化 Rectangle 类的新实例。

Rectangle(Int32, Int32, Int32, Int32)

用指定的位置和大小初始化 Rectangle 类的新实例。

Rectangle(Point, Size)

用指定的位置和大小初始化 Rectangle 类的新实例。

public Rectangle (System.Drawing.Point location, System.Drawing.Size size);

参数:location Point  Point,它表示矩形区域的左上角。size Size  Size,它表示矩形区域的宽度和高度。

Rectangle(Int32, Int32, Int32, Int32)

用指定的位置和大小初始化 Rectangle 类的新实例。

public Rectangle (int x, int y, int width, int height);

参数:x Int32 矩形左上角的 x 坐标。y Int32 矩形左上角的 y 坐标。width Int32 矩形的宽度。height Int32 矩形的高度。

示例

下面的代码示例演示了 Rectangle 、 Intersect 、 IsEmpty 和 IntersectsWith 成员。 此示例应与 Windows 窗体一起使用。 将此代码粘贴到窗体中,并在处理窗体事件时调用此方法,并将 Paint e 作为传递 PaintEventArgs 。

private void InstanceRectangleIntersection(PaintEventArgs e)
{

    Rectangle rectangle1 = new Rectangle(50, 50, 200, 100);
    Rectangle rectangle2 = new Rectangle(70, 20, 100, 200);

    e.Graphics.DrawRectangle(Pens.Black, rectangle1);
    e.Graphics.DrawRectangle(Pens.Red, rectangle2);

    if (rectangle1.IntersectsWith(rectangle2))
    {
        rectangle1.Intersect(rectangle2);
        if (!rectangle1.IsEmpty)
        {
            e.Graphics.FillRectangle(Brushes.Green, rectangle1);
        }
    }
}

参考:

1、c#坦克大战,有墙体有爆炸等效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

钢铁男儿

赛博功德充值,BUG退散

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值