Visual programming method and device, storage medium and electronic equipment

By introducing the first programming block and block slot design that integrates comprehensive information processing, the visual programming process is simplified and programming efficiency is improved.

CN121597184APending Publication Date: 2026-03-03TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411142111.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-19
Publication Date
2026-03-03

AI Technical Summary

Technical Problem

In visual programming, the use of programming blocks is cumbersome, leading to high programming complexity and low efficiency.

Method used

The first programming block is introduced, which integrates the function of processing comprehensive information. Through the block slot design, multiple programming blocks can be managed and configured in one interface, simplifying the programming process.

Benefits of technology

By reducing the number of blocks that need to be manipulated and increasing programming flexibility, the efficiency of visual programming is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121597184A_ABST
    Figure CN121597184A_ABST
Patent Text Reader

Abstract

The invention discloses a visual programming method and device, a storage medium and electronic equipment. The method comprises the steps that a first programming building block in a to-be-used state is displayed, the function of the first programming building block is to execute a first behavior on comprehensive information, and the comprehensive information is composed of at least two pieces of sub-information; in response to a building block use operation executed on the first programming building block in the to-be-used state, a first building block slot position and at least one second building block slot position are displayed, the first building block slot position is provided with the first programming building block in the use state, and the second building block slot position allows the second programming building block in the use state to be assembled; the function of the second programming building block is to execute a second behavior on the sub-information in the at least two pieces of sub-information. The technical problem that visual programming efficiency is low is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computers, and more specifically, to a visual programming method, apparatus, storage medium, and electronic device. Background Technology

[0002] In visual programming scenarios, it's often necessary to execute corresponding block usage operations on multiple programming block identifiers, and then use these blocks to call corresponding functions to meet specific programming requirements. This makes the visual programming process cumbersome, increasing complexity and time costs, thus leading to low efficiency in visual programming. Therefore, visual programming suffers from low efficiency.

[0003] There is currently no effective solution to the above problems. Summary of the Invention

[0004] This application provides a visual programming method, apparatus, storage medium, and electronic device to at least solve the technical problem of low efficiency in visual programming.

[0005] According to one aspect of the embodiments of this application, a visual programming method is provided, comprising: displaying a first programming block in a ready-to-use state, wherein the function of the first programming block is to perform a first action on comprehensive information, the comprehensive information being composed of at least two sub-information; in response to a block use operation performed on the first programming block in the ready-to-use state, displaying a first block slot and at least one second block slot, wherein the first block slot is configured with a first programming block in a use state, the second block slot allows the assembly of a second programming block in a use state, and the function of the second programming block is to perform a second action on the sub-information of the at least two sub-information.

[0006] According to another aspect of the embodiments of this application, a visual programming device is also provided, comprising: a first display unit for displaying a first programming block in a ready-to-use state, wherein the function of the first programming block is to perform a first action on comprehensive information, the comprehensive information being composed of at least two sub-information; and a second display unit for displaying a first block slot and at least one second block slot in response to a block usage operation performed on the first programming block in the ready-to-use state, wherein the first block slot is configured with a first programming block in a use state, the second block slot allows the assembly of a second programming block in a use state, and the function of the second programming block is to perform a second action on the sub-information among the at least two sub-information.

[0007] As an optional embodiment, the above-mentioned device further includes: a third display unit, configured to display a first slot configured with a first block in a usage state in response to a block configuration operation performed on a first block in a usage state after displaying the first block slot and at least one second block slot, wherein the at least one second block slot includes the first slot; the above-mentioned device further includes: a fourth display unit, configured to display at least one second programming block in a usage state before displaying the first slot configured with a first block in a usage state in response to a block configuration operation performed on a first block in a usage state, wherein the at least one second programming block in a usage state includes the first block in a usage state.

[0008] As an optional solution, the second display unit includes: a first display module for displaying a first slot of a first presentation format; the third display unit includes: a second display module for displaying a first slot of a second presentation format, wherein the first presentation format is different from the second presentation format.

[0009] As an optional solution, the above-mentioned device further includes: a return unit, configured to, during the process of displaying the first slot of the first block in use, while the program corresponding to the first programming block in use is in running state, execute a block action on the first sub-information and return the execution result of the block action to the first block in use, wherein the second action corresponding to the function of the first block includes the block action, and the first sub-information is the sub-information corresponding to the first block among the at least two sub-informations.

[0010] As an optional solution, the second display unit includes: a third display module for displaying the first block slot and at least one second block slot in the programming slot container.

[0011] As an optional embodiment, the above-described device further includes at least one of the following: a fourth display module, configured to display a new second block slot in the programming slot container in response to an add operation performed on the programming slot container after displaying the first block slot and the at least one second block slot in the programming slot container; a fifth display module, configured to display that the second block slot has been removed from the programming slot container in response to a remove operation performed on the second block slot after displaying the first block slot and the at least one second block slot in the programming slot container, wherein the at least one second block slot includes the first block slot, and the first block slot is set to be prohibited from being removed from the programming slot container; and a sixth display module, configured to display that the programming slot container has been deleted in response to a delete operation performed on the first block slot after displaying the first block slot and the at least one second block slot in the programming slot container.

[0012] As an optional embodiment, the above-mentioned device further includes at least one of the following: a fifth display unit, configured to display a source identifier during the display of the first block slot and at least one second block slot, wherein the source identifier is used to indicate the information source of the comprehensive information; a sixth display unit, configured to display first behavior information during the display of the first block slot and at least one second block slot, wherein the first behavior information is used to indicate the first behavior; a seventh display unit, configured to display second behavior information during the display of the first block slot and at least one second block slot, wherein the second behavior information is used to indicate the second behavior; and an eighth display unit, configured to display behavior association information during the display of the first block slot and at least one second block slot, wherein the behavior association information is used to indicate the association relationship between the first behavior and the second behavior.

[0013] As an optional solution, the above-mentioned device further includes: a ninth display unit, configured to display, after the above-mentioned display of the source identifier, in response to an identifier modification operation performed on the source identifier, that the source identifier has been modified to a new source identifier, wherein the first programming sub-block is configured to be prohibited from being removed from the first block slot.

[0014] As an optional embodiment, the above-described apparatus further includes: an integration unit, configured to, after displaying the first block slot and at least one second block slot, and when integration is permitted between the first block slot and a third slot among the at least one second block slot, display the first block slot and the third slot, which have different representations, as a combined programming slot with the same representation, in response to a slot integration operation performed on the first block slot and the third slot, wherein any programming block configured in the combined programming slot is set to be non-deletable; and a splitting unit, configured to, after displaying the first block slot and at least one second block slot, display the combined programming slot split into the first block slot and the third slot, in response to a slot splitting operation performed on the combined programming slot.

[0015] As an optional embodiment, the above-mentioned device further includes: a tenth display unit, configured to, after displaying the first block slot and at least one second block slot, in response to a slot replacement operation performed on the at least one second block slot, display a fourth slot among the at least one second block slot, replacing it with a new slot; and an eleventh display unit, configured to, after displaying the first block slot and at least one second block slot, in response to a slot deletion operation performed on the at least one second block slot, display a fifth slot among the at least one second block slot that has been deleted.

[0016] According to another aspect of the embodiments of this application, a computer program product or computer program is provided, which includes computer instructions stored in a computer-readable storage medium. A processor of an electronic device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the electronic device to perform the visual programming method described above.

[0017] According to another aspect of the embodiments of this application, an electronic device is also provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the above-described visual programming method through the computer program.

[0018] In this embodiment of the application, a first programming block in a ready-to-use state is displayed, wherein the function of the first programming block is to perform a first action on comprehensive information, the comprehensive information being composed of at least two sub-information; in response to a block use operation performed on the first programming block in the ready-to-use state, a first block slot and at least one second block slot are displayed, wherein the first block slot is configured with a first programming block in a use state, the second block slot allows the assembly of a second programming block in a use state, and the function of the second programming block is to perform a second action on the sub-information of the at least two sub-information.

[0019] By introducing a first programming block, which integrates the processing of comprehensive information, users can simultaneously process multiple sub-information within a single block, thus reducing the number of blocks that need to be manipulated. Furthermore, the introduction of block slots further enhances programming flexibility and efficiency. When a user performs a block usage operation on a first programming block that is in a ready-to-use state, the first block slot and at least one second block slot will be displayed. This design allows users to manage and configure multiple blocks within a unified interface, eliminating the need to switch between different interfaces or levels, thereby simplifying the programming process and improving the technical efficiency of visual programming. This addresses the technical problem of low efficiency in visual programming. Attached Figure Description

[0020] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:

[0021] Figure 1 This is a schematic diagram of an application environment for an optional visual programming method according to an embodiment of this application;

