KR20230096826A - Control method for server providing block puzzle with customized quiz difficulty for user level - Google Patents

Control method for server providing block puzzle with customized quiz difficulty for user level Download PDF

Info

Publication number
KR20230096826A
KR20230096826A KR1020220115479A KR20220115479A KR20230096826A KR 20230096826 A KR20230096826 A KR 20230096826A KR 1020220115479 A KR1020220115479 A KR 1020220115479A KR 20220115479 A KR20220115479 A KR 20220115479A KR 20230096826 A KR20230096826 A KR 20230096826A
Authority
KR
South Korea
Prior art keywords
block
sub
cube
user
blocks
Prior art date
Application number
KR1020220115479A
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 KR1020220115479A priority Critical patent/KR20230096826A/en
Publication of KR20230096826A publication Critical patent/KR20230096826A/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
    • 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
    • G06Q50/20Education
    • 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

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 method for controlling a server providing a block puzzle with customized quiz difficulty for a user level. The method includes the steps of: performing authentication for a block puzzle product based on user input received 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 through the user terminal; and providing solution information for assembling a complete block into a plurality of sub-blocks through the user terminal.

Description

사용자 레벨에 대한 맞춤형 퀴즈 난이도를 갖는 블록 퍼즐을 제공하는 서버의 제어 방법{CONTROL METHOD FOR SERVER PROVIDING BLOCK PUZZLE WITH CUSTOMIZED QUIZ DIFFICULTY FOR USER LEVEL}Server control method for providing block puzzles with customized quiz difficulty for user level {CONTROL METHOD FOR SERVER PROVIDING BLOCK PUZZLE WITH CUSTOMIZED QUIZ DIFFICULTY FOR USER LEVEL}

본 발명은 사용자 레벨에 대한 맞춤형 퀴즈 난이도를 갖는 블록 퍼즐을 제공하는 서버의 제어 방법에 관한 것으로, 보다 상세하게는, 사용자가 복수의 큐브로 구성된 서브 블록 조각들(ex. 3, 4, 5블록 형태의 조각)을 형성하게 하고, 형성된 서브 블록 조각들로 최종 형태의 완성체 큐브(ex. 3x3x3)를 조립하도록 하되, 그 난이도에 따른 다양한 퍼즐 조합 및 솔루션을 제공한다.The present invention relates to a control method of a server providing a block puzzle having a customized quiz difficulty level for a user level, and more particularly, to a method in which a user controls sub-block pieces composed of a plurality of cubes (ex. 3, 4, and 5 blocks). form), and assemble a final form cube (ex. 3x3x3) with the formed sub-block pieces, and provide various puzzle combinations and solutions according to the level of difficulty.

종래의 블록 조립 완구는 단순히 블록 조립을 위한 단위 조각의 형상을 제시하는 것으로, 단순 조립 놀이에 그칠뿐, 공간적 개념이나 거리개념을 이해하기 위한 시공간 추론 능력의 훈련을 제공하지 못하고 있다.Conventional block assembly toys simply present the shape of unit pieces for block assembly, and are only simple assembly play, but do not provide training of space-time reasoning ability to understand the concept of space or distance.

또한, 종래의 블록 조립 완구는 사용자의 난이도에 따른 문제를 제시하거나, 하나의 퍼즐에 대한 다양한 솔루션으로 제공하지 못하고 있다.In addition, conventional block assembly toys do not present problems according to the user's level of difficulty or provide various solutions for one puzzle.

한편, 상기의 배경기술로서 설명된 사항들은 본 발명의 배경에 대한 이해 증진을 위한 것일 뿐, 이 기술분야에서 통상의 지식을 가진 자에게 이미 알려진 종래기술에 해당함을 인정하는 것으로 받아들여져서는 안 될 것이다.On the other hand, the matters described as the background art above are only for improving understanding of the background of the present invention, and should not be taken as an admission that they correspond to prior art already known to those skilled in the art. will be.

공개특허공보 제10-2021-0109398호, 2021.09.06.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-type pieces) composed of a plurality of cubes, and form a final cube with the formed sub-block pieces. (ex. 3x3x3), but to provide a control method of a server that provides a block puzzle having a customized quiz difficulty level for a user level that provides various puzzle combinations and solutions according to the difficulty level.

본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.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 description below.

상술한 과제를 해결하기 위한 본 발명의 일 면에 따른 사용자 레벨에 대한 맞춤형 퀴즈 난이도를 갖는 블록 퍼즐을 제공하는 서버의 제어 방법에 있어서, 사용자 단말을 통해 수신되는 사용자 입력을 기초로, 블록 퍼즐 제품에 대한 인증을 수행하는 단계, 사용자 단말을 통해, 블록 퍼즐 제품에 포함된 큐브 조각들을 통해 구현 가능한 복수의 서브 블록을 포함하는 퍼즐 정보를 제공하는 단계, 및 사용자 단말을 통해, 복수의 서브 블록으로 완성체 블록을 조립하기 위한 솔루션 정보를 제공하는 단계를 포함한다.In the control method of a server providing a block puzzle having a customized quiz difficulty level for a user level according to an aspect of the present invention for solving the above problems, based on a user input received through a user terminal, a block puzzle product Performing authentication for, providing puzzle information including a plurality of sub-blocks that can be implemented through cube pieces included in a block puzzle product through a user terminal, and through a user terminal into a plurality of sub-blocks. and providing solution information for assembling the finished block.

이때, 블록 퍼즐 제품에 대한 인증을 수행하는 단계는, 사용자 단말이 서버의 웹 페이지에 접속하면, 인증 코드를 입력받는 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 responds to 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 이미지의 촬영 시점을 바탕으로 퍼즐 정보에 대한 사용자의 솔루션 도출에 걸린 시간을 산출하는 단계, 및 산출된 시간을 바탕으로 사용자의 레벨을 판단하고, 사용자의 레벨을 인증 코드에 매칭하여 저장하는 단계를 포함하는 것이 가능하다.Meanwhile, a method for controlling a server according to an aspect of the present invention includes acquiring a first image from a user terminal through a camera application, and capturing the first image when images of a plurality of sub-blocks are recognized from the first image. Storing a viewpoint, acquiring a second image from a user terminal through a camera application, storing a photographing viewpoint of a second image when an image of a finished block is recognized from the second image, Calculating the time taken to derive the user's solution to 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 to the authentication code It is possible to include the step of doing and storing.

이때, 퍼즐 정보를 제공하는 단계는, 인증 코드에 매칭된 사용자의 레벨을 식별하고, 식별된 사용자의 레벨을 바탕으로, 퍼즐 정보의 난이도를 산출하는 것이 가능하다.At this time, in the step of providing puzzle information, it is possible to identify a user's level matched with the authentication code, and calculate the level of difficulty of the puzzle information based on the identified user's level.

이때, 퍼즐 정보를 제공하는 단계는, 큐브 조각들의 수량, 서브 블록들의 개수, 및 서브 블록들 각각이 갖는 표면 넓이의 총량 중 적어도 하나를 산출된 퍼즐 정보의 난이도에 비례하도록 하는 것이 가능하다.In this case, in the providing of the puzzle information, at least one of the number of cube pieces, the number of sub-blocks, and the total surface area of each sub-block may be proportional to the level of difficulty of the calculated puzzle information.

한편, 솔루션 정보를 출력하는 단계는, 완성체 블록 이미지 및 복수의 서브 블록 각각에 매칭되는 위치 이미지를 포함하는 솔루션 정보를 생성하고, 완성체 블록 이미지 상에서, 적어도 하나의 위치 이미지에 대한 위치 출력을 요청받는 UI(User Interface)를 생성하고, 사용자 단말을 통해 UI에 대한 사용자 입력을 획득하면, 획득된 사용자 명령을 바탕으로 완성체 블록 이미지 상에, 위치 이미지를 출력하고, 출력된 위치 이미지가 복수인 경우, 서로 다른 색으로 출력되도록 한다.On the other hand, the step of outputting the solution information generates solution information including a finished block image and a position image matched to each of a plurality of sub-blocks, and outputs a position for at least one position image on the finished block image. When a requested user interface (UI) is generated and a user input for the UI is obtained through a user terminal, a location image is output on the finished block image based on the obtained user command, and a plurality of output location images are displayed. If , output in different colors.

이때, 완성체 블록 이미지는, 사용자 단말을 통해 입체 UI로 제공되며, 입체 UI에 대한 사용자 입력을 바탕으로 회전하고, 위치 이미지는, 매칭되는 서브 블록이, 완성체 블록 상에서 차지하는 위치 및 부피에 대한 이미지이다.At this time, the finished block image is provided as a three-dimensional UI through the user terminal, rotates based on the user input for the three-dimensional UI, and the position image is related to the position and volume of the matching sub-block on the finished block. It is an image.

