Severity: 8192
Message: Creation of dynamic property CI_Cache::$apc is deprecated
Filename: libraries/Driver.php
Line Number: 188
Backtrace:
File: /volume1/web/PhpstormProjects/www_polymath_co_kr/application/libraries/Cacher.php
Line: 22
Function: driver
File: /volume1/web/PhpstormProjects/www_polymath_co_kr/application/libraries/Cacher.php
Line: 17
Function: initiateCache
File: /volume1/web/PhpstormProjects/www_polymath_co_kr/application/controllers/ver3/Contents.php
Line: 14
Function: __construct
File: /volume1/web/PhpstormProjects/www_polymath_co_kr/index.php
Line: 315
Function: require_once
Severity: 8192
Message: Creation of dynamic property CI_Cache::$file is deprecated
Filename: libraries/Driver.php
Line Number: 188
Backtrace:
File: /volume1/web/PhpstormProjects/www_polymath_co_kr/application/libraries/Cacher.php
Line: 22
Function: driver
File: /volume1/web/PhpstormProjects/www_polymath_co_kr/application/libraries/Cacher.php
Line: 17
Function: initiateCache
File: /volume1/web/PhpstormProjects/www_polymath_co_kr/application/controllers/ver3/Contents.php
Line: 14
Function: __construct
File: /volume1/web/PhpstormProjects/www_polymath_co_kr/index.php
Line: 315
Function: require_once
Severity: 8192
Message: Creation of dynamic property Contents_model::$best_cnt is deprecated
Filename: ver3/Contents_model.php
Line Number: 17
Backtrace:
File: /volume1/web/PhpstormProjects/www_polymath_co_kr/application/models/ver3/Contents_model.php
Line: 17
Function: _error_handler
File: /volume1/web/PhpstormProjects/www_polymath_co_kr/application/libraries/Common.php
Line: 440
Function: model
File: /volume1/web/PhpstormProjects/www_polymath_co_kr/application/libraries/Common.php
Line: 29
Function: initMenu
File: /volume1/web/PhpstormProjects/www_polymath_co_kr/application/controllers/ver3/Contents.php
Line: 14
Function: __construct
File: /volume1/web/PhpstormProjects/www_polymath_co_kr/index.php
Line: 315
Function: require_once
Severity: 8192
Message: Creation of dynamic property Contents_model::$popular_cnt is deprecated
Filename: ver3/Contents_model.php
Line Number: 18
Backtrace:
File: /volume1/web/PhpstormProjects/www_polymath_co_kr/application/models/ver3/Contents_model.php
Line: 18
Function: _error_handler
File: /volume1/web/PhpstormProjects/www_polymath_co_kr/application/libraries/Common.php
Line: 440
Function: model
File: /volume1/web/PhpstormProjects/www_polymath_co_kr/application/libraries/Common.php
Line: 29
Function: initMenu
File: /volume1/web/PhpstormProjects/www_polymath_co_kr/application/controllers/ver3/Contents.php
Line: 14
Function: __construct
File: /volume1/web/PhpstormProjects/www_polymath_co_kr/index.php
Line: 315
Function: require_once
Severity: 8192
Message: Creation of dynamic property CI_Cache::$dummy is deprecated
Filename: libraries/Driver.php
Line Number: 188
Backtrace:
File: /volume1/web/PhpstormProjects/www_polymath_co_kr/application/models/ver3/Contents_model.php
Line: 799
Function: get
File: /volume1/web/PhpstormProjects/www_polymath_co_kr/application/controllers/ver3/Contents.php
Line: 605
Function: getComment
File: /volume1/web/PhpstormProjects/www_polymath_co_kr/application/controllers/ver3/Contents.php
Line: 425
Function: initBoardView
File: /volume1/web/PhpstormProjects/www_polymath_co_kr/index.php
Line: 315
Function: require_once
Severity: 8192
Message: Creation of dynamic property Article_model::$best_cnt is deprecated
Filename: ver3/Article_model.php
Line Number: 18
Backtrace:
File: /volume1/web/PhpstormProjects/www_polymath_co_kr/application/models/ver3/Article_model.php
Line: 18
Function: _error_handler
File: /volume1/web/PhpstormProjects/www_polymath_co_kr/application/libraries/Common.php
Line: 322
Function: model
File: /volume1/web/PhpstormProjects/www_polymath_co_kr/application/libraries/Common.php
Line: 392
Function: getFloatingMyInfo
File: /volume1/web/PhpstormProjects/www_polymath_co_kr/application/controllers/ver3/Contents.php
Line: 559
Function: get_footer
File: /volume1/web/PhpstormProjects/www_polymath_co_kr/index.php
Line: 315
Function: require_once
Severity: 8192
Message: Creation of dynamic property Article_model::$popular_cnt is deprecated
Filename: ver3/Article_model.php
Line Number: 19
Backtrace:
File: /volume1/web/PhpstormProjects/www_polymath_co_kr/application/models/ver3/Article_model.php
Line: 19
Function: _error_handler
File: /volume1/web/PhpstormProjects/www_polymath_co_kr/application/libraries/Common.php
Line: 322
Function: model
File: /volume1/web/PhpstormProjects/www_polymath_co_kr/application/libraries/Common.php
Line: 392
Function: getFloatingMyInfo
File: /volume1/web/PhpstormProjects/www_polymath_co_kr/application/controllers/ver3/Contents.php
Line: 559
Function: get_footer
File: /volume1/web/PhpstormProjects/www_polymath_co_kr/index.php
Line: 315
Function: require_once
게임 로직을 프로그래밍할 때 많은 수학 원리가 쓰이는데요, 이번에는 게임 오브젝트의 움직임을 정의할 때 벡터가 어떻게 사용되는지 알아보겠습니다.
움직이는 축구공에 고양이가 부딪히지 않도록 고양이 위치를 마우스로 바꾸면서 오랫동안 버티는 스크래치 게임을 만들어봅시다. 게임 화면과 게임 규칙은 다음과 같습니다.
<게임 화면>

