작성일 참고서적 – Programing Game AI by Example

Slides:



Advertisements
Similar presentations
Ⅰ. 연산자 Ⅱ. 제어 구조. 연산자 : 할당 연산자 - 사용자가 정의한 변수에 임의의 값을 저장하는 기능 strvar = strVar1+ “ Hello ”
Advertisements

파이썬 (Python). 1 일 : 파이썬 프로그래밍 기초 2 일 : 객체, 문자열 3 일 : 문자인코딩, 정규표현식, 옛한글 4 일 : 파일 입출력 5 일 : 함수와 모듈 6 일 : 원시 말뭉치 다루기 실습 7 일 : 주석 말뭉치 다루기 실습 8 일 : 웹 데이터로.
Python Ch.06 RaspberryPi Sejin Oh. Raspberry Pi Python  IDLE(Integrated Development Environment)  라즈베리 파이 배포본들은 일반적으로 파이썬과 파이썬 3 의 IDLE 파 이썬 개발 도구를.
1 08 배열. 한국대학교 객체지향연구소 2 C 로 배우는 프로그래밍 기초 2 nd Edition 배열  동일한 자료유형의 여러 변수를 일괄 선언  연속적인 항목들이 동일한 크기로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는.
1. 2 차원 배열  배열은 동일한 데이터 유형으로 여러 개의 변수를 사용할 경우 같은 이 름으로 지정하여 간편하게 사용할 수 있도록 하는 것으로서 앞에서 1 차원 배열을 공부하였습니다.  2 차원 배열은 바둑판을 생각하면 되며, 1 차원 배열에서 사용하는 첨자를 2.
출석수업 과제 – 총 5문제, 10월 25일 제출 정보통계학과 장영재 교수.
ㅎㅎ 구조체 구조체 사용하기 함수 매개변수로서의 구조체 구조체 포인터와 레퍼런스 구조체 배열.
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
Report #5 - due: 4/13 다음 10*5의 희소 행렬 A, B를 고려하라.
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
Chapter 7. 조건문.
Report #2 - Solution 문제 #1: 다음과 같이 프로그램을 작성하라.
MySQL 및 Workbench 설치 데이터 베이스.
7장 배열 ②.
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 12. 포인터의 이해.
제 6장. 생성자와 소멸자 학기 프로그래밍언어및실습 (C++).
Communication and Information Systems Lab. 황재철
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
C#.
10강. JSP 본격적으로 살펴보기-II 스크립트릿, 선언, 표현식 지시자 주석 Lecturer Kim Myoung-Ho
JA A V W. 03.
C 언어 교육 02 주차 – scanf & 반복문과 조건문 교육부장 조하정.
프로그래밍 개요
어서와 C언어는 처음이지 제14장.
인터넷응용프로그래밍 JavaScript(Intro).
3장 상수 변수 기본 자료형 키워드와 식별자 상수와 변수 기본 자료형 형변환 자료형의 재정의.
7장. 다양한 형태의 반복문. 7장. 다양한 형태의 반복문 7-1 반복문이란? 반복문의 기능 세 가지 형태의 반복문 특정 영역을 특정 조건이 만족하는 동안에 반복 실행하기 위한 문장 7-1 반복문이란? 반복문의 기능 특정 영역을 특정 조건이 만족하는 동안에 반복.
19. 함수 포인터와 void 포인터.
3장. 변수와 연산자 교안 : 전자정보통신 홈페이지 / 커뮤니티/ 학술세미나
Term Projects 다음에 주어진 2개중에서 한 개를 선택하여 문제를 해결하시오. 기한: 중간 보고서: 5/30 (5)
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
에어 조건문.
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
2장. 변수와 타입.
아두이노 매트릭스 코딩 매트릭스 기본 명령어 실습 01차시 ㈜헬로앱스 김영준.
컴퓨터 프로그래밍 기초 - 5th : 조건문(if, else if, else, switch-case) -
자바 가상 머신 프로그래밍 Chap 10. 자바 컴파일링의 안쪽 ② Pslab 오민경.
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
5강. 배열 배열이란? 배열의 문법 변수와 같이 이해하는 배열의 메모리 구조의 이해 레퍼런스의 이해 다차원 배열
3강. 컴퓨터와의 기본적인 소통수단 - I 연산자란? 컴퓨터와 소통하기 위한 다양한 방법들
작성일 참고서적 – Programing Game AI by Example
문자열 컴퓨터시뮬레이션학과 2015년 봄학기 담당교수 : 이형원 E304호,
컴퓨터 프로그래밍 기초 [01] Visual Studio 설치 및 사용방법
Fucntion 요약.
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
[ 단원 04 ] 반복과 배열.
디버깅 관련 옵션 실습해보기 발표 : 2008년 5월 19일 2분반 정 훈 승
OpenCV 설정 2.21 만든이 딩딩.
에어 PHP 입문.
수동 설치시는 설치 방법 1. 두번에 설치 CD 속에 fscommand 폴더 밑에 Osstem 이라는 폴더를
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
Flow Diagram IV While.
7장. 다양한 형태의 반복문. 7장. 다양한 형태의 반복문 7-1 반복문이란? 반복문의 기능 세 가지 형태의 반복문 특정 영역을 특정 조건이 만족하는 동안에 반복 실행하기 위한 문장 7-1 반복문이란? 반복문의 기능 특정 영역을 특정 조건이 만족하는 동안에 반복.
Chapter 10 데이터 검색1.
12 그리드 시스템.
함수, 모듈.
11장 배열 1. 배열이란? 1.1 배열의 개요 1.2 배열의 선언과 사용.
컴퓨터 프로그래밍 기초 - 9th : 배열 / 포인터 -
16장. 변수, 연산자, 사용자 정의 함수 변수 배열과 객체 연산자 함수.
8장 선택 논리 II 1. 논리연산자 1.1 논리연산자 : AND (&&) 1.2 논리연산자 : OR (||)
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
어서와 C언어는 처음이지 제21장.
 6장. SQL 쿼리.
