게임프로그래밍입문 2주차
TRANSCRIPT
![Page 1: 게임프로그래밍입문 2주차](https://reader031.vdocuments.mx/reader031/viewer/2022020213/58ee1ad81a28abb05f8b4709/html5/thumbnails/1.jpg)
게임프로그래밍입문
기연아
![Page 2: 게임프로그래밍입문 2주차](https://reader031.vdocuments.mx/reader031/viewer/2022020213/58ee1ad81a28abb05f8b4709/html5/thumbnails/2.jpg)
프로그래밍의 이해
게임프로그래밍
![Page 3: 게임프로그래밍입문 2주차](https://reader031.vdocuments.mx/reader031/viewer/2022020213/58ee1ad81a28abb05f8b4709/html5/thumbnails/3.jpg)
컴퓨터의 구성
스마트디바이스(컴퓨터, 스마트폰, 태블릿등)
H/W –물리적기계장치(하드웨어)
S/W – H/W를제어(소프트웨어)
![Page 4: 게임프로그래밍입문 2주차](https://reader031.vdocuments.mx/reader031/viewer/2022020213/58ee1ad81a28abb05f8b4709/html5/thumbnails/4.jpg)
프로그래밍이란?
H/W –물리적기계장치(하드웨어)
S/W – H/W를제어(소프트웨어)
사용자가 컴퓨터에 데이터를 입력하고
S/W를 통해 H/W에 명령을 내리면 컴퓨터가
처리하여 결과를 사용자에게 제공
![Page 5: 게임프로그래밍입문 2주차](https://reader031.vdocuments.mx/reader031/viewer/2022020213/58ee1ad81a28abb05f8b4709/html5/thumbnails/5.jpg)
프로그래밍 개요
게임, 애플리케이션, 가전기기 등 다양한 종류의 프로그램을
만드는데 사용하는 언어
컴퓨터가 이해할 수 있는 언어로 해석하여주는 것을 의미
프로그래밍 언어를 통해 원하는 작업을 컴퓨터에게 전달함
규모의 크기에 따라 혼자 전반적인 프로그래밍을 하기도 하
고, 역할을 나누어 팀 단위로 프로그래밍을 하기도 함
가장 많이 사용하는 프로그래밍 언어
모바일용 프로그램 : JAVA, C, C++, C#
운영체제나 운영체제에서 동작하는 프로그램 : C, C++
![Page 6: 게임프로그래밍입문 2주차](https://reader031.vdocuments.mx/reader031/viewer/2022020213/58ee1ad81a28abb05f8b4709/html5/thumbnails/6.jpg)
프로그래밍 개요
프로그래밍 언어 발전 단계
기계어어셈블리어
FORTRANCOBOL
BasicPascal
C
C++JavaDelpi
초기프로그래밍 언어
구조적프로그래밍 언어
객체지향프로그래밍 언어
![Page 7: 게임프로그래밍입문 2주차](https://reader031.vdocuments.mx/reader031/viewer/2022020213/58ee1ad81a28abb05f8b4709/html5/thumbnails/7.jpg)
C언어의 이해
게임프로그래밍
![Page 8: 게임프로그래밍입문 2주차](https://reader031.vdocuments.mx/reader031/viewer/2022020213/58ee1ad81a28abb05f8b4709/html5/thumbnails/8.jpg)
c언어의 특징
시스템 프로그래밍(운영체제, 디바이스 드라이버, 임베디드 시스템 개발 등), 수치 처리, 게임 개발, 데이터 베이스, 네트워크 프로그래밍등에 폭넓게 이용되는 프로그래밍 언어
이식성이 좋음 한 번의 개발로 윈도우, 리눅스 등 다양한 운영체제에서 사용 가능
하드웨어 관련된 부분까지 접근할 수 있음 시스템 프로그래밍이 가능함
![Page 9: 게임프로그래밍입문 2주차](https://reader031.vdocuments.mx/reader031/viewer/2022020213/58ee1ad81a28abb05f8b4709/html5/thumbnails/9.jpg)
c언어 프로그래밍 특징
포인터, 구조체, typedef 등 다양한 자료형과 연산자를 지원하여 표현력이 뛰어남
구문이 간결하고 명확함 다른 프로그래밍 언어도 간결해지고 있는 추세
C언어를 익히면 다른 프로그래밍 언어도 쉽게 익힐 수 있음 입문용 프로그래밍 언어로 가장 널리 쓰이고 있는 프로그래밍 언어
![Page 10: 게임프로그래밍입문 2주차](https://reader031.vdocuments.mx/reader031/viewer/2022020213/58ee1ad81a28abb05f8b4709/html5/thumbnails/10.jpg)
c언어 컴파일러
C언어 컴파일란?
우리가 작성한 프로그램을 컴퓨터가 실행할 수 있는 언어로 변환하는
작업
이를 수행할 수 있는 C 컴파일러가 필요함
C언어 컴파일러 종류
리눅스 환경에서는 기본 내장되어 있는 GCC 컴파일러 사용
윈도우 환경에서는 Visual C++, Turbo C, Turbo C++ 등의 상용
컴파일러 사용
본 수업에서는 MS사에서 제공하는 Visual Studio 2005에서 Visual
C++ 컴파일러를 사용
![Page 11: 게임프로그래밍입문 2주차](https://reader031.vdocuments.mx/reader031/viewer/2022020213/58ee1ad81a28abb05f8b4709/html5/thumbnails/11.jpg)
c언어 프로그래밍 과정
출처 : C언어 for beginner
![Page 12: 게임프로그래밍입문 2주차](https://reader031.vdocuments.mx/reader031/viewer/2022020213/58ee1ad81a28abb05f8b4709/html5/thumbnails/12.jpg)
Visual Studio 2005 설치하기
게임프로그래밍
![Page 13: 게임프로그래밍입문 2주차](https://reader031.vdocuments.mx/reader031/viewer/2022020213/58ee1ad81a28abb05f8b4709/html5/thumbnails/13.jpg)
Visual Studio 2005 다운로드
.iso 형태의 Visual Studio 2005 다운로드 자동 설치가 현재 지원되지 않으므로 수동으로 설치 진행
https://www.microsoft.com/korea/msdn/vstudio/express/support/install/
![Page 14: 게임프로그래밍입문 2주차](https://reader031.vdocuments.mx/reader031/viewer/2022020213/58ee1ad81a28abb05f8b4709/html5/thumbnails/14.jpg)
Visual Studio 2005 다운로드
가상 드라이브를 이용하여 설치 진행
![Page 15: 게임프로그래밍입문 2주차](https://reader031.vdocuments.mx/reader031/viewer/2022020213/58ee1ad81a28abb05f8b4709/html5/thumbnails/15.jpg)
Visual Studio 2005 다운로드
가상 드라이브를 이용하여 설치 진행
![Page 16: 게임프로그래밍입문 2주차](https://reader031.vdocuments.mx/reader031/viewer/2022020213/58ee1ad81a28abb05f8b4709/html5/thumbnails/16.jpg)
Visual Studio 2005 설치하기
![Page 17: 게임프로그래밍입문 2주차](https://reader031.vdocuments.mx/reader031/viewer/2022020213/58ee1ad81a28abb05f8b4709/html5/thumbnails/17.jpg)
Visual Studio 2005 설치하기
![Page 18: 게임프로그래밍입문 2주차](https://reader031.vdocuments.mx/reader031/viewer/2022020213/58ee1ad81a28abb05f8b4709/html5/thumbnails/18.jpg)
Visual Studio 2005 설치하기
![Page 19: 게임프로그래밍입문 2주차](https://reader031.vdocuments.mx/reader031/viewer/2022020213/58ee1ad81a28abb05f8b4709/html5/thumbnails/19.jpg)
Visual Studio 2005 설치하기
![Page 20: 게임프로그래밍입문 2주차](https://reader031.vdocuments.mx/reader031/viewer/2022020213/58ee1ad81a28abb05f8b4709/html5/thumbnails/20.jpg)
Visual Studio 2005 설치하기
![Page 21: 게임프로그래밍입문 2주차](https://reader031.vdocuments.mx/reader031/viewer/2022020213/58ee1ad81a28abb05f8b4709/html5/thumbnails/21.jpg)
Visual Studio 2005 설치완료
![Page 22: 게임프로그래밍입문 2주차](https://reader031.vdocuments.mx/reader031/viewer/2022020213/58ee1ad81a28abb05f8b4709/html5/thumbnails/22.jpg)
Visual Studio 2005 사용하기
게임프로그래밍
![Page 23: 게임프로그래밍입문 2주차](https://reader031.vdocuments.mx/reader031/viewer/2022020213/58ee1ad81a28abb05f8b4709/html5/thumbnails/23.jpg)
프로젝트 생성하기
![Page 24: 게임프로그래밍입문 2주차](https://reader031.vdocuments.mx/reader031/viewer/2022020213/58ee1ad81a28abb05f8b4709/html5/thumbnails/24.jpg)
프로젝트 생성하기
![Page 25: 게임프로그래밍입문 2주차](https://reader031.vdocuments.mx/reader031/viewer/2022020213/58ee1ad81a28abb05f8b4709/html5/thumbnails/25.jpg)
프로젝트 생성하기
프로젝트/파일명 작성 규칙
프로젝트 명을 보고 어떤 프로젝트인지 알 수 있도록 작성
간결하고 명확하게 작성
영어로 작성
특수 기호는 사용하지 않음
![Page 26: 게임프로그래밍입문 2주차](https://reader031.vdocuments.mx/reader031/viewer/2022020213/58ee1ad81a28abb05f8b4709/html5/thumbnails/26.jpg)
프로젝트 생성하기
![Page 27: 게임프로그래밍입문 2주차](https://reader031.vdocuments.mx/reader031/viewer/2022020213/58ee1ad81a28abb05f8b4709/html5/thumbnails/27.jpg)
프로젝트 생성하기
![Page 28: 게임프로그래밍입문 2주차](https://reader031.vdocuments.mx/reader031/viewer/2022020213/58ee1ad81a28abb05f8b4709/html5/thumbnails/28.jpg)
프로젝트 생성하기
솔루션
프로젝트
C 파일 헤더파일
![Page 29: 게임프로그래밍입문 2주차](https://reader031.vdocuments.mx/reader031/viewer/2022020213/58ee1ad81a28abb05f8b4709/html5/thumbnails/29.jpg)
프로그램 생성하기
마우스우클릭선택
![Page 30: 게임프로그래밍입문 2주차](https://reader031.vdocuments.mx/reader031/viewer/2022020213/58ee1ad81a28abb05f8b4709/html5/thumbnails/30.jpg)
프로그램 생성하기
파일명.C
![Page 31: 게임프로그래밍입문 2주차](https://reader031.vdocuments.mx/reader031/viewer/2022020213/58ee1ad81a28abb05f8b4709/html5/thumbnails/31.jpg)
프로그램 생성하기
![Page 32: 게임프로그래밍입문 2주차](https://reader031.vdocuments.mx/reader031/viewer/2022020213/58ee1ad81a28abb05f8b4709/html5/thumbnails/32.jpg)
C언어 맛보기
게임프로그래밍
![Page 33: 게임프로그래밍입문 2주차](https://reader031.vdocuments.mx/reader031/viewer/2022020213/58ee1ad81a28abb05f8b4709/html5/thumbnails/33.jpg)
프로그램 작성하기
코딩(프로그래밍)하는 공간
![Page 34: 게임프로그래밍입문 2주차](https://reader031.vdocuments.mx/reader031/viewer/2022020213/58ee1ad81a28abb05f8b4709/html5/thumbnails/34.jpg)
프로그램 작성하기
#include <stdio.h>
int main(){
printf(“hello world”);return 0;
}
헤더파일(*.h), 모든 소스코드에 반드시 포함
메인 함수
의미는 모르겠지만, 일단 작성해보자!
![Page 35: 게임프로그래밍입문 2주차](https://reader031.vdocuments.mx/reader031/viewer/2022020213/58ee1ad81a28abb05f8b4709/html5/thumbnails/35.jpg)
프로그램 작성하기
파란색으로 표시되는 글자는 프로그램에서 약속된 의미로사용하고 있는 단어
![Page 36: 게임프로그래밍입문 2주차](https://reader031.vdocuments.mx/reader031/viewer/2022020213/58ee1ad81a28abb05f8b4709/html5/thumbnails/36.jpg)
프로그램 저장하기
디스크 모양의 저장 버튼 클릭 [파일] -> [파일명.c 저장]
![Page 37: 게임프로그래밍입문 2주차](https://reader031.vdocuments.mx/reader031/viewer/2022020213/58ee1ad81a28abb05f8b4709/html5/thumbnails/37.jpg)
프로그램 빌드하기
컴파일 및 링크를 수행하는 부분 작성한 프로그램 코드를 컴퓨터가 이해할 수 있는 언어로 변환 오류 검사 .exe 실행파일 생성
F7
![Page 38: 게임프로그래밍입문 2주차](https://reader031.vdocuments.mx/reader031/viewer/2022020213/58ee1ad81a28abb05f8b4709/html5/thumbnails/38.jpg)
프로그램 빌드하기
![Page 39: 게임프로그래밍입문 2주차](https://reader031.vdocuments.mx/reader031/viewer/2022020213/58ee1ad81a28abb05f8b4709/html5/thumbnails/39.jpg)
프로그램 빌드하기
경고(warning) : 컴파일과 실행에는 영향을 미치지 않지만 무시할 경우 논
리적 오류가 발생할 수 있음.
오류 (error) : C언어의 프로그래밍 문법에 맞지 않게 작성한 경우 발생하
는 문법적 오류(syntax error) 혹은 링크 단계에서 발생하는 오류(link
error)
![Page 40: 게임프로그래밍입문 2주차](https://reader031.vdocuments.mx/reader031/viewer/2022020213/58ee1ad81a28abb05f8b4709/html5/thumbnails/40.jpg)
프로그램 오류 수정하기
다음 코드를 수행하였을 때, 경고 혹은 오류를 확인합니다
#include <stdio.h> int main() { printf(“hello world”); }
/* #include <stdio.h> */int main()
{printf(“hello world”);return 0;
}
#include <stdio.h> main(){}
![Page 41: 게임프로그래밍입문 2주차](https://reader031.vdocuments.mx/reader031/viewer/2022020213/58ee1ad81a28abb05f8b4709/html5/thumbnails/41.jpg)
프로그램 오류 수정하기
문법적 오류 발생 시, 오류 발생 위치를 알려주므로 쉽게 수정 가능 수정 후, 다시 빌드하여 오류가 정상적으로 제거되었는지 확인
![Page 42: 게임프로그래밍입문 2주차](https://reader031.vdocuments.mx/reader031/viewer/2022020213/58ee1ad81a28abb05f8b4709/html5/thumbnails/42.jpg)
프로그램 실행하기
콘솔을 이용하여 프로그램에서 바로 결과 확인 메뉴에서 “디버깅하지 않고 시작” 선택 혹은 “Ctrl+F5” 실행
실행을 종료하려면 키보드 아무거나 클릭
![Page 43: 게임프로그래밍입문 2주차](https://reader031.vdocuments.mx/reader031/viewer/2022020213/58ee1ad81a28abb05f8b4709/html5/thumbnails/43.jpg)
프로그램 실행하기
명령 프롬프트를 이용하여 윈도우에서 실행 메뉴를 디버그에서 릴리즈로 변경하고 실행
![Page 44: 게임프로그래밍입문 2주차](https://reader031.vdocuments.mx/reader031/viewer/2022020213/58ee1ad81a28abb05f8b4709/html5/thumbnails/44.jpg)
프로그램 실행하기
명령 프롬프트를 이용하여 윈도우에서 실행 명령 프롬프트를 열어 자신의 프로젝트를 저장한 위치로 이동하여
Release 폴더로 이동
.exe 파일명을 입력하여 프로그램 수행
![Page 45: 게임프로그래밍입문 2주차](https://reader031.vdocuments.mx/reader031/viewer/2022020213/58ee1ad81a28abb05f8b4709/html5/thumbnails/45.jpg)
프로그램 작성하기
#include <stdio.h>
int main(){
printf(“%d”, 100-10);return 0;
}
헤더파일(*.h), 모든 소스코드에 반드시 포함
메인 함수
자세한 설명은 다음 시간에,그래도 한 번 결과를 예측하고 작성해보자!!
![Page 46: 게임프로그래밍입문 2주차](https://reader031.vdocuments.mx/reader031/viewer/2022020213/58ee1ad81a28abb05f8b4709/html5/thumbnails/46.jpg)
오늘의 실습
게임프로그래밍
![Page 47: 게임프로그래밍입문 2주차](https://reader031.vdocuments.mx/reader031/viewer/2022020213/58ee1ad81a28abb05f8b4709/html5/thumbnails/47.jpg)
실습
printf()를 이용하여 나무 모양 만들기 참고!! 줄 바꿈 표시 : \n [ex: printf(“hello world \n”); ]