랜덤으로 사각형을 10개 생성한 뒤 좌표 하나(x,y)를 입력하면
그 사각형 중 몇개와 충돌했는지 출력하는 프로그램이다.
1 2 3 4 5 6 7 8 9 10 11 | #pragma once class Rect { public: Rect(); ~Rect(); int Collision(int x, int y); private: int x, y; int w, h; }; | cs |
헤더파일
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | #include "stdafx.h" #include "Rect.h" #include <time.h> #include <iostream> using namespace std; Rect::Rect() { x = rand() % 5; y = rand() % 5; w = rand() % 5+1; h = rand() % 5+1; } Rect::~Rect() { } int Rect::Collision(int a, int b) { int check = 0; if (x < a && a < (x + w)) { if (y < b && b < (y + h)) { check = 1; } } return check; } | cs |
cpp파일
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | #include "stdafx.h" #include "Rect.h" #include <time.h> #include <iostream> using namespace std; int main() { srand(time(0)); Rect cc[10]; for (int j = 0; j < 5; j++) { int sum = 0; int x = 0; int y = 0; cout << "x, y를 입력하세요 : "; cin >> x >> y; for (int i = 0; i < 10; i++) { sum += cc[i].Collision(x, y); } cout << "충돌회수 : " << sum << "\n"; } } | cs |
메인 cpp
'프로그래밍 공부 > C++' 카테고리의 다른 글
문자열 연결 및 비교(연산자 오버로딩 예제) (0) | 2018.03.21 |
---|---|
연산자 오버로딩 (0) | 2018.03.21 |
객체지향, 클래스 (0) | 2018.03.21 |
동물 스무고개(?) (Tree연습 예제) (0) | 2018.03.21 |
Tree (재귀함수 이용) (0) | 2018.03.21 |