[0022] Figure 2 This is a schematic diagram of the flow of an optional visual programming method according to an embodiment of this application;

[0023] Figure 3 This is a schematic diagram of an optional visual programming method according to an embodiment of this application;

[0024] Figure 4 This is a schematic diagram of another optional visual programming method according to an embodiment of this application;

[0025] Figure 5 This is a schematic diagram of another optional visual programming method according to an embodiment of this application;

[0026] Figure 6 This is a schematic diagram of another optional visual programming method according to an embodiment of this application;

[0027] Figure 7 This is a schematic diagram of another optional visual programming method according to an embodiment of this application;

[0028] Figure 8 This is a schematic diagram of another optional visual programming method according to an embodiment of this application;

[0029] Figure 9 This is a schematic diagram of another optional visual programming method according to an embodiment of this application;

[0030] Figure 10 This is a schematic diagram of another optional visual programming method according to an embodiment of this application;

[0031] Figure 11 This is a schematic diagram of another optional visual programming method according to an embodiment of this application;

[0032] Figure 12 This is a schematic diagram of another optional visual programming method according to an embodiment of this application;

[0033] Figure 13 This is a schematic diagram of an optional visual programming device according to an embodiment of this application;

[0034] Figure 14 This is a schematic diagram of the structure of an optional electronic device according to an embodiment of this application. Detailed Implementation

[0035] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort should fall within the scope of protection of the present application.

[0036] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0037] According to one aspect of the embodiments of this application, a visual programming method is provided. Optionally, as an optional implementation, the above-described visual programming method can be applied to, but is not limited to, applications such as... Figure 1 The environment shown may include, but is not limited to, user equipment 102 and server 112. User equipment 102 may include, but is not limited to, a display 104, a processor 106 and a memory 108. Server 112 includes a database 114 and a processing engine 116.

[0038] The specific process can be summarized in the following steps:

[0039] In step S102, the user equipment 102 obtains the block usage operation performed on the first programming block that is in the ready-to-use state;

[0040] Step S104: Send the programming instructions corresponding to the block usage operation to the server 112 via network 110;

[0041] In step S106, the server 112 obtains the operation result corresponding to the block usage operation through the processing engine 116. The operation result includes the programming screen of the first block slot and at least one second block slot.

[0042] In step S108, the operation result is sent to the user equipment 102 via the network 110. The user equipment 102 displays the above programming screen on the display 104 via the processor 106 and stores the above operation result in the memory 108.

[0043] remove Figure 1 In addition to the indicated identifiers, the aforementioned terminal devices can be terminal devices configured with a target client, including but not limited to at least one of the following: mobile phones (such as Android phones, iOS phones, etc.), laptops, tablets, PDAs, MIDs (Mobile Internet Devices), PADs, desktop computers, smart TVs, etc. The target client can be a video client, instant messaging client, browser client, educational client, etc. The aforementioned networks can include, but are not limited to, wired networks and wireless networks. The wired network includes local area networks (LANs), metropolitan area networks (MANs), and wide area networks (WANs). The wireless network includes Bluetooth, Wi-Fi, and other networks that enable wireless communication. The aforementioned server can be a single server, a server cluster consisting of multiple servers, or a cloud server. The above is merely an identifier, and no limitation is made in this embodiment.

[0044] Alternatively, as an alternative implementation method, such as Figure 2 As shown, the visual programming method can be executed by an electronic device, such as... Figure 1 The user equipment or server shown includes the following specific steps:

[0045] S202, Display the first programming block in the ready-to-use state, wherein the function of the first programming block is to perform a first action on the comprehensive information, the comprehensive information being composed of at least two sub-information;

[0046] S204, in response to a block use operation performed on a first programming block in a ready-to-use state, a first block slot and at least one second block slot are displayed, wherein the first block slot is configured with a first programming block in a use state, and the second block slot allows assembly of a second programming block in a use state, the function of which is to perform a second action on a sub-information of at least two sub-information.

[0047] In optional embodiments, the above-described visual programming method can be applied to multiple scenarios, including, but not limited to, programming education platforms where students can use this programming block system to learn programming fundamentals. The first programming block can help students understand complex concepts such as function calls, parameter passing, and program structure. Teachers can design specific teaching tasks using customized first programming blocks; for example, creating a first programming block whose function is to calculate the sum and difference of two numbers, which students then need to use to complete a mathematical task.

[0048] The aforementioned visual programming method can also be applied to open-world game scenarios, allowing game developers to quickly build game logic using this programming block system. The first programming block can encapsulate complex game behaviors, such as character movement, attack, and defense. By combining different programming blocks, developers can easily create rich game interactions and events.

[0049] The aforementioned visual programming method can also be applied to rapid application development scenarios. For applications requiring rapid prototyping, this programming block system can significantly improve development efficiency. The first programming block can represent a complex data processing flow, such as user authentication or database queries. By dragging and dropping and configuring programming blocks, developers can quickly build the framework and functional modules of an application.

[0050] In an optional embodiment, a first programming block in a ready-to-use state is displayed. This can be understood as a programming block identifier indicating that the first programming block is in a ready-to-use state. The programming block identifier can be understood as an icon, symbol, or text label displayed on the programming interface, representing different types of programming blocks, and helping users to intuitively display or represent the main function or purpose of the programming block.

[0051] For example, a programming block representing a "loop" function might be labeled with a curved arrow, symbolically representing a continuously repeating action, or simply labeled with the word "loop"; a programming block representing a "conditional judgment" function might be labeled with a forked road sign or a question mark, indicating that different paths need to be selected based on conditions, or described with phrases like "if...then..."; a programming block for "variable setting" might be labeled with a small square with an equal sign, symbolizing an assignment operation, or simply labeled with the word "set variable"; a programming block representing a "wait" or "delay" function might use an hourglass or clock icon to represent the passage of time, or simply use the word "wait" to describe its function; and a programming block for "mathematical operations" might be labeled with a calculator or mathematical symbols (such as addition, subtraction, multiplication, and division), or simply labeled with the word "calculate".

[0052] In an alternative embodiment, a programming block can be an element in graphical programming that represents a predefined piece of code or function. Calling a function means that when a user uses this programming block in the programming environment, they are actually executing a specific code segment or function associated with that block. For example, if a user drags and drops a programming block representing the "print" function, the program will perform the printing operation at runtime, which actually involves calling a function related to the "print" function.

[0053] In an optional embodiment, the function of the first programming block may be to "perform a first action on the synthesized information". Here, "synthetic information" refers to a set of information consisting of at least two "sub-information". In other words, this first programming block can process multiple inputs or parameters and perform some operation (i.e., "first action") on them.

[0054] To illustrate further, suppose there is a first programming block used to calculate the sum of two numbers (the first row is "sum"). In this scenario, the "comprehensive information" is the two numbers that need to be added (i.e., the two pieces of sub-information). Users can easily implement the summation operation by dragging and configuring this first programming block without writing complex code.

[0055] Optionally, a response refers to the system's reaction or action to a user's operation. In an optional embodiment, a response refers to the corresponding feedback that the programming system or the background will give after the user performs a block usage operation (such as clicking, dragging, etc.) on the first programming block in the ready-to-use state.

[0056] In an optional embodiment, a block usage operation can refer to an action performed by a user to use or activate a function of the first programming block. For example, a user can click on the first programming block icon to view or edit the first programming block associated with that icon.

[0057] In an optional embodiment, the first block slot may be an interface location for displaying a first programming block that is active or in use. The second block slot may be an interface location that allows a user to assemble other programming blocks (second programming blocks) that perform another specific behavior (second behavior) on the sub-information.

[0058] In an optional embodiment, comprehensive information can refer to a collection of information consisting of multiple different parts or elements, such as a complex data structure that may contain multiple data types and multiple fields. Sub-information, on the other hand, is a component of comprehensive information, i.e., a single element or field within it. Each piece of sub-information contains specific data or content.

[0059] To illustrate further, in a data processing task, the comprehensive information is a record containing multiple fields such as user name, age, address, and phone number, and the user's name, age, address, etc. can all be regarded as sub-information.

[0060] In an optional embodiment, the first action may refer to a specific operation or task performed by the first programming sub-block. The second action may be an operation or task performed by the second programming sub-block. Similar to the first action, it is also an important component of the first programming block's functionality. The second action may be associated with the first action, and the two cooperate to complete the complex task defined by the first programming block in use.

[0061] Interdependence here means that the first and second actions are functionally or logically related. This relationship can manifest as sequential dependency (e.g., one action must be executed after another), data dependency (e.g., the output of one action serves as the input of another), or logical dependency (e.g., the execution condition of one action depends on the result of another). In this embodiment, this relationship can be crucial to ensuring that the synthesis task can be completed correctly and effectively.

