WO2023120974A1 - Method of controlling server for providing block puzzle solution - Google Patents

Method of controlling server for providing block puzzle solution Download PDF

Info

Publication number
WO2023120974A1
WO2023120974A1 PCT/KR2022/017617 KR2022017617W WO2023120974A1 WO 2023120974 A1 WO2023120974 A1 WO 2023120974A1 KR 2022017617 W KR2022017617 W KR 2022017617W WO 2023120974 A1 WO2023120974 A1 WO 2023120974A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
sub
image
cube
server
Prior art date
Application number
PCT/KR2022/017617
Other languages
French (fr)
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 안종현
Publication of WO2023120974A1 publication Critical patent/WO2023120974A1/en

Links

Images

Classifications

    • 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
    • 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

Definitions

  • the present invention relates to a method for controlling a server that provides a block puzzle solution, and more particularly, allows a user to form sub-block pieces (ex. pieces in the form of 3, 4, and 5 blocks) composed of a plurality of cubes. and assemble a final cube (ex. 3x3x3) with the formed sub-block pieces, but provide various puzzle combinations and solutions according to the level of difficulty.
  • sub-block pieces ex. pieces in the form of 3, 4, and 5 blocks
  • a final cube (ex. 3x3x3) with the formed sub-block pieces, but provide various puzzle combinations and solutions according to the level of difficulty.
  • 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 provides a server control method that provides various puzzle combinations and solutions according to the difficulty level.
  • 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
  • a method for controlling a server 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.
  • 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.
  • 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.
  • 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.
  • a requested user interface UI
  • 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.
  • 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.
  • 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.
  • puzzle information and solution information are provided to a user as a rotatable three-dimensional image, but are provided through the web or mobile, free from temporal and spatial constraints, and user authentication Since the puzzle information is obtained through, it is possible to determine and provide a level of difficulty suitable for the user by identifying the user's previous puzzle execution history according to the authentication code.
  • FIG. 1 is a system configuration diagram according to an embodiment of the present invention.
  • FIG. 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.
  • FIG. 8 is a server configuration diagram according to an embodiment of the present invention.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • FIG. 1 is a system configuration diagram according to an embodiment of the present invention.
  • 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.
  • 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.
  • FIG. 2 is a basic flow diagram according to an embodiment of the present invention.
  • 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.
  • the server 100 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.
  • UI User Interface
  • 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).
  • 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.
  • the server 100 determines whether images for a plurality of sub-blocks are recognized from the first image. do.
  • the server 100 stores the capturing point of the first image.
  • 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.
  • 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.
  • 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.
  • 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.
  • the level of difficulty of the puzzle information increases.
  • 3 to 7 are implementation diagrams according to an embodiment of the present invention.
  • 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.
  • 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
  • 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.
  • UI user interface
  • the server 100 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.
  • 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.
  • the location image is an image of the location and volume occupied by the matching sub-block on the finished block 10 .
  • 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.
  • 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.
  • 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.
  • the server 100 may generate solution information for each method.
  • 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.
  • 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.
  • the server 100 Confirmation cube pieces constituting 1 sub-block 21 can be determined.
  • 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.
  • 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 It is possible to confirm the confirmation cube pieces constituting (21).
  • 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.
  • 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.
  • the server 100 may first determine up to eight reference sub-blocks including at least one vertex of the complete block 10. .
  • 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.
  • the plurality of subblocks include up to 8 reference subblocks and at least one remaining subblock.
  • FIG. 8 is a configuration diagram of a server 100 according to an embodiment of the present invention.
  • the server 100 may include a memory 110 , a communication unit 120 and a processor 130 .
  • 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).
  • the communication unit 120 may communicate with an external device.
  • 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.
  • 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.
  • 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).
  • 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 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.
  • the ROM stores instruction sets for system booting.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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 .
  • 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.
  • the processor 130 may control the artificial intelligence model.
  • the processor 130 may include a graphics-only processor (eg, GPU) for controlling the artificial intelligence model.
  • 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.
  • a graphic processor not shown
  • a connection path eg, a bus
  • Processor 130 performs a method described in connection with the present invention by executing one or more instructions stored in memory 110 .
  • 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
  • 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.
  • 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.
  • 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.
  • SoC system on chip
  • 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.
  • 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.
  • 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.

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Health & Medical Sciences (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • General Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Educational Technology (AREA)
  • Educational Administration (AREA)
  • Multimedia (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)
  • Steroid Compounds (AREA)

Abstract

The present invention relates to a method of controlling a server for providing block puzzles and solutions thereto, comprising the steps of: authenticating a block puzzle product on the basis of user input received through a user terminal; providing, through the user terminal, puzzle information including a plurality of sub-blocks that can be implemented using cube pieces included in the block puzzle product; and providing, through the user terminal, solution information for assembling the plurality of sub-blocks into a complete block.

Description

블록 퍼즐의 솔루션을 제공하는 서버의 제어 방법Control method of the server providing the block puzzle solution
본 발명은 블록 퍼즐의 솔루션을 제공하는 서버의 제어 방법에 관한 것으로, 보다 상세하게는, 사용자가 복수의 큐브로 구성된 서브 블록 조각들(ex. 3, 4, 5블록 형태의 조각)을 형성하게 하고, 형성된 서브 블록 조각들로 최종 형태의 완성체 큐브(ex. 3x3x3)를 조립하도록 하되, 그 난이도에 따른 다양한 퍼즐 조합 및 솔루션을 제공한다.The present invention relates to a method for controlling a server that provides a block puzzle solution, and more particularly, allows a user to form sub-block pieces (ex. pieces in the form of 3, 4, and 5 blocks) composed of a plurality of cubes. and assemble a final cube (ex. 3x3x3) with the formed sub-block pieces, but 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.
본 발명이 해결하고자 하는 과제는 사용자가, 복수의 큐브로 구성된 서브 블록 조각들(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 provides a server control method 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 and a solution according to an aspect of the present invention for solving the above problems, performing authentication for a block puzzle product based on a 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 a block puzzle product through a user terminal, and assembling a finished block with a plurality of sub-blocks through a user terminal. and 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 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 and solution of the present invention, puzzle information and solution information are provided to a user as a rotatable three-dimensional image, but are provided through the web or mobile, free from temporal and spatial constraints, and user authentication Since the puzzle information is obtained through, it is possible to determine and provide a level of difficulty suitable for the user by identifying the user's previous puzzle execution history according to the authentication code.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.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은 본 발명의 일 실시 예에 따른 시스템 구성도이다.1 is a system configuration diagram according to an embodiment of the present invention.
도 2는 본 발명의 일 실시 예에 따른 기본 흐름도이다.2 is a basic flow diagram according to an embodiment of the present invention.
도 3 내지 도 7은 본 발명의 일 실시 예에 따른 구현도 이다.3 to 7 are implementation diagrams according to an embodiment of the present invention.
도 8은 본 발명의 일 실시 예에 따른 서버 구성도이다.8 is a server configuration diagram according to an embodiment of the present invention.
부호의 설명 10 : 완성체 블록Code Explanation 10: Complete block
21 : 제1 서브 블록 21: first sub block
22 : 제2 서브 블록 22: second sub block
100 : 서버 100: server
110 : 메모리 110: memory
120 : 통신부 120: communication department
130 : 프로세서 130: processor
200 : 사용자 단말 200: user terminal
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시 예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.Advantages and features of the present invention, and methods for achieving them, will become clear 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 and may be implemented in various different forms, only the present embodiments make the disclosure of the present invention complete, and those skilled in the art to which the present invention belongs It is provided to fully inform the scope of the present invention, the present invention is defined only by the scope of the claims.
본 명세서에서 사용된 용어는 실시 예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.Terms used in this specification are for describing embodiments and are 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 embodiment, 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 1 sub-block 21 can 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)을 구성하는 확정 큐브 조각들을 확정하는 것이 가능하다.At this time, 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 It is possible to confirm the confirmation cube pieces constituting (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.

Claims (7)

  1. 블록 퍼즐 및 솔루션을 제공하는 서버의 제어 방법에 있어서,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,
    상기 복수의 서브 블록 중 제1 서브 블록의 확정 큐브 조각과 인접한 적어도 하나의 비확정 큐브 조각을 랜덤으로 선택하여 상기 제1 서브 블록의 확정 큐브 조각으로 변경하고,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;
    상기 복수의 서브 블록 중 제2 서브 블록의 확정 큐브 조각과 인접한 적어도 하나의 비확정 큐브 조각을 랜덤으로 선택하여 상기 제2 서브 블록의 확정 큐브 조각으로 변경하는, 시스템의 제어 방법.The system control method of randomly selecting 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 changing it to a definite cube piece of the second sub-block.
  2. 제1 항에 있어서,According to claim 1,
    상기 블록 퍼즐 제품에 대한 인증을 수행하는 단계는,The step of performing authentication for the block puzzle product,
    상기 사용자 단말이 상기 서버의 웹 페이지에 접속하면, 인증 코드를 입력받는 UI(User Interface)를 상기 사용자 단말로 출력하고, 상기 UI를 통해 수신된 사용자 입력에 따라 인증 코드를 획득하는, 서버의 제어 방법.When the user terminal accesses the web page of the server, control of the server outputs a UI (User Interface) for receiving an authentication code to the user terminal, and acquires the authentication code according to the user input received through the UI. method.
  3. 제2 항에 있어서,According to claim 2,
    상기 서버의 제어 방법은,The control method of the server,
    상기 사용자 단말로부터 카메라 어플리케이션을 통해 제1 이미지를 획득하는 단계;obtaining a first image from the user terminal through a camera application;
    상기 제1 이미지로부터 상기 복수의 서브 블록에 대한 이미지가 인식되면, 상기 제1 이미지의 촬영 시점을 저장하는 단계;storing a capturing point of the first image when images of the plurality of sub-blocks are recognized from the first image;
    상기 사용자 단말로부터 카메라 어플리케이션을 통해 제2 이미지를 획득하는 단계;acquiring a second image from the user terminal through a camera application;
    상기 제2 이미지로부터 상기 완성체 블록에 대한 이미지가 인식되면, 상기 제2 이미지의 촬영 시점을 저장하는 단계;storing a photographing time point of the second image when the image of the finished block is recognized from the second image;
    상기 제1 이미지의 촬영 시점 및 상기 제2 이미지의 촬영 시점을 바탕으로 상기 퍼즐 정보에 대한 사용자의 솔루션 도출에 걸린 시간을 산출하는 단계; 및Calculating a time required for a user to derive a solution for the puzzle information based on a capturing time point of the first image and a capturing time point of the second image; and
    상기 산출된 시간을 바탕으로 상기 사용자의 레벨을 판단하고, 상기 사용자의 레벨을 상기 인증 코드에 매칭하여 저장하는 단계;를 포함하는, 서버의 제어 방법.Determining the level of the user based on the calculated time, and matching and storing the level of the user to the authentication code; including, the control method of the server.
  4. 제3 항에 있어서,According to claim 3,
    상기 퍼즐 정보를 제공하는 단계는,The step of providing the puzzle information,
    상기 인증 코드에 매칭된 상기 사용자의 레벨을 식별하고,Identifying the level of the user matched to the authentication code;
    상기 식별된 사용자의 레벨을 바탕으로, 퍼즐 정보의 난이도를 산출하는, 서버의 제어 방법.Based on the level of the identified user, the control method of the server to calculate the difficulty of the puzzle information.
  5. 제4 항에 있어서,According to claim 4,
    상기 퍼즐 정보를 제공하는 단계는,The step of providing the puzzle information,
    큐브 조각들의 수량, 서브 블록들의 개수, 및 상기 서브 블록들 각각이 갖는 표면 넓이의 총량 중 적어도 하나를 상기 산출된 퍼즐 정보의 난이도에 비례하도록 하는, 서버의 제어 방법.A control method of a server, wherein at least one of the number of cube pieces, the number of sub-blocks, and the total amount of surface area of each of the sub-blocks is proportional to the level of difficulty of the calculated puzzle information.
  6. 제1 항에 있어서,According to claim 1,
    상기 솔루션 정보를 출력하는 단계는,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;
    상기 완성체 블록 이미지 상에서, 적어도 하나의 위치 이미지에 대한 위치 출력을 요청받는 UI(User Interface)를 생성하고,On the finished block image, creating a UI (User Interface) for requesting a location output for at least one location image,
    상기 사용자 단말을 통해 상기 UI에 대한 사용자 입력을 획득하면, 상기 획득된 사용자 명령을 바탕으로 상기 완성체 블록 이미지 상에, 위치 이미지를 출력하고,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 finished block image,
    상기 사용자 단말을 통해 입체 UI로 제공되며, 상기 입체 UI에 대한 사용자 입력을 바탕으로 회전하고,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,
    매칭되는 서브 블록이, 상기 완성체 블록 상에서 차지하는 위치 및 부피에 대한 이미지인, 서버의 제어 방법.The control method of the server, wherein the matched sub-block is an image of the position and volume occupied on the finished block.
  7. 제1 항에 있어서,According to claim 1,
    상기 퍼즐 정보를 제공하는 단계는,The step of providing the puzzle information,
    상기 제1 서브 블록의 확정 큐브 조각들 중 적어도 하나와 인접한 비확정 큐브 조각이 존재하지 않는 경우, 상기 제1 서브 블록을 구성하는 확정 큐브 조각들을 확정하는, 서버의 제어 방법.and determining definite cube pieces constituting the first sub-block when there is no non-confirmed cube piece adjacent to at least one of the definite cube pieces of the first sub-block.
PCT/KR2022/017617 2021-12-23 2022-11-10 Method of controlling server for providing block puzzle solution WO2023120974A1 (en)

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
WO2023120974A1 true WO2023120974A1 (en) 2023-06-29

Family

ID=83452789

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/017617 WO2023120974A1 (en) 2021-12-23 2022-11-10 Method of controlling server for providing block puzzle solution

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 (6)

* 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
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
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
KR102445082B1 (en) * 2021-12-23 2022-09-21 안종현 Control method for server providing solution to block puzzle

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102519226B1 (en) 2020-02-27 2023-04-06 이태원 Toy Block Elements

Patent Citations (6)

* 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
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
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
KR102445082B1 (en) * 2021-12-23 2022-09-21 안종현 Control method for server providing solution to block puzzle

Also Published As

Publication number Publication date
KR20230096826A (en) 2023-06-30
KR102445082B1 (en) 2022-09-21

Similar Documents

Publication Publication Date Title
EP3188812B1 (en) Interactive learning blocks
WO2023120974A1 (en) Method of controlling server for providing block puzzle solution
US20220358662A1 (en) Image generation method and device
WO2016159497A1 (en) Method, system, and non-transitory computer-readable recording medium for providing learning information
WO2017090851A1 (en) Association of external device with scenario-based content of main device
WO2011115410A2 (en) Apparatus and method for producing user-defined golf course, server for producing user-defined golf course and virtual golf simulation method using the golf course
CN113344776B (en) Image processing method, model training method, device, electronic equipment and medium
WO2011108837A2 (en) Apparatus and method for producing user-defined golf course, server for producing user-defined golf course and virtual golf simulation method using the golf course
WO2023227045A1 (en) Display object determination method and apparatus, electronic device, and storage medium
WO2023033469A1 (en) Method for 3d-cropping medical image and device therefor
WO2023167391A1 (en) Control method for electronic device converting normal map into height map
WO2024007496A1 (en) Image processing method and apparatus, and electronic device and storage medium
WO2011115412A2 (en) Apparatus and method for producing user-defined golf course, server for producing user-defined golf course and virtual golf simulation method using the golf course
WO2021251761A1 (en) Non-contact universal remote platform providing system using avatar robot
Kristiana et al. UUID Beacon Advertisements For Lecture Schedule Information
WO2023096235A1 (en) Method and apparatus for evaluating health condition by using skeleton model
WO2023277613A1 (en) Educational content recommendation method, educational content recommendation device, and educational content recommendation system for educational fairness
WO2020262725A1 (en) Augmented reality method for providing information on basis of three-dimensional object recognition using deep learning, and system using same
US20200351179A1 (en) Methods, Network Function Entities and Computer Readable Media for Providing IoT Services
WO2018084433A1 (en) Sketchbook-type touch board
WO2023068817A1 (en) Method and device for testing rendering results
CN110022561A (en) Information processing method and information processing unit
WO2023171930A1 (en) Neural network model compression method and neural network model compression device
CN111353595A (en) Operation method, device and related product
CN111178373A (en) Operation method, device and related product

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22911612

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE