이근둥
근둥이의 블로그
이근둥
전체 방문자
910,179
오늘
319
어제
625

공지사항

  • 전체보기 (110)
    • 웹 (9)
    • 언어 & 프레임워크 (53)
      • JavaScript (7)
      • TypeScript (0)
      • Node.js (11)
      • Vue.js (3)
      • React (0)
      • React Native (0)
      • C & C++ (19)
      • Java & JSP (9)
      • Python (4)
    • 컴퓨터 과학 (3)
      • 알고리즘 (0)
      • 자료구조 (3)
    • 기타 (9)
      • Linux (1)
      • Git (2)
      • DialogFlow (4)
    • 일상 (13)
      • 게임 (13)
    • 칼럼 (11)
      • 회고 (2)
      • 나만의 글 (0)
      • 제품 리뷰 (9)
    • __Dev__ (9)
      • Release (9)
반응형

인기 글

  • 웹 푸시 알림(Web Push Notification)
    2022.06.13
    웹 푸시 알림(Web Push Notification)
  • [C/C++] 콘솔게임 프로그래밍 (1) - 프로젝트 생성⋯
    2017.12.19
    [C/C++] 콘솔게임 프로그래밍 (1) - 프로젝트 생성⋯
  • [Node.js] 실시간 채팅 서비스 만들기(5) - 채팅⋯
    2018.05.31
    [Node.js] 실시간 채팅 서비스 만들기(5) - 채팅⋯
  • [C/C++] 콘솔게임 프로그래밍 (2) - 메뉴 선택기능
    2017.12.19
    [C/C++] 콘솔게임 프로그래밍 (2) - 메뉴 선택기능
  • [Tomcat] 아파치 톰캣 서버 포트 변경하기
    2018.08.24
    [Tomcat] 아파치 톰캣 서버 포트 변경하기

태그

  • ES6
  • java
  • vue3
  • Composition API
  • 웹 확장
  • vue
  • 자바
  • 자바 프로젝트
  • 사이드 프로젝트
  • WWDC20
  • WWDC
  • pwa
  • Vue 3
  • Java FX
  • AstroWar
  • 성장
  • composition-api
  • 전개 구문
  • Up
  • 출간
  • 프로그레시브 웹 앱
  • vue-next
  • 자기계발
  • javascript
  • vuex
  • 이클립스
  • vue.js
  • 회고
  • spread syntax
  • Deemo

최근 댓글

  • 말씀해주신 책 사려고 하는데요, 환경 설치부터 자세하게 습⋯
    신기준
  • 늦게 답변드려 죄송합니다. iOS Safari 의 경우 웹⋯
    이근둥
  • 안녕하세요 혹시 전체 방문자는 어떻게 구현하셨나요?
    jj123
  • 안녕하세요. 아래 익명 댓글 작성자인데 암호를 잘못 입력했⋯
    이재원
  • 선생님 잘배우고 있습니다. 저는 LINUX 환경에서 작⋯
    전마머꼬

최근 글

  • Up 개발기 그리고 회고 - 3
    2023.05.31
    Up 개발기 그리고 회고 - 3
  • Up 개발기 그리고 회고 - 2
    2023.05.31
    Up 개발기 그리고 회고 - 2
  • Up 개발기 그리고 회고 - 1
    2023.05.31
    Up 개발기 그리고 회고 - 1
  • 웹 푸시 알림(Web Push Notification)
    2022.06.13
    웹 푸시 알림(Web Push Notification)
  • 스택(Stack)
    2022.05.26
    스택(Stack)

블로그 메뉴

  • 홈
  • 미디어로그
  • 방명록
hELLO · Designed By 정상우.
이근둥

근둥이의 블로그

[C/C++] 콘솔게임 프로그래밍 (13) - 맵 오브젝트 제어[3] [최종]
언어 & 프레임워크/C & C++

[C/C++] 콘솔게임 프로그래밍 (13) - 맵 오브젝트 제어[3] [최종]

2018. 2. 23. 00:07
반응형

안녕하세요


이번 강좌는 게임 클리어기능입니다.


이번 강좌가 마지막이 되겠네요




지금까지 잘 해오셨다면 마지막이 제일 쉬울것입니다.




먼저 game.h 헤더파일에서 move 함수에 int*형 매개변수를 추가합니다.




그리고 game.c 에서 move 함수를 호출하는 부분에서 마지막 인자로 playing의 메모리 주소를 전달해줍시다.




실제 move 함수에도 추가해줘야겠죠?


추가해줍니다.




맵 오브젝트 조건을 검사하는 if 문 맨 아래에 if else 문을 추가해줍니다.


저는 게임 종료(클리어) 맵 오브젝트를 q 로 정의했기때문에 조건에서 q인지 확인합니다.


만약 q가 맞으면 playing 의 값을 0으로 변경합니다.



playing 변수는 게임 루프의 조건을 담당합니다.


1: 무한반복

0: 반복종료


즉, 0이면 게임이 종료됩니다.



게임루프 맨 아래에 종료를 알리는 텍스트를 추가해줍시다.

그리고 1.5초 대기시켜줍시다.


추가하지 않아도 되지만 추가하지않으면

게임이 클리어되자마자 바로 메인화면으로 이동됩니다.



이제 한번 컴파일 후 실행해보세요!


게임이 클리어되면 Game Clear! 글자가 출력된 후 메인화면으로 이동될것입니다.







지금까지 본 강좌를 봐주셔서 감사합니다.

틀린 부분이 있겠지만 기능위주로 구현하도록 노력했습니다.


아래 사진은 제가 제작한 어려움 난이도의 맵입니다.

복잡해보이기만하지 어렵진않습니다.


소스코드와 exe 파일을 함께 첨부해놓도록 하겠습니다!




Escape.exe

Escape.zip




이상으로 콘솔게임 프로그래밍에 대한 간단한 강좌를 마치도록 하겠습니다.


궁금한사항은 lghlove0509@naver.com 으로 언제든 보내주세요!




감사합니다






반응형
저작자표시 비영리 동일조건
    '언어 & 프레임워크/C & C++' 카테고리의 다른 글
    • [C/C++ 자료구조] 단일 연결리스트(Linked list) - 이해
    • [C/C++] 콘솔 프로그래스바(ProgressBar) 구현하기
    • [C/C++] 콘솔게임 프로그래밍 (12) - 맵 오브젝트 제어[2]
    • [C/C++] 콘솔게임 프로그래밍 (11) - 맵 오브젝트 제어[1]
    이근둥
    이근둥
    새로운 것을 좋아하는 프론트엔드 개발자 ✨
    댓글쓰기

    티스토리툴바