[0062] To further illustrate, optional examples include... Figure 3 As shown in (a), in response to a block use operation performed on the first programming block 302 in a ready-to-use state, wherein the function of the first programming block A is to be responsible for “making sandwiches (first action)”;

[0063] For example Figure 3As shown in (b), the first block slot 304, the second block slot 306, and the second block slot 308 are displayed. The first block slot 304 is equipped with a first programming block A in use; the second block slot 306 is equipped with a second programming block B in use; and the second block slot 308 is equipped with a second programming block C in use. The function of the second programming block B is to "prepare ingredients (second action)", and the function of the second programming block C is to "assemble the sandwich (second action)". The first action and the second action are interrelated because "making a sandwich" requires "assembling the sandwich" and "preparing ingredients". Without prepared ingredients and without sandwich assembly, a sandwich cannot be made. Therefore, the first action and the second action are interrelated, and this relationship is a sequential dependency: the execution of the first action depends on the completion of the second action.

[0064] It should be noted that this embodiment describes a specific function within a visual programming environment. When a user sees a first programming block in a ready-to-use state on the programming interface, this block is designed to perform a specific action (first action) on comprehensive information containing at least two sub-informations. After the user decides to use this block and performs the corresponding operation, the system displays two slots: a first block slot and at least one second block slot. The first block slot displays the activated first programming block, while the second block slot can be equipped with blocks that perform other functions (second programming blocks), which can perform another action (second action) on the sub-informations in the comprehensive information.

[0065] To further illustrate, optional examples include... Figure 4 The interface shown displays a first programming block 402 in a ready-to-use state on the right side of the interface. The function of the first programming block 402 is to perform a first action on the comprehensive information (such as "A"), which is composed of at least two sub-informations (such as "X" and "Y").

[0066] In response to a block use operation performed on a first programming block 402 in a ready-to-use state, a first block slot 404 and at least one second block slot 406 are displayed in the area on the left side of the interface. The first block slot 404 is configured with the first programming block 402 in a use state, and the second block slot 404 allows the assembly of a second programming block in a use state. The function of the second programming block is to perform a second action on a sub-information of at least two sub-information. For example, the first programming sub-block 402 is used to perform a first action (such as a storage action) on comprehensive information (such as "A"), and the second programming block is used to perform a second action (such as a setting action) on a sub-information of at least two sub-information (such as "X" or "Y").

[0067] Among them, regarding Figure 4 The left and right display areas of the interface are for illustrative purposes only and do not limit the display position. The interface can be displayed in any area of ​​the interface. The interface can be understood as a visual interface in the programming process and can run on the client or server, which is not limited here.

[0068] The embodiments provided in this application introduce a first programming block that integrates the processing function of comprehensive information. Users can process multiple sub-information items simultaneously within a single block, thereby reducing the number of blocks that need to be manipulated. Furthermore, by introducing block slots, the flexibility and efficiency of programming are further enhanced. When a user performs a block usage operation on the first programming block in its ready-to-use state, the first block slot and at least one second block slot are displayed. This design allows users to manage and configure multiple blocks in a unified interface without switching between different interfaces or levels, thus simplifying the programming process and achieving the technical effect of improving the efficiency of visual programming.

[0069] As an alternative, after displaying the first block slot and at least one second block slot, the method further includes: in response to a block configuration operation performed on the first block in a ready-to-use state, displaying the first slot configured with the first block in a use state, wherein at least one second block slot includes the first slot;

[0070] Before displaying a first slot configured with the first block in use in response to a block configuration operation performed on a first block in a ready-to-use state, the method further includes: displaying at least one second programming block in a ready-to-use state, wherein the at least one second programming block in a ready-to-use state includes the first block in a ready-to-use state.

[0071] In an optional embodiment, a programming block can be understood as a visual programming element, with each block representing a specific function or behavior.

[0072] In an optional embodiment, a block slot can be understood as an interface location for assembling and organizing programming blocks.

[0073] In an optional embodiment, the block usage operation can be understood as a user using or activating a programming block through some kind of interaction (such as dragging, clicking, etc.).

[0074] In an optional embodiment, the block configuration operation can be understood as the user's behavior of making specific settings or parameter adjustments to the blocks.

[0075] It should be noted that the description in this embodiment involves a visual programming environment in which "programming blocks" are used as the basic unit of programming. In this environment, programming becomes more intuitive and easier to understand because users can achieve complex functions by combining different blocks. Each block can be seen as a functional module, and by connecting them together, various program logics can be created.

[0076] To further illustrate, consider an optional assumption about a program that processes user personal information. The aggregated information could be a user's profile, including two sub-information items: "name" and "age." The first programming block could be a "display information" block, whose function is to combine and display these two sub-information items. When this block is used, two block slots will appear on the interface: one for the already used "display information" block, and the other for a potentially configured second programming block, such as an "age verification" block, which will verify the "age" sub-information.

[0077] According to the embodiments provided in this application, when a user selects to use the first programming block, two block slots will be displayed: one for the already activated first programming block and the other for a potentially configurable second programming block. Prior to this, this embodiment can display available second programming blocks for the user to choose from, including the first block. The user can configure the specific parameters or behaviors of the blocks through configuration operations. Once configured, the block will be activated and placed in the corresponding slot.

[0078] As an optional solution, displaying a first block slot and at least one second block slot includes: displaying a first slot showing a first representation;

[0079] The display is configured with a first slot containing a first block in use, including: a first slot displaying a second representation, wherein the first representation is different from the second representation.

[0080] In an optional embodiment, the first presentation form may refer to the visual display method of the first block slot when it is not configured for use, such as color, shape, layout, illustration, etc. The second presentation form may refer to the visual display method of the first block slot after it is configured for use, which is different from the first presentation form.

[0081] It should be noted that this embodiment further refines the display method of the "block slots". Specifically, when displaying the first block slot and at least one second block slot, the first block slot will be displayed in a "first presentation form"; however, when this slot is configured as a first block in use, its presentation form will change and it will be displayed in a "second presentation form". These two presentation forms are different to distinguish the status of the slot.

[0082] These different presentation methods not only provide intuitive visual feedback, helping users better understand the status of the block slots, but also enhance the user experience. Through visual differences, users can quickly identify which slots are empty and which are occupied, thus enabling more efficient configuration and use of the blocks.

[0083] To illustrate further, taking a graphical programming interface as an example, the first form of representation can be a blank slot or a slot with a "+" symbol, indicating that a block can be placed there; while the second form of representation can be a slot filled with color or with a specific icon, indicating that the slot is occupied by a block that is in use.

[0084] According to the embodiments provided in this application, when a user performs a block usage operation, a first block slot and at least one second block slot are displayed in a first format. When the user performs a block configuration operation on a first block that is in a ready-to-use state, the first slot, originally displayed in the first format, will change to a second format to reflect that the slot has been configured for use. This visual change not only enhances the interactivity of the interface but also allows users to more clearly understand the usage status of the block slots during programming, thereby improving programming efficiency.

[0085] As an optional approach, the method further includes the following steps during the process of displaying the first slot of the first block that is in use:

[0086] When the program corresponding to the first programming block in the usage state is in the running state, the block behavior is executed on the first sub-information, and the execution result of the block behavior is returned to the first block in the usage state. The second behavior corresponding to the function of the first block includes the block behavior, and the first sub-information is the sub-information corresponding to the first block among at least two sub-information.

[0087] In an optional embodiment, block behavior may refer to the specific operations or calculations performed by the programming block during execution.

[0088] In an optional embodiment, the first sub-information may refer to a specific sub-information that corresponds to the first building block function among at least two sub-informations that make up the comprehensive information.

[0089] It should be noted that this embodiment describes a scenario in a programming environment where, when a program corresponding to a first programming block in use is running, the block performs specific block behaviors on its corresponding sub-information (i.e., the first sub-information) and returns the execution result to the block. The "block behaviors" mentioned here are part of the second behaviors corresponding to the functions of the first block.

[0090] This ability to dynamically execute block behaviors and return results makes the programming environment more flexible and interactive. Users can not only intuitively see how the blocks affect the data, but also make real-time adjustments and optimizations based on the returned results.

[0091] To further illustrate, consider an optional assumption: a program processes student information, including "name" and "grades." The first programming block is used to calculate the average grade. When this block is configured for use and its corresponding program is running, it calculates the average from all students' grades (i.e., the first sub-information) and returns the result to the block. This operation of calculating the average is an example of block behavior.

