고급강의실
2013.09.16 06:28

RGSS 스크립트 강좌 입문 2 - 수

조회 수 2256 추천 수 0 댓글 3
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 수정 삭제
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 수정 삭제

스크립트 강좌 두번째 시간입니다. 
지난시간에는 루비스크립트의 가장 기초가 되는 개념들을 알아봤습니다. 
강좌의 입문편에서는 이러한 기초개념과 주로쓰이는 명령어등과 기능을 알아보고, 간단한 구조를 다룰까합니다.

그럼 먼저 식과 수치에 대해 알아보겠습니다.

1. 식

루비에서는 제어구조나 변수, 리터럴을 "식"이라고 합니다. 어떤 변수의 내용이 있다면 그것이 식이 되는것이지요.
이런 식을 놓고 조합하는것이 하나의 프로그램이 됩니다.  수학에서와 같이 식은 괄호 () 로 묶을수있습니다.
수학에서는 다양한 괄호를 사용하지만 스크립트에서는 같은 기호로 여러개를 만들수있습니다.

2. 정수와 부동소수점수

루비에서 이용할수있는 수치에는 "정수"와 실수인 "부동 소수점 수"를 사용할수있는데, 부동 소수점 수 라는것은 컴퓨터에서 사용하는 숫자 가운데에 소수점이 있는 숫자를 말합니다. 예를 들면 아래와 같습니다.

5      정수
-5     정수
5.0   부동소수점수
5.1   부동소수점수

부동소수점수는 매우 중요합니다. 이유는 루비에서 연산을 할때 정수와 정수의 연산에는 꼭 정수가 나오지만,  부동소수점수인 값을 산출하고싶을때는 꼭 부동소수점수를 넣어주어야 합니다. 
초등학교 산수에 보면 나누기 처음배울때 정수값만 구하고 나머지를 따로 구하는데 그거랑 같은맥락 이라고 하면되겠습니다.
예를 들면 아래와 같습니다.

10 / 6 = 1

10 / 6.0 = 1.666666....66667
10.0 / 6 = 1.666666....66667
10.0 / 6.0 = 1.666666....66667

사실 루비에서 = 은 '같다'라는 의미가 아니고 "~은 ~이다." 같이 정의해주는 명령어 입니다. 편의상 여기서만 같다라는 의미로 사용하도록 하겠습니다.
부동소수점은 아마 게임제작중에 거의 등장할일이 없을겁니다. 워낙에 게임상에서는 정수를 주로 사용하다 보니 쓸일은 많지않군요.


3. 연산자식

루비에서 사용할수있는 연산자식는 다음과같습니다.

       ::
       []
       **
       -(단항)  +(단항)  !   ~
       *  /  %
       +  -
       << >>
       &
       |  ^
       > >=  < <=
       <=> ==  === ! =  =~  ! ~
       &&
       ||
       ..  ...
       ? :(조건 연산자)
       =(+=, -= ... )
       not
      and or

연산자식에는 순서가 있는데 위에서 부터 우선순위가 높습니다.
간단하게 예를들면 

8 * 3 & 4   ==   (8 * 3 )& 4
8 & 3 * 4   ==   8 & (3 * 4)

이런식으로  연산자 * 은 연산자 & 보다 우선순위가 높습니다. 
덧셈, 뺄셈 보다 곱셈, 나눗셈이 먼저 계산이 되는것이랑 비슷합니다.

특이하게 루비에서 대부분의 연산자는 하나의 메서드로 되어있는데, 어떤 연산자는 불러내어 다시 재정의할수가 있습니다. 
개인적인 생각이지만 되도록이면 연산자를 만든다던지 하는건 좋은생각 같진 않습니다.

4. 계산

기본적인 계산 (덧셈 뺄셈)은 초등학생도 알고있기에 몇개 특별한것만 찍어서 설명하겠습니다.

- 소수점이하의 계산

위에서도 말했듯이 정수를 정수로 나누면 나머지는 잘라버리기 때문에 답이 정수로 나오게 됩니다. 그래서 답을 재대로 내고싶다면 
답이 아닌 계산하는수 중 하나라도 부동소수점수를 사용해야 합니다.