한편, 퍼즐 정보를 제공하는 단계는, 완성체 블록에 포함되는 큐브 조각들 중 복수의 서브 블록 각각에 매칭되는 확정 큐브 조각을 하나씩 식별하고, 완성체 블록에 포함되는 큐브 조각들 중 확정 큐브 조각을 제외한 큐브 조각들을 비확정 큐브 조각으로 정의하고, 복수의 서브 블록 중 제1 서브 블록의 확정 큐브 조각과 인접한 적어도 하나의 비확정 큐브 조각을 랜덤으로 선택하여 제1 서브 블록의 확정 큐브 조각으로 변경하고, 복수의 서브 블록 중 제2 서브 블록의 확정 큐브 조각과 인접한 적어도 하나의 비확정 큐브 조각을 랜덤으로 선택하여 제2 서브 블록의 확정 큐브 조각으로 변경하는 것이 가능하다.On the other hand, in the step of providing puzzle information, among the cube pieces included in the finished block, one by one, the definite cube pieces matching each of the plurality of sub-blocks are identified, and the definite cube pieces among the cube pieces included in the finished block are selected. The excluded cube pieces are defined as non-confirmed cube pieces, and at least one non-confirmed cube piece adjacent to the confirmed cube piece of the first sub-block among a plurality of sub-blocks is randomly selected and changed into a confirmed cube piece of the first sub-block. , It is possible to randomly select at least one non-confirmed cube piece adjacent to the confirmed cube piece of the second sub-block among the plurality of sub-blocks and change it to the confirmed cube piece of the second sub-block.

이때, 퍼즐 정보를 제공하는 단계는, 제1 서브 블록의 확정 큐브 조각들 중 적어도 하나와 인접한 비확정 큐브 조각이 존재하지 않는 경우, 제1 서브 블록을 구성하는 확정 큐브 조각들을 확정하는 것이 가능하다.At this time, in the step of providing puzzle information, when there is no unconfirmed cube piece adjacent to at least one of the confirmed cube pieces of the first sub-block, it is possible to determine the confirmed 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 a server providing a block puzzle having a customized quiz difficulty level for a user level of the present invention, puzzle information and solution information are provided to a user as a rotatable stereoscopic image, but are provided through the web or mobile to restrict temporal and spatial constraints. and since puzzle information is obtained through user authentication, the user's past puzzle execution history according to the authentication code can be identified, and the level of difficulty suitable for the user can be determined and provided.

본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The 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 description below.

도 1은 본 발명의 일 실시예에 따른 시스템 구성도이다.
도 2는 본 발명의 일 실시예에 따른 기본 흐름도이다.
도 3 내지 도 7은 본 발명의 일 실시예에 따른 구현도이다.
도 8은 본 발명의 일 실시예에 따른 서버 구성도이다.
1 is a system configuration diagram according to an embodiment of the present invention.
2 is a basic flow diagram 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 server configuration diagram according to an embodiment of the present invention.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.Advantages and features of the present invention, and methods of achieving them, will become clear with reference to the detailed description of the following embodiments taken 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, only these embodiments are intended to complete the disclosure of the present invention, and are common in the art to which the present invention belongs. It is provided to fully inform the person skilled in the art of the scope of the invention, and the invention is only defined by the scope of the claims.

본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.Terminology used herein is for describing the embodiments and is not intended to limit the present invention. In this specification, singular forms also include plural forms unless specifically stated otherwise in a phrase. As used herein, “comprises” and/or “comprising” does not exclude the presence or addition of one or more other elements other than the recited elements. Like reference numerals throughout the specification refer to like elements, 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 components, these components are not limited by these terms, of course. These terms are only used to distinguish one component from another. Accordingly, it goes without saying that the first element mentioned below may also be the second element within the technical spirit of the present invention.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms (including technical and scientific terms) used in this specification may be used with meanings commonly understood by those skilled in the art to which the present invention belongs. In addition, terms defined in commonly used dictionaries are not interpreted ideally or excessively unless explicitly specifically defined.

명세서에서 사용되는 "부" 또는 “모듈”이라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부" 또는 “모듈”은 어떤 역할들을 수행한다. 그렇지만 "부" 또는 “모듈”은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부" 또는 “모듈”은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부" 또는 “모듈”은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부" 또는 “모듈”들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부" 또는 “모듈”들로 결합되거나 추가적인 구성요소들과 "부" 또는 “모듈”들로 더 분리될 수 있다.The term "unit" or "module" used in the specification means a hardware component such as software, FPGA or ASIC, and "unit" or "module" performs certain roles. However, "unit" or "module" is not meant to be limited to software or hardware. A “unit” or “module” may be configured to reside in an addressable storage medium and may be configured to reproduce one or more processors. Thus, as an example, a “unit” or “module” may refer to components such as software components, object-oriented software components, class components, and task components, processes, functions, properties, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays and variables. Functions provided within components and "units" or "modules" may be combined into smaller numbers of components and "units" or "modules" or may be combined into additional components and "units" or "modules". can be further separated.

