KR102445082B1 - Control method for server providing solution to block puzzle - Google Patents
Control method for server providing solution to block puzzle Download PDFInfo
- Publication number
- KR102445082B1 KR102445082B1 KR1020210186252A KR20210186252A KR102445082B1 KR 102445082 B1 KR102445082 B1 KR 102445082B1 KR 1020210186252 A KR1020210186252 A KR 1020210186252A KR 20210186252 A KR20210186252 A KR 20210186252A KR 102445082 B1 KR102445082 B1 KR 102445082B1
- Authority
- KR
- South Korea
- Prior art keywords
- block
- sub
- image
- user
- cube
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 239000003086 colorant Substances 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000000060 site-specific infrared dichroism spectroscopy Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/20—Education
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F9/00—Games not otherwise provided for
- A63F9/06—Patience; Other games for self-amusement
- A63F9/08—Puzzles provided with elements movable in relation, i.e. movably connected, to each other
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F9/00—Games not otherwise provided for
- A63F9/06—Patience; Other games for self-amusement
- A63F9/08—Puzzles provided with elements movable in relation, i.e. movably connected, to each other
- A63F9/0826—Three-dimensional puzzles with slidable or rotatable elements or groups of elements, the main configuration remaining unchanged, e.g. Rubik's cube
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63H—TOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
- A63H33/00—Other toys
- A63H33/04—Building blocks, strips, or similar building parts
- A63H33/06—Building blocks, strips, or similar building parts to be assembled without the use of additional elements
- A63H33/08—Building blocks, strips, or similar building parts to be assembled without the use of additional elements provided with complementary holes, grooves, or protuberances, e.g. dovetails
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B19/00—Teaching not covered by other main groups of this subclass
- G09B19/22—Games, e.g. card games
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
-
- H04N5/2257—
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- General Health & Medical Sciences (AREA)
- Educational Technology (AREA)
- Educational Administration (AREA)
- Multimedia (AREA)
- Entrepreneurship & Innovation (AREA)
- Signal Processing (AREA)
- Steroid Compounds (AREA)
- User Interface Of Digital Computer (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
본 발명은 블록 퍼즐의 솔루션을 제공하는 서버의 제어 방법에 관한 것으로, 보다 상세하게는, 사용자가 복수의 큐브로 구성된 서브 블록 조각들(ex. 3, 4, 5블록 형태의 조각)을 형성하게 하고, 형성된 서브 블록 조각들로 최종 형태의 완성체 큐브(ex. 3x3x3)를 조립하도록 하되, 그 난이도에 따른 다양한 퍼즐 조합 및 솔루션을 제공한다.The present invention relates to a control method of a server that provides a solution of a block puzzle, and more specifically, allows a user to form sub-block pieces (ex. 3, 4, 5 block-shaped pieces) composed of a plurality of cubes. and assemble the final cube (ex. 3x3x3) with the formed sub-block pieces, but provide various puzzle combinations and solutions according to the difficulty.
종래의 블록 조립 완구는 단순히 블록 조립을 위한 단위 조각의 형상을 제시하는 것으로, 단순 조립 놀이에 그칠뿐, 공간적 개념이나 거리개념을 이해하기 위한 시공간 추론 능력의 훈련을 제공하지 못하고 있다.The conventional block assembly toy simply presents the shape of a unit piece for assembling a block, and it is merely a simple assembly play, and does not provide training of spatiotemporal reasoning ability to understand a spatial concept or a distance concept.
또한, 종래의 블록 조립 완구는 사용자의 난이도에 따른 문제를 제시하거나, 하나의 퍼즐에 대한 다양한 솔루션으로 제공하지 못하고 있다.In addition, the conventional block assembling toy does not present a problem according to the user's difficulty or provide various solutions for one puzzle.
한편, 상기의 배경기술로서 설명된 사항들은 본 발명의 배경에 대한 이해 증진을 위한 것일 뿐, 이 기술분야에서 통상의 지식을 가진 자에게 이미 알려진 종래기술에 해당함을 인정하는 것으로 받아들여져서는 안 될 것이다.On the other hand, the matters described as the background art above are only for improving the understanding of the background of the present invention, and should not be accepted as acknowledging that they correspond to the prior art already known to those of ordinary skill in the art. will be.
본 발명이 해결하고자 하는 과제는 사용자가, 복수의 큐브로 구성된 서브 블록 조각들(ex. 3, 4, 5블록 형태의 조각)을 형성하게 하고, 형성된 서브 블록 조각들로 최종 형태의 완성체 큐브(ex. 3x3x3)를 조립하도록 하되, 그 난이도에 따른 다양한 퍼즐 조합 및 솔루션을 제공하는 서버의 제어 방법을 제공하는 것이다.The problem to be solved by the present invention is to allow the user to form sub-block pieces (ex. 3, 4, 5 block-shaped pieces) composed of a plurality of cubes, and use the formed sub-block pieces to form a final cube (ex. 3x3x3) is to be assembled, but to provide a control method of the server that provides various puzzle combinations and solutions according to the difficulty.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present invention are not limited to the problems mentioned above, and other problems not mentioned will be clearly understood by those skilled in the art from the following description.
상술한 과제를 해결하기 위한 본 발명의 일 면에 따른 블록 퍼즐 및 솔루션을 제공하는 서버의 제어 방법에 있어서, 사용자 단말을 통해 수신되는 사용자 입력을 기초로, 블록 퍼즐 제품에 대한 인증을 수행하는 단계, 사용자 단말을 통해, 블록 퍼즐 제품에 포함된 큐브 조각들을 통해 구현 가능한 복수의 서브 블록을 포함하는 퍼즐 정보를 제공하는 단계, 및 사용자 단말을 통해, 복수의 서브 블록으로 완성체 블록을 조립하기 위한 솔루션 정보를 제공하는 단계를 포함한다.In the control method of a server providing a block puzzle and a solution according to an aspect of the present invention for solving the above-described problems, the step of performing authentication for a block puzzle product based on a user input received through a user terminal , through a user terminal, providing puzzle information including a plurality of sub-blocks that can be implemented through cube pieces included in the block puzzle product, and through the user terminal, for assembling a complete block into a plurality of sub-blocks providing solution information.
이때, 블록 퍼즐 제품에 대한 인증을 수행하는 단계는, 사용자 단말이 서버의 웹 페이지에 접속하면, 인증 코드를 입력받는 UI(User Interface)를 사용자 단말로 출력하고, UI를 통해 수신된 사용자 입력에 따라 인증 코드를 획득하는 것이 가능하다.At this time, the step of performing authentication for the block puzzle product is, when the user terminal accesses the web page of the server, outputs a UI (User Interface) for receiving an authentication code to the user terminal, and outputs the user input received through the UI. It is possible to obtain an authentication code according to
한편, 본 발명의 일 면에 따른 서버의 제어 방법은, 사용자 단말로부터 카메라 어플리케이션을 통해 제1 이미지를 획득하는 단계, 제1 이미지로부터 복수의 서브 블록에 대한 이미지가 인식되면, 제1 이미지의 촬영 시점을 저장하는 단계, 사용자 단말로부터 카메라 어플리케이션을 통해 제2 이미지를 획득하는 단계, 제2 이미지로부터 완성체 블록에 대한 이미지가 인식되면, 제2 이미지의 촬영 시점을 저장하는 단계, 제1 이미지의 촬영 시점 및 제2 이미지의 촬영 시점을 바탕으로 퍼즐 정보에 대한 사용자의 솔루션 도출에 걸린 시간을 산출하는 단계, 및 산출된 시간을 바탕으로 사용자의 레벨을 판단하고, 사용자의 레벨을 인증 코드에 매칭하여 저장하는 단계를 포함하는 것이 가능하다.On the other hand, the server control method according to an aspect of the present invention includes the steps of: obtaining a first image from a user terminal through a camera application; when images for a plurality of sub-blocks are recognized from the first image, capturing the first image Storing a viewpoint, acquiring a second image from a user terminal through a camera application, when an image of a complete block is recognized from the second image, storing a photographing time of the second image, the first image Calculating the time taken to derive the user's solution for the puzzle information based on the shooting time and the shooting time of the second image, and determining the user's level based on the calculated time, and matching the user's level with the authentication code It is possible to include the step of storing the
이때, 퍼즐 정보를 제공하는 단계는, 인증 코드에 매칭된 사용자의 레벨을 식별하고, 식별된 사용자의 레벨을 바탕으로, 퍼즐 정보의 난이도를 산출하는 것이 가능하다.In this case, in the step of providing the puzzle information, it is possible to identify the level of the user matched with the authentication code, and calculate the difficulty of the puzzle information based on the identified level of the user.
이때, 퍼즐 정보를 제공하는 단계는, 큐브 조각들의 수량, 서브 블록들의 개수, 및 서브 블록들 각각이 갖는 표면 넓이의 총량 중 적어도 하나를 산출된 퍼즐 정보의 난이도에 비례하도록 하는 것이 가능하다.In this case, in the step of providing the puzzle information, it is possible to make at least one of the number of cube pieces, the number of sub-blocks, and the total amount of the surface area of each of the sub-blocks proportional to the difficulty of the calculated puzzle information.
한편, 솔루션 정보를 출력하는 단계는, 완성체 블록 이미지 및 복수의 서브 블록 각각에 매칭되는 위치 이미지를 포함하는 솔루션 정보를 생성하고, 완성체 블록 이미지 상에서, 적어도 하나의 위치 이미지에 대한 위치 출력을 요청받는 UI(User Interface)를 생성하고, 사용자 단말을 통해 UI에 대한 사용자 입력을 획득하면, 획득된 사용자 명령을 바탕으로 완성체 블록 이미지 상에, 위치 이미지를 출력하고, 출력된 위치 이미지가 복수인 경우, 서로 다른 색으로 출력되도록 한다.Meanwhile, the step of outputting the solution information includes generating solution information including a complete block image and a location image matching each of the plurality of sub blocks, and outputting the location of at least one location image on the complete block image. When a requested UI (User Interface) is generated and a user input to the UI is obtained through the user terminal, a location image is output on the completed block image based on the obtained user command, and the output location image is plural. , output in different colors.
이때, 완성체 블록 이미지는, 사용자 단말을 통해 입체 UI로 제공되며, 입체 UI에 대한 사용자 입력을 바탕으로 회전하고, 위치 이미지는, 매칭되는 서브 블록이, 완성체 블록 상에서 차지하는 위치 및 부피에 대한 이미지이다.At this time, the complete block image is provided as a three-dimensional UI through the user terminal, rotates based on a user input to the three-dimensional UI, and the position image is the position and volume occupied by the matching sub-block on the complete block. It is an image.
한편, 퍼즐 정보를 제공하는 단계는, 완성체 블록에 포함되는 큐브 조각들 중 복수의 서브 블록 각각에 매칭되는 확정 큐브 조각을 하나씩 식별하고, 완성체 블록에 포함되는 큐브 조각들 중 확정 큐브 조각을 제외한 큐브 조각들을 비확정 큐브 조각으로 정의하고, 복수의 서브 블록 중 제1 서브 블록의 확정 큐브 조각과 인접한 적어도 하나의 비확정 큐브 조각을 랜덤으로 선택하여 제1 서브 블록의 확정 큐브 조각으로 변경하고, 복수의 서브 블록 중 제2 서브 블록의 확정 큐브 조각과 인접한 적어도 하나의 비확정 큐브 조각을 랜덤으로 선택하여 제2 서브 블록의 확정 큐브 조각으로 변경하는 것이 가능하다.On the other hand, the step of providing the puzzle information may include identifying one of the final cube pieces matching each of the plurality of sub-blocks from among the cube pieces included in the completed block, and selecting the definitive cube piece from among the cube pieces included in the completed block. The excluded cube pieces are defined as non-confirmed cube pieces, and at least one non-determined cube piece adjacent to the fixed cube piece of the first sub-block from among the plurality of sub-blocks is randomly selected and changed to the fixed cube piece of the first sub-block, , it is possible to randomly select at least one non-determined cube piece adjacent to the fixed cube piece of the second sub-block from among the plurality of sub-blocks and change it to the fixed cube piece of the second sub-block.
이때, 퍼즐 정보를 제공하는 단계는, 제1 서브 블록의 확정 큐브 조각들 중 적어도 하나와 인접한 비확정 큐브 조각이 존재하지 않는 경우, 제1 서브 블록을 구성하는 확정 큐브 조각들을 확정하는 것이 가능하다.In this case, in the step of providing the puzzle information, when an unconfirmed cube piece adjacent to at least one of the determined cube pieces of the first sub-block does not exist, it is possible to determine the determined cube pieces constituting the first sub-block .
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Other specific details of the invention are included in the detailed description and drawings.
본 발명의 블록 퍼즐 및 솔루션을 제공하는 서버의 제어 방법에 의하면, 사용자에게 퍼즐 정보 및 솔루션 정보를 회전 가능한 입체 이미지로써 제공하되, 이를 웹 또는 모바일을 통해 제공하여 시공간적 제약에서 자유로우며, 사용자의 인증을 통해 퍼즐 정보를 획득하므로, 인증 코드에 따른 사용자의 지난 퍼즐 수행 이력을 식별하여 사용자에 적합한 난이도를 판단하여 제공할 수 있다.According to the control method of the server for providing the block puzzle and solution of the present invention, the puzzle information and solution information are provided to the user as a rotatable three-dimensional image, but by providing it through the web or mobile, it is free from temporal and spatial constraints, and the user's authentication Since the puzzle information is acquired through the , it is possible to identify the user's past puzzle performance history according to the authentication code, determine the difficulty level suitable for the user, and provide it.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.Effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the following description.
도 1은 본 발명의 일 실시예에 따른 시스템 구성도이다.
도 2는 본 발명의 일 실시예에 따른 기본 흐름도이다.
도 3 내지 도 7은 본 발명의 일 실시예에 따른 구현도이다.
도 8은 본 발명의 일 실시예에 따른 서버 구성도이다.1 is a system configuration diagram according to an embodiment of the present invention.
2 is a basic flowchart according to an embodiment of the present invention.
3 to 7 are implementation diagrams according to an embodiment of the present invention.
8 is a configuration diagram of a server according to an embodiment of the present invention.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.Advantages and features of the present invention and methods of achieving them will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various different forms, and only these embodiments allow the disclosure of the present invention to be complete, and those of ordinary skill in the art to which the present invention pertains. It is provided to fully inform those skilled in the art of the scope of the present invention, and the present invention is only defined by the scope of the claims.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.The terminology used herein is for the purpose of describing the embodiments and is not intended to limit the present invention. In this specification, the singular also includes the plural, unless specifically stated otherwise in the phrase. As used herein, “comprises” and/or “comprising” does not exclude the presence or addition of one or more other components in addition to the stated components. Like reference numerals refer to like elements throughout, and "and/or" includes each and every combination of one or more of the recited elements. Although "first", "second", etc. are used to describe various elements, these elements are not limited by these terms, of course. These terms are only used to distinguish one component from another. Therefore, it goes without saying that the first component mentioned below may be the second component within the spirit of the present invention.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms (including technical and scientific terms) used herein will have the meaning commonly understood by those of ordinary skill in the art to which this invention belongs. In addition, terms defined in a commonly used dictionary are not to be interpreted ideally or excessively unless clearly specifically defined.
명세서에서 사용되는 "부" 또는 “모듈”이라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부" 또는 “모듈”은 어떤 역할들을 수행한다. 그렇지만 "부" 또는 “모듈”은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부" 또는 “모듈”은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부" 또는 “모듈”은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부" 또는 “모듈”들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부" 또는 “모듈”들로 결합되거나 추가적인 구성요소들과 "부" 또는 “모듈”들로 더 분리될 수 있다.As used herein, the term “unit” or “module” refers to a hardware component such as software, FPGA, or ASIC, and “unit” or “module” performs certain roles. However, “part” or “module” is not meant to be limited to software or hardware. A “part” or “module” may be configured to reside on an addressable storage medium or may be configured to reproduce one or more processors. Thus, by way of example, “part” or “module” refers to components such as software components, object-oriented software components, class components and task components, processes, functions, properties, Includes procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables. Components and functionality provided within “parts” or “modules” may be combined into a smaller number of components and “parts” or “modules” or additional components and “parts” or “modules”. can be further separated.
공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "상부(upper)" 등은 도면에 도시되어 있는 바와 같이 하나의 구성요소와 다른 구성요소들과의 상관관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작시 구성요소들의 서로 다른 방향을 포함하는 용어로 이해되어야 한다. 예를 들어, 도면에 도시되어 있는 구성요소를 뒤집을 경우, 다른 구성요소의 "아래(below)"또는 "아래(beneath)"로 기술된 구성요소는 다른 구성요소의 "위(above)"에 놓일 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 구성요소는 다른 방향으로도 배향될 수 있으며, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.Spatially relative terms "below", "beneath", "lower", "above", "upper", etc. It can be used to easily describe the correlation between a component and other components. A spatially relative term should be understood as a term that includes different directions of components during use or operation in addition to the directions shown in the drawings. For example, when a component shown in the drawing is turned over, a component described as “beneath” or “beneath” of another component may be placed “above” of the other component. have. Accordingly, the exemplary term “below” may include both directions below and above. Components may also be oriented in other orientations, and thus spatially relative terms may be interpreted according to orientation.
본 명세서에서, 컴퓨터는 적어도 하나의 프로세서를 포함하는 모든 종류의 하드웨어 장치를 의미하는 것이고, 실시 예에 따라 해당 하드웨어 장치에서 동작하는 소프트웨어적 구성도 포괄하는 의미로서 이해될 수 있다. 예를 들어, 컴퓨터는 스마트폰, 태블릿 PC, 데스크톱, 노트북 및 각 장치에서 구동되는 사용자 클라이언트 및 애플리케이션을 모두 포함하는 의미로서 이해될 수 있으며, 또한 이에 제한되는 것은 아니다.In this specification, a computer means all types of hardware devices including at least one processor, and may be understood as encompassing software configurations operating in the corresponding hardware device according to embodiments. For example, a computer may be understood to include, but is not limited to, smart phones, tablet PCs, desktops, notebooks, and user clients and applications running on each device.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일 실시예에 따른 시스템 구성도이다.1 is a system configuration diagram according to an embodiment of the present invention.
도시된 바에 따르면, 본 발명의 블록 퍼즐 및 솔루션을 제공하는 서버(100)는 사용자의 전자 장치인 사용자 단말(200)과 통신한다.As shown, the
일 실시예로, 전자 장치는 스마트폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 영상 전화기, 전자책 리더기(e-book reader), 데스크탑 PC (desktop PC), 랩탑 PC(laptop PC), 넷북 컴퓨터(netbook computer), 워크스테이션(workstation), 서버, PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라, 또는 웨어러블 장치(wearable device), 인공지능 스피커(AI speaker) 중 적어도 하나를 포함할 수 있다.In an embodiment, the electronic device includes a smartphone, a tablet personal computer, a mobile phone, a video phone, an e-book reader, a desktop PC, and a laptop. PC (laptop PC), netbook computer (netbook computer), workstation (workstation), server, PDA (personal digital assistant), PMP (portable multimedia player), MP3 player, mobile medical device, camera, or wearable device (wearable device) ), and may include at least one of an AI speaker.
도 2는 본 발명의 일 실시예에 따른 기본 흐름도이다.2 is a basic flowchart according to an embodiment of the present invention.
도시된 바와 같이, 본 발명의 일 면에 따른 블록 퍼즐 및 솔루션을 제공하는 서버(100)는 사용자 단말(200)을 통해 수신되는 사용자 입력을 기초로, 블록 퍼즐 제품에 대한 인증을 수행(S210)한다.As shown, the
구체적으로, 서버(100)가 단계 S210을 수행하는데 있어서, 서버(100)는 사용자 단말(200)이 서버(100)의 웹 페이지에 접속하면, 인증 코드를 입력받는 UI(User Interface)를 사용자 단말(200)로 출력하고, UI를 통해 수신된 사용자 입력에 따라 인증 코드를 획득하는 것이 가능하다.Specifically, in the
이어서, 서버(100)는 사용자 단말(200)을 통해, 블록 퍼즐 제품에 포함된 큐브 조각들을 통해 구현 가능한 복수의 서브 블록을 포함하는 퍼즐 정보를 제공(S220)하고, 사용자 단말(200)을 통해, 복수의 서브 블록으로 완성체 블록(10)을 조립하기 위한 솔루션 정보를 제공(S230)한다.Subsequently, the
한편, 서버(100)는 일 인증 코드에 대해 인증을 실시한 일 사용자 단말(200)을 통해, 단계 S210 내지 단계 S230을 수행한 전적을 바탕으로 해당 사용자 단말(200)의 사용자에 대한 사용자 레벨을 판단하고, 해당 인증 코드에 판단된 사용자 레벨을 매칭하여 저장할 수 있다.On the other hand, the
구체적으로, 서버(100)는, 일 퍼즐 정보를 수신한 사용자 단말(200)로부터 카메라 어플리케이션을 통해, 제1 이미지를 획득하면, 제1 이미지로부터 복수의 서브 블록에 대한 이미지가 인식되는지 여부를 판단한다.Specifically, when the
판단 결과, 제1 이미지로부터 복수의 서브 블록 전체의 이미지가 인식되면, 서버(100)는 제1 이미지의 촬영 시점을 저장한다.As a result of the determination, when images of all the plurality of sub-blocks are recognized from the first image, the
이후, 사용자 단말(200)로부터 카메라 어플리케이션을 통해 제2 이미지를 획득하고, 제2 이미지로부터 완성체 블록(10)에 대한 이미지가 인식되면, 제2 이미지의 촬영 시점을 저장한다.Thereafter, when a second image is obtained from the
이에 따라, 서버(100)는 제1 이미지의 촬영 시점 및 제2 이미지의 촬영 시점을 바탕으로 해당 퍼즐 정보에 대한 사용자의 솔루션 도출에 걸린 시간을 산출하고, 해당 퍼즐 정보의 난이도 및 산출된 시간을 바탕으로 해당 사용자의 레벨을 판단하여, 판단된 사용자의 레벨을 해당 인증 코드에 매칭하여 저장한다.Accordingly, the
이후, 서버(100)가 단계 S210을 수행하는데 있어서, 사용자 단말(200)을 통해 획득한 인증 코드에 기 매칭된 사용자의 레벨이 식별되면, 서버(100)가 단계 S220을 수행하는데 있어서, 서버(100)는 인증 코드에 매칭된 사용자의 레벨을 식별하고, 식별된 사용자의 레벨을 바탕으로, 퍼즐 정보의 난이도를 산출하는 것이 가능하다.Then, when the
구체적으로, 서버(100)는 큐브 조각들의 수량, 서브 블록들의 개수, 및 서브 블록들 각각이 갖는 표면 넓이의 총량 중 적어도 하나를 산출된 퍼즐 정보의 난이도에 비례하도록 설정할 수 있다.Specifically, the
예컨대, 큐브 조각들의 수량이 증가할수록, 서브 블록들의 개수 또는 서브 블록들을 조립하는데 소요되는 시간이 증가하여 퍼즐 정보의 난이도가 상승한다.For example, as the number of cube pieces increases, the number of sub-blocks or a time required to assemble the sub-blocks increases, thereby increasing the difficulty of puzzle information.
또한, 서브 블록들의 개수가 증가할수록, 완성체 블록(10)을 조립하기 위한 기하학적 사고 시간이 많이 소요되므로 퍼즐 정보의 난이도가 상승한다.In addition, as the number of sub-blocks increases, the geometric thinking time for assembling the
또한, 서브 블록들 각각이 갖는 표면 넓이의 총량은 서브 블록들의 개수 또는 큐브 조각들의 수량에 비례하므로, 퍼즐 정보의 난이도가 높아(어려워)질수록, 증가한다.In addition, since the total amount of the surface area of each of the sub-blocks is proportional to the number of sub-blocks or the quantity of cube pieces, the higher the difficulty (difficulty) of the puzzle information, the higher it increases.
도 3 내지 도 7은 본 발명의 일 실시예에 따른 구현도이다.3 to 7 are implementation diagrams according to an embodiment of the present invention.
도 3에 도시된 바와 같이, 서버(100)가 단계 S220을 수행하는데 있어서, 서버(100)는 사용자 단말(200)을 통해 퍼즐 정보에 포함된 복수의 서브 블록 각각에 대한 이미지를 제공할 수 있으며, 이때, 복수의 서브 블록 이미지는 각각 다른 서브 블록 이미지와 구별되는 색 및/또는 무늬가 삽입될 수 있다.3 , when the
도 4 내지 도 6에 도시된 바와 같이, 서버(100)가 단계 S230을 수행하는데 있어서, 서버(100)는 완성체 블록(10) 이미지 및 복수의 서브 블록 각각에 매칭되는 위치 이미지를 포함하는 솔루션 정보를 생성한다.As shown in FIGS. 4 to 6 , when the
이때, 서버(100)는 완성체 블록(10) 이미지 상에서, 적어도 하나의 위치 이미지에 대한 위치 출력을 요청받는 UI(User Interface)를 생성하고, 사용자 단말(200)을 통해 UI에 대한 사용자 입력을 획득하면, 획득된 사용자 명령을 바탕으로 완성체 블록(10) 이미지 상에, 위치 이미지를 출력한다.At this time, the
이때, 도 5에 도시된 바와 같이, 출력된 위치 이미지가 복수인 경우, 서버(100)는 복수의 위치 이미지 각각을 서로 다른 색 및/또는 무늬로 출력되도록 한다.At this time, as shown in FIG. 5 , when there are a plurality of output location images, the
한편, 완성체 블록(10) 이미지는, 사용자 단말(200)을 통해 입체 UI로 제공되며, 입체 UI에 대한 사용자 입력을 바탕으로 회전한다.On the other hand, the image of the
또한, 위치 이미지는, 매칭되는 서브 블록이, 완성체 블록(10) 상에서 차지하는 위치 및 부피에 대한 이미지이다.In addition, the position image is an image of the position and volume occupied by the matching sub-block on the
도시되지는 않았으나, 서버(100)가 단계 S230을 수행하는데 있어서, 서버(100)는 서로 다른 위치 이미지 간에 접촉하는 표면의 중심선을 포함하여, 완성체 블록(10) 이미지 상에 복수의 위치 이미지가 차지하는 부피를 구획할 수 있다.Although not shown, in the
이때, 서버(100)는 표면의 중심선을 기준으로, 완성체 블록(10) 이미지를 솔루션 정보에 포함된 복수의 서브 블록이 조합 및 분해되는 시뮬레이션을 출력하는 UI를 사용자 단말(200)로 제공하는 것이 가능하다.At this time, the
또한, 서버(100)가 단계 S230을 수행하는데 있어서, 서버(100)는 일 퍼즐 정보에 대한 복수의 솔루션 정보를 구성하고, 복수의 솔루션 정보 중 어느 하나에 대한 솔루션을 선택하는 UI를 사용자 단말(200)로 제공함으로써, 솔루션을 선택하는 UI에 대한 사용자 입력을 바탕으로, 복수의 솔루션 정보 중 어느 하나에 대한 솔루션 정보를 사용자 단말(200)로 제공할 수 있다.In addition, when the
즉, 서버(100)는 일 퍼즐 정보에 대한 복수의 서브 블록들을 통한 완성체 블록(10)을 조립하는 방식이 복수일 경우, 각각의 방식에 대한 솔루션 정보를 생성할 수 있다.That is, when there are a plurality of methods of assembling the
한편, 도 7에 도시된 바와 같이, 서버(100)가 단계 S220을 수행하는데 있어서, 서버(100)는 완성체 블록(10)에 포함되는 큐브 조각들 중 복수의 서브 블록 각각에 매칭되는 확정 큐브 조각을 하나씩 식별하고, 완성체 블록(10)에 포함되는 큐브 조각들 중 확정 큐브 조각을 제외한 큐브 조각들을 비확정 큐브 조각으로 정의할 수 있다.Meanwhile, as shown in FIG. 7 , when the
이때, 도시된 바와 같이, 서버(100)는 복수의 서브 블록 중 제1 서브 블록(21)의 확정 큐브 조각과 인접한 적어도 하나의 비확정 큐브 조각을 랜덤으로 선택하여 제1 서브 블록(21)의 확정 큐브 조각으로 변경한다.At this time, as shown, the
실시예로, 제1 서브 블록(21)의 확정 큐브 조각으로 변경된 큐브 조각이, 제1 서브 블록(21)의 기 설정된 표면 넓이 조건 또는 기 설정된 큐브 조각 개수 조건을 만족시키면, 서버(100)는 제1 서브 블록(21)을 구성하는 확정 큐브 조각들을 확정할 수 있다.In an embodiment, if the cube piece changed to the final cube piece of the
이후, 서버(100)는 복수의 서브 블록 중 제2 서브 블록(22)의 확정 큐브 조각과 인접한 적어도 하나의 비확정 큐브 조각을 랜덤으로 선택하여 제2 서브 블록(22)의 확정 큐브 조각으로 변경한다.Thereafter, the
이, 서버(100)가 단계 S220을 수행하는데 있어서, 서버(100)는 제1 서브 블록(21)의 확정 큐브 조각들 중 적어도 하나와 인접한 비확정 큐브 조각이 존재하지 않는 경우, 제1 서브 블록(21)을 구성하는 확정 큐브 조각들을 확정하는 것이 가능하다.In this case, when the
예컨대, 서버(100)는 제1 서브 블록(21)의 확정 큐브 조각들 중 일 확정 큐브 조각의 육 면 중, 비확정 큐브 조각과 공유하는 면이 존재하지 않는 경우, 제1 서브 블록(21)이 완성체 블록(10) 내부에서 더 이상 부피를 증가할 수 없는 상태인 것으로 판단하여, 제1 서브 블록(21)의 현재 상태를 제1 서브 블록(21)으로 확정할 수 있다.For example, if there is no face shared with the non-confirmed cube piece among the six faces of one fixed cube piece among the fixed cube pieces of the
이에 따라, 확정 큐브 조각과 인접한 적어도 하나의 비확정 큐브 조각은, 확정 큐브 조각과 일 면을 공유하는 것을 특징으로 한다.Accordingly, at least one non-determined cube piece adjacent to the fixed cube piece shares one surface with the fixed cube piece.
한편, 도시되지는 않았으나, 서버(100)가 단계 S220을 수행하는데 있어서, 서버(100)는 완성체 블록(10)의 꼭지점을 적어도 하나 이상 포함하는 최대 8개의 기준 서브 블록을 우선 확정할 수 있다.Meanwhile, although not shown, when the
구체적으로, 서버(100)는 각각의 기준 서브 블록에 포함된 확정 큐브 조각 중 적어도 하나가 완성체 블록(10)의 꼭지점을 포함하도록 하고, 생성된 기준 블록들을 연결하는 적어도 하나의 잔여 서브 블록을 생성한다.Specifically, the
이에 따라, 복수의 서브 블록은, 최대 8개의 기준 서브 블록 및 적어도 하나의 잔여 서브 블록을 포함한다.Accordingly, the plurality of sub-blocks includes a maximum of 8 reference sub-blocks and at least one remaining sub-block.
도 8은 본 발명의 일 실시예에 따른 서버(100) 구성도이다.8 is a configuration diagram of a
도시된 바와 같이, 서버(100)는 메모리(110), 통신부(120) 및 프로세서(130)를 포함할 수 있다.As shown, the
메모리(110)는 서버(100)의 동작에 필요한 각종 프로그램 및 데이터를 저장할 수 있다. 메모리(110)는 비휘발성 메모리(110), 휘발성 메모리(110), 플래시메모리(110)(flash-memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD) 등으로 구현될 수 있다.The
통신부(120)는 외부 장치와 통신을 수행할 수 있다. 특히, 통신부(120)는 와이파이 칩, 블루투스 칩, 무선 통신 칩, NFC칩, 저전력 블루투스 침(BLE 칩) 등과 같은 다양한 통신 칩을 포함할 수 있다. 이때, 와이파이 칩, 블루투스 칩, NFC 칩은 각각 LAN 방식, WiFi 방식, 블루투스 방식, NFC 방식으로 통신을 수행한다. 와이파이 칩이나 블루투스칩을 이용하는 경우에는 SSID 및 세션 키 등과 같은 각종 연결 정보를 먼저 송수신 하여, 이를 이용하여 통신 연결한 후 각종 정보들을 송수신할 수 있다. 무선 통신칩은 IEEE, 지그비, 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution) 등과 같은 다양한 통신 규격에 따라 통신을 수행하는 칩을 의미한다.The
프로세서(130)는 메모리(110)에 저장된 각종 프로그램을 이용하여 서버(100)의 전반적인 동작을 제어할 수 있다. 프로세서(130)는 RAM, ROM, 그래픽 처리부, 메인 CPU, 제1 내지 n 인터페이스 및 버스로 구성될 수 있다. 이때, RAM, ROM, 그래픽 처리부, 메인 CPU, 제1 내지 n 인터페이스 등은 버스를 통해 서로 연결될 수 있다.The
RAM은 O/S 및 어플리케이션 프로그램을 저장한다. 구체적으로, 서버(100)가 부팅되면 O/S가 RAM에 저장되고, 사용자가 선택한 각종 어플리케이션 데이터가 RAM에 저장될 수 있다.RAM stores O/S and application programs. Specifically, when the
ROM에는 시스템 부팅을 위한 명령어 세트 등이 저장된다. 턴 온 명령이 입력되어 전원이 공급되면, 메인 CPU는 ROM에 저장된 명령어에 따라 메모리(110)에 저장된 O/S를 RAM에 복사하고, O/S를 실행시켜 시스템을 부팅시킨다. 부팅이 완료되면, 메인 CPU는 메모리(110)에 저장된 각종 어플리케이션 프로그램을 RAM에 복사하고, RAM에 복사된 어플리케이션 프로그램을 실행시켜 각종 동작을 수행한다.The ROM stores an instruction set for booting the system, and the like. When a turn-on command is input and power is supplied, the main CPU copies the O/S stored in the
그래픽 처리부는 연산부(미도시) 및 렌더링부(미도시)를 이용하여 아이템, 이미지, 텍스트 등과 같은 다양한 객체를 포함하는 화면을 생성한다. 여기서, 연산부는 입력부로부터 수신된 제어 명령을 이용하여 화면의 레이아웃에 따라 각 객체들이 표시될 좌표값, 형태, 크기, 컬러 등과 같은 속성값을 연산하는 구성일 수 있다. 그리고, 렌더링부는 연산부에서 연산한 속성값에 기초하여 객체를 포함하는 다양한 레이아웃의 화면을 생성하는 구성이 일 수 있다. 이러한 렌더링부에서 생성된 화면은 디스플레이의 디스플레이 영역 내에 표시될 수 있다.The graphic processing unit generates a screen including various objects such as items, images, and texts by using a calculation unit (not shown) and a rendering unit (not shown). Here, the calculating unit may be configured to calculate attribute values such as coordinate values, shape, size, color, etc. of each object to be displayed according to the layout of the screen by using the control command received from the input unit. In addition, the rendering unit may be configured to generate screens of various layouts including objects based on the attribute values calculated by the operation unit. The screen generated by the rendering unit may be displayed in the display area of the display.
메인 CPU는 메모리(110)에 액세스하여, 메모리(110)에 저장된 OS를 이용하여 부팅을 수행한다. 그리고, 메인 CPU는 메모리(110)에 저장된 각종 프로그램, 컨텐츠, 데이터 등을 이용하여 다양한 동작을 수행한다.The main CPU accesses the
제1 내지 n 인터페이스는 상술한 각종 구성요소들과 연결된다. 제1 내지 n 인터페이스 중 하나는 네트워크를 통해 외부 장치와 연결되는 네트워크 인터페이스가 될 수도 있다.The first to n interfaces are connected to the various components described above. One of the first to n interfaces may be a network interface connected to an external device through a network.
한편, 나아가, 프로세서(130)는 인공지능 모델을 제어할 수 있다. 이 경우, 프로세서(130)는 인공지능 모델을 제어하기 위한 그래픽 전용 프로세서(예: GPU)를 포함할 수 있음은 물론이다.Meanwhile, further, the
한편, 프로세서(130)는 하나 이상의 코어(core, 미도시) 및 그래픽 처리부(미도시) 및/또는 다른 구성 요소와 신호를 송수신하는 연결 통로(예를 들어, 버스(bus) 등)를 포함할 수 있다.On the other hand, the
일 실시예에 따른 프로세서(130)는 메모리(110)에 저장된 하나 이상의 인스트럭션을 실행함으로써, 본 발명과 관련하여 설명된 방법을 수행한다.The
예를 들어, 프로세서(130)는 메모리(110)에 저장된 하나 이상의 인스트럭션을 실행함으로써 신규 학습용 데이터를 획득하고, 학습된 모델을 이용하여, 상기 획득된 신규 학습용 데이터에 대한 테스트를 수행하고, 상기 테스트 결과, 라벨링된 정보가 소정의 제1 기준값 이상의 정확도로 획득되는 제1 학습용 데이터를 추출하고, 상기 추출된 제1 학습용 데이터를 상기 신규 학습용 데이터로부터 삭제하고, 상기 추출된 학습용 데이터가 삭제된 상기 신규 학습용 데이터를 이용하여 상기 학습된 모델을 다시 학습시킬 수 있다.For example, the
한편, 프로세서(130)는 프로세서(130) 내부에서 처리되는 신호(또는, 데이터)를 일시적 및/또는 영구적으로 저장하는 램(RAM: Random Access Memory, 미도시) 및 롬(ROM: Read-Only Memory, 미도시)을 더 포함할 수 있다. 또한, 프로세서(130)는 그래픽 처리부, 램 및 롬 중 적어도 하나를 포함하는 시스템온칩(SoC: system on chip) 형태로 구현될 수 있다.Meanwhile, the
메모리(110)에는 프로세서(130)의 처리 및 제어를 위한 프로그램들(하나 이상의 인스트럭션들)을 저장할 수 있다. 메모리(110)에 저장된 프로그램들은 기능에 따라 복수 개의 모듈들로 구분될 수 있다.The
본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.The steps of a method or algorithm described in relation to an embodiment of the present invention may be implemented directly in hardware, as a software module executed by hardware, or by a combination thereof. A software module may include random access memory (RAM), read only memory (ROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, hard disk, removable disk, CD-ROM, or It may reside in any type of computer-readable recording medium well known in the art to which the present invention pertains.
본 발명의 구성 요소들은 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 애플리케이션)으로 구현되어 매체에 저장될 수 있다. 본 발명의 구성 요소들은 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있으며, 이와 유사하게, 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다.The components of the present invention may be implemented as a program (or application) to be executed in combination with a computer, which is hardware, and stored in a medium. Components of the present invention may be implemented as software programming or software components, and similarly, embodiments may include various algorithms implemented as data structures, processes, routines, or combinations of other programming constructs, including C, C++ , Java, assembler, etc. may be implemented in a programming or scripting language. Functional aspects may be implemented in an algorithm running on one or more processors.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.As mentioned above, although embodiments of the present invention have been described with reference to the accompanying drawings, those skilled in the art to which the present invention pertains can realize that the present invention can be embodied in other specific forms without changing its technical spirit or essential features. you will be able to understand Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive.
10 : 완성체 블록
21 : 제1 서브 블록
22 : 제2 서브 블록
100 : 서버
110 : 메모리
120 : 통신부
130 : 프로세서
200 : 사용자 단말10: complete block
21: first sub-block
22: second sub-block
100 : server
110: memory
120: communication department
130: processor
200: user terminal
Claims (8)
사용자 단말을 통해 수신되는 사용자 입력을 기초로, 블록 퍼즐 제품에 대한 인증을 수행하는 단계;
상기 사용자 단말을 통해, 상기 블록 퍼즐 제품에 포함된 큐브 조각들을 통해 구현 가능한 복수의 서브 블록을 포함하는 퍼즐 정보를 제공하는 단계; 및
상기 사용자 단말을 통해, 상기 복수의 서브 블록으로 완성체 블록을 조립하기 위한 솔루션 정보를 제공하는 단계;를 포함하고,
상기 퍼즐 정보를 제공하는 단계는,
상기 완성체 블록에 포함되는 큐브 조각들 중 상기 복수의 서브 블록 각각에 매칭되는 확정 큐브 조각을 하나씩 식별하고,
상기 완성체 블록에 포함되는 큐브 조각들 중 상기 확정 큐브 조각을 제외한 큐브 조각들을 비확정 큐브 조각으로 정의하고,
상기 복수의 서브 블록 중 제1 서브 블록의 확정 큐브 조각과 인접한 적어도 하나의 비확정 큐브 조각을 랜덤으로 선택하여 상기 제1 서브 블록의 확정 큐브 조각으로 변경하고,
상기 복수의 서브 블록 중 제2 서브 블록의 확정 큐브 조각과 인접한 적어도 하나의 비확정 큐브 조각을 랜덤으로 선택하여 상기 제2 서브 블록의 확정 큐브 조각으로 변경하는, 시스템의 제어 방법.In the control method of a server that provides a block puzzle and solution,
based on a user input received through the user terminal, performing authentication for the block puzzle product;
providing, through the user terminal, puzzle information including a plurality of sub-blocks that can be implemented through cube pieces included in the block puzzle product; and
Providing solution information for assembling the complete block with the plurality of sub-blocks through the user terminal;
The step of providing the puzzle information includes:
One by one identification of the determined cube pieces matching each of the plurality of sub-blocks from among the cube pieces included in the completed block,
Among the cube pieces included in the completed block, cube pieces excluding the fixed cube piece are defined as non-determined cube pieces,
At least one non-determined cube piece adjacent to the determined cube piece of the first sub-block from among the plurality of sub-blocks is randomly selected and changed to the fixed cube piece of the first sub-block;
A method of controlling a system, wherein at least one non-determined cube piece adjacent to the determined cube piece of the second sub-block from among the plurality of sub-blocks is randomly selected and changed to the determined cube piece of the second sub-block.
상기 블록 퍼즐 제품에 대한 인증을 수행하는 단계는,
상기 사용자 단말이 상기 서버의 웹 페이지에 접속하면, 인증 코드를 입력받는 UI(User Interface)를 상기 사용자 단말로 출력하고, 상기 UI를 통해 수신된 사용자 입력에 따라 인증 코드를 획득하는, 서버의 제어 방법.The method of claim 1,
The step of performing authentication for the block puzzle product includes:
When the user terminal accesses the web page of the server, it outputs a UI (User Interface) for receiving an authentication code input to the user terminal, and obtains an authentication code according to the user input received through the UI, control of the server Way.
상기 서버의 제어 방법은,
상기 사용자 단말로부터 카메라 어플리케이션을 통해 제1 이미지를 획득하는 단계;
상기 제1 이미지로부터 상기 복수의 서브 블록에 대한 이미지가 인식되면, 상기 제1 이미지의 촬영 시점을 저장하는 단계;
상기 사용자 단말로부터 카메라 어플리케이션을 통해 제2 이미지를 획득하는 단계;
상기 제2 이미지로부터 상기 완성체 블록에 대한 이미지가 인식되면, 상기 제2 이미지의 촬영 시점을 저장하는 단계;
상기 제1 이미지의 촬영 시점 및 상기 제2 이미지의 촬영 시점을 바탕으로 상기 퍼즐 정보에 대한 사용자의 솔루션 도출에 걸린 시간을 산출하는 단계; 및
상기 산출된 시간을 바탕으로 상기 사용자의 레벨을 판단하고, 상기 사용자의 레벨을 상기 인증 코드에 매칭하여 저장하는 단계;를 포함하는, 서버의 제어 방법.3. The method of claim 2,
The control method of the server,
obtaining a first image from the user terminal through a camera application;
when images of the plurality of sub-blocks are recognized from the first image, storing a photographing time of the first image;
obtaining a second image from the user terminal through a camera application;
when the image of the finished block is recognized from the second image, storing the photographing time of the second image;
calculating a time taken for a user to derive a solution for the puzzle information based on the photographing time of the first image and the photographing time of the second image; and
Determining the level of the user based on the calculated time, matching the level of the user to the authentication code and storing;
상기 퍼즐 정보를 제공하는 단계는,
상기 인증 코드에 매칭된 상기 사용자의 레벨을 식별하고,
상기 식별된 사용자의 레벨을 바탕으로, 퍼즐 정보의 난이도를 산출하는, 서버의 제어 방법.4. The method of claim 3,
The step of providing the puzzle information includes:
Identifies the level of the user matched to the authentication code,
Based on the identified level of the user, calculating the difficulty of the puzzle information, a control method of the server.
상기 퍼즐 정보를 제공하는 단계는,
큐브 조각들의 수량, 서브 블록들의 개수, 및 상기 서브 블록들 각각이 갖는 표면 넓이의 총량 중 적어도 하나를 상기 산출된 퍼즐 정보의 난이도에 비례하도록 하는, 서버의 제어 방법.5. The method of claim 4,
The step of providing the puzzle information includes:
A method for controlling a server, wherein at least one of the number of cube pieces, the number of sub-blocks, and the total amount of the surface area of each of the sub-blocks is proportional to the difficulty of the calculated puzzle information.
상기 솔루션 정보를 출력하는 단계는,
완성체 블록 이미지 및 상기 복수의 서브 블록 각각에 매칭되는 위치 이미지를 포함하는 솔루션 정보를 생성하고,
상기 완성체 블록 이미지 상에서, 적어도 하나의 위치 이미지에 대한 위치 출력을 요청받는 UI(User Interface)를 생성하고,
상기 사용자 단말을 통해 상기 UI에 대한 사용자 입력을 획득하면, 상기 획득된 사용자 명령을 바탕으로 상기 완성체 블록 이미지 상에, 위치 이미지를 출력하고,
상기 출력된 위치 이미지가 복수인 경우, 서로 다른 색으로 출력되고,
상기 완성체 블록 이미지는,
상기 사용자 단말을 통해 입체 UI로 제공되며, 상기 입체 UI에 대한 사용자 입력을 바탕으로 회전하고,
상기 위치 이미지는,
매칭되는 서브 블록이, 상기 완성체 블록 상에서 차지하는 위치 및 부피에 대한 이미지인, 서버의 제어 방법.The method of claim 1,
The step of outputting the solution information is
generating solution information including a complete block image and a location image matching each of the plurality of sub-blocks;
On the completed block image, generating a UI (User Interface) that receives a request to output a location for at least one location image,
When a user input for the UI is obtained through the user terminal, a location image is output on the completed block image based on the obtained user command,
When there are a plurality of output position images, they are output in different colors,
The complete block image is,
It is provided as a three-dimensional UI through the user terminal, and rotates based on a user input to the three-dimensional UI,
The location image is
A method of controlling a server, wherein the matching sub-block is an image of the position and volume occupied on the completed block.
상기 퍼즐 정보를 제공하는 단계는,
상기 제1 서브 블록의 확정 큐브 조각들 중 적어도 하나와 인접한 비확정 큐브 조각이 존재하지 않는 경우, 상기 제1 서브 블록을 구성하는 확정 큐브 조각들을 확정하는, 서버의 제어 방법.The method of claim 1,
The step of providing the puzzle information includes:
When an unconfirmed cube piece adjacent to at least one of the determined cube pieces of the first sub-block does not exist, determining the determined cube pieces constituting the first sub-block.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210186252A KR102445082B1 (en) | 2021-12-23 | 2021-12-23 | Control method for server providing solution to block puzzle |
KR1020220115479A KR20230096826A (en) | 2021-12-23 | 2022-09-14 | Control method for server providing block puzzle with customized quiz difficulty for user level |
PCT/KR2022/017617 WO2023120974A1 (en) | 2021-12-23 | 2022-11-10 | Method of controlling server for providing block puzzle solution |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210186252A KR102445082B1 (en) | 2021-12-23 | 2021-12-23 | Control method for server providing solution to block puzzle |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220115479A Division KR20230096826A (en) | 2021-12-23 | 2022-09-14 | Control method for server providing block puzzle with customized quiz difficulty for user level |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102445082B1 true KR102445082B1 (en) | 2022-09-21 |
Family
ID=83452789
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210186252A KR102445082B1 (en) | 2021-12-23 | 2021-12-23 | Control method for server providing solution to block puzzle |
KR1020220115479A KR20230096826A (en) | 2021-12-23 | 2022-09-14 | Control method for server providing block puzzle with customized quiz difficulty for user level |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220115479A KR20230096826A (en) | 2021-12-23 | 2022-09-14 | Control method for server providing block puzzle with customized quiz difficulty for user level |
Country Status (2)
Country | Link |
---|---|
KR (2) | KR102445082B1 (en) |
WO (1) | WO2023120974A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023120974A1 (en) * | 2021-12-23 | 2023-06-29 | 안종현 | Method of controlling server for providing block puzzle solution |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150030947A (en) * | 2013-09-13 | 2015-03-23 | 주식회사 비엔에스웍스 | Method and System for Operating Play Board for children by Smart Device |
KR20170073047A (en) * | 2015-12-18 | 2017-06-28 | 김영아 | A block type playing toy |
KR20210026811A (en) * | 2019-09-02 | 2021-03-10 | 곽창섭 | Method and system for puzzle delivery and computing device for executing the system |
KR102290664B1 (en) * | 2020-09-04 | 2021-08-19 | 주식회사 베이스디 | Method for supplying toy augmented reality augmented reality assembly video that can be evaluated |
KR20210109398A (en) | 2020-02-27 | 2021-09-06 | 이태원 | Toy Block Elements and Toy Block Set Assembled thereby |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101511313B1 (en) * | 2013-12-03 | 2015-04-16 | 최무성 | Method for controlling puzzle toy |
KR102445082B1 (en) * | 2021-12-23 | 2022-09-21 | 안종현 | Control method for server providing solution to block puzzle |
-
2021
- 2021-12-23 KR KR1020210186252A patent/KR102445082B1/en active
-
2022
- 2022-09-14 KR KR1020220115479A patent/KR20230096826A/en unknown
- 2022-11-10 WO PCT/KR2022/017617 patent/WO2023120974A1/en unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150030947A (en) * | 2013-09-13 | 2015-03-23 | 주식회사 비엔에스웍스 | Method and System for Operating Play Board for children by Smart Device |
KR20170073047A (en) * | 2015-12-18 | 2017-06-28 | 김영아 | A block type playing toy |
KR20210026811A (en) * | 2019-09-02 | 2021-03-10 | 곽창섭 | Method and system for puzzle delivery and computing device for executing the system |
KR20210109398A (en) | 2020-02-27 | 2021-09-06 | 이태원 | Toy Block Elements and Toy Block Set Assembled thereby |
KR102290664B1 (en) * | 2020-09-04 | 2021-08-19 | 주식회사 베이스디 | Method for supplying toy augmented reality augmented reality assembly video that can be evaluated |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023120974A1 (en) * | 2021-12-23 | 2023-06-29 | 안종현 | Method of controlling server for providing block puzzle solution |
Also Published As
Publication number | Publication date |
---|---|
KR20230096826A (en) | 2023-06-30 |
WO2023120974A1 (en) | 2023-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10742900B2 (en) | Method and system for providing camera effect | |
CN107890671B (en) | Three-dimensional model rendering method and device for WEB side, computer equipment and storage medium | |
US20170046965A1 (en) | Robot with awareness of users and environment for use in educational applications | |
WO2017133584A1 (en) | Method of determining spatial location of controlled object and device | |
US20230316623A1 (en) | Expression generation method and apparatus, device, and medium | |
US10949991B2 (en) | Method and apparatus for determining position of pupil | |
US11887224B2 (en) | Method, apparatus, and computer program for completing painting of image, and method, apparatus, and computer program for training artificial neural network | |
US11985135B2 (en) | Stated age filter | |
KR102445082B1 (en) | Control method for server providing solution to block puzzle | |
JP6820160B2 (en) | Programs and systems that render images | |
WO2023227045A1 (en) | Display object determination method and apparatus, electronic device, and storage medium | |
US20200210038A1 (en) | Robot eye lamp control method and apparatus and terminal device using the same | |
CN115145391A (en) | Virtual reality treadmill self-adaption method and system based on AI deep learning | |
CN113628221B (en) | Image processing method, image segmentation model training method and related device | |
US20180101294A1 (en) | Information generating system, information generating device, information generating method, and information generating program | |
CN110097061B (en) | Image display method and device | |
CN112579144B (en) | Data processing method and device | |
JP2019512141A (en) | Face model editing method and apparatus | |
KR102481956B1 (en) | Control method for historical education-linked coding system by location of relic | |
US20140135121A1 (en) | Method and apparatus for providing three-dimensional characters with enhanced reality | |
KR20230134658A (en) | Method, apparatus and computer program for creating customized character based on personality type of user | |
KR102434153B1 (en) | Electronic device and control method for visualizes inclination of golf green through augmented reality | |
KR102673548B1 (en) | Electronic device providing user interface constituted by user cognitive ability, and control method for server | |
KR102645640B1 (en) | Apparatus for generating image dataset for training and evaluation of image stitching and method thereof | |
US12072794B1 (en) | Testing a metaverse application for rendering errors across multiple devices |