KR102445082B1 - Control method for server providing solution to block puzzle - Google Patents

Control method for server providing solution to block puzzle Download PDF

Info

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
Application number
KR1020210186252A
Other languages
Korean (ko)
Inventor
안종현
Original Assignee
안종현
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 안종현 filed Critical 안종현
Priority to KR1020210186252A priority Critical patent/KR102445082B1/en
Priority to KR1020220115479A priority patent/KR20230096826A/en
Application granted granted Critical
Publication of KR102445082B1 publication Critical patent/KR102445082B1/en
Priority to PCT/KR2022/017617 priority patent/WO2023120974A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F9/00Games not otherwise provided for
    • A63F9/06Patience; Other games for self-amusement
    • A63F9/08Puzzles provided with elements movable in relation, i.e. movably connected, to each other
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F9/00Games not otherwise provided for
    • A63F9/06Patience; Other games for self-amusement
    • A63F9/08Puzzles provided with elements movable in relation, i.e. movably connected, to each other
    • A63F9/0826Three-dimensional puzzles with slidable or rotatable elements or groups of elements, the main configuration remaining unchanged, e.g. Rubik's cube
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H33/00Other toys
    • A63H33/04Building blocks, strips, or similar building parts
    • A63H33/06Building blocks, strips, or similar building parts to be assembled without the use of additional elements
    • A63H33/08Building 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B19/00Teaching not covered by other main groups of this subclass
    • G09B19/22Games, e.g. card games
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras 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

The present invention relates to a control method of a server providing a block puzzle and a solution, which includes the steps of: performing authentication for a block puzzle product based on a user input received through a user terminal; providing, through the user terminal, puzzle information including a plurality of sub-blocks which can be implemented through cube pieces included in the block puzzle product; and providing solution information for assembling a complete block with the plurality of sub-blocks through the user terminal.

Description

블록 퍼즐의 솔루션을 제공하는 서버의 제어 방법{CONTROL METHOD FOR SERVER PROVIDING SOLUTION TO BLOCK PUZZLE}A method of controlling a server that provides a solution to a block puzzle