공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "상부(upper)" 등은 도면에 도시되어 있는 바와 같이 하나의 구성요소와 다른 구성요소들과의 상관관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작시 구성요소들의 서로 다른 방향을 포함하는 용어로 이해되어야 한다. 예를 들어, 도면에 도시되어 있는 구성요소를 뒤집을 경우, 다른 구성요소의 "아래(below)"또는 "아래(beneath)"로 기술된 구성요소는 다른 구성요소의 "위(above)"에 놓일 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 구성요소는 다른 방향으로도 배향될 수 있으며, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.The spatially relative terms "below", "beneath", "lower", "above", "upper", etc. It can be used to easily describe a component's correlation with other components. Spatially relative terms should be understood as including different orientations of elements in use or operation in addition to the orientations shown in the drawings. For example, if you flip a component that is shown in a drawing, a component described as "below" or "beneath" another component will be placed "above" the other component. there is. Thus, the exemplary term “below” may include directions of both 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 any kind of hardware device including at least one processor, and may be understood as encompassing a software configuration operating in a corresponding hardware device according to an embodiment. For example, a computer may be understood as including a smartphone, a tablet PC, a desktop computer, a laptop computer, and user clients and applications running on each device, but is not limited thereto.

이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.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 providing the block puzzle and solution of the present invention communicates with the user terminal 200, which is a 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 one 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, workstation, server, PDA (personal digital assistant), PMP (portable multimedia player), MP3 player, mobile medical device, camera, or wearable device ), and at least one of AI speakers.

도 2는 본 발명의 일 실시예에 따른 기본 흐름도이다.2 is a basic flow diagram according to an embodiment of the present invention.

도시된 바와 같이, 본 발명의 일 면에 따른 블록 퍼즐 및 솔루션을 제공하는 서버(100)는 사용자 단말(200)을 통해 수신되는 사용자 입력을 기초로, 블록 퍼즐 제품에 대한 인증을 수행(S210)한다.As shown, the server 100 providing block puzzles and solutions according to an aspect of the present invention performs authentication for block puzzle products based on 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 displays a UI (User Interface) for receiving an authentication code to the user terminal. It is possible to output to 200 and acquire the authentication code according to the 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 the 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 finished 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 of the user of the user terminal 200 based on the history of performing steps S210 to S230 through one user terminal 200 that has authenticated one authentication code. Then, the determined user level may be matched with the corresponding authentication code 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 puzzle information, the server 100 determines whether images for a plurality of sub-blocks are recognized from the first image. do.

판단 결과, 제1 이미지로부터 복수의 서브 블록 전체의 이미지가 인식되면, 서버(100)는 제1 이미지의 촬영 시점을 저장한다.As a result of the determination, if the image of the entire plurality of sub-blocks is recognized from the first image, the server 100 stores the capturing point of the first image.

이후, 사용자 단말(200)로부터 카메라 어플리케이션을 통해 제2 이미지를 획득하고, 제2 이미지로부터 완성체 블록(10)에 대한 이미지가 인식되면, 제2 이미지의 촬영 시점을 저장한다.Thereafter, a second image is obtained from the user terminal 200 through a camera application, and when an image of the finished block 10 is recognized from the second image, a capturing time point 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 shooting time of the first image and the shooting time of the second image, and calculates the difficulty of the puzzle information and the calculated time. Based on this, the user's level is determined, and the determined user's level is matched with the corresponding authentication code and stored.

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