[0092] According to the embodiments provided in this application, when a user configures the first programming block to be in use and its corresponding program is in running state, the block will automatically execute predetermined block behaviors on the first sub-information. The execution result of the block behavior will be returned to the first block in use state in real time, which can be manifested as data updates, color changes, or other forms of visual feedback within the block. In this way, users can intuitively observe the impact of block behavior on data, thereby debugging and optimizing program logic more efficiently.

[0093] As an optional solution, a first block slot and at least one second block slot are displayed, including:

[0094] Display a first block slot and at least one second block slot in the programming slot container.

[0095] In an optional embodiment, the programming slot container can be an interface element in a graphical programming environment for displaying and organizing programming block slots, providing a visual framework that allows users to clearly see the components inside the programming slot container and the relationships between them.

[0096] In addition to displaying programming block slots, the "programming slot container" can also include other interactive features, such as dragging and dropping to adjust the order of programming block slots, clicking to select blocks or their properties. Furthermore, it can provide error checking, code suggestions, or real-time previews to help users program more efficiently.

[0097] It should be noted that this embodiment refers to a dedicated "programming slot container" in the programming environment, which is used to organize and display various block slots. When a use operation is performed on the first programming block that is in a ready-to-use state, the first block slot and at least one second block slot will be displayed inside this container.

[0098] To further illustrate, the optional based on Figure 4 The scenario shown continues, for example... Figure 5 As shown, a first block slot 404 and at least one second block slot 406 are displayed in the programming slot container 502.

[0099] According to the embodiments provided in this application, when a user performs a usage operation on a first programming block that is in a ready-to-use state, the programming slot container responds immediately and displays the first block slot and at least one second block slot inside the container. These slots are presented to the user in a clear and intuitive manner, allowing the user to easily identify and select the block slot they need. By centrally displaying the block slots in the programming slot container, users can organize and configure their programming blocks more efficiently, thereby improving programming efficiency and accuracy.

[0100] As an alternative, after displaying the first block slot and at least one second block slot in the programming slot container, the method further includes at least one of the following:

[0101] S1-1, in response to the add operation performed on the programming slot container, displays a new second block slot in the programming slot container;

[0102] S1-2, in response to the removal operation performed on the second slot, the second slot is shown to be removed from the programming slot container, wherein at least one second block slot includes the second slot, and the first block slot is set to be prohibited from being removed from the programming slot container;

[0103] S1-3, in response to the deletion operation performed on the first block slot, displays the deleted programming slot container.

[0104] In an optional embodiment, the add operation can be understood as an operation performed by the user to add a new second block slot in the programming slot container.

[0105] In an optional embodiment, the removal operation can be understood as an operation performed by the user to remove a specified second block slot from the programming slot container.

[0106] In an optional embodiment, the deletion operation can be understood as an operation that the user attempts to perform to delete the first block slot, but in reality, it will cause the entire programming slot container to be deleted.

[0107] It should be noted that this embodiment describes a series of operations that a user can perform and their corresponding interface feedback after displaying a first block slot and at least one second block slot in the programming slot container. Specifically, a user can add a new second block slot, remove an existing second block slot, or attempt to delete the first block slot (although this operation will cause the entire programming slot container to be deleted).

[0108] These operations are designed to provide flexible programming block management capabilities, allowing users to dynamically adjust the number and configuration of block slots as needed. At the same time, by prohibiting the removal of the first block slot and setting severe consequences for deletion operations, the stability of critical block slots and the security of the system are ensured.

[0109] To further illustrate, consider the optional scenario where a user wants to add a new second block slot to an existing programming slot container to assemble more programming blocks. The user clicks the "Add Slot" button in the container, and a new blank second block slot appears on the screen, ready for the user to assemble blocks. The user finds that a block in a certain second block slot is no longer needed, so they select the slot and perform a "Remove" operation. That second block slot and its blocks then disappear from the programming slot container. Even though the first block slot is set to be non-removable, the user might attempt to perform a "Delete" operation. In this case, the system might display a warning message informing the user that this operation will delete the entire programming slot container. If the user confirms the action, the entire container, along with all its slots and blocks, will be removed.

[0110] The embodiments provided in this application allow users to dynamically add new second block slots to the programming slot container via an add operation. This provides users with the flexibility to expand their programming capabilities according to actual needs. Simultaneously, the remove operation allows users to easily delete unwanted second block slots, thus maintaining a clean and efficient interface. Furthermore, the first block slot is set to be prevented from being removed from the programming slot container, ensuring the stability of critical block slots and the security of the system. Additionally, when a user attempts to delete the first block slot, the system provides a severe consequence warning (such as deleting the entire programming slot container), preventing users from accidentally damaging important programming structures.

[0111] As an optional approach, in displaying the first block slot and at least one second block slot, the method further includes at least one of the following:

[0112] S2-1, Display source identifier, whereby the source identifier is used to indicate the information source of the aggregated information;

[0113] S2-2, Display the first line of information, where the first line of information is used to represent the first line;

[0114] S2-3, Display the second line of information, where the second line of information is used to represent the second line;

[0115] S2-4, Display behavior association information, whereby the behavior association information is used to represent the relationship between the first behavior and the second behavior.

[0116] In optional embodiments, the source identifier can be a mark, symbol, or specific information content used to indicate the source of the aggregated information. This helps users understand where the data comes from, thereby increasing the transparency and traceability of the process.

[0117] In an optional embodiment, behavior association information can be used to demonstrate the logical or data relationship between the first behavior and the second behavior, helping users understand the interaction between the blocks.

[0118] It should be noted that, during the display of the first block slot and at least one second block slot, this embodiment also provides additional information display functions, including displaying the source identifier, first behavior information, second behavior information, and behavior association information. Displaying this information helps users more clearly understand the functions of the programming blocks and the relationships between them.

[0119] Displaying this information not only increases the transparency of the programming process but also makes it easier for users to understand and debug their programming logic. Especially when dealing with complex programming tasks, this additional information helps users maintain a clear mind and reduce errors and debugging time.

[0120] To further illustrate, the optional based on Figure 4 As shown, continue for example Figure 6 As shown, the source identifier (such as "User 1") and the first behavior information, such as "Store...", are displayed in the first block slot 404 to indicate that the first behavior is a storage behavior. The second behavior information, such as "Set...", is displayed in the second block slot 406 to indicate that the second behavior is a setting behavior. The behavior association information can be understood as information used to indicate the relationship between the setting behavior and the storage behavior. For example, the "for" between "Set..." and "Store..." indicates that the target 1 of "Set..." is and the target 2 of "Store..." is "A" of User 1.

[0121] The embodiments provided in this application display a source identifier, allowing users to clearly identify the source of comprehensive information, thereby ensuring the accuracy and reliability of the data. The display of the first and second line information enables users to understand the specific function of each programming block at a glance, which helps users quickly understand and configure the blocks. The display of behavior association information helps users understand the logical relationships and data flow between different blocks, thereby improving programming efficiency and accuracy.

[0122] As an optional approach, after displaying the source identifier, the method also includes:

[0123] In response to an identifier modification operation performed on the source identifier, the source identifier is displayed as a new source identifier, wherein the first programming sub-block is set to be prohibited from being removed from the first block slot.

[0124] In an optional embodiment, the identifier modification operation can be understood as an operation performed by a user, intended to change the displayed source identifier.

[0125] In an optional embodiment, the new source identifier can be understood as the updated source identifier displayed by the system after the user modifies the identifier.

[0126] It should be noted that after displaying the source identifier, this embodiment also provides a function: allowing users to modify the source identifier. When a user performs a modification operation on the source identifier, the system will respond and display the new source identifier. Simultaneously, the first programming block (or first programming sub-block) is set to be prohibited from being removed from the first block slot, which ensures the stability and security of the programming logic.

[0127] The ability to allow users to modify the source identifier provides flexibility, enabling them to update the information source label according to actual circumstances to reflect the most accurate data source. Meanwhile, the setting that prohibits the removal of the first programming block ensures that the core parts of the programming logic cannot be accidentally deleted or altered, enhancing the system's stability and reliability.

[0128] To further illustrate, suppose the original source identifier is displayed as "Database A," but the user discovers that the actual data source should be "Database B." The user performs an identifier modification operation, changing "Database A" to "Database B." The system responds to this operation by updating the displayed source identifier to "Database B." Simultaneously, because the first programming block is prohibited from removal, the user cannot delete it from its slot, thus ensuring that the core processing logic is not disrupted.

[0129] Through the embodiments provided in this application, after a user performs an identifier modification operation, the system immediately responds and displays the new source identifier, reflecting the actual source of the data and improving the accuracy and transparency of information. Since the first programming block is set to be non-removable, users do not need to worry about accidentally deleting core processing parts when editing and modifying programming logic, thereby reducing operational risks and improving user experience and system security.