본 발명은 블록 퍼즐의 솔루션을 제공하는 서버의 제어 방법에 관한 것으로, 보다 상세하게는, 사용자가 복수의 큐브로 구성된 서브 블록 조각들(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.

공개특허공보 제10-2021-0109398호, 2021.09.06.Patent Publication No. 10-2021-0109398, 2021.09.06.

본 발명이 해결하고자 하는 과제는 사용자가, 복수의 큐브로 구성된 서브 블록 조각들(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 server 100 that provides the block puzzle and solution of the present invention communicates with the user terminal 200 which is the user's electronic device.

일 실시예로, 전자 장치는 스마트폰(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 server 100 that provides the block puzzle and solution according to an aspect of the present invention performs authentication on the block puzzle product based on the user input received through the user terminal 200 (S210) do.

구체적으로, 서버(100)가 단계 S210을 수행하는데 있어서, 서버(100)는 사용자 단말(200)이 서버(100)의 웹 페이지에 접속하면, 인증 코드를 입력받는 UI(User Interface)를 사용자 단말(200)로 출력하고, UI를 통해 수신된 사용자 입력에 따라 인증 코드를 획득하는 것이 가능하다.Specifically, in the server 100 performing step S210, when the user terminal 200 accesses the web page of the server 100, the server 100 provides a UI (User Interface) for receiving an authentication code to the user terminal. It is possible to output to 200 and obtain an authentication code according to a user input received through the UI.

이어서, 서버(100)는 사용자 단말(200)을 통해, 블록 퍼즐 제품에 포함된 큐브 조각들을 통해 구현 가능한 복수의 서브 블록을 포함하는 퍼즐 정보를 제공(S220)하고, 사용자 단말(200)을 통해, 복수의 서브 블록으로 완성체 블록(10)을 조립하기 위한 솔루션 정보를 제공(S230)한다.Subsequently, the server 100 provides puzzle information including a plurality of sub-blocks that can be implemented through cube pieces included in the block puzzle product through the user terminal 200 (S220), and through the user terminal 200 , provides solution information for assembling the complete block 10 with a plurality of sub-blocks (S230).

한편, 서버(100)는 일 인증 코드에 대해 인증을 실시한 일 사용자 단말(200)을 통해, 단계 S210 내지 단계 S230을 수행한 전적을 바탕으로 해당 사용자 단말(200)의 사용자에 대한 사용자 레벨을 판단하고, 해당 인증 코드에 판단된 사용자 레벨을 매칭하여 저장할 수 있다.On the other hand, the server 100 determines the user level for the user of the corresponding user terminal 200 based on the record of performing steps S210 to S230 through one user terminal 200 that has authenticated for one authentication code. and the user level determined by the corresponding authentication code may be matched and stored.

구체적으로, 서버(100)는, 일 퍼즐 정보를 수신한 사용자 단말(200)로부터 카메라 어플리케이션을 통해, 제1 이미지를 획득하면, 제1 이미지로부터 복수의 서브 블록에 대한 이미지가 인식되는지 여부를 판단한다.Specifically, when the server 100 acquires the first image through the camera application from the user terminal 200 that has received the puzzle information, it is determined whether images for a plurality of sub-blocks are recognized from the first image. do.

판단 결과, 제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 server 100 stores the capturing time of the first image.

이후, 사용자 단말(200)로부터 카메라 어플리케이션을 통해 제2 이미지를 획득하고, 제2 이미지로부터 완성체 블록(10)에 대한 이미지가 인식되면, 제2 이미지의 촬영 시점을 저장한다.Thereafter, when a second image is obtained from the user terminal 200 through a camera application, and an image of the complete block 10 is recognized from the second image, the capturing time of the second image is stored.

이에 따라, 서버(100)는 제1 이미지의 촬영 시점 및 제2 이미지의 촬영 시점을 바탕으로 해당 퍼즐 정보에 대한 사용자의 솔루션 도출에 걸린 시간을 산출하고, 해당 퍼즐 정보의 난이도 및 산출된 시간을 바탕으로 해당 사용자의 레벨을 판단하여, 판단된 사용자의 레벨을 해당 인증 코드에 매칭하여 저장한다.Accordingly, the server 100 calculates the time taken to derive the user's solution for the corresponding puzzle information based on the photographing time of the first image and the photographing time of the second image, and calculates the difficulty of the puzzle information and the calculated time. Based on the determination of the level of the user, the determined level of the user is matched with the corresponding authentication code and stored.

이후, 서버(100)가 단계 S210을 수행하는데 있어서, 사용자 단말(200)을 통해 획득한 인증 코드에 기 매칭된 사용자의 레벨이 식별되면, 서버(100)가 단계 S220을 수행하는데 있어서, 서버(100)는 인증 코드에 매칭된 사용자의 레벨을 식별하고, 식별된 사용자의 레벨을 바탕으로, 퍼즐 정보의 난이도를 산출하는 것이 가능하다.Then, when the server 100 performs step S210, if the level of the user previously matched to the authentication code obtained through the user terminal 200 is identified, in the server 100 performing step S220, the server ( 100) identifies the level of the user matched to the authentication code, and based on the identified level of the user, it is possible to calculate the difficulty of the puzzle information.

구체적으로, 서버(100)는 큐브 조각들의 수량, 서브 블록들의 개수, 및 서브 블록들 각각이 갖는 표면 넓이의 총량 중 적어도 하나를 산출된 퍼즐 정보의 난이도에 비례하도록 설정할 수 있다.Specifically, the server 100 may set 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 to be proportional to the difficulty of the calculated puzzle information.

예컨대, 큐브 조각들의 수량이 증가할수록, 서브 블록들의 개수 또는 서브 블록들을 조립하는데 소요되는 시간이 증가하여 퍼즐 정보의 난이도가 상승한다.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 complete block 10 increases, so the difficulty of puzzle information increases.

또한, 서브 블록들 각각이 갖는 표면 넓이의 총량은 서브 블록들의 개수 또는 큐브 조각들의 수량에 비례하므로, 퍼즐 정보의 난이도가 높아(어려워)질수록, 증가한다.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 server 100 performs step S220, the server 100 may provide an image for each of a plurality of sub-blocks included in the puzzle information through the user terminal 200, , In this case, a color and/or pattern distinguished from other sub-block images may be inserted in each of the plurality of sub-block images.

도 4 내지 도 6에 도시된 바와 같이, 서버(100)가 단계 S230을 수행하는데 있어서, 서버(100)는 완성체 블록(10) 이미지 및 복수의 서브 블록 각각에 매칭되는 위치 이미지를 포함하는 솔루션 정보를 생성한다.As shown in FIGS. 4 to 6 , when the server 100 performs step S230, the server 100 includes a complete block 10 image and a location image matching each of a plurality of sub-blocks. create information

이때, 서버(100)는 완성체 블록(10) 이미지 상에서, 적어도 하나의 위치 이미지에 대한 위치 출력을 요청받는 UI(User Interface)를 생성하고, 사용자 단말(200)을 통해 UI에 대한 사용자 입력을 획득하면, 획득된 사용자 명령을 바탕으로 완성체 블록(10) 이미지 상에, 위치 이미지를 출력한다.At this time, the server 100 generates a UI (User Interface) that receives a request to output a location for at least one location image on the completed block 10 image, and receives a user input to the UI through the user terminal 200 . Upon acquisition, a position image is output on the image of the completed block 10 based on the acquired user command.

이때, 도 5에 도시된 바와 같이, 출력된 위치 이미지가 복수인 경우, 서버(100)는 복수의 위치 이미지 각각을 서로 다른 색 및/또는 무늬로 출력되도록 한다.At this time, as shown in FIG. 5 , when there are a plurality of output location images, the server 100 outputs each of the plurality of location images in different colors and/or patterns.

한편, 완성체 블록(10) 이미지는, 사용자 단말(200)을 통해 입체 UI로 제공되며, 입체 UI에 대한 사용자 입력을 바탕으로 회전한다.On the other hand, the image of the complete block 10 is provided as a three-dimensional UI through the user terminal 200, and rotates based on a user input to the three-dimensional UI.

또한, 위치 이미지는, 매칭되는 서브 블록이, 완성체 블록(10) 상에서 차지하는 위치 및 부피에 대한 이미지이다.In addition, the position image is an image of the position and volume occupied by the matching sub-block on the complete block 10 .

도시되지는 않았으나, 서버(100)가 단계 S230을 수행하는데 있어서, 서버(100)는 서로 다른 위치 이미지 간에 접촉하는 표면의 중심선을 포함하여, 완성체 블록(10) 이미지 상에 복수의 위치 이미지가 차지하는 부피를 구획할 수 있다.Although not shown, in the server 100 performing step S230, the server 100 includes a center line of a surface in contact between different position images, and a plurality of position images on the image of the complete block 10 are The volume it occupies can be partitioned.

이때, 서버(100)는 표면의 중심선을 기준으로, 완성체 블록(10) 이미지를 솔루션 정보에 포함된 복수의 서브 블록이 조합 및 분해되는 시뮬레이션을 출력하는 UI를 사용자 단말(200)로 제공하는 것이 가능하다.At this time, the server 100 provides the user terminal 200 with a UI that outputs a simulation in which a plurality of sub-blocks included in the solution information are combined and decomposed with the image of the finished block 10 based on the center line of the surface. it is possible

또한, 서버(100)가 단계 S230을 수행하는데 있어서, 서버(100)는 일 퍼즐 정보에 대한 복수의 솔루션 정보를 구성하고, 복수의 솔루션 정보 중 어느 하나에 대한 솔루션을 선택하는 UI를 사용자 단말(200)로 제공함으로써, 솔루션을 선택하는 UI에 대한 사용자 입력을 바탕으로, 복수의 솔루션 정보 중 어느 하나에 대한 솔루션 정보를 사용자 단말(200)로 제공할 수 있다.In addition, when the server 100 performs step S230, the server 100 configures a plurality of solution information for one puzzle information, and displays a UI for selecting a solution for any one of the plurality of solution information to the user terminal ( 200 ), solution information for any one of a plurality of solution information may be provided to the user terminal 200 based on a user input to the UI for selecting a solution.

즉, 서버(100)는 일 퍼즐 정보에 대한 복수의 서브 블록들을 통한 완성체 블록(10)을 조립하는 방식이 복수일 경우, 각각의 방식에 대한 솔루션 정보를 생성할 수 있다.That is, when there are a plurality of methods of assembling the complete block 10 through a plurality of sub-blocks for one piece of puzzle information, the server 100 may generate solution information for each method.

한편, 도 7에 도시된 바와 같이, 서버(100)가 단계 S220을 수행하는데 있어서, 서버(100)는 완성체 블록(10)에 포함되는 큐브 조각들 중 복수의 서브 블록 각각에 매칭되는 확정 큐브 조각을 하나씩 식별하고, 완성체 블록(10)에 포함되는 큐브 조각들 중 확정 큐브 조각을 제외한 큐브 조각들을 비확정 큐브 조각으로 정의할 수 있다.Meanwhile, as shown in FIG. 7 , when the server 100 performs step S220 , the server 100 determines cubes matching each of a plurality of sub-blocks among cube pieces included in the completed block 10 . The pieces may be identified one by one, and cube pieces excluding the fixed cube piece among the cube pieces included in the completed block 10 may be defined as non-determined cube pieces.

이때, 도시된 바와 같이, 서버(100)는 복수의 서브 블록 중 제1 서브 블록(21)의 확정 큐브 조각과 인접한 적어도 하나의 비확정 큐브 조각을 랜덤으로 선택하여 제1 서브 블록(21)의 확정 큐브 조각으로 변경한다.At this time, as shown, the server 100 randomly selects at least one non-determined cube piece adjacent to the determined cube piece of the first sub-block 21 from among the plurality of sub-blocks, and Change to a definite cube piece.

실시예로, 제1 서브 블록(21)의 확정 큐브 조각으로 변경된 큐브 조각이, 제1 서브 블록(21)의 기 설정된 표면 넓이 조건 또는 기 설정된 큐브 조각 개수 조건을 만족시키면, 서버(100)는 제1 서브 블록(21)을 구성하는 확정 큐브 조각들을 확정할 수 있다.In an embodiment, if the cube piece changed to the final cube piece of the first sub-block 21 satisfies the preset surface area condition or the preset number of cube pieces condition of the first sub-block 21, the server 100 The determined cube pieces constituting the first sub-block 21 may be determined.

이후, 서버(100)는 복수의 서브 블록 중 제2 서브 블록(22)의 확정 큐브 조각과 인접한 적어도 하나의 비확정 큐브 조각을 랜덤으로 선택하여 제2 서브 블록(22)의 확정 큐브 조각으로 변경한다.Thereafter, the server 100 randomly selects at least one non-confirmed cube piece adjacent to the confirmed cube piece of the second sub-block 22 from among the plurality of sub-blocks and changes it to the fixed cube piece of the second sub-block 22 . do.

이‹š, 서버(100)가 단계 S220을 수행하는데 있어서, 서버(100)는 제1 서브 블록(21)의 확정 큐브 조각들 중 적어도 하나와 인접한 비확정 큐브 조각이 존재하지 않는 경우, 제1 서브 블록(21)을 구성하는 확정 큐브 조각들을 확정하는 것이 가능하다.In this case, when the server 100 performs step S220, if there is no non-determined cube piece adjacent to at least one of the fixed cube pieces of the first sub-block 21, the first It is possible to determine the determined cube pieces constituting the sub-block 21 .

예컨대, 서버(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 first sub block 21, the server 100 may perform the first sub block 21 It is determined that the volume can no longer be increased in the completed block 10 , and the current state of the first sub-block 21 can be determined as the first sub-block 21 .

이에 따라, 확정 큐브 조각과 인접한 적어도 하나의 비확정 큐브 조각은, 확정 큐브 조각과 일 면을 공유하는 것을 특징으로 한다.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 server 100 performs step S220 , the server 100 may first determine a maximum of eight reference sub-blocks including at least one vertex of the completed block 10 . .

구체적으로, 서버(100)는 각각의 기준 서브 블록에 포함된 확정 큐브 조각 중 적어도 하나가 완성체 블록(10)의 꼭지점을 포함하도록 하고, 생성된 기준 블록들을 연결하는 적어도 하나의 잔여 서브 블록을 생성한다.Specifically, the server 100 causes at least one of the definite cube pieces included in each reference sub-block to include the vertex of the completed block 10, and at least one remaining sub-block connecting the generated reference blocks. create

이에 따라, 복수의 서브 블록은, 최대 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 server 100 according to an embodiment of the present invention.

도시된 바와 같이, 서버(100)는 메모리(110), 통신부(120) 및 프로세서(130)를 포함할 수 있다.As shown, the server 100 may include a memory 110 , a communication unit 120 , and a processor 130 .

메모리(110)는 서버(100)의 동작에 필요한 각종 프로그램 및 데이터를 저장할 수 있다. 메모리(110)는 비휘발성 메모리(110), 휘발성 메모리(110), 플래시메모리(110)(flash-memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD) 등으로 구현될 수 있다.The memory 110 may store various programs and data necessary for the operation of the server 100 . The memory 110 may be implemented as a non-volatile memory 110 , a volatile memory 110 , a flash memory 110 , a hard disk drive (HDD), or a solid state drive (SSD).

통신부(120)는 외부 장치와 통신을 수행할 수 있다. 특히, 통신부(120)는 와이파이 칩, 블루투스 칩, 무선 통신 칩, NFC칩, 저전력 블루투스 침(BLE 칩) 등과 같은 다양한 통신 칩을 포함할 수 있다. 이때, 와이파이 칩, 블루투스 칩, NFC 칩은 각각 LAN 방식, WiFi 방식, 블루투스 방식, NFC 방식으로 통신을 수행한다. 와이파이 칩이나 블루투스칩을 이용하는 경우에는 SSID 및 세션 키 등과 같은 각종 연결 정보를 먼저 송수신 하여, 이를 이용하여 통신 연결한 후 각종 정보들을 송수신할 수 있다. 무선 통신칩은 IEEE, 지그비, 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution) 등과 같은 다양한 통신 규격에 따라 통신을 수행하는 칩을 의미한다.The communication unit 120 may communicate with an external device. In particular, the communication unit 120 may include various communication chips such as a Wi-Fi chip, a Bluetooth chip, a wireless communication chip, an NFC chip, and a low-power Bluetooth chip (BLE chip). At this time, the Wi-Fi chip, the Bluetooth chip, and the NFC chip perform communication in a LAN method, a WiFi method, a Bluetooth method, and an NFC method, respectively. In the case of using a Wi-Fi chip or a Bluetooth chip, various types of connection information such as an SSID and a session key are first transmitted and received, and then various types of information can be transmitted and received after communication connection using this. The wireless communication chip refers to a chip that performs communication according to various communication standards, such as IEEE, ZigBee, 3rd Generation (3G), 3rd Generation Partnership Project (3GPP), and Long Term Evolution (LTE).

프로세서(130)는 메모리(110)에 저장된 각종 프로그램을 이용하여 서버(100)의 전반적인 동작을 제어할 수 있다. 프로세서(130)는 RAM, ROM, 그래픽 처리부, 메인 CPU, 제1 내지 n 인터페이스 및 버스로 구성될 수 있다. 이때, RAM, ROM, 그래픽 처리부, 메인 CPU, 제1 내지 n 인터페이스 등은 버스를 통해 서로 연결될 수 있다.The processor 130 may control the overall operation of the server 100 using various programs stored in the memory 110 . The processor 130 may include a RAM, a ROM, a graphic processing unit, a main CPU, first to n interfaces, and a bus. In this case, the RAM, ROM, graphic processing unit, main CPU, first to n interfaces, etc. may be connected to each other through a bus.

RAM은 O/S 및 어플리케이션 프로그램을 저장한다. 구체적으로, 서버(100)가 부팅되면 O/S가 RAM에 저장되고, 사용자가 선택한 각종 어플리케이션 데이터가 RAM에 저장될 수 있다.RAM stores O/S and application programs. Specifically, when the server 100 is booted, O/S may be stored in the RAM, and various application data selected by the user may be stored in the RAM.

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 memory 110 to the RAM according to the command stored in the ROM, and executes the O/S to boot the system. When booting is completed, the main CPU copies various application programs stored in the memory 110 to the RAM, and executes the application programs copied to the RAM to perform various operations.

그래픽 처리부는 연산부(미도시) 및 렌더링부(미도시)를 이용하여 아이템, 이미지, 텍스트 등과 같은 다양한 객체를 포함하는 화면을 생성한다. 여기서, 연산부는 입력부로부터 수신된 제어 명령을 이용하여 화면의 레이아웃에 따라 각 객체들이 표시될 좌표값, 형태, 크기, 컬러 등과 같은 속성값을 연산하는 구성일 수 있다. 그리고, 렌더링부는 연산부에서 연산한 속성값에 기초하여 객체를 포함하는 다양한 레이아웃의 화면을 생성하는 구성이 일 수 있다. 이러한 렌더링부에서 생성된 화면은 디스플레이의 디스플레이 영역 내에 표시될 수 있다.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 memory 110 and performs booting using the OS stored in the memory 110 . In addition, the main CPU performs various operations using various programs, contents, data, etc. stored in the memory 110 .

제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 processor 130 may control the artificial intelligence model. In this case, of course, the processor 130 may include a graphics-only processor (eg, GPU) for controlling the artificial intelligence model.

한편, 프로세서(130)는 하나 이상의 코어(core, 미도시) 및 그래픽 처리부(미도시) 및/또는 다른 구성 요소와 신호를 송수신하는 연결 통로(예를 들어, 버스(bus) 등)를 포함할 수 있다.On the other hand, the processor 130 may include one or more cores (core, not shown) and a graphic processing unit (not shown) and/or a connection path (eg, a bus, etc.) for transmitting and receiving signals with other components. can

일 실시예에 따른 프로세서(130)는 메모리(110)에 저장된 하나 이상의 인스트럭션을 실행함으로써, 본 발명과 관련하여 설명된 방법을 수행한다.The processor 130 according to an embodiment executes one or more instructions stored in the memory 110 to perform the method described in relation to the present invention.

예를 들어, 프로세서(130)는 메모리(110)에 저장된 하나 이상의 인스트럭션을 실행함으로써 신규 학습용 데이터를 획득하고, 학습된 모델을 이용하여, 상기 획득된 신규 학습용 데이터에 대한 테스트를 수행하고, 상기 테스트 결과, 라벨링된 정보가 소정의 제1 기준값 이상의 정확도로 획득되는 제1 학습용 데이터를 추출하고, 상기 추출된 제1 학습용 데이터를 상기 신규 학습용 데이터로부터 삭제하고, 상기 추출된 학습용 데이터가 삭제된 상기 신규 학습용 데이터를 이용하여 상기 학습된 모델을 다시 학습시킬 수 있다.For example, the processor 130 acquires new learning data by executing one or more instructions stored in the memory 110 , and performs a test on the acquired new learning data using the learned model, and the test As a result, the first learning data in which the labeled information is obtained with an accuracy greater than or equal to a predetermined first reference value is extracted, the extracted first learning data is deleted from the new learning data, and the extracted learning data is deleted. The learned model may be re-trained using the training data.

한편, 프로세서(130)는 프로세서(130) 내부에서 처리되는 신호(또는, 데이터)를 일시적 및/또는 영구적으로 저장하는 램(RAM: Random Access Memory, 미도시) 및 롬(ROM: Read-Only Memory, 미도시)을 더 포함할 수 있다. 또한, 프로세서(130)는 그래픽 처리부, 램 및 롬 중 적어도 하나를 포함하는 시스템온칩(SoC: system on chip) 형태로 구현될 수 있다.Meanwhile, the processor 130 includes a RAM (Random Access Memory, not shown) and ROM (Read-Only Memory) for temporarily and/or permanently storing signals (or data) processed inside the processor 130 . , not shown) may be further included. In addition, the processor 130 may be implemented in the form of a system on chip (SoC) including at least one of a graphic processing unit, a RAM, and a ROM.

메모리(110)에는 프로세서(130)의 처리 및 제어를 위한 프로그램들(하나 이상의 인스트럭션들)을 저장할 수 있다. 메모리(110)에 저장된 프로그램들은 기능에 따라 복수 개의 모듈들로 구분될 수 있다.The memory 110 may store programs (one or more instructions) for processing and controlling the processor 130 . Programs stored in the memory 110 may be divided into a plurality of modules according to functions.

본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 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.
제1 항에 있어서,
상기 블록 퍼즐 제품에 대한 인증을 수행하는 단계는,
상기 사용자 단말이 상기 서버의 웹 페이지에 접속하면, 인증 코드를 입력받는 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.
제2 항에 있어서,
상기 서버의 제어 방법은,
상기 사용자 단말로부터 카메라 어플리케이션을 통해 제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;
제3 항에 있어서,
상기 퍼즐 정보를 제공하는 단계는,
상기 인증 코드에 매칭된 상기 사용자의 레벨을 식별하고,
상기 식별된 사용자의 레벨을 바탕으로, 퍼즐 정보의 난이도를 산출하는, 서버의 제어 방법.
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.
제4 항에 있어서,
상기 퍼즐 정보를 제공하는 단계는,
큐브 조각들의 수량, 서브 블록들의 개수, 및 상기 서브 블록들 각각이 갖는 표면 넓이의 총량 중 적어도 하나를 상기 산출된 퍼즐 정보의 난이도에 비례하도록 하는, 서버의 제어 방법.
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.
◈청구항 6은(는) 설정등록료 납부시 포기되었습니다.◈◈Claim 6 was abandoned when paying the registration fee.◈ 제1 항에 있어서,
상기 솔루션 정보를 출력하는 단계는,
완성체 블록 이미지 및 상기 복수의 서브 블록 각각에 매칭되는 위치 이미지를 포함하는 솔루션 정보를 생성하고,
상기 완성체 블록 이미지 상에서, 적어도 하나의 위치 이미지에 대한 위치 출력을 요청받는 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.
삭제delete 제1 항에 있어서,
상기 퍼즐 정보를 제공하는 단계는,
상기 제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.
KR1020210186252A 2021-12-23 2021-12-23 Control method for server providing solution to block puzzle KR102445082B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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