구체적으로, 서버(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 sub block 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 the time required to assemble the sub-blocks increases, so the level of difficulty of the puzzle information increases.

또한, 서브 블록들의 개수가 증가할수록, 완성체 블록(10)을 조립하기 위한 기하학적 사고 시간이 많이 소요되므로 퍼즐 정보의 난이도가 상승한다.In addition, as the number of sub-blocks increases, the difficulty of puzzle information increases because a lot of geometric thinking time is required to assemble the finished block 10.

또한, 서브 블록들 각각이 갖는 표면 넓이의 총량은 서브 블록들의 개수 또는 큐브 조각들의 수량에 비례하므로, 퍼즐 정보의 난이도가 높아(어려워)질수록, 증가한다.In addition, since the total amount of surface area of each of the sub-blocks is proportional to the number of sub-blocks or the number of cube pieces, it increases as the difficulty of the puzzle information increases (difficulty).

도 3 내지 도 7은 본 발명의 일 실시예에 따른 구현도이다.3 to 7 are implementation diagrams according to an embodiment of the present invention.

도 3에 도시된 바와 같이, 서버(100)가 단계 S220을 수행하는데 있어서, 서버(100)는 사용자 단말(200)을 통해 퍼즐 정보에 포함된 복수의 서브 블록 각각에 대한 이미지를 제공할 수 있으며, 이때, 복수의 서브 블록 이미지는 각각 다른 서브 블록 이미지와 구별되는 색 및/또는 무늬가 삽입될 수 있다.As shown in FIG. 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, , At this time, a color and/or pattern distinguished from other sub-block images may be inserted into each of the plurality of sub-block images.

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

이때, 서버(100)는 완성체 블록(10) 이미지 상에서, 적어도 하나의 위치 이미지에 대한 위치 출력을 요청받는 UI(User Interface)를 생성하고, 사용자 단말(200)을 통해 UI에 대한 사용자 입력을 획득하면, 획득된 사용자 명령을 바탕으로 완성체 블록(10) 이미지 상에, 위치 이미지를 출력한다.At this time, the server 100 generates a user interface (UI) for receiving a request for a location output for at least one location image on the image of the finished block 10, and receives a user input for the UI through the user terminal 200. If obtained, a position image is output on the finished block 10 image based on the obtained 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에 대한 사용자 입력을 바탕으로 회전한다.Meanwhile, the image of the finished block 10 is provided as a stereoscopic UI through the user terminal 200, and is rotated based on a user input to the stereoscopic UI.

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

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

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

또한, 서버(100)가 단계 S230을 수행하는데 있어서, 서버(100)는 일 퍼즐 정보에 대한 복수의 솔루션 정보를 구성하고, 복수의 솔루션 정보 중 어느 하나에 대한 솔루션을 선택하는 UI를 사용자 단말(200)로 제공함으로써, 솔루션을 선택하는 UI에 대한 사용자 입력을 바탕으로, 복수의 솔루션 정보 중 어느 하나에 대한 솔루션 정보를 사용자 단말(200)로 제공할 수 있다.In addition, in the server 100 performing step S230, the server 100 configures a plurality of solution information for one piece of 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 for a UI for selecting a solution.

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

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

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

실시예로, 제1 서브 블록(21)의 확정 큐브 조각으로 변경된 큐브 조각이, 제1 서브 블록(21)의 기 설정된 표면 넓이 조건 또는 기 설정된 큐브 조각 개수 조건을 만족시키면, 서버(100)는 제1 서브 블록(21)을 구성하는 확정 큐브 조각들을 확정할 수 있다.As an example, if the cube pieces changed to the confirmed cube pieces of the first sub-block 21 satisfy the preset surface area condition or the preset number of cube pieces condition of the first sub-block 21, the server 100 Confirmation 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 into a confirmed cube piece of the second sub-block 22. do.

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

예컨대, 서버(100)는 제1 서브 블록(21)의 확정 큐브 조각들 중 일 확정 큐브 조각의 육 면 중, 비확정 큐브 조각과 공유하는 면이 존재하지 않는 경우, 제1 서브 블록(21)이 완성체 블록(10) 내부에서 더 이상 부피를 증가할 수 없는 상태인 것으로 판단하여, 제1 서브 블록(21)의 현재 상태를 제1 서브 블록(21)으로 확정할 수 있다.For example, the server 100, among the confirmed cube pieces of the first sub-block 21, if there is no side shared with the non-confirmed cube piece among the six sides of one confirmed cube piece, the first sub-block 21 The current state of the first sub-block 21 may be determined as the first sub-block 21 by determining that the finished block 10 is in a state where the volume cannot be increased any more.

이에 따라, 확정 큐브 조각과 인접한 적어도 하나의 비확정 큐브 조각은, 확정 큐브 조각과 일 면을 공유하는 것을 특징으로 한다.Accordingly, at least one non-deterministic cube piece adjacent to the definite cube piece is characterized in that it shares one surface with the definite cube piece.

한편, 도시되지는 않았으나, 서버(100)가 단계 S220을 수행하는데 있어서, 서버(100)는 완성체 블록(10)의 꼭지점을 적어도 하나 이상 포함하는 최대 8개의 기준 서브 블록을 우선 확정할 수 있다.Meanwhile, although not shown, when the server 100 performs step S220, the server 100 may first determine up to eight reference sub-blocks including at least one vertex of the complete block 10. .

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

이에 따라, 복수의 서브 블록은, 최대 8개의 기준 서브 블록 및 적어도 하나의 잔여 서브 블록을 포함한다.Accordingly, the plurality of subblocks include up to 8 reference subblocks and at least one remaining subblock.

도 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, 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 Bluetooth Low Energy (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 connection information such as an SSID and a session key is first transmitted and received, and various information can be transmitted and received after communication is connected 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 overall operations 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 through n interfaces, and a bus. At this time, 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 is stored in RAM, and various application data selected by the user may be stored in RAM.

ROM에는 시스템 부팅을 위한 명령어 세트 등이 저장된다. 턴 온 명령이 입력되어 전원이 공급되면, 메인 CPU는 ROM에 저장된 명령어에 따라 메모리(110)에 저장된 O/S를 RAM에 복사하고, O/S를 실행시켜 시스템을 부팅시킨다. 부팅이 완료되면, 메인 CPU는 메모리(110)에 저장된 각종 어플리케이션 프로그램을 RAM에 복사하고, RAM에 복사된 어플리케이션 프로그램을 실행시켜 각종 동작을 수행한다.The ROM stores instruction sets for system booting. 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 RAM, and executes the application programs copied to RAM to perform various operations.

그래픽 처리부는 연산부(미도시) 및 렌더링부(미도시)를 이용하여 아이템, 이미지, 텍스트 등과 같은 다양한 객체를 포함하는 화면을 생성한다. 여기서, 연산부는 입력부로부터 수신된 제어 명령을 이용하여 화면의 레이아웃에 따라 각 객체들이 표시될 좌표값, 형태, 크기, 컬러 등과 같은 속성값을 연산하는 구성일 수 있다. 그리고, 렌더링부는 연산부에서 연산한 속성값에 기초하여 객체를 포함하는 다양한 레이아웃의 화면을 생성하는 구성이 일 수 있다. 이러한 렌더링부에서 생성된 화면은 디스플레이의 디스플레이 영역 내에 표시될 수 있다.The graphic processing unit uses a calculation unit (not shown) and a rendering unit (not shown) to create a screen including various objects such as items, images, and text. Here, the calculation 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 a control command received from the input unit. And, the rendering unit may be configured to generate screens of various layouts including objects based on the attribute values calculated by the calculation unit. The screen created by the rendering unit may be displayed within 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 . And, the main CPU performs various operations using various programs, contents, data, etc. stored in the memory 110 .

제1 내지 n 인터페이스는 상술한 각종 구성요소들과 연결된다. 제1 내지 n 인터페이스 중 하나는 네트워크를 통해 외부 장치와 연결되는 네트워크 인터페이스가 될 수도 있다.The first through n interfaces are connected to the various components described above. One of the first through n interfaces may be a network interface connected to an external device through a network.

한편, 나아가, 프로세서(130)는 인공지능 모델을 제어할 수 있다. 이 경우, 프로세서(130)는 인공지능 모델을 제어하기 위한 그래픽 전용 프로세서(예: GPU)를 포함할 수 있음은 물론이다.Meanwhile, furthermore, 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) 등)를 포함할 수 있다.Meanwhile, the processor 130 may include one or more cores (not shown) and a graphic processor (not shown) and/or a connection path (eg, a bus) for transmitting and receiving signals to and from other components. can

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

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

한편, 프로세서(130)는 프로세서(130) 내부에서 처리되는 신호(또는, 데이터)를 일시적 및/또는 영구적으로 저장하는 램(RAM: Random Access Memory, 미도시) 및 롬(ROM: Read-Only Memory, 미도시)을 더 포함할 수 있다. 또한, 프로세서(130)는 그래픽 처리부, 램 및 롬 중 적어도 하나를 포함하는 시스템온칩(SoC: system on chip) 형태로 구현될 수 있다.Meanwhile, the processor 130 includes RAM (Random Access Memory, not shown) and ROM (Read-Only Memory) temporarily and/or permanently storing signals (or data) processed in 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 graphics processing unit, RAM, and ROM.

메모리(110)에는 프로세서(130)의 처리 및 제어를 위한 프로그램들(하나 이상의 인스트럭션들)을 저장할 수 있다. 메모리(110)에 저장된 프로그램들은 기능에 따라 복수 개의 모듈들로 구분될 수 있다.The memory 110 may store programs (one or more instructions) for processing and control of 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, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.Steps of a method or algorithm described in connection with an embodiment of the present invention may be implemented directly in hardware, implemented in a software module executed by hardware, or implemented 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 form of computer readable recording medium well known in the art to which the present invention pertains.

본 발명의 구성 요소들은 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 애플리케이션)으로 구현되어 매체에 저장될 수 있다. 본 발명의 구성 요소들은 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있으며, 이와 유사하게, 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다.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 elements, and similarly, embodiments may include various algorithms implemented as data structures, processes, routines, or combinations of other programming constructs, such as C, C++ , Java (Java), can be implemented in a programming or scripting language such as assembler (assembler). Functional aspects may be implemented in an algorithm running on one or more processors.

