C,C++로 만드는 간단한 프로젝트
-
게임 진행 하기C,C++로 만드는 간단한 프로젝트/숫자 야구 2021. 1. 2. 19:45
1. 랜덤수를 배열에 저장하기 랜덤 수를 받는 함수를 하나 만들어야 한다. 조건은 이 랜덤 수는 중복을 허용하지 않는다. 그리고 입력 받을 수는 1~9 사이이며, 총 3개의 수를 입력받는다. 우선 아래의 내용을 추가한다. 아래의 글을 참고해도 된다. designatedroom87.tistory.com/207?category=885556 배열에 중복 없이 랜덤으로 숫자 저장하기 문제에 대해서 생각을 해보자. 처음에 배열에 아무 것도 저장이 되어 있지 않다면 해당하는 수를 바로 배열의 [0]번째 인덱스 요소에 저장 한다. 문제는 바로 [1]번째 인덱스에 저장을 할 때이다. designatedroom87.tistory.com Generate_RandomNumber함수 그리고 디버깅용으로 배열에 있는 데이터를 ..
-
3(부록). 게임의 인트로 화면 제작하고 문제 나오는 속도 조절하기C,C++로 만드는 간단한 프로젝트/OX Quiz 2021. 1. 1. 22:17
아래의 내용에 이어서 진행하는데, 이 부분을 꼭 만들어야 할 필요는 없다. designatedroom87.tistory.com/357 2. 문제 풀기 아래의 내용에 이어서 진행해보자. designatedroom87.tistory.com/356 1. 퀴즈의 내용을 파일에서 읽어와서 저장하기 프로젝트는 빈 프로젝트로 생성한다. 프로젝트를 생성했으면. 아래의 텍스트 파일을 designatedroom87.tistory.com 인트로 화면을 제작하기 위해서는 아래의 두 파일이 필요하다. 아래의 글에서 Console.h와 Console.c파일을 다운로드하도록 하자. designatedroom87.tistory.com/349 1. 콘솔화면 구성 & 그리는 함수 만들기 우리가 만들 게임이다. 콘솔화면 창을 구현할 때 ..
-
2. 문제 풀기C,C++로 만드는 간단한 프로젝트/OX Quiz 2021. 1. 1. 22:10
아래의 내용에 이어서 진행해보자. designatedroom87.tistory.com/356 1. 퀴즈의 내용을 파일에서 읽어와서 저장하기 프로젝트는 빈 프로젝트로 생성한다. 프로젝트를 생성했으면. 아래의 텍스트 파일을 다운로드한다. 아래는 문제와 답이 적혀 있는 텍스트 파일이다. 문제가 있고 그 다음 줄은 문제에 대한 답이 designatedroom87.tistory.com 문제의 수는 총 37개이며, 문제는 랜덤으로 보여줄 것이다. 문제를 보여주고 답을 유저에게 입력을 받아 맞았는지 틀렸는지를 보여준다. 함수의 이름은 GamePlay이라고 하자. 함수의 호출은 main함수에서 한다. 실행해서 야무지게 문제를 풀어보자. 문제가 발생했다. 한 번 실행하고 난 후에 다시 실행하면 문제의 순서가 같다. 아래..
-
1. 퀴즈의 내용을 파일에서 읽어와서 저장하기C,C++로 만드는 간단한 프로젝트/OX Quiz 2021. 1. 1. 19:31
프로젝트는 빈 프로젝트로 생성한다. 프로젝트를 생성했으면. 아래의 텍스트 파일을 다운로드한다. 아래는 문제와 답이 적혀 있는 텍스트 파일이다. 문제가 있고 그 다음 줄은 문제에 대한 답이다. 아래의 텍스트 파일은 퀴즈의 문제들과 답들이 있다. 텍스트 파일은 생성한 프로젝트의 경로에 두도록 한다. 아래의 그림을 참고하자. 먼저 해야할 작업은 위의 텍스트 파일에 있는 문제와 답을 읽어와서 저장을 해야 한다. 그러기 위해서는 구조체를 하나 정의해야 한다. 그리고 구해야할 내용에 문제의 개수를 알아야 한다. 구하는 방법은 Quiz.txt파일에서 전체 라인수를 읽어들여서 2로 나누면 된다. 그 이유는 txt파일에는 문제와 답의 전체 라인 수가 74줄이므로 여기서 2로 나누면 문제가 37개임을 ..
-
4. 별(star)을 구성 & 아래로 이동 & 충돌체크 만들기C,C++로 만드는 간단한 프로젝트/별 피하기 게임 만들기 2020. 12. 26. 22:29
별에 대한 정보를 다음과 같이 구성한다. 별은 여러 개로 정의하므로 배열로 선언한다. 그리고 구조체 변수 LiveFlag는 1과 0의 값을 갖는데, 1이면 별이 생성됨을 의미한다. 1인 경우에만 별을 아래로 이동시키면서 렌더를 한다. 만약 별이 맨 아래로 이동한 경우에는 LiveFlag를 0으로 설정을 하고 렌더를 하지 않는다. 별들의 정보를 초기화하는 부분을 작성해보자. 이는 InitObject함수에서 한다. 별을 렌더하는 함수를 만들어 보자. 함수의 이름은 DrawStar라고 하자. 이 함수는 Draw함수에서 호출되면 된다. 아래는 Draw함수로 DrawStar함수를 호출한다. 그리고 별이 움직이는 함수를 만들어 보자. 별들은 움직임이 아래로만 움직인다. 함수의 이름은 StarAction이라 한다. ..
-
3. 플레이어를 움직이고 맵 밖으로 이동을 막기C,C++로 만드는 간단한 프로젝트/별 피하기 게임 만들기 2020. 12. 26. 19:15
플레이어를 움직이는 함수를 PlayerAction라고 한다. 네 방향키 입력에 따라 플레이어를 움직이면 된다. 여기서 콘솔화면의 좌표는 좌측상단이 원점이고 오른쪽으로 이동하면 x값이 커지고 아래로 이동하면 y값이 커진다. 즉, 아래쪽으로 이동하면 y좌표값은 커지도록 하면 된다. 함수의 호출은 이동하고 그리는 것이 적절해 보인다. 아래는 PlayerAction함수의 호출부분이다. 호출은 main함수에서 호출된다. 그리고 Sleep함수를 호출해서 너무 빨리 움직이지 않도록 한다. Sleep함수를 사용하기 위해서는 를 포함시켜줘야 한다. 그리고 실행을 해보자. 방향키에 따라 플레이어가 아주 잘 이동한다. 불만이 사항이 있다. 플레이어를 맵을 벗어나지 않도록 제어를 해보자. Block이라는 함수를 통해 이를 제..
-
2. 플레이어 구성 & 플레이어를 렌더하기C,C++로 만드는 간단한 프로젝트/별 피하기 게임 만들기 2020. 12. 26. 18:34
플레이어는 구조체로 정의를 하자. 그리고, 플레이어를 그리는 함수를 하나 만든다. 여기서 플레이어를 그리는 의미는 이차원 배열에 플레이어를 저장한다는 의미이다. 함수의 이름은 DrawPlayer 라고 한다. DrawPlayer 함수는 Draw함수에서 호출되면 된다. 그리고, 플레이어 및 여러 오브젝트들의 정보를 초기화 시켜주는 함수를 만들자. 이 부분에는 플레이어의 위치를 정해주도록 한다. InitObject 함수는 main함수에서 호출을 하고 플레이어를 Draw해보자. main함수에서 다음과 같이 호출하면 된다. 그리고 나서 실행해보자. 실행하면 아래와 같이 플레이어가 렌더가 되는 것을 볼 수 있다. 아래는 프로그램 소스 파일