IZONE12
500+ Views

[IZ*ONE] 190822 [izone_gameapp] ⭐️SUMMER*IZ開催⭐️

IZ*ONEの夏はまだまだ終わらない! 今回の物語の舞台は、海の家☀️ お客さんのために考えた、彼女たちの可愛いおもてなしとは……? 海の家「SUMMER*IZ」開店〜! #izone_z #IZONE

Comment
Suggested
Recent
Cards you may also be interested in
함수, 조건문, 반복문 등 빈번한 코딩예
1. 함수 스마트메이커로 앱자료 개발 때 가장 궁금했던 것이 바로 함수사용이다. 코딩은 함수를 만들고 그 결과값으로 모든 일들을 처리하기 때문에 함수를 어떻게 정의하고 사용하는지가 가장 궁금했다. 알고 보니 간단했다. 문단 더하기 { A = A+1 } 문단(더하기)을 실행한다. 일반적인 코딩이라면 function 더하기{ A= A+1 } 더하기(); 로 실행을 했을 것이다. 가만히 살펴보면 함수 대신 문단이란 용어를 사용하면 얼추사용이 수월하다. 2. 조건문 if로 시작되는 조건문은 어떻게 사용할까? 판매량이 목표량 이상이면 이 문장(“목표달성”)을 화면에 표시하고, 목표달성여부에 “성공”을 대입한다. 위의 문장을 이렇게 써도 된다. 판매량이 목료량 이상이면 다음 문단을 실행한다. { 이 문장(“목표달성”)을 화면에 표시하고, 목표달성여부에 “성공”을 대입한다. } 조건분기문도 간단히 처리할 수 있다. 판매량이 목표량보다 작으면 aa 문단을 실행하고, 판매량이 목표량보다 크면 bb 문단을 실행하고, 그 외에는 cc 문단을 실행한다. 문단 aa { } 문단 bb { } 문단 cc { } 그 외에는( 기타의 경우에는, 그 외의 경우에는, 그 외에는, 나머지 경우에는) 어느것으로 해도 무방하다. 3. 반복문 일반적으로 for문에 대한 설명이다. 스마트메이커에서는 for문을 어떻게 처리할까? 문단 합구하기 { 전체합은 0이다. 다음 문단을 100번 반복 실행한다. { 전체합은 이 식(전체함+반복횟수)를 참조한다. } } 반복실행을 제어하고 싶을때는 어떻게 하면될까? 문단 합구하기 { 전체합은 0이다. 다음 문단을 100번 반복 실행한다. { 전체합은 이 식(전체함+반복횟수)를 참조한다. 만일 전체합이 500이상이면 반복 실행을 종료한다. } } 4. 문자의 자리수 구하기 국가명에 “이디오피아”을 대입한다. 문자길이는 국가명의 자릿수를 참조한다. //문자길이 : 5 5. 문자값 일부분 가져오기 등록일자는 “20190917”이다. 등록년도는 등록일자의 일부(1,4)를 참조한다. //등록년도 : “2019” 등록월은 등록일자의 일부(5,2)를 참조한다. //등록월 : “09” 등록일은 등록일자의 일부(7,2)를 참조한다. //등록일 : “17”
패스 오브 엑자일 3.8 패치 주요 콘텐츠 '역병', 어떻게 플레이 해야 할까?
패스 오브 엑자일의 신규 콘텐츠 '역병' 주요 팁 모음 지난 7일 추가된 <패스 오브 엑자일> 신규 리그 '메마름의 시대'에는 네크로맨서와 사보츄어, 독어쌔신 등 각광 받는 직업과 함께 여러 밸런스 조정, 모드 수정 등 다양한 기능이 선보였지만, 그중 가장 주의깊게 살펴야 할 것 중 바로 '역병' 이 있다. 역병은 지난 '군단' 리그 처럼 맵에 무작위의 위치에 마주하는 역병을 활용한 콘텐츠. 원인 모를 역병이 창궐했고, 유저는 NPC 카시아 수녀와 함께 역병을 정화하고 확산을 막아야 한다. 일종의 타워 디펜스 형태의 플레이인 셈. 일정 경로에서 꾸준히 접근하는 적들을 상대하며 역병을 보호, 정화해야 하지만 후반 맵으로 갈 수록 난이도가 상승하며, 무작위로 진행되는 맵 속에서 어떻게 조합하고 강화하며 적들을 상대해야 할지 꽤 까다롭기만 하다. 다만 성공적으로 마치면 막대한 보상을 얻을 수 있다. 역병을 효율적으로 하기 위한 방법을 알아보자. # 간단해 보이지만 결코 쉽지 않은 콘텐츠, '역병' 앞서서 역병의 기본 룰에 대해 잠시 알아보자. 필드에 나서면 무작위 위치에 역병과 함께 NPC '카시아 수녀'가 있으며 수녀 옆에 있는 '영액 펌프(이하 펌프)'와 상호작용을 하면 실행된다. 상호작용을 하면 역병은 스스로 여러 갈래로 줄기를 뻗치기 시작하며, 그 줄기의 끝에는 포탈이 있다. 줄기의 수나 뻗치는 방향은 제각각이다. 각 줄기의 끝에는 포털이 있다. 포털에서는 활성화된 역병을 없애기 위해 수많은 적들이 나온다. 룰은 간단하다. 줄기 끝에 위치한 포털들에서 몰려 나오는 적들이 역병을 없애지 못하게 막기만 하면 된다. 막기 위해서는 직접 공격을 하거나 줄기 곳곳에 있는 펌프를 활성화하면 된다. 펌프에 설치하는 6종류의 탑들은 모두 총 3단계까지 강화할 수 있다. 3단계는 성능이 다른 두 가지 탑 중 하나를 선택해야 한다. 마나는 적을 제거할 수록 늘어난다. 적의 공격을 방어하며 역병의 정화를 막으면 각 줄기마다 있는 보상 상자를 통해 보상을 획득할 수 있다. 하지만 정화 이전 적의 공격을 막지 못하면 게임이 종료되며 보상을 얻을 수 없다. # 역병의 승리, 빠른 상황판단과 조합이 관건!  사실, 초반 맵에 등장하는 역병 모드는 크게 어려운 난이도는 아니다. 적이 오는 경로에 맞게 펌프에 탑을 설치하면서 수시로 이동하며 적의 공세를 견제만 해주면 무난하게 클리어 할 수 있다. 그러나, 후반으로 갈 수록 역병의 난이도는 점점 올라간다. 줄기 수는 무작위지만, 적의 종류도 다양해지고 공격력이 매우 강력하지기 때문. 게다가, 최초 3개로 시작하던 탑의 종류가 6개까지 늘어나면서 다양한 적을 상대하기 위해서는 탑의 조합 역시 중요하다. 각 탑의 속성은 아래와 같다. 위 표와 같이, 각 탑은 공격을 하거나 적을 디버프, 아군 혹은 아군의 탑을 버프해주는 성능을 가지고 있다. 탑은 마나를 추가로 얻을 수록 일정 마나를 추가로 투자해 강화를 시킬 수 있다. 인카운터가 시작되면 우측 상단의 미니맵을 통해 역병의 줄기가 어느 쪽으로 뻗어 있는지를 먼저 확인해야 한다. 또 미니맵으로 어느 쪽의 적들이 역병에 오고 있는지 수시로 살피는 것도 필요하다. 각 탑이 성능을 발휘하며 적들을 상대하겠지만, 모든 적을 상대하기는 무리이므로 유저가 수시로 이를 확인하며 공격을 보조해야 한다. 또 적의 공격과 더불어 유저의 체력과 마나를 확인해 사망하는 일이 없도록 하는 것도 중요하다. 초반의 경우, 속성도 다양하지 않아서 화염구 탑만으로 도배하며 강화해도 방어에 크게 문제 없지만 후반으로 점점 갈 수록 속성이 다양해지면서 조합의 필요성을 강하게 느끼게 된다. 보통 소환의 탑으로 몹을 모은 다음 화염구 탑을 강화하며 범위 공격으로 잡거나, 냉각의 탑으로 적을 얼린 다음 충격 폭발 탑으로 번개 공격을 퍼붓는 방법도 있다. 또는 소환의 탑과 충격 폭발 탑을 섞는 방법도 있다.  다양한 탑을 조합하는 것은 필수이며, 여기에 곳곳에 강화의 탑을 생성해 주변 탑의 성능을 강화시키는 것도 필요하다. 또, 적의 러쉬가 늘어날 수록 줄기 근처에 펌프가 점점 늘어나므로 강화와 더불어 해당 줄기에 부족한 탑을 지어주는 것도 승리의 관건. 참고로 맵을 시작하면 중앙 하단 펌프 내구도와 마나 UI 위에 적이 등장하는 포털 수가 표시되는데 점점 진행하다 보면 포털에 무작위로 무언가가 표시되기도 한다. 이는 해당 포털에 등장하는 적들이 표시된 탑의 성능에 내성을 가지고 있는 뜻이다. 따라서 후반에 펌프에 탑을 설치해 줄 때는 내성을 피해서 탑을 설치해주는 것도 중요하다. 이 역병은 4개 포털이 등장하는데, 모두 '소환의 탑'에 내성을 가진 적들이 등장한다는 것을 뜻한다. # 그밖의 팁 그 밖의 팁으로는 화염구 탑의 경우 업그레이드를 할 수록 성능과 공격 방법이 다양하지만, 적이 점점 강할뿐더러 마릿수도 많아지기에 3단계보다는 2단계에 비중을 좀 더 높이는 것이 좋다고 판단됐다. 대미지는 화염구 탑이 제일 세다. 냉각의 탑도 주변 적을 얼리는 것이 일정 시간을 두고 얼리기에 효율이 낮으므로, 적절히 효과를 보는 차원에서 기본 탑(100마나) 정도만 설치해도 무난해보였다. 강화의 탑 역시 마찬가지로 기본 탑만 설치한 후 주변 공격 탑에 마나를 투자하는 것이 좋다. 일반적인 타워 디펜스 형태의 게임처럼, 역병도 '마나'가 남는 일이 없도록 해야 한다. 지진의 탑은 가장 효율이 낮아 보였다. 조합을 하면 어느 정도가 쓸모 있을 지는 모르겠으나, 잠시 적을 기절 시키는 것이고 대미지도 낮아 차라리 다른 탑을 설치해 효율성을 높이는 것이 좋아보인다. 물론 모든 조합은 절대적인 기준은 아니다. 클래스의 특징이나 성능에 따라서 조합을 다르게 시도할 수도 있다. 캐릭터 성능이 어느 정도 받쳐줄 경우에는 공격 보다 소환의 탑 같은 보조 탑을 설치하는 것도 좋다. 역병을 무사히 정화시킨 후 떨어지는 아이템 중에는 '성유'라는 재료 아이템이 드롭된다. 이는 목걸이나 반지에 여러 종류의 성유를 부어 유저의 능력치 또는 역병에 쓰이는 탑의 성능을 강화시킬 수도 있다. 성유의 조합에 따라 유저 또는 탑을 강화할 수 있으므로 이 역시 꾸준히 신경 쓰는 것이 좋다.
스마트메이커로 노트추가 하기
스마트메이커로 앱자료를 구성할 때 가장 고심했던 부분이 바로 저장 폴더를 구성하는 부분이었다. 학습노트 구성에서 가장 먼저 하는 내용이 바로 노트를 생성하거나 선택하는 일이다. 즉, 국어, 영어, 수학중간고사 등의 노트를 만들어서 그 노트에 자료를 남기도 학습할 때도 그 노트를 찾아서 학습하면 좋을 것 같아서 이 부분을 꼭 구현해보고 싶었다. 그러나 뜻대로 잘 되지 않아서 많은 시간을 들였던 기억이 난다. 특히 스마트메이커에 익숙하지 않은 상태에서 업무규칙으로 이러한 부분을 만들어낸다는 것이 여간 어려운 일이 아니었다. 그래서 처음에는 프로그램 개발자에게 문의를 해서(지원받아서) 해결할 생각도 했다. 그렇지만 이것이 더 어렵다는 사실을 나중에 알게 됐다. 그래서 직접 만들어보겠다고 생각하니 맘이 휠씬 편해지고 의욕도 생겨났다. 먼저 추가되는 과목을 관리할 DB테이블이 있어야 할 것 같고, 또 이러한 노트를 보여줄 화면 디자인은 필수이다. 또 과목추가, 삭제, 선택을 자유롭게 할 수 있는 업뮤규칙이 있어야 한다. 먼저 추가되는 과목을 관리할 DB테이블이 있어야 할 것 같고, 또 이러한 노트를 보여줄 화면 디자인은 필수이다. 또 과목추가, 삭제, 선택을 자유롭게 할 수 있는 업뮤규칙이 있어야 한다. 1. DB테이블 생성 - 생성프로그램 : C:\SmartMaker\SmartBuilder\HeidiSQL_9.3_Portable\heidisql - 테이블명 : 과목등록 - 필드명 : 등록번호(char,2), 과목(char,32) 2. 화면디자인 총 12개의 노트을 개설할 수 있도록 화면을 디자인했다. 하나의 노트에는 입력란1, 그림1(체크), 버튼1 으로 이루어졌고, 처음에는 보여지지 않도록 설정했다. 그리고 하단의 확인창에 과목을 입력하거나, 클릭된 과목이 보지도록 했고, 최하단의 삽입, 삭제, 글쓰기, 학습하기 버튼을 배치했다. 3. 업무규칙 먼저 도구/DB처리객체에서 과목검색을 하나 만들고.. 아래 함수(문단)을 만들어서 테이블에 12개의 자료를 검색하여 신규노트가 존재하면 화면에 나타나도록 코딩한다. DB에 저장된 노트를 보여주는 핵심 함수 문단 DB처리함수 { DB처리문("과목검색")을 실행한다. 다음 문단을 12번 반복 실행한다. { 품목코드는 과목검색의 결과("과목",반복횟수)를 참조한다. //검색결과 첫번째 행의 과목 만일 반복횟수가 1이면 입력란1은 품목코드를 참조한다. 만일 반복횟수가 2이면 입력란2은 품목코드를 참조한다. 만일 반복횟수가 3이면 입력란3은 품목코드를 참조한다. 만일 반복횟수가 4이면 입력란4은 품목코드를 참조한다. 만일 반복횟수가 5이면 입력란5은 품목코드를 참조한다. 만일 반복횟수가 6이면 입력란6은 품목코드를 참조한다. 만일 반복횟수가 7이면 입력란7은 품목코드를 참조한다. 만일 반복횟수가 8이면 입력란8은 품목코드를 참조한다. 만일 반복횟수가 9이면 입력란9은 품목코드를 참조한다. 만일 반복횟수가 10이면 입력란10은 품목코드를 참조한다. 만일 반복횟수가 11이면 입력란11은 품목코드를 참조한다. 만일 반복횟수가 12이면 입력란12은 품목코드를 참조한다. } 입력란1이 ""이면 입력란1의 화면감춤을 설정한다. 입력란1이 ""이면 버튼1의 화면감춤을 설정한다. 입력란2이 ""이면 입력란2의 화면감춤을 설정한다. 입력란2이 ""이면 버튼2의 화면감춤을 설정한다. .. 입력란1이 ""이 아니면 입력란1의 화면감춤을 해제한다. 입력란1이 ""이 아니면 버튼1의 화면감춤을 해제한다. 입력란2이 ""이 아니면 입력란2의 화면감춤을 해제한다. 입력란2이 ""이 아니면 버튼2의 화면감춤을 해제한다. .. } 스마트메이커의 업무규칙을 쓰면서 느낀점은 일반 상용프로그램처럼 코드를 매끄럽게 줄이기가 어렵다는 점이다. 자연어를 쓰다보니 이러한 부분의 이해가 필요하다.
스마트메이커로 자료 백업 및 복원하기
DB테이블을 관리하는 자료는 자료의 보관과 복원하는 것이 중요합니다. 많은 데이터가 모아지게 되면 더욱 자료 백업의 중요성은 커지게 마련입니다. 스마트메이커로 자료를 어떻게 백업하고 복원하는지 알아보겠습니다. 간단한 파일복사와 삭제 등의 업무규칙만으로 구현이 가능합니다. 먼저 아래와 같은 폼이 하나 필요합니다. 자료를 백업하고 복원하는 버튼을 만들어 줍니다. 그리고 업무규칙에서 백업버튼을 클릭했을 때, 복구버튼을 클릭했을 때 다음과 같이 코딩하면 됩니다. 백업은 SS폴더에 있는 DB테이블을 한단계 위인 project에 복사합니다. (SS폴더는 프로그램의 첫번째 보여지는 폼파일명입니다. 자동으로 폴더가 생성됩니다.) 그리고 복원할 때는 백업한 자료를 원래 위치에 복원하게 됩니다. 이때 주의할 점은 백업할 때 이름을 달리해도 됩니다. 여러개의 앱을 개발할 때는 같은 이름이 중복될 수 있으므로 이름을 달리하여 복사한 후 복원할 때만 제대로 된 이름으로 해 주면 됩니다. 업버튼을 누르면 다음 문단을 실행한다. { 파일복사("/smartlauncher/.project/SS/DEV_DB", "/smartlauncher/.project/DEV_DB")를 실행한다. 파일복사("/smartlauncher/.project/SS/DEV_DB-journal", "/smartlauncher/.project/DEV_DB-journal")를 실행한다. } 복원버튼을 누르면 다음 문단을 실행한다. { 이 문장("백업된 자료를 복원하시겠습니까?\n백업되지 않은 자료는 복구되지 않습니다.")을 화면에 표시한다.('예아니오','질문') 응답결과가 '예'이면 다음 문단을 실행한다. { 파일삭제("/smartlauncher/.project/SS/DEV_DB")를 실행한다. 파일삭제("/smartlauncher/.project/SS/DEV_DB-journal")를 실행한다. 파일복사("/smartlauncher/.project/DEV_DB", "/smartlauncher/.project/SS/DEV_DB")를 실행한다. 파일복사("/smartlauncher/.project/DEV_DBjournal", "/smartlauncher/.project/SS/DEV_DBjournal")를 실행한다. } } 이와 같이 스마트메이커는 자연어 방식으로 코딩하기 때문이 기존의 코딩사용자에게는 좀 낮설수도 있습니다. 그러나 익숙해지면 아주 친숙하게 코딩을 할 수 있습니다.
3
Comment
Share