이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.Although the 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 be implemented in other specific forms without changing the technical spirit or essential features of the present invention. 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: finished block
21: first sub block
22: second sub block
100: server
110: memory
120: communication department
130: processor
200: user terminal

Claims (1)

블록 퍼즐 및 솔루션을 제공하는 서버의 제어 방법에 있어서,
사용자 단말을 통해 수신되는 사용자 입력을 기초로, 블록 퍼즐 제품에 대한 인증을 수행하는 단계;
상기 사용자 단말을 통해, 상기 블록 퍼즐 제품에 포함된 큐브 조각들을 통해 구현 가능한 복수의 서브 블록을 포함하는 퍼즐 정보를 제공하는 단계; 및
상기 사용자 단말을 통해, 상기 복수의 서브 블록으로 완성체 블록을 조립하기 위한 솔루션 정보를 제공하는 단계;를 포함하고,
상기 퍼즐 정보를 제공하는 단계는,
상기 완성체 블록에 포함되는 큐브 조각들 중 상기 복수의 서브 블록 각각에 매칭되는 확정 큐브 조각을 하나씩 식별하고,
상기 완성체 블록에 포함되는 큐브 조각들 중 상기 확정 큐브 조각을 제외한 큐브 조각들을 비확정 큐브 조각으로 정의하고,
상기 복수의 서브 블록 중 제1 서브 블록의 확정 큐브 조각과 인접한 적어도 하나의 비확정 큐브 조각을 랜덤으로 선택하여 상기 제1 서브 블록의 확정 큐브 조각으로 변경하고,
상기 복수의 서브 블록 중 제2 서브 블록의 확정 큐브 조각과 인접한 적어도 하나의 비확정 큐브 조각을 랜덤으로 선택하여 상기 제2 서브 블록의 확정 큐브 조각으로 변경하고,
상기 퍼즐 정보를 제공하는 단계는,
상기 완성체 블록의 꼭지점을 적어도 하나 이상 포함하는 기준 서브 블록을 8개 이하로 우선 확정하되, 상기 기준 서브 블록 각각에 포함된 확정 큐브 조각 중 적어도 하나가 상기 완성체 블록의 꼭지점을 포함하도록 하여, 상기 기준 서브 블록 각각을 연결하는 잔여 서브 블록을 생성하고,
상기 솔루션 정보를 출력하는 단계는,
완성체 블록 이미지 및 상기 복수의 서브 블록 각각에 매칭되는 위치 이미지를 포함하는 솔루션 정보를 생성하고,
상기 완성체 블록 이미지 상에서, 적어도 하나의 위치 이미지에 대한 위치 출력을 요청받는 UI(User Interface)를 생성하고,
상기 사용자 단말을 통해 상기 UI에 대한 사용자 입력을 획득하면, 상기 획득된 사용자 명령을 바탕으로 상기 완성체 블록 이미지 상에, 위치 이미지를 출력하고,
상기 출력된 위치 이미지가 복수인 경우, 서로 다른 색으로 출력되고,
상기 서버의 제어 방법은,
일 인증 코드에 대해 인증을 실시한 일 사용자 단말을 통해, 사용자에 대한 사용자 레벨을 판단하여, 상기 일 인증 코드에 판단된 사용자 레벨을 매칭하여 저장하여, 이후, 상기 일 인증 코드가 획득되면, 상기 일 인증 코드에 매칭된 사용자 레벨을 식별하여, 상기 식별된 사용자 레벨을 바탕으로 퀴즈 정보의 난이도를 산출하고,
상기 복수의 서브 블록은,
상기 기준 서브 블록을 8개 이하로 포함하되, 상기 잔여 서브 블록을 적어도 하나 포함하고,
상기 완성체 블록 이미지는,
상기 사용자 단말을 통해 입체 UI로 제공되며, 상기 입체 UI에 대한 사용자 입력을 바탕으로 회전하고,
상기 위치 이미지는,
매칭되는 서브 블록이, 상기 완성체 블록 상에서 차지하는 위치 및 부피에 대한 이미지인 것을 특징으로 하는, 서버의 제어 방법.
In the control method of a server providing block puzzles and solutions,
Based on the 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 a complete block with the plurality of sub-blocks through the user terminal; Including,
The step of providing the puzzle information,
Among the cube pieces included in the finished block, one by one identifies a definite cube piece matching each of the plurality of sub-blocks,
Among the cube pieces included in the finished block, cube pieces other than the definite cube pieces are defined as non-deterministic cube pieces,
Randomly selects at least one non-confirmed cube piece adjacent to a definite cube piece of a first sub-block among the plurality of sub-blocks and changes it into a definite cube piece of the first sub-block;
Randomly selects at least one non-confirmed cube piece adjacent to a definite cube piece of a second sub-block among the plurality of sub-blocks and changes it into a definite cube piece of the second sub-block;
The step of providing the puzzle information,
Eight or less reference sub-blocks including at least one vertex of the complete block are first determined, and at least one of the confirmed cube pieces included in each of the reference sub-blocks includes a vertex of the complete block, generating residual subblocks connecting each of the reference subblocks;
In the step of outputting the solution information,
generating solution information including a complete block image and a location image matched to each of the plurality of sub-blocks;
On the finished block image, creating a UI (User Interface) for requesting a location output for at least one location image,
When obtaining a user input for the UI through the user terminal, outputting a location image on the finished block image based on the obtained user command;
When the output location images are plural, they are output in different colors,
The control method of the server,
The user level of the user is determined through one user terminal that has authenticated one authentication code, the determined user level is matched to the one authentication code and stored, and then, when the one authentication code is obtained, the one authentication code is obtained. Identifying the user level matched with the authentication code, calculating the difficulty of the quiz information based on the identified user level,
The plurality of sub blocks,
Including 8 or less reference subblocks, including at least one remaining subblock;
The finished block image,
It is provided as a stereoscopic UI through the user terminal, and rotates based on a user input for the stereoscopic UI,
The location image,
Characterized in that the matched sub-block is an image of the position and volume occupied on the finished block, the control method of the server.
KR1020220115479A 2021-12-23 2022-09-14 Control method for server providing block puzzle with customized quiz difficulty for user level KR20230096826A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220115479A KR20230096826A (en) 2021-12-23 2022-09-14 Control method for server providing block puzzle with customized quiz difficulty for user level

