반응형
TetrisGame1.0
-메인 메뉴 구현
<C++ 소스 코드>
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
#include<iostream>
#include<vector>
using namespace std;
#define TABLE_X 20 //테트리스 판 x 축 길이
#define TABLE_Y 30 //테트리스 판 y 축 길이
class MainMenu {
public:
MainMenu() {
cout << "\n\n\n\n";
cout << "\t\t"; cout << "@@@@@@@@@@@@ @@@@@@@@@ @@@@@@@@@@@ @@@@@@@@ @ @@@@@@@@@@@\n";
cout << "\t\t"; cout << " @ @ @ @ @ @ @ \n";
cout << "\t\t"; cout << " @ @ @ @ @ @ @ \n";
cout << "\t\t"; cout << " @ @@@@@@@@@ @ @ @ @ @@@@@@@@@@@\n";
cout << "\t\t"; cout << " @ @ @ @ @ @ @ @\n";
cout << "\t\t"; cout << " @ @ @ @ @ @ @\n";
cout << "\t\t"; cout << " @ @@@@@@@@@ @ @ @ @ @@@@@@@@@@@\n\n\n\n\n";
cout << "\t\t"; cout << " 게임을 시작하려면 아무키나 누르세요.\n\n\n\n\n\n\n";
cout << "\t\t"; cout << " TetrisGame1.0 By SeokJinLee\n";
getchar(); // 아무키 입력 기다림
system("cls"); // 콘솔 창 clear
}
};
class GameTable {
private:
int x; // 가로
int y; // 세로
vector<vector<int> > table; // 테이블 판 0 = " ", 1 = "▦" , 2 = "■"
public:
GameTable(int x, int y) { //테트리스 판 뼈대 생성
this->x = x;
this->y = y;
for (int i = 0; i < y; i++) {
vector<int> temp;
for (int j = 0; j < x; j++) {
temp.push_back(0);
}
table.push_back(temp);
}
//가장 자리 뼈대 색칠
for (int i = 0; i < x; i++) {
table[0][i] = 1;
table[y - 1][i] = 1;
}
for (int i = 1; i < y - 1; i++) {
table[i][0] = 1;
table[i][x - 1] = 1;
}
}
/*게임판 그리는 함수*/
void DrawGameTable() {
for (int i = 0; i < y; i++) {
for (int j = 0; j < x; j++) {
if (table[i][j] == 1)cout << "▦";
else cout << " "; // 두 칸 띄우기
}
cout << "\n";
}
}
};
int main(void) {
system("mode con cols=100 lines=40 | title 테트리스 게임"); // 콘솔창 크기 및 제목 설정
GameTable gt(TABLE_X, TABLE_Y); //게임 판 그리기 객체 생성
MainMenu(); // 메인 메뉴 그리기 생성자 호출
gt.DrawGameTable(); // 게임판을 그린다.
getchar();
return 0;
}
|
cs |
반응형
'게임프로그래밍 > 콘솔 테트리스 게임' 카테고리의 다른 글
[C++] 콘솔 테트리스 게임 만들기 - 블럭 일직선 삭제 및 게임 종료선 구현 TetrisGame1.5 (4) | 2020.03.25 |
---|---|
[C++] 콘솔 테트리스 게임 만들기 - hard drop(빠른 낙하), 초마다 낙하 구현 TetrisGame1.4 (0) | 2020.03.17 |
[C++] 콘솔 테트리스 게임 만들기 - 블럭 쌓기 및 재생성 구현 TetrisGame1.3 (3) | 2020.03.17 |
[C++] 콘솔 테트리스 게임 만들기 - 블럭 이동 및 회전 시 벽면 충돌 방지 구현 TetrisGame1.2 (0) | 2020.03.17 |
[C++] 콘솔 테트리스 게임 만들기 - 블럭 생성, 낙하, 회전 구현 TetrisGame1.1 (1) | 2020.03.17 |