Add chapter 2.6

This commit is contained in:
2022-01-25 22:18:17 +01:00
parent 95be479636
commit 174ad7ea56
10 changed files with 706 additions and 75 deletions

25
src/rect.rs Normal file
View File

@@ -0,0 +1,25 @@
pub struct Rect {
pub x1: i32,
pub x2: i32,
pub y1: i32,
pub y2: i32,
}
impl Rect {
pub fn new(x: i32, y: i32, w: i32, h: i32) -> Self {
Self {
x1: x,
y1: y,
x2: x + w,
y2: y + h,
}
}
pub fn intersect(&self, other: &Rect) -> bool {
self.x1 <= other.x2 && self.x2 >= other.x1 && self.y1 <= other.y2 && self.y2 >= other.y1
}
pub fn center(&self) -> (i32, i32) {
((self.x1 + self.x2) / 2, (self.y1 + self.y2) / 2)
}
}