Applications Claiming Priority (2)

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

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020210186252A Division KR102445082B1 (en) 2021-12-23 2021-12-23 Control method for server providing solution to block puzzle

Publications (1)

Publication Number Publication Date
KR20230096826A true KR20230096826A (en) 2023-06-30

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 Before (1)

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

Country Status (2)

Country Link
KR (2) KR102445082B1 (en)
WO (1) WO2023120974A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102445082B1 (en) * 2021-12-23 2022-09-21 안종현 Control method for server providing solution to block puzzle

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210109398A (en) 2020-02-27 2021-09-06 이태원 Toy Block Elements and Toy Block Set Assembled thereby

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101510293B1 (en) * 2013-09-13 2015-04-10 주식회사 비엔에스웍스 Method and System for Operating Play Board for children by Smart Device
KR101511313B1 (en) * 2013-12-03 2015-04-16 최무성 Method for controlling puzzle toy
KR20170073047A (en) * 2015-12-18 2017-06-28 김영아 A block type playing toy
KR102252076B1 (en) * 2019-09-02 2021-05-13 곽창섭 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
KR102445082B1 (en) * 2021-12-23 2022-09-21 안종현 Control method for server providing solution to block puzzle

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210109398A (en) 2020-02-27 2021-09-06 이태원 Toy Block Elements and Toy Block Set Assembled thereby

Also Published As

Publication number Publication date
KR102445082B1 (en) 2022-09-21
WO2023120974A1 (en) 2023-06-29

Similar Documents

Publication Publication Date Title
US20220156426A1 (en) Scene layout estimation
CN109413480A (en) Picture processing method, device, terminal and storage medium
JP2022520390A (en) Image recognition method, recognition model training method and its equipment, and computer program
WO2017027123A1 (en) Robot with awareness of users and environment for use in educational applications
CN104922906B (en) Action executes method and apparatus
WO2017133584A1 (en) Method of determining spatial location of controlled object and device
US20230316623A1 (en) Expression generation method and apparatus, device, and medium
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
JP6820160B2 (en) Programs and systems that render images
KR20230096826A (en) Control method for server providing block puzzle with customized quiz difficulty for user level
CN108211363B (en) Information processing method and device
CN111381794B (en) Control method and device for robot eye lamp, terminal equipment and medium
CN111617475B (en) Interactive object construction method, device, equipment and storage medium
JP2019512141A (en) Face model editing method and apparatus
KR20210115880A (en) Method and apparatus for creating a process for training a user's cognitive abilities
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
WO2022085069A1 (en) Exercise improvement instruction device, exercise improvement instruction method, and exercise improvement instruction program
CN113209625A (en) Data processing method and device
CN112947748A (en) Augmented reality AR remote interaction method and system thereof
KR102665396B1 (en) Control method for deciding user's golf difficuty using game cpmpletion tiem of golf based on ar
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
US11935173B2 (en) Providing method and device of interactive virtual reality contents