[0130] As an optional approach, after displaying the first block slot and at least one second block slot, the method further includes:

[0131] S3-1, where integration is permitted between a first block slot and a third slot in at least one second block slot, in response to a slot integration operation performed on a first block slot and a third slot with different representations, the first block slot and the third slot are displayed as a combined programming slot with the same representation, wherein any programming block configured in the combined programming slot is set to be disabled for deletion;

[0132] S3-2, in response to the slot splitting operation performed on the combinatorial programming slot, displays the combinatorial programming slot split into the first block slot and the third slot.

[0133] In an optional embodiment, the block integration operation can be understood as the user merging the first block slot and the third slot into a single combinatorial programming slot.

[0134] In an optional embodiment, the block splitting operation can be understood as the user splitting the combinatorial programming slot into a first block slot and a third block slot.

[0135] In an optional embodiment, the combined programming slot can be understood as a single slot formed by integrating the first block slot and the third slot, used to accommodate the associated programming block.

[0136] Furthermore, assembled programming blocks can adopt a unified design style, color, or other visual elements to present a cohesive appearance. In contrast, disassembled blocks can exhibit different design styles, colors, or other visual elements to distinguish their functions or states.

[0137] It should be noted that after displaying the first block slot and at least one second block slot, this embodiment also provides a block integration and splitting function. When integration between the first block slot and a certain second block slot (here referred to as the third slot) is allowed, the user can perform a block integration operation to combine these two slots into a single combined programming slot with the same appearance. Similarly, the user can also perform a splitting operation on this combined programming slot, splitting it into the original first block slot and the third slot. In this combined programming slot, any programming block is set to be non-deletable to ensure the stability and security of the programming logic.

[0138] This feature allows users to flexibly combine and split programming block slots according to actual needs, thereby optimizing the structure and efficiency of programming logic. At the same time, prohibiting the deletion of programming blocks in combined programming slots ensures that critical processing logic is not accidentally deleted, improving system reliability and stability.

[0139] To further illustrate, consider an optional scenario: the first block slot contains a programming block for processing user data, while the third slot contains a programming block for statistical analysis of that data. The user wants to tightly integrate these two functions and performs a block integration operation. Upon system response, a new combined programming slot is displayed, containing the programming blocks for both functions, representing a unified processing and analysis module. During subsequent development, the user discovers the need to separate the data processing and statistical analysis functions for greater flexibility. Therefore, the user performs a block splitting operation on the combined programming slot. Upon system response, the combined programming slot is split into the original first and third block slots, each displaying its contained programming blocks independently.

[0140] The block integration operation allows users to combine related programming blocks into a unified module, simplifying the complexity of programming logic and improving code readability and maintainability. The block splitting operation provides users with the flexibility to break down complex modules into simpler parts, facilitating individual adjustment and optimization of each functional component. The restriction on deleting programming blocks from combined programming slots ensures the safety of core logic and prevents the loss of critical functions due to accidental deletion.

[0141] As an optional approach, after displaying the first block slot and at least one second block slot, the method further includes:

[0142] S4-1, in response to the slot replacement operation performed on at least one second block slot, display the fourth slot in at least one second block slot and replace it with the new slot;

[0143] S4-2, in response to a slot deletion operation performed on at least one second block slot, displays the deletion of the fifth slot from at least one second block slot.

[0144] In an optional embodiment, the slot replacement operation can be understood as the user replacing a certain second block slot (fourth slot) with a new slot.

[0145] To further illustrate, consider an optional scenario where a second (or fourth) block slot contains a programming block for data filtering, but the user wants to use a more efficient filtering algorithm. Therefore, the user performs a slot replacement operation, replacing the slot with a new slot containing the programming block for the new filtering algorithm.

[0146] In an optional embodiment, the slot deletion operation can be understood as the user deleting a certain second block slot (fifth slot).

[0147] To further illustrate, an alternative example is that in a programming task, a user discovers that the programming blocks contained in a certain second block slot (the fifth slot) are no longer needed. To simplify the programming logic, the user performs a slot deletion operation, removing the slot from the interface.

[0148] It should be noted that after displaying the first block slot and at least one second block slot, this embodiment also provides the function of replacing and deleting the second block slot. Users can perform a slot replacement operation to replace a certain second block slot (here referred to as the fourth slot) with a new slot. Simultaneously, users can also perform a slot deletion operation to delete a certain second block slot (here referred to as the fifth slot).

[0149] The introduction of slot replacement and deletion functions allows users to flexibly adjust the configuration of programming blocks according to actual needs. By replacing slots, users can easily update or optimize specific processing logic; by deleting slots, users can remove unnecessary processing steps, thereby maintaining the simplicity and efficiency of the programming logic.

[0150] As an optional approach, for ease of understanding, the aforementioned visual programming method is applied to the Blockly use case. Blockly adds a visual code editor to the programming library on web and mobile applications, allowing users to program using a block-based approach. It supports converting user-drag-and-drop (programming) blocks into different programming languages, generally supporting graphical, visual programming. Blocks are the basic units in Blockly programming; each block represents a programming concept or operation, such as variables, loops, and conditional statements. Blocks have unique shapes and colors, allowing users to easily identify and combine them. Users can build programs and achieve various functions by combining different blocks.

[0151] Specifically, this embodiment implements a novel assignment block representation based on the Blockly visual programming library. This representation allows creators to assign multiple return values ​​to multiple variables simultaneously when using function call blocks. Through this new assignment block representation, creators can more intuitively create and use functions with multiple return values ​​to build their own programs. This method not only improves programming efficiency but also enhances Blockly's flexibility and usability, making the handling of functions with multiple return values ​​simpler and clearer. This new assignment block representation greatly improves the creator experience and usability of Blockly in educational, game UGC, and professional programming environments, enabling creators to program in a more efficient and intuitive way, thereby creating more complex and diverse programs.

[0152] In Blockly, a variable is an identifier used to store information. This information can be numbers, strings, boolean values, or even more complex data types. A variable's value can change during program execution. In Blockly, you can create a new variable using the "Create Variable" block, and then use the "Set Variable" and "Get Variable" blocks to set and retrieve the variable's value, respectively.

[0153] A function is a piece of reusable code that performs a specific task. It accepts input (also called parameters or variables), performs a specific operation based on that input, and ultimately returns a result. Functions can simplify code, improve its readability and maintainability, reduce code duplication, and make programs more modular.

[0154] Assignment is the operation of storing a value or the result of a calculation in a variable. Assignment is typically represented by an equal sign (=), where the left side of the equal sign is the variable, and the right side is the value or expression to be assigned to that variable. For example, in the expression "x = 5", the value 5 is assigned to the variable x. In Blockly, you can use the "Set Variable" block to perform assignment operations, assigning a value or the result of an expression to a variable.

[0155] To further illustrate, consider the "Retrieve Player Information" block as an example, such as... Figure 7 As shown, in the block toolbar on the right side of the interface, under the "Actions" - "Information" menu, there is a "Retrieve Player Information" block. Creators can use this block in their programming projects to retrieve player information for a specified ID.

[0156] Optional based on Figure 7 The scenario shown continues as follows Figure 8 As shown, when the creator drags a block from the right toolbar into the left workspace, the "Fetch Player Information" block will automatically generate a "Function Multiple Return Value Assignment Variable" block.

[0157] The "Function with Multiple Return Values ​​Assigned to Variables" block has five slots. The last slot is the "Fetch Player Information" function call block, which users cannot move; they can only modify the player ID slot within it. The first four slots correspond to the four return values ​​of the "Fetch Player Information" function call block: whether the fetch was successful, and the player's specific information (nickname, avatar, level). These four slots accept dragged-in Boolean values.

[0158] Optional based on Figure 8 The scenario shown continues as follows Figure 9As shown, creators can drag the variable blocks that they want to store the returned information into these four slots. When the program runs, the different attributes of the retrieved player information will be assigned to these variables.

[0159] Furthermore, creators can use this block to create their own game logic, such as based on... Figure 9 The scenario shown continues as follows Figure 10 As shown, the creator assigns the return value of the "Retrieve player information with ID 123456" block to the "Return result variable 1", "Player nickname variable 2", "Player avatar variable 3" and "Player level variable 4" blocks.

[0160] In the subsequent block logic, various blocks were integrated, and a simple game logic was designed using four variable blocks: "Return Result Variable 1", "Player Nickname Variable 2", "Player Avatar Variable 3" and "Player Level Variable 4".

