언어/기타
2005.12.01 09:02

변수 그까이꺼. 2편 - 함수식

조회 수 713 추천 수 9 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 수정 삭제
함수. 중학교 1학년 수-가 에 보면 나옵니다.
기본적으로 정비례와 반비례가 나오는데, 이건 일단 제쳐봅시다.
함수의 기본 식은 y = ax+b 입니다. 여기다가 a와 b에 다양한 숫자를 대입시켜
함수를 만드는 것이지요.
함수식은 프로그래밍에서 매우 중요한 역할을 합니다. x의 값이 다양하게
있는데, 이걸 일일이 전부 계산해서 나온 값을 활요하다기 보다는, 계산하는
과정만 정해놓고 x의 값을 변경해 주는것이 빠르죠. 그렇기 때문에 필요한 것입니다.

간단한 예를 들어봅시다.
n번째 홀수를 구하는 식은 다들 알고 계시죠? 넵. 바로 2n-1 이라는 식입니다.
이 미지수 n 에다가 5를 집어넣면 5번째 홀수가 9라는것이 바로 나옵니다.
그런데 이러한 식을 사용하지 않고 일일이 계산한다면, 1-첫번째, 3-두번째....
5-아홉번째.....까지 세야합니다. n=5 라면 가능할지도 모르지만, 99같은 매우 큰
수는 구하기가 힘듭니다. 이걸 빨리하는 것이 지금 제가 설명하는 것입니다.

게임 제작을 할때로 예를 들어봅시다. 마법을 만들기 위해서 범위를 만들어야 하는데,
신기한 마법이라서 방향 관계없이 북쪽만 향하는 나침반 마법이 있다고 합시다.
그렇다면 주인공으로부터 북쪽으로 한칸에 해당하는 값이 필요한데, 이걸 각 x, y별로
조건 분기를 해서거기다가 y+1을 하는건 바보같은 짓이죠. 그냥 x에게 "너 주인공의
y축. 오케이?" 라고 하고 y에게 "넌 x가 하는짓 보다 하나 씩 더 많이 해"라고 해두면,
x가 뭐든지 간에 y는 x+1이 나옵니다. x = y축 이기 때문에 결과는 y+1의 값이 나옵니다.
이럴때 필요한 것입니다.

이런식으로, 공격력과 방어력으로 데미지 계산 한다던지 할때 필요한 것이 바로
함수식 입니다. 공격력-방어력을 할때, 공격력의 범위 1~999와 방어력의 범위1~9999의
모든 경우의 수를 다 구해서 약 999! * 9999! 정도의 조건 분기를 만들기 보다는,
그냥 x-y라고 하면 됩니다. 그래서 함수식을 강조 하는 것입니다. 제 생각이지만,
변수를 다루다 보면 함수식의 개념을 자연적으로 머리에 들어오게 됩니다.

그럼 모두 아시리라 믿고....도주.



주) 999! 이란것은 1부터 999까지의 수를 곱한것. 거기다가 1부터 9999까지의 수를 곱한것을
곱한건.....계산기로도 계산 불가. 언제 9999까지 누르고 있겠습니까...
?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
701 언어/기타 [마지막 3명 모집] [취업연계무료교육] VR/AR 게임 콘텐츠 전문가 양성 과정 교육생 모집 file 황금상자 2017.07.14 702
700 언어/기타 JSON parser 변환데이터 저장시 생기는 Object Too Deep 해결하기 title: 댓글러lklslel 2016.12.24 851
699 언어/기타 앙뜨프리너십에서 해커톤 부트캠프 모집중이네요 file 마나님이 2016.11.08 908
698 언어/기타 게임의 버전을 짜 보자! - 유의적 버전 2.0.0 Yanggaeng 2016.06.07 1123
697 언어/기타 RPG게임 뻔한요소들. 8 title: 천무천무 2015.10.05 1644
696 언어/기타 자바스크립트와 관련해서 참고할 만한 사이트들 3 MARCO 2015.10.04 921
695 언어/기타 꿀잼이군요! 3 사람님[대회참가] 2015.05.20 873
694 언어/기타 [강의링크] 대비법칙-색상대비-밀당의 재미 약한 반대색 설계 title: 천무천무 2015.04.02 636
693 언어/기타 오다 주웠습니다. 9 사람님[대회참가] 2015.03.30 917
692 언어/기타 무료 이미지 사이트 Pixabay! 9 file 나작소 2015.03.28 909
691 언어/기타 페인터(코럴) 브러쉬 세팅 공유 :) 8 file 샤이귤군 2015.03.28 1577
690 언어/기타 유화재료 & 기법 살짝 팁 공유 (매우 깁니다 -3-) 11 file 샤이귤군 2015.03.28 912
689 언어/기타 픽사에서 텍스쳐 꽁짜로 뿌림ㅋ 8 사람님(대회참가) 2015.03.26 912
688 언어/기타 멀티해상도에 따른 속도와 가속도 값의 조절 1 MiDtics2 2013.01.13 859
687 언어/기타 [Android] 멀티스크린 노하우 2 MiDtics2 2012.10.27 1516
686 언어/기타 [js] 코드 압축 걸음마 2 1 2012.06.12 1059
685 언어/기타 [css] css 겉핥기 핥핥 1 file 2012.05.03 938
684 언어/기타 [css, js] form - select안의 option들에 스타일 적용하기 4 file 2012.04.28 5364
683 언어/기타 게임,개발기획의 기초 5 Grand 2011.08.01 2901
682 언어/기타 지형설정에서 원경(앞, 뒤)가 가지는 역할 file Dicky 2011.07.28 2491
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 36 Next
/ 36


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

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