- 나머지의 계산

계속 언급되는 문제지만 루비에서는 나눗셈의 나머지를 연산자 % 로 구할수있습니다. 

14 % 4  == 2
13 % 4  == 1
12 % 4  == 0

- 제곱의 계산

제곱은 ** 을 사용합니다.

2 ** 4  == 16

한글로 표현하면 "2의 4제곱승" 인것이지요.


이번에는 계산과 연산자식을 살펴봤는데요.
원래는 각각 연산자식의 메서드를 살펴봐야 되지만 사실상 아무것도 모르는분들도 있어 
머리만 아프게 할수도 있기에 차후에 필요하면 살펴보도록 하겠습니다. 
다음시간엔 메서드를 조금 만지작 거려봅시다.

?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수 추천 수
공지 초급강의실 게임제작강좌 A-Z 색인 (2016.1.24 ver) 2 file 천무 2016.01.12 7381 1
32 초급강의실 [동영상] 게임을만들자 (5편) - 퀘스트 만들기 - 3 file 천무 2016.02.11 3832 1
31 고급강의실 VX ACE XAS로 액션 RPG를 만들어보자! - 1. 개요 데크크래프트 2015.04.01 3967 0
30 초급강의실 누구나 쉽게 따라할 수 있는 액션/슈팅 이벤트 만들기! 4 file 이제리아 2017.01.26 4056 2
29 고급강의실 처음부터 전체화면으로 시작하기 3 file 러닝은빛 2015.12.21 4118 0
28 초급강의실 [동영상] RPG Maker MV 튜토리얼 강좌 6화 스위치의 응용 7 file 작긔 2015.12.22 4158 2
27 고급강의실 RGSS 스크립트 강좌 입문 1 - 기초 개념 8 마니아 2013.09.16 4351 0
26 중급강의실 아오오니처럼 따라오는 이벤트 만들기 5 빙냥이 2013.12.11 4357 3
25 중급강의실 RPGXP의 데미지 계산식 (Part 1. 기본공격편) 7 마니아 2013.09.17 4535 1
24 초급강의실 RPG Maker MV에서 도트 느낌의 폰트 사용하기 1 file 러닝은빛 2018.07.15 4552 1
23 고급강의실 RPG Maker MV 메모리 누수 문제 해결법 6 러닝은빛 2016.01.07 4741 1
22 초급강의실 게임의 퀼리티를 높이자! 1편-표지판 9 file ifeve 2016.01.18 4929 0
21 초급강의실 게임의 퀼리티를 높이자! 3편-맵배치 2 ifeve 2016.04.08 4964 2
20 중급강의실 액알강의[2] - 일어서기위해 비밀소년 2006.07.30 5181 3
19 초급강의실 [동영상] 게임을만들자 (2편) - 캐릭터 연기 시키자- 2 천무 2016.01.14 5256 0
18 중급강의실 액알강의[3] - 주석을 통한 설정 1 file 비밀소년 2006.07.21 5329 4
17 초급강의실 [동영상] RPG Maker MV 튜토리얼 강좌 1화 맵칩 불러오기 4 작긔 2015.12.22 5592 1
16 고급강의실 [MV플러그인] Action Sequence 강의 5 file 백난화백 2016.02.12 5646 1
15 초급강의실 [동영상] 게임을만들자 (1편) - 시작해봅시다- 6 천무 2016.01.11 5700 5
14 초급강의실 찰드 제작강의 "2" -툴을 처음 접하면- 4 ◈ÐÆЯΚ◈찰드 2008.09.29 5967 7
13 초급강의실 초보가쓰는 초보용 Rpg게임 만들기 (xp) 6 Marine 2016.03.13 6167 0
Board Pagination Prev 1 ... 4 5 6 7 8 9 10 Next
/ 10






[개인정보취급방침] | [이용약관] | [제휴문의] | [후원창구] | [인디사이드연혁]

Copyright © 1999 - 2016 INdiSide.com/(주)씨엘쓰리디 All Rights Reserved.
인디사이드 운영자 : 천무(이지선) | kernys(김원배) | 사신지(김병국)