<게임 규칙>
●게임을 실행하면 고양이 오브젝트는 마우스 포인터를 따라 움직인다. ●공 오브젝트는 화면 안에서 움직이는데 상하좌우 화면 가장자리에 부딪히면 튕겨 나온다. ●플레이 시간이 왼쪽 위에 표시되고 고양이 오브젝트가 공 오브젝트와 부딪히면 게임이 끝난다.
<고양이 오브젝트 코드>
➊ 게임을 시작하면 고양이 오브젝트의 크기를 75%로 줄이고 타이머를 초기화 한다. ➋ 마우스 위치에 고양이 오브젝트가 오도록 한다. ➌ 공 오브젝트와 부딪히면 게임이 끝난다.
<공 오브젝트 코드>
➊ 게임을 시작하면 공 오브젝트가 좌표 (-200, 0)에 위치하도록 정의하고, 움직이는 방향의 각도를 무작위로 정한다. ➋ 매번 20만큼 움직이면서 화면 가장자리에 부딪히면 튕겨 나온다.
공 오브젝트가 상하좌우 가장자리에서 튕겨 나오는 것을 벽에 닿으면 튕기기라는 블록이 모두 처리해 줍니다. 그런데 이 명령어는 스크래치에는 있지만 대부분의 텍스트 기반 프로그래밍 언어에는 없습니다. 이 로직을 벽에 닿으면 튕기기 블록을 사용하지 않고 코딩하려면 어떻게 해야 할까요?
먼저 공 오브젝트의 이동 방향을 정의하는 단위벡터(dx, dy)와 빠르기를 정의하는 값(speed)으로 공 오브젝트의 움직임을 정의해봅시다. 만약 공오브젝트가 움직이는 방향의 각도를 ‘θ’라고 하면 이동 방향을 정의하는 단위벡터는 dx = cos(θ), dy = sin(θ)로 계산할 수 있습니다.
<벽에 닿으면 튕기기 명령어 없이 짠 공 오브젝트 코드>
➊ 공 오브젝트의 크기를 고려하면서 공 오브젝트가 상하좌우 화면 가장자리 중 어디에 부딪혔는지를 체크하고 dx 또는 dy 값의 부호를 바꾼다. ➋ ChangeDirection 함수로 dx 또는 dy 값의 부호를 바꾼다.
여러분은 블록을 사용하지 않고 어떻게 코딩하겠어요? 위 코드에도 보완할 부분이 있는데요, 어떤 부분일까요? 질문의 답을 댓글로 주세요. 좋은 의견을 낸 회원에게 게임 관련 선물을 드립니다! 지금 바로 참여하세요!