전체 글

전체 글

    [C/C++] 콘솔게임 프로그래밍 (5) - 맵 구현방법 선정 및 맵 선택기능

    [C/C++] 콘솔게임 프로그래밍 (5) - 맵 구현방법 선정 및 맵 선택기능

    안녕하세요 이번 강좌에서는 맵을 어떤식으로 구현할것인가? 에 대한 내용과 맵 선택기능을 구현해보도록 하겠습니다. [목차] 1. 맵 구현방법 생각하기 2. 맵 선택기능 구현하기 [1 맵 구현방법 생각하기] 본 강좌에서는 탈출게임을 주제로 개발하고있습니다. 탈출게임은 맵이 꼭 필요하죠 정해진 공간에서 목표지점까지 도착하는 게임이기 때문이죠 콘솔게임이므로 3D 게임이 아닌 2D(평면) 게임입니다. 평면이기 때문에 맵도 2차원(면)으로 구현하면 됩니다. 위와같이 2차원안에서 상하좌우로 움직이며 목적지에 도착하는것이 목표입니다. 맵을 어떻게 구성할것인가? 에 대한 답변은 "2차원 배열을 사용하자!" 입니다. 배열이란? 쉽게 설명하자면 동일한 자료형을 이어서 저장하는 공간입니다.변수는 다들 아실겁니다. 숫자를 5개..

    [C/C++] 콘솔게임 프로그래밍 (4) - 커서 숨기기 및 헤더파일 분할

    [C/C++] 콘솔게임 프로그래밍 (4) - 커서 숨기기 및 헤더파일 분할

    안녕하세요 이번 강좌에서는 깜빡거리는 커서를 숨기고, 헤더파일을 분할하는 작업을 진행하도록 하겠습니다. [목차] 1. 커서 숨김처리 2. 헤더파일 분할하기 [1 커서 숨김처리] 깜빡거리는 커서를 없애보도록 하겠습니다. init 함수 기억하시나요? 콘솔창의 크기를 설정하고 창 제목을 설정하던 부분이 있는 함수였습니다.프로그램의 초기화를 담당하는 함수였죠 커서를 숨기는 기능은 한번만 실행되면 되기때문에 이 init 함수 내에 구현할것입니다. 저기 보이는 5줄을 init 함수에 추가합니다. 실행시켜보면 깜빡이던 커서가 실종사라졌다는것을 알 수 있습니다. [2 헤더파일 분할하기] 지금까지는 main.c(혹은 다른이름) 소스코드에 모든 코드가 작성되어있습니다. 소스코드 100줄은 충분히 넘겼을거라고 생각합니다. ..

    [C/C++] 콘솔게임 프로그래밍 (3) - 종료기능 및 게임 정보화면

    [C/C++] 콘솔게임 프로그래밍 (3) - 종료기능 및 게임 정보화면

    안녕하세요 이번 강좌에서는 게임 정보화면과 종료기능을 구현해보도록 하겠습니다. [목차] 1. 게임 종료 구현하기 2. 게임 정보화면 구현하기 [1 게임 종료 구현하기] 게임 종료기능을 구현해볼건데요 이전 강좌에서 진행하였던 메뉴 선택기능이 구현되어있어야합니다. 이전 강좌까지 하셨으면 해당 메뉴를 선택하면 아래와 같은 값이 반환될것입니다. 아직 왜그러는지 이해하지 못하셨어도 괜찮습니다. 아래 사진을 봅시다. 이 사진은 지난시간에 진행하였던 menuDraw 함수의 내부입니다. 아래에 줄친 부분을 보면 return y-12 라고 되어있습니다. 왜 이렇게 계산하여 반환할까요? 게임시작게임정보종료 이렇게 메뉴가 출력되는데요 "게임시작" 부분이 출력되는 y의 위치가 12입니다."게임정보"는 13"종료"는 14이죠 ..

    [C/C++] 콘솔게임 프로그래밍 (2) - 메뉴 선택기능

    [C/C++] 콘솔게임 프로그래밍 (2) - 메뉴 선택기능

    안녕하세요 이번 강좌에서는 지난시간에 이어 메뉴를 선택하는 기능을 구현해보도록 하겠습니다. [목차] 1. 키보드 입력키 선정하기 2. 선정한 키값을 정의하기 3. 키보드 이벤트 처리하기 4. 메뉴 선택기능 구현하기 [1 키보드 입력키 선정하기] 게임 내 또는, 메뉴에서 사용할 키보드의 키를 미리 정의하기 위해서는어떤키를 선택할지 고민해야합니다. FPS게임은 주로 이동할 때 w, a, s, d 키를 사용합니다. 이와같이 내가 개발할 콘솔게임에서 어떤 키를 사용할지 정하는것도 꽤 중요합니다. 저는 탈출게임을 목표로 진행하고있기때문에 상하좌우를 이동하기위해 w, a, s, d 키로 정하도록 하겠습니다. 기타 키값으로는 게임을 종료할 땐 q를 사용하도록 하겠습니다. [2 선정한 키값 정의하기] 선정한 키보드 값..

    [C/C++] 콘솔게임 프로그래밍 (1) - 프로젝트 생성 및 메인화면

    [C/C++] 콘솔게임 프로그래밍 (1) - 프로젝트 생성 및 메인화면

    안녕하세요 이번 강좌에서는 프로젝트를 생성하고 메인화면을 개발해보도록 하겠습니다. 저는 Dev C++로 강좌를 진행할것입니다.Dev C++을 설치하고싶으시면 이전 강좌를 참고하시기 바랍니다. [목차] 1. 프로젝트 생성하기 2. 타이틀 출력하기 3. 콘솔창 크기 조절하기 4. 기능별로 함수 분할하기 5. 커서 위치 이동하는 함수 구현하기 6. 메인메뉴 구현하기 [1 프로젝트 생성하기] Dev C++을 실행하고 왼쪽상단의 메뉴바 중 파일을 선택합니다. 파일 > 새로만들기 > 프로젝트 위와같은 창이 뜨면콘솔 어플리케이션을 선택하시고 C(또는 C++)체크,프로젝트명은 여러분들이 원하는것으로 정해주시면 됩니다. 그리고 확인버튼을 눌러주세요 그러면 좌측 리스트에 아래와같이 main.c 소스코드가 생성됩니다. 메인..

    [C/C++] 콘솔게임 프로그래밍 (0) - 기획 및 개발준비하기

    [C/C++] 콘솔게임 프로그래밍 (0) - 기획 및 개발준비하기

    안녕하세요 이번 포스트주제는 C/C++ 로 콘솔게임 개발하기입니다. C언어나 C++의 기초만 알고계신다면 쉽게 따라오실 수 있습니다. [요구사항]조건문반복문배열함수 위에 작성한 내용에 대해서 알고계셔야 이해하기 쉽습니다. 모르는상태로 진행해도 강좌를 따라하면 완성되겠지만 개념이 잡히지않은상태로 따라오면이후에 고생하실수도 있습니다. C/C++이라고는 하였지만 C언어 중심으로 진행할 계획입니다.(클래스, 네임스페이스 미사용) 콘솔환경 게임은 C/C++ 둘다 개발 방식은 거의 동일하므로 C언어 중심으로 진행해도 큰 문제는 없다고 생각합니다. 1회차 강좌에 여러 챕터로 나눠서 진행할 예정입니다.기능별로 챕터를 나눠서 한 강좌에 2개 이상의 챕터가 포함되도록 하겠습니다. 먼저 본격적으로 개발을 시작하기 전에 구상..

    [Node.js] Node.js 설치 및 개발환경 준비

    [Node.js] Node.js 설치 및 개발환경 준비

    안녕하세요 이번 포스트에서는 Node.js 를 설치하고 개발을 편리하게 하기위한 에디터를 설치해보도록 하겠습니다! 본 포스트의 목차입니다. [ 목차 ]1. Node.js 란?2. Node.js 특징3. Node.js 설치4. Brackets 설치5. Brackets 플러그인 설치6. VSCode 설치7. Node.js 실습 (4~5번 부분은 개인 취향이기때문에 다른걸로 설치하셔도 무방합니다) (4 + 5번 과정의 에디터보다 6번 하나를 추천합니다.) [ Node.js 란? ] 말이 복잡하고 이해가 안되실겁니다.자바스크립트는 주로 웹 브라우저에서 실행되고 있는데Node.js는 이 자바스크립트를 웹 브라우저가 아닌곳에서 실행시켜주는 런타임(기술)입니다.(런타임이란 프로그래밍 언어가 구동되는 환경을 의미합니다..

    [Java] 디모 타이머

    [Java] 디모 타이머

    Deemo (디모)라는 게임 스타일의 타이머 프로그램입니다. Java FX로 개발하였습니다. 소스코드 및 폰트, 이미지 리소스는 Github에 업로드되어있습니다.https://github.com/leegeunhyeok/Project (경로: Java > Timer) 이미지 파일은 제가 직접 제작하였기 때문에 무단사용을 금지합니다.폰트는 구글링을 통해 찾았습니다. 아래 사진은 프로그램 스크린샷입니다. 실행 시 첫 화면 Start 버튼을 눌러 타이머를 시작합니다.1초마다 갱신되며 중간에 Stop 버튼을 누를 시 타이머가 멈춥니다. 시간 : 분 : 초단위로 출력됩니다. 타이머 시작중에는 Start 버튼이 비활성화됩니다. 타이머 시작 후 Stop버튼을 누르면 시작 후 지금까지 흐른 시간을 확인할 수 있습니다. ..

    [Java] Java FX 파티클 이펙트

    [Java] Java FX 파티클 이펙트

    안녕하세요 자바FX로 파티클 이펙트를 구현해보았습니다. 참고 사이트https://www.reddit.com/r/java/comments/3hiqk4/javafx_game_development_particle_system/ 참고사이트에서 처음 보았을 때, 이런 방식으로 이펙트를 구현 할 수 있다는것을 알았습니다. 오늘도 구글링을 통해 좋은 정보 알아가네요 [ 소스파일 ]Project 저장소에 올려두었습니다. https://github.com/leegeunhyeok/Project 경로: Java -> ParticleTest [ 다운로드 ] [ 스크린샷 ] 실행시키면 이펙트를 바로 확인하실 수 있습니다. 좌측 상단에 슬라이더가 4개 있는데요 R, G, B, 방향 조절기능을 합니다. 원하는 색깔로 이펙트를 확인..

    [Java] AstroWar

    [Java] AstroWar

    자바, Java, 자바 게임, Java Game, 자바 FX, Java FX, Java Swing, 스윙, 게임 만들기, AstroWar, 프로그래밍 안녕하세요 이번 포스팅에서는 AstroWar 라는 게임을 공유할까합니다. 제가 처음 프로그래밍 언어로 C를 배운 후 처음으로 만들었던 슈팅 게임입니다. 자바를 배우고 새롭게 개발하였습니다. GUI 는 java FX로 구성하였습니다. [ 소스코드 ]소스코드는 제 GitHub 에 업로드되어있습니다. https://github.com/leegeunhyeok/AstroWar_FX [ 다운로드 ] 파일당 최대 10MB로 제한되어있어서 분할압축하여 올립니다.두개다 받으신 후 압축풀어주세요 [ 스크린샷 ] 메인화면입니다. 게임시작 > 게임을 시작합니다. 상점 > 코인으..