[0161] When the creator clicks "Play Trial," the system automatically executes the following programming logic once the game starts: First, it retrieves the player information with ID 123456 and assigns the returned information to "Return Result Variable 1," "Player Nickname Variable 2," "Player Avatar Variable 3," and "Player Level Variable 4." If the information retrieval is successful (i.e., "Return Result Variable 1" is true): the game displays the player's nickname (i.e., the value of "Player Nickname Variable 2") on Player 1's screen; the game displays the player's avatar (i.e., the value of "Player Avatar Variable 3") on Player 1's screen; and executes the corresponding game logic based on the value of "Player Level Variable 4." If the player with ID 123456's level is greater than 10, then Player 1 can be given a certain amount of gold coins.

[0162] In this way, creators can flexibly use the "fetch player information" block and the "function with multiple return values ​​assigned to variables" block, combined with other blocks, to design a variety of game logics, enriching the game's content and gameplay.

[0163] It should be noted that this embodiment can be applied to devices that support modern web browsers, such as PCs, tablets, or mobile phones, as a client for running a visual programming editor.

[0164] To further illustrate, alternatively, for example... Figure 11As shown, the user device is equipped with a visual programming editor (such as Blockly). This editor allows creators to design and build complex functional logic, such as "user information retrieval," through an intuitive block-based assembly method. After the creator completes the block configuration, the client automatically converts the block configuration into Lua code by triggering a trial operation. This conversion process achieves a seamless transition from graphical design to code implementation.

[0165] The client then sends the generated Lua code as a request to the server. The server, acting as a backend processing center, is responsible for receiving and parsing these requests. When the request involves user information retrieval, the server accesses the database and performs precise data queries to obtain specific user information, such as nickname, avatar, and level.

[0166] After the query is completed, the server encapsulates this information into a result object in a specific format (such as the GetPlayerInfoResult type) and returns it to the client via network transmission. This step ensures data integrity and security while improving data transmission efficiency.

[0167] After receiving the result object returned by the server, the client will automatically parse and process the data according to the logic previously configured through the building blocks. Specifically, the client will assign various data items (nickname, avatar, level, etc.) in the result object to variables predefined in the "Function Multiple Return Value Assignment Variable" building block, thereby realizing dynamic data processing and display.

[0168] From a technical perspective, this process not only simplifies the programming process and lowers the development threshold, but also ensures the accuracy and real-time performance of data processing through efficient client-server interaction and precise database queries. At the same time, the modular programming approach enhances code readability and maintainability, providing creators with more flexible and powerful development capabilities.

[0169] Optionally, the timing diagram of the overall technical solution in this embodiment is as follows: Figure 12 As shown, the specific steps are as follows:

[0170] User opens the visual programming product: This is the starting point of the entire process. The user opens the interface of the visual programming product in some way (such as by clicking a button).

[0171] User selects building blocks: Users choose the necessary building blocks in the visual programming interface to construct their own logic. In this case, the user selected two key building blocks: one for retrieving player information (GetPlayerInfo) and the other for processing the retrieved result (GetPlayerInfoResult).

[0172] User clicks the "Try it out" button: After completing the block assembly, the user clicks the "Try it out" button to test its logic.

[0173] System check for block integration: The system first checks whether the blocks assembled by the user are logical and expected, ensuring that there are no errors or omissions.

[0174] Convert to Lua code and execute: Once the block integration passes the check, the system will automatically convert it to Lua code and execute the code immediately.

[0175] The system sends a request to the server: According to the logic of the Lua code, the system sends a request to the server to obtain the player's information.

[0176] The server processes the request and returns player information: After receiving the request, the server processes it, retrieves the corresponding player information from the database, and returns it to the client.

[0177] The system stores player information: After receiving player information returned by the server, the client stores it in a predefined variable (such as Player Info).

[0178] The system processes and returns the results: Based on the logic of the Lua code, the system processes the obtained player information and returns the final result to the user or performs other corresponding operations.

[0179] In an optional embodiment, the Blockly visual programming library is used to implement the two block styles: "fetching player information" and "assigning variables with multiple function return values". The specific technical solution is as follows:

[0180] First, for the function call block that "fetches player information," this embodiment defines a brand-new block type using the Blockly library, named GetValue_Info_GettPlayerInfo. This block is designed to retrieve information about a specific player through a function call. In terms of technical implementation, this embodiment uses JavaScript to precisely define the block's style, ensuring it conforms to Blockly's visual specifications while intuitively reflecting its function.

[0181] This block has an input parameter named "id", whose data type is strictly set to "Number". This is to ensure that the user inputs a valid player ID, thereby avoiding data processing errors caused by incorrect data types. In addition, the output type of this block is defined as "GettPlayerInfoResult", which explicitly indicates the nature of the result returned after the block calls the function, namely a collection of player information.

[0182] Secondly, for the "multiple return values ​​assigned to variables" block, this embodiment also defines a new block type called Action_Info_SetPlayerInfoResult using the Blockly library. The main function of this block is to assign multiple return values ​​to different variables to meet the needs of subsequent programming logic.

[0183] In terms of technical details, this building block is designed with five input parameters: "result", "name", "avatar", "level", and "caller". Each parameter has its specific data type and function.

[0184] The "result" parameter is used to receive a boolean value, which directly reflects whether the operation was successful, providing an important basis for error handling and flow control in the program.

[0185] The "name" parameter accepts a string variable to store the player's nickname information, which is important data for player personalization and identification.

[0186] The "avatar" parameter is used to receive an image-type variable, i.e., the player's avatar, which is crucial for improving the interactivity and user experience of the game or application.

[0187] The "level" parameter accepts a numeric variable representing the player's level, which is a common metric for measuring user progress and ability in games or applications.

[0188] It should be noted that the "caller" parameter is designed to receive a variable of a specific type ("GettPlayerInfoResult"). This type is completely consistent with the output type of the aforementioned "GetValue_Info_GettPlayerInfo" block. This design ensures data consistency and program robustness. Through this parameter, this embodiment can directly pass the output of the "Fetch Player Information" block to the "Function Multiple Return Value Assignment Variable" block, thereby achieving seamless data integration and efficient processing.

[0189] The embodiments provided in this application introduce a novel assignment block, allowing creators to assign multiple return values ​​to multiple variables simultaneously when using function call blocks. This improves programming intuitiveness, readability, and creation efficiency, thereby achieving the technical effects of enhancing program performance, reducing cognitive load, and expanding the applicability of block-based programming. Specifically:

[0190] First, this embodiment significantly enhances the intuitiveness of programming. By introducing a new assignment block, creators can assign multiple return values ​​to corresponding variables at once when using the function call block. This design not only makes the programming steps clear at a glance but also greatly simplifies the programming process, allowing creators to more easily grasp the function and purpose of the blocks, thus making the entire programming process more intuitive and convenient.

[0191] Secondly, the new block design significantly improves readability. Each return value corresponds to a clearly defined variable slot, allowing creators to clearly see the destination of each return value without having to memorize the correspondence between each return value and variable. This improvement significantly reduces the cognitive load during programming, making the programming process easier and more enjoyable.

[0192] Furthermore, from a performance perspective, this embodiment effectively reduces the computational complexity and memory usage of the programming application by decreasing the number of required building blocks. This optimization significantly improves program efficiency and reduces performance bottlenecks. Especially when processing large-scale data and complex logic, the technical solution of this embodiment can greatly improve program speed, thereby providing users with a smoother experience.

[0193] Furthermore, this embodiment significantly improves creation efficiency. Creators no longer need to perform tedious repetitive assignment operations; they can simply assign values ​​to multiple variables at once within a single block. This not only simplifies the programming process but also saves creators a significant amount of time spent repeatedly dragging and dropping blocks, allowing them to focus more on the creative process itself.

[0194] Finally, from an applicability perspective, the technical solution of this embodiment has a wide range of applicable scenarios. Whether in the field of education, game UGC production, or professional programming environments, this embodiment can fully leverage the advantages of Blockly visual programming and simplify the processing flow of functions with multiple return values. This not only enhances the programming experience for creators but also further improves their creative efficiency.

[0195] It is understood that in the specific embodiments of this application, data such as user information are involved. When the above embodiments of this application are applied to specific products or technologies, user permission or consent is required, and the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions.

[0196] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, as some steps may be performed in other orders or simultaneously according to this application. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions and modules involved are not necessarily essential to this application.

[0197] According to another aspect of the embodiments of this application, a visual programming apparatus for implementing the above-described visual programming method is also provided. For example... Figure 13 As shown, the device includes:

[0198] The first display unit 1302 is used to display a first programming block in a ready-to-use state, wherein the function of the first programming block is to perform a first action on the comprehensive information, and the comprehensive information consists of at least two sub-information;

[0199] The second display unit 1304 is configured to display a first block slot and at least one second block slot in response to a block use operation performed on a first programming block in a ready-to-use state. The first block slot is configured with a first programming block in a use state, and the second block slot allows the assembly of a second programming block in a use state. The function of the second programming block is to perform a second action on a sub-information of at least two sub-information.

