[C++, WinAPI] 너구리 게임
2020. 6. 16. 20:12
프로젝트/게임 로직 구현
플레이어는 좌우로 움직일 수 있고, 사다리 범위 내에서는 상하로 이동할 수 있다. 스페이스 키를 누르면 바라보고 있는 방향으로 점프한다. 몬스터 또는 장애물과 닿았을 때, 그리고 점프하지 못한 경우에 게임 오버 처리하며, 사다리와 몬스터, 장애물, 과일은 랜덤하게 배치된다. 게임 오버 되지 않고 모든 과일을 다 먹으면 게임을 종료한다. youtu.be/hbKMTk90sko
[C++, WinAPI] 클레이 사격
2020. 6. 15. 21:37
프로젝트/게임 로직 구현
화면 양쪽에서 접시가 날라오고, 중앙에 위치한 두 개의 조준점은 해당 접시를 따라서 상하로 이동한다. 플레이어는 타이밍에 맞춰서 키보드의 좌,우 버튼을 누른다. 접시의 패턴은 우측 상단, 우측 하단, 좌측 상단, 좌측 하단으로 이루어져 있으며, 원활한 플레이를 위하여 랜덤으로 호출하되 확률을 지정하여 우측에서의 출현률을 높였다. 사격 실패했을 경우, 일정 시간 동안 사격을 할 수 없게 재장전 기능을 추가하였다. https://youtu.be/5DHTDYhlmbs
[C++, WinAPI] 탱크대전(vs 초급 AI)
2020. 6. 9. 20:20
프로젝트/게임 로직 구현
사용자 플레이어의 조작에 따라서 발사할 위치를 확인할 수 있는 포물선을 그리고, 스페이스 바를 누르면 해당 위치로 총알을 발사한다. 컴퓨터 플레이어는 총알이 근접해 오면 피하고, 일정 시간마다 사용자 플레이어의 위치에 맞게끔 총알을 발사한다. 컴퓨터 플레이어는 일정 체력 이하가 되었을 때 사용자 플레이어의 위치를 체크하고, 해당 위치로 향하는 강력한 유도탄을 발사한다. youtu.be/4yzd0GrD5XU
[C++] 숫자 퍼즐 게임
2020. 5. 25. 21:48
프로젝트/게임 로직 구현
0부터 24까지 겹치지 않게 무작위로 섞어서 출력한다. 단, 0은 언제나 맨 오른쪽 최하단에 위치해야 한다. 사용자로부터 방향키를 입력받음과 동시에 0을 해당 방향으로 한 칸 이동시킨다. 예를 들어 왼쪽(←) 버튼을 누른 경우, 0의 왼쪽에 있는 22와 자리를 바꾼다. 0이 가장자리에 위치하는 경우, 예를 들어, 0이 상단 사진의 21번 자리에 있다면, 왼쪽(←) 버튼과 아래쪽(↓) 버튼을 눌렀을 때 아무런 위치 변화가 일어나서는 안 된다. https://www.youtube.com/watch?v=e8aU3ExfA2Q&feature=youtu.be ※ 공부 중에 만들어 본 코드입니다. 코드가 매끄럽지 않으며, 검색하지 않고 최대한 알고 있는 내용으로만 구현했으니 참고용으로만 봐 주세요! #include ..
[C++] 트럼프 카드 배팅 게임
2020. 5. 20. 22:16
프로젝트/게임 로직 구현
트럼프 카드 모양(♠/◆/♥/♣)을 가진 52개의 카드를 생성하고, 무작위로 섞는다. 카드 모양은 열거형, 각 카드는 구조체를 이용하였다. 섞은 카드 배열에서 카드 두 개(♣a, ♣b)를 차례로 꺼낸다. 이를 확인하고 플레이어는 배팅한다. 이때, 소지금을 넘는 금액을 입력하거나, 최소 배팅 금액(천 원) 미만을 입력했을 경우 정상적인 값이 들어올 때까지 재시도를 요구한다. 다음번에 나온 카드의 숫자가 두 카드의 숫자(a~b) 사이라면 배팅금을 두 배로 돌려받고, 그렇지 않을 경우에는 돌려받지 못한다. 이를 소지금이 없어지거나, 카드(52개)가 모두 소진될 때까지 반복한다. youtu.be/-e-lf0-ZeuY ※ 공부 중에 만들어 본 코드입니다. 코드가 매끄럽지 않으며, 검색하지 않고 최대한 알고 있는 ..
[C++] C++로 구현하는 빙고 (vs 컴퓨터) ver.2
2020. 5. 19. 22:50
프로젝트/게임 로직 구현
이전 버전과 규칙은 동일하다. 이전 버전: https://c1oud9.tistory.com/97 [C++] C++로 구현하는 빙고 (vs 컴퓨터) 이중 배열의 각 칸에 순차적으로 숫자를 넣는다. (1~25) 셔플 알고리즘을 통해 숫자를 무작위로 섞는다. 사용자에게 숫자를 입력받는다. 사용자에게 입력받은 숫자를 처리한다. 사용자 및 컴퓨터� c1oud9.tistory.com youtu.be/bjkK66xrGS0 개선점 두 숫자가 동시에 처리되지 않고, 플레이어의 입력 후 컴퓨터가 고를 수 있도록 턴제로 진행되게끔 수정했다. 이때, 컴퓨터가 숫자를 지울 때 2초라는 시간을 지연시켰다. 턴이 지날 때마다 화면을 지우며 자연스럽게 갱신하는 기능을 추가했다. 버그를 수정하였다. ※ 공부 중에 만들어 본 코드입니다..
[C++] C++로 구현하는 빙고 (vs 컴퓨터)
2020. 5. 18. 22:00
프로젝트/게임 로직 구현
이중 배열의 각 칸에 순차적으로 숫자를 넣는다. (1~25) 셔플 알고리즘을 통해 숫자를 무작위로 섞는다. 사용자에게 숫자를 입력받는다. 사용자에게 입력받은 숫자를 처리한다. 사용자 및 컴퓨터의 배열 모두 해당 숫자가 있는 칸의 값을 -1로 만든다. 컴퓨터의 숫자를 결정한다. 본인에게 유리한 숫자를 랜덤으로 출력한다. 이때, 우선 순위는 가로(─), 세로(│), 대각선(\,/) 순이다. 결정된 컴퓨터 숫자를 처리한다. 사용자 및 컴퓨터의 배열 모두 해당 숫자가 있는 칸의 값을 -1로 만든다. 빙고 5줄이 되면 게임을 종료한다. 빙고 줄을 비교하여 승자를 가린다. 단, 동점일 경우 플레이어가 승리한다. youtu.be/DSG1LpYXd7I ※ 공부 중에 만들어 본 코드입니다. 코드가 매끄럽지 않으며, 검색..