Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/inkyu0103/c-project
https://github.com/inkyu0103/c-project
Last synced: 2 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/inkyu0103/c-project
- Owner: inkyu0103
- Created: 2020-05-06T12:46:23.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2020-06-21T08:01:02.000Z (over 4 years ago)
- Last Synced: 2024-11-13T16:46:16.136Z (2 months ago)
- Language: C++
- Size: 418 KB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# C++ project
게임을 만들기 위해 cpp 파일과 헤더를 나눠도 되고 현재의 main.cpp에 한꺼번에 다 몰아 넣어도 큰 무리는 없을 것 같습니다.
만약 여러 파일로 나누어서 진행하는게 편하실 것 같으면 다시 나누어서 올리겠습니다.
-------
- 1단계
+ Ncurses Library 함수를 사용하여 2차원 배열로 된 Snake Map을 Game 화면으로 표시하는 프로그램을 완성한다.
+ Map은 21X21을 최소 크기로 한다.
+ Complie : g++ -g -o main main.cpp -lncursesw
+ Mac Compile : g++ -g -o main main.cpp Snake.cpp -lncurses
+ 구현 방식
+ 2차원 배열을 할당받아 맵을 만들었습니다. (현재 맵의 크기는 가로 46, 세로 23입니다. 가로 2칸이 세로 1칸과 크기가 동일하여 정사각형을 만들고 싶어서 일단 이렇게 설정은 했습니다.)
+ ~~~
int** map;
map = new int*[y];
for(int i=0;i Immune Wall
+ map[row][col] == 2 --> Wall (Gate 생성 x)
+ map[row][col] == 3 --> snake_head (추후)
+ map[row][col] == 4 --> snake_body (추후)
### 현재 구현 된 것
-움직이는 것
-밥먹으면 길이가 늘어나는 것
-독약 먹으면 길이가 줄어드는 것
-밥(+)먹으면 10점 늘어나는 것
-독약(-) 먹으면 10점 감소하는 것
- 몸 길이가 2가 되면 Game over
- 점수가 0보다 작아지면 Game over
### (6.12)
- 보드 형식에 맞춰서 올라가는 것 구현(Gate는 구현 필요)
- 먹이를 먹으면 빨라지고, 독을 먹으면 느려짐
- 먹이 2번 먹으면 더 이상 먹이가 안 나오는 버그가 있음(제 생각에는 먹이 먹었는지 검사하는 부분을 collision밖으로 빼야할 것 같아요)
- mission
- Stage 1: +(3) -(1) g(0)
- Stage 2: +(5) -(2) g(1)
- Stage 3: +(7) -(3) g(1)
- Stage 4: +(9) -(4) g(2)
### (6.13)
- Gate 구현 완료
- 반대 Gate로 나오는 부분 구현 필요
### (6.21)
- Gate 반대편으로 까지 나오게 하기 구현
- 미션 조건을 충족하면 다음 스테이지로 넘어가는 것 구현
- 미션 조건을 일부 완성하면 Mission 판에 (v) 체크 되게 하는 기능 구현
### 구현 해야 하는 것
#### RULE 1(완료)
-food /poison 시간에 따른 위치 변경 (완료)
### RULE 2 (완료)
### RULE 3 (완료)
### RULE 4 (;ㅁ;)
-여기는 사실 gate가 가장자리가 아닌 곳에 생성될때를 전제로 하고 있는데... 남은 시간동안 할 수 있을까요...? 할 수 있으면 되는대로 해볼게요
### RULE 5 (완료)
- Gate의 출현 방법은... 그냥 맵이 생성되는 동시에 gate가 생성되는걸로 해야할 것 같네요.
### RULE 6 (미완성)
- 몸의 초대길이 계산 (완료)
- 게임중 획득한 food 수 (완료)
- 게임중 획득한 poison 수 (완료)
- 게임중 Gate 사용수 (완료)
- 게임시간 (Seconds로 계산---> 미완성)
### 맵 생성 시 참고할 점
- 예를 들어 4단계의 맵을 수정한다고 가정해볼게요
else if (level == 4 ){ --> 3단계를 수정하시고 싶으시면 level == 3 인 곳을 수정하시면 됩니다.
mvprintw(1,20,"STAGE 4");
mission_food =9;
mission_poison =4;
mission_gate = 2;
map = new int*[y]; // row 개만큼 할당 받고, 각 row마다 col개만큼 다시 할당받는다.
for(int i=0;i