[0200] For specific implementation examples, please refer to the identifiers shown in the above visual programming method; these identifiers will not be repeated here.

[0201] As an optional solution, the device further includes: a third display unit, configured to, after displaying the first block slot and at least one second block slot, in response to a block configuration operation performed on the first block in the ready-to-use state, display the first slot configured with the first block in the use state, wherein at least one second block slot includes the first slot;

[0202] The device further includes: a fourth display unit for displaying at least one second programming block in a ready-to-use state before displaying a first slot configured with the first programming block in a ready-to-use state in response to a block configuration operation performed on the first programming block in a ready-to-use state, wherein the at least one second programming block in a ready-to-use state includes the first programming block in a ready-to-use state.

[0203] For specific implementation examples, please refer to the identifiers shown in the above visual programming method; these identifiers will not be repeated here.

[0204] As an optional solution, the second display unit 1304 includes: a first display module for displaying a first display format in a first slot;

[0205] The third display unit includes: a second display module for displaying a first slot of a second display format, wherein the first display format is different from the second display format.

[0206] For specific implementation examples, please refer to the identifiers shown in the above visual programming method; these identifiers will not be repeated here.

[0207] As an optional solution, the device also includes:

[0208] The return unit is used to execute block behavior on the first sub-information while the program corresponding to the first programming block in the usage state is in the running state during the process of displaying the first slot configured with the first block in the usage state, and to return the execution result of the block behavior to the first block in the usage state. The second behavior corresponding to the function of the first block includes the block behavior, and the first sub-information is the sub-information corresponding to the first block among at least two sub-information.

[0209] For specific implementation examples, please refer to the identifiers shown in the above visual programming method; these identifiers will not be repeated here.

[0210] As an optional solution, the second display unit 1304 includes:

[0211] The third display module is used to display the first block slot and at least one second block slot in the programming slot container.

[0212] For specific implementation examples, please refer to the identifiers shown in the above visual programming method; these identifiers will not be repeated here.

[0213] As an optional solution, the device may also include at least one of the following:

[0214] The fourth display module is used to display a new second block slot in the programming slot container after displaying the first block slot and at least one second block slot in the programming slot container, in response to an add operation performed on the programming slot container;

[0215] The fifth display module is used to display a first block slot and at least one second block slot in a programming slot container, and then, in response to a removal operation performed on the second slot, display that the second slot has been removed from the programming slot container, wherein at least one second block slot includes the second slot, and the first block slot is set to be prohibited from being removed from the programming slot container.

[0216] The sixth display module is used to display the deleted programming slot container after displaying the first block slot and at least one second block slot in the programming slot container, in response to a deletion operation performed on the first block slot.

[0217] For specific implementation examples, please refer to the identifiers shown in the above visual programming method; these identifiers will not be repeated here.

[0218] As an optional solution, the device may also include at least one of the following:

[0219] The fifth display unit is used to display a source identifier during the display of the first block slot and at least one second block slot, wherein the source identifier is used to indicate the information source of the integrated information;

[0220] The sixth display unit is used to display first line information during the process of displaying the first block slot and at least one second block slot, wherein the first line information is used to represent the first line;

[0221] The seventh display unit is used to display second line information during the process of displaying the first block slot and at least one second block slot, wherein the second line information is used to represent the second line;

[0222] The eighth display unit is used to display behavior association information during the process of displaying the first block slot and at least one second block slot, wherein the behavior association information is used to indicate the association relationship between the first behavior and the second behavior.

[0223] For specific implementation examples, please refer to the identifiers shown in the above visual programming method; these identifiers will not be repeated here.

[0224] As an optional solution, the device also includes:

[0225] The ninth display unit is used to display a modified source identifier after displaying the source identifier, in response to an identifier modification operation performed on the source identifier, to display a new source identifier, wherein the first programming sub-block is set to be prohibited from being removed from the first block slot.

[0226] For specific implementation examples, please refer to the identifiers shown in the above visual programming method; these identifiers will not be repeated here.

[0227] As an optional solution, the device also includes:

[0228] An integration unit is configured to, after displaying a first block slot and at least one second block slot, and where integration is permitted between a third slot among the first block slot and at least one second block slot, display a combined programming slot that integrates the first block slot and the third slot into the same programming slot, in response to a block integration operation performed on the first block slot and the third slot with different representations, wherein any programming block configured in the combined programming slot is set to be disabled for deletion;

[0229] A splitting unit is used to display the combinatorial programming slot split into a first block slot and a third block slot in response to a block splitting operation performed on the combinatorial programming slot after displaying a first block slot and at least one second block slot.

[0230] For specific implementation examples, please refer to the identifiers shown in the above visual programming method; these identifiers will not be repeated here.

[0231] As an optional solution, the device also includes:

[0232] The tenth display unit is configured to, after displaying the first block slot and at least one second block slot, in response to a slot replacement operation performed on at least one second block slot, display the fourth slot among the at least one second block slot, replacing it with a new slot;

[0233] The eleventh display unit is configured to, after displaying the first block slot and at least one second block slot, display the fifth slot among the deleted at least one second block slot in response to a slot deletion operation performed on at least one second block slot.

[0234] For specific implementation examples, please refer to the identifiers shown in the above visual programming method; these identifiers will not be repeated here.

[0235] According to another aspect of the embodiments of this application, an electronic device for implementing the above-described visual programming method is also provided. This electronic device may, but is not limited to, […]. Figure 1 The user equipment 102 or server 112 shown in the figure, in this embodiment, is taken as an example of an electronic device, namely user equipment 102. Further, as shown in the figure... Figure 14 As shown, the electronic device includes a memory 1402 and a processor 1404. The memory 1402 stores a computer program, and the processor 1404 is configured to execute the steps of any of the above method embodiments via the computer program.

[0236] In an optional embodiment, the aforementioned electronic device may be located in at least one of a plurality of network devices in a computer network.

[0237] In an optional embodiment, the processor described above may be configured to perform the following steps via a computer program:

[0238] S1, displaying the first programming block in a ready-to-use state, wherein the function of the first programming block is to perform a first action on the comprehensive information, which consists of at least two sub-information;

[0239] S2, in response to a block use operation performed on a first programming block in a ready-to-use state, displays a first block slot and at least one second block slot, wherein the first block slot is configured with a first programming block in a use state, and the second block slot allows assembly of a second programming block in a use state, the function of which is to perform a second action on a sub-information of at least two sub-information.

[0240] Alternatively, as those skilled in the art will understand, Figure 14 The structure shown is for illustrative purposes only. Figure 14 This does not limit the structure of the aforementioned electronic devices. For example, the electronic device may also include components that are more... Figure 14 The more or fewer components shown (such as network interfaces, etc.), or having the same Figure 14 The different configurations shown.

[0241] The memory 1402 can be used to store software programs and modules, such as the program instructions / modules corresponding to the visual programming method and apparatus in this embodiment. The processor 1404 executes various functional applications and data processing by running the software programs and modules stored in the memory 1402, thereby realizing the aforementioned visual programming method. The memory 1402 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 1402 may further include memory remotely located relative to the processor 1404, and these remote memories can be connected to electronic devices via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof. Specifically, the memory 1402 may be used, but is not limited to, to store information such as the first block slot and the second block slot of the first programming block. As an identifier, such as Figure 14 As shown, the memory 1402 may include, but is not limited to, the first display unit 1302 and the second display unit 1304 of the visual programming device. Furthermore, it may include, but is not limited to, other module units of the visual programming device, which will not be described further in this specification.

[0242] Optionally, the transmission device 1406 described above is used to receive or send data via a network. Specific examples of the network described above may include wired networks and wireless networks. In one example, the transmission device 1406 includes a Network Interface Controller (NIC), which can be connected to other network devices and routers via a network cable to communicate with the Internet or a local area network. In another example, the transmission device 1406 is a Radio Frequency (RF) module, used for wireless communication with the Internet.

[0243] In addition, the above-mentioned electronic device also includes: a display 1408 for displaying information such as the first block slot and the second block slot of the first programming block; and a connection bus 1410 for connecting the various module components in the above-mentioned electronic device.

[0244] In other embodiments, the aforementioned user equipment or server can be a node in a distributed system, wherein the distributed system can be a blockchain system, which is a distributed system formed by connecting multiple nodes through network communication. The nodes can form a peer-to-peer network, and any form of computing device, such as a server, user equipment, or other electronic device, can become a node in the blockchain system by joining this peer-to-peer network.

[0245] According to one aspect of this application, a computer program product is provided, comprising a computer program / instructions containing program code for performing the methods shown in the flowchart. In such embodiments, the computer program can be downloaded and installed from a network via a communication component, and / or installed from a removable medium. When the computer program is executed by a central processing unit, it performs various functions provided in embodiments of this application.

[0246] The sequence numbers of the embodiments in this application are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.

[0247] It should be noted that the computer system of the electronic device is merely an identifier and should not impose any limitations on the function and scope of use of the embodiments of this application.

[0248] A computer system includes a Central Processing Unit (CPU), which performs various appropriate actions and processes based on programs stored in Read-Only Memory (ROM) or loaded from RAM. ROM also stores various programs and data required for system operation. The CPU, ROM, and RAM are interconnected via a bus. Input / output interfaces (I / O interfaces) are also connected to the bus.

[0249] The following components are connected to the input / output interface: input sections including keyboards, mice, etc.; output sections including cathode ray tubes (CRTs), liquid crystal displays (LCDs), and speakers; storage sections including hard drives; and communication sections including network interface cards such as LAN cards and modems. The communication section performs communication processing via a network such as the Internet. Drives are also connected to the input / output interface as needed. Removable media, such as disks, optical discs, magneto-optical discs, semiconductor memories, etc., are installed on the drive as needed so that computer programs read from them can be installed into the storage section as required.

[0250] Specifically, according to embodiments of this application, the processes described in the various method flowcharts can be implemented as computer software programs. For example, embodiments of this application include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via a communication component, and / or installed from a removable medium. When the computer program is executed by a central processing unit, it performs various functions defined in the system of this application.

[0251] According to one aspect of this application, a computer-readable storage medium is provided, wherein a processor of a computer device reads computer instructions from the computer-readable storage medium, and executes the computer instructions, causing the computer device to perform the methods provided in the various alternative implementations described above.

[0252] In an optional embodiment, the computer-readable storage medium described above may be configured to store a computer program for performing the following steps:

[0253] S1, displaying the first programming block in a ready-to-use state, wherein the function of the first programming block is to perform a first action on the comprehensive information, which consists of at least two sub-information;

[0254] S2, in response to a block use operation performed on a first programming block in a ready-to-use state, displays a first block slot and at least one second block slot, wherein the first block slot is configured with a first programming block in a use state, and the second block slot allows assembly of a second programming block in a use state, the function of which is to perform a second action on a sub-information of at least two sub-information.

[0255] Optionally, in embodiments of this application, the terms "module" or "unit" refer to a computer program or part of a computer program that has a predetermined function and works with other related parts to achieve a predetermined goal, and can be implemented wholly or partially using software, hardware (such as processing circuitry or memory), or a combination thereof. Similarly, a processor (or multiple processors or memory) can be used to implement one or more modules or units. Furthermore, each module or unit can be part of an overall module or unit that includes the functionality of that module or unit.

[0256] In optional embodiments, those skilled in the art will understand that all or part of the steps in the various methods of the above embodiments can be implemented by a program instructing related hardware of an electronic device. The program can be stored in a computer-readable storage medium, which may include: a flash drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, etc.

[0257] The sequence numbers of the embodiments in this application are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.

[0258] If the integrated units in the above embodiments are implemented as software functional units and sold or used as independent products, they can be stored in the aforementioned computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause one or more computer devices (which may be personal computers, servers, or network devices, etc.) to execute all or part of the steps of the methods of the various embodiments of this application.

[0259] In the above embodiments of this application, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0260] In the several embodiments provided in this application, it should be understood that the disclosed user equipment can be implemented in other ways. The device embodiments described above are merely illustrative; for example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection of units or modules may be electrical or other forms.

[0261] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0262] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0263] The above description is only a preferred embodiment of this application. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of this application, and these improvements and modifications should also be considered within the scope of protection of this application.

Claims

1. A visual programming method, characterized in that, include: The first programming block is displayed in a ready-to-use state, wherein the function of the first programming block is to perform a first action on the comprehensive information, the comprehensive information being composed of at least two sub-information; In response to a block use operation performed on the first programming block in the ready-to-use state, a first block slot and at least one second block slot are displayed, wherein the first block slot is configured with the first programming block in the use state, and the second block slot allows the assembly of a second programming block in the use state, the function of which is to perform a second action on one of the at least two sub-informations.

2. The method according to claim 1, characterized in that, After displaying the first block slot and at least one second block slot, the method further includes: in response to a block configuration operation performed on a first block in a ready-to-use state, displaying a first slot configured with the first block in a use state, wherein the at least one second block slot includes the first slot; Before displaying a first slot configured with the first block in use in response to a block configuration operation performed on a first block in a ready-to-use state, the method further includes: displaying at least one second programming block in a ready-to-use state, wherein the at least one second programming block in a ready-to-use state includes the first block in a ready-to-use state.

3. The method according to claim 2, characterized in that, The display of the first block slot and at least one second block slot includes: a first slot displaying a first representation; The display configuration includes a first slot for a first block in use, and includes a first slot for displaying a second representation, wherein the first representation is different from the second representation.

4. The method according to claim 2, characterized in that, During the process of displaying the first slot of the first block in use, the method further includes: When the program corresponding to the first programming block in the usage state is in the running state, the block behavior is executed on the first sub-information, and the execution result of the block behavior is returned to the first block in the usage state. The second behavior corresponding to the function of the first block includes the block behavior, and the first sub-information is the sub-information corresponding to the first block among the at least two sub-information.

5. The method according to claim 1, characterized in that, The display of the first block slot and at least one second block slot includes: The first block slot and the at least one second block slot are displayed in the programming slot container.

6. The method according to claim 5, characterized in that, After displaying the first block slot and the at least one second block slot in the programming slot container, the method further includes at least one of the following: In response to an add operation performed on the programming slot container, a new second block slot is displayed in the programming slot container; In response to a removal operation performed on a second slot, it is shown that the second slot is removed from the programming slot container, wherein the at least one second block slot includes the second slot, and the first block slot is set to prevent removal from the programming slot container; In response to a deletion operation performed on the first block slot, the programming slot container is explicitly deleted.

7. The method according to claim 1, characterized in that, In the process of displaying the first block slot and at least one second block slot, the method further includes at least one of the following: Display source identifier, wherein the source identifier is used to indicate the information source of the aggregated information; Display first behavior information, wherein the first behavior information is used to represent the first behavior; Display second behavior information, wherein the second behavior information is used to represent the second behavior; Display behavior association information, wherein the behavior association information is used to indicate the association relationship between the first behavior and the second behavior.

8. The method according to claim 7, characterized in that, After displaying the source identifier, the method further includes: In response to an identifier modification operation performed on the source identifier, the source identifier is displayed as a new source identifier, wherein the first programming sub-block is set to be prohibited from being removed from the first block slot.

9. The method according to any one of claims 1 to 8, characterized in that, After displaying the first block slot and at least one second block slot, the method further includes: When integration is permitted between the first block slot and the third slot in at least one of the second block slots, in response to a slot integration operation performed on the first block slot and the third slot with different representations, the first block slot and the third slot are displayed as a combined programming slot with the same representation, wherein any programming block configured in the combined programming slot is set to be disabled for deletion. In response to a slot splitting operation performed on the combinatorial programming slot, the combinatorial programming slot is displayed as split into a first block slot and a third slot.

10. The method according to any one of claims 1 to 8, characterized in that, After displaying the first block slot and at least one second block slot, the method further includes: In response to the slot replacement operation performed on the at least one second block slot, the fourth slot in the at least one second block slot is displayed and replaced with the new slot; In response to a slot deletion operation performed on the at least one second block slot, the fifth slot in the at least one second block slot is explicitly deleted.

11. A visual programming device, characterized in that, include: A first display unit is used to display a first programming block in a ready-to-use state, wherein the function of the first programming block is to perform a first action on the comprehensive information, the comprehensive information being composed of at least two sub-information; The second display unit is configured to display a first block slot and at least one second block slot in response to a block usage operation performed on the first programming block in the ready-to-use state. The first block slot is configured with the first programming block in the use state, and the second block slot allows the assembly of the second programming block in the use state. The function of the second programming block is to perform a second action on the sub-information of the at least two sub-information.

12. A computer-readable storage medium, characterized in that, The computer-readable storage medium includes a stored program, wherein the program is executed by an electronic device to perform the method according to any one of claims 1 to 10.

13. A computer program product comprising a computer program / instructions, characterized in that, When the computer program / instructions are executed by the processor, they implement the steps of the method described in any one of claims 1 to 10.

14. An electronic device comprising a memory and a processor, characterized in that, The memory stores a computer program, and the processor is configured to execute the method described in any one of claims 1 to 10 through the computer program.