개정판 누구나 즐기는 C언어 콘서트 제13장 동적 메모리 출처: pixabay.
7 생성자 함수.
6 객체.
SPL-Duino 블록 편집기 이용하기 전류센서 블록 만들기 SPL-Duino 블록 편집기를 실행합니다.
Presentation transcript:

작성일 2007.07.16 참고서적 – Programing Game AI by Example Lua Script 1.기초 문법 Lua 5.1.2 버전 작성일 2007.07.16 참고서적 – Programing Game AI by Example 작성자 : 10thP김성재

시작하기 앞서.. 정품이 필요하시다면 알아서 구하시길.. 설치

시작하기 앞서.. 좌측 버튼을 눌러 yohani_1155114543_wowlua.stx (WOW의 lua 스크립트 하이라이팅 출처 : wow.somegate.com ) 추가한 후 확인을 하면 에디트 플러스에서 Lua 스크립트 하이라이팅이 적용된다.

실행 방법(LuaConsole이용) Edit Plus나 메모장 등의 편집기를 이용해 작성한 후 위와 같이 “LuaConsole.exe”를 실행해 위와 같은 방식으로 스크립트 파일을 읽는다. <>가 아니고 () 괄호 입니다. (“rps.lua”) 이게 맞습니다. 지금부터 할 예제들을 하나씩 실행해보면서 익혀봅시다. 꼭!

기초 - 0. 주석 한줄 주석 : -- 여러줄 주석 : --[[ 시작 ~ 끝 ]] 여러줄 주석내에 여러줄 주석이 있으면 Error가 나므로 주의 할것.

기초 – 세미 콜론( ; ) 명령어 끝에 ; 은 붙여도 되고 안 붙여도 된다.

기초 – 1. 자료형 루아는 기본적으로 자료형에 구애 받지 않는다. 루아는 기본적으로 자료형에 구애 받지 않는다. 다만 Cpp에서 사용할때, 명시적인 변환이 요구 되기 때문에 알아두어야 한다. 루아에는 쓰레드 자료형도 있지만 사용해 본 적이 없어서 건너 뛰겠다.

기초 – 1. 자료형의 종류 nil - 그냥 NULL 이다. 변수 초기화 안하면, 이걸로 세팅 된다. number  - 내부적으로 double이다. Cpp에서 사용할때 형변환 잘 해야한다. boollean - false아니면 true. (0 아니면 1)

기초 – 1. 자료형의 종류 string    - 8bit의 문자열 배열이다. 연결 연산자 '..'를 사용해서 문자들을 연결가능하다.              ‘..'은 연결하려는 자료가 문자가 아니면 문자로 변환시킨다.           ex)  age = 25                  print("내나이는 "..age.."랍니다") function - 루아에선 함수도 자료형이다. 그래서 변수에도 저장 될 수 있다.

기초 – 1. 자료형의 종류(함수) 함수 정의에는 두가지 방식이 있다. Add = function(a, b) return a+b end Function Add(a,b) return a+b end Add 라는 이름의 함수 인자값 a, b를 합해서 return 해주고 있다. Ex)

Return 값이 여러개인 함수 return 값이 여러 개인 함수는 위와 같이 return 값을 받아 사용한다.

기초 – 1. 자료형의 종류 Table – 배열과 비슷하게 쓰인다.              index를 문자, 문장, 숫자들을 사용 할 수 있다. 시작 index는 0이 아닌, 1 이다.

기초 – 1. Lua Table Table 생성 test_table = {} test_table[1] = 4; test_table[2] = 1.2; test_table[3] = "문장도 되요"; 또는 test_table = {1, 1.2, "문장도 되요"}; 위와 같이 동일한 index 1, 2, 3으로 사용됨

기초 – 1. Associate Table AssociateTable = {} -- 테이블 생성 AssociateTable[“one”] = 1; AssociateTable[“two”] = “둘”; Index 1은 자동적으로 처음에 입력한 값을 가르키는 것이 아니다.

기초 – 1. Table 에러 Table1.lua .위는 Table 정의시 가장 안전한 방법인, 한줄씩 정의하기 이다. .이것을 기준으로 Table 정의시 에러를 몇 가지 살펴보자.

기초 – 1. Table 에러 TableError1.lua

기초 – 1. Table 에러 TableError2.lua . 한번에 정의하는 방식을 나중에 하면, 이전에 정의했던 값들은 사라져버린다. 위에서 “숫자” 부분이 빨간 사각형 위에 써있었다면 숫자가 나올부분도 nil 값이 나왔을 것이다.

기초 – 1. Associate Table 다음과 같은 형태의 Associate Table도 가능하다 lookup={}; -- Table 생성              lookup["rock"] = {}              lookup["rock"]["rock"]         = "draw"              lookup["rock"]["paper"]      = "lose"              lookup["rock"]["scissors"]    = "win“ 행, 열 의 순서로 작성 되었다. (1행 Rock 부분만 설정하고 있음)

기초 – 1. Associate Table 아래와 같은 값 설정 방식도 가능하다                                lookup = {} --Table 생성                 lookup["rock"]        = {rock = "draw", paper = "lose", scissors = "win"}                 lookup["paper"]      = {rock = "win" , paper = "draw", scissors = "lose"}                 lookup["scissors"]   = {rock = "lose", paper = "win" , scissors = "draw"}

기초 – 1. Associate Table 사용 위의 두개의 print문중 아무 방식으로 Table에 접근해도 상관 없다.

기초 – 1. Associate Table 사용 Associate Table로 함수를 가르키고 호출도 가능하다. 또 직접적으로 함수를 정의해줄 수 있다.

기초-2. 논리 연산자 같음 == 같지 않음 ~= 크고, 작고, 같거나 작음, 같거나 큼 등은 (C와 동일함) C / Lua 같음 == 같지 않음 ~= 크고, 작고, 같거나 작음, 같거나 큼 등은 (C와 동일함) C / Lua ! -> not && -> and || -> or

기초-3. 조건문 if if 이후에는 항상 then을 잊지 말것 else if 가 아니고 elseif 임을 잊지 말것 시작은 if로 끝맺음은 end 임. 같지 않음은 != 이 아닌 ~=임

기초-3. 조건문 if 위 표현식은 에러를 유발함 유의하기 바람 이와 같이 사용해야 올바른 실행이 보장됨

기초 – 4. 반복문 (while) 설명이 필요 없으리라 생각한다. break로 구문을 빠져나갈수 있다.

기초 – 4. 반복문 (repeat) 설명이 필요 없으리라 생각한다. break로 구문을 빠져나갈수 있다.

기초 – 4. 반복문 (for) 초기 값, 종료 값, 증가 값 순이다. 따로 변수를 선언해줄 필요 없다. break로 구문을 빠져나갈수 있다.

기초 – 4. 반복문(실수를 허용) 반복문 모두 위와 같은 실수형을 허용한다.

기초 문법 끝내면서… 아래 Random 값을 발생 시키는 아래 문장을 참조하여, 가위 바위 보를 만들어 보자. 관계테이블(Associate Table)및 함수등을 이용해서 연습 해보는 것이 좋을 것이다. (책에서 제공하는 소스를 첨부합니다.)

기초 문법 끝내면서… 기획자 분들은 여기까지만 하셔도 좋습니다. 기획자 분들은 여기까지만 하셔도 좋습니다. Class를 사용할 줄 아신다면, 다음에 올릴 ppt에 ”(3).Script에서 Class 정의하기” 부분을 살펴보시기 바랍니다. 수고하셧습니다 ^^ - 07년 10월 27일 마침.