A position update control method based on grid-by-grid advancement

CN122558077APending Publication Date: 2026-08-14GUANGDONG UNIV OF TECH
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-06-02
Publication Date
2026-08-14

AI Technical Summary

Technical Problem

[0004]然而,该方案往往只是对角色路径进行整体判定,无法针对路径上的每一格进行独立的事件检测,容易导致越界、占用冲突、碰撞等细节事件被统一处理或直接忽略,不利于游戏规则的真实性和策略性体现

Benefits of technology

1)本实施例通过对候选移动路径执行逐格推进处理,改变了一次性位移的整体路径判定方式。在逐格推进过程中,每一格的位置更新都会触发独立的事件检测,包括越界检测、占用检测、碰撞检测和区域事件检测。这种精细化的处理机制能够准确识别移动路径上每一位置所触发的事件,避免了一次性位移导致的越界事件被忽略、占用冲突被遗漏、碰撞事件无法精确判定等问题;

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122558077A_ABST
    Figure CN122558077A_ABST
Patent Text Reader

Abstract

This application relates to the field of computer technology, and in particular to a position update control method based on grid-by-grid advancement, comprising: collecting player movement dice rolls, soccer ball movement dice rolls, status dice rolls, and goalkeeper parameters; generating at least one candidate action based on whether the current action object holds the soccer ball, the player movement dice rolls, and the soccer ball movement dice rolls, under the constraints of a chessboard digital model and an object state model; performing grid-by-grid advancement processing on the candidate action, including: starting from the current position of the current action object in the object state model, updating the position coordinates of the current action object to the grid coordinates of the next square corresponding to the candidate action at each step; and performing event detection after each advancement of one square. This application can perform independent event detection and processing for each position on the movement path, improving the accuracy and reliability of position update control.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and in particular to a position update control method based on grid-by-grid advancement. Background Technology

[0002] In the field of sports board game simulation and related interactive applications, the handling of game character movement on the board and the detection of events during the movement process usually need to be achieved through a pre-programmed rule engine.

[0003] In related technologies, the main processing method is to directly calculate the path result after determining the starting point and ending point of the movement, and complete the position update of the game character in a one-time displacement manner.

[0004] However, this approach often only makes an overall judgment on the character's path and cannot perform independent event detection for each cell on the path. This can easily lead to detailed events such as boundary crossing, occupation conflicts, and collisions being handled uniformly or ignored directly, which is not conducive to the realism and strategic representation of the game rules. Summary of the Invention

[0005] This application provides a position update control method based on grid-by-grid advancement, which can perform independent event detection and processing for each grid in the chessboard digital model, thereby improving the detail and strategic nature of the game rules.

[0006] To achieve the above objectives, this application adopts the following technical solution: A position update control method based on grid-by-grid advancement, the method includes: Collect player movement dice rolls, soccer movement dice rolls, status dice rolls, and goalkeeper parameters; Based on whether the current action object holds the soccer ball, the player's move dice roll, and the soccer ball's move dice roll, at least one candidate action is generated under the constraints of the chessboard digital model and the object state model. The chessboard digital model is a set of mappings between grid coordinates and node attributes. The object state model includes player objects, soccer ball objects, and goalkeeper objects, and each object records its current position coordinates. Perform grid-by-grid processing on candidate actions, including: starting from the current position of the current action object in the object state model, updating the position coordinates of the current action object to the grid coordinates of the next grid corresponding to the candidate action at each step; Event detection is performed after each grid is advanced; event detection includes boundary crossing detection, occupancy detection, collision detection, and area event detection; if any detection item meets the preset triggering condition, the corresponding event identifier is output as the event detection result, and the corresponding event processing is performed according to the event detection result.

[0007] As can be seen from the above technical solution, this application has at least the following beneficial effects: 1) This embodiment changes the overall path determination method for a one-time displacement by performing a grid-by-grid advancement process on the candidate movement path. During the grid-by-grid advancement process, the position update of each grid triggers independent event detection, including boundary crossing detection, occupancy detection, collision detection, and region event detection. This refined processing mechanism can accurately identify the events triggered at each position on the movement path, avoiding problems such as ignoring boundary crossing events, missing occupancy conflicts, and inaccurate collision event determination caused by a one-time displacement; 2) This embodiment decouples event detection results from event processing into independent steps. When any detection item meets a preset trigger condition, the corresponding event identifier is output as the detection result, and then the corresponding event processing is executed based on the detection result. This design allows different types of events to receive targeted processing logic, avoiding confusion and incorrect handling of event types; 3) This embodiment designs corresponding processing mechanisms for different event detection results: when an out-of-bounds detection is triggered, the propagation loop is terminated to prevent illegal positions from being written into the state model; when an occupancy detection is triggered, the current cell is automatically skipped and propagation continues to ensure the continuity of path execution; when a collision detection is triggered, a conflict event identifier is output and the conflict adjudication process is entered; when a region event is triggered, the corresponding region event identifier is output and region-specific processing is performed. This classification processing mechanism improves the determinism and controllability of program execution; 4) This embodiment adopts a parameterized control method, which collects control parameters and generates candidate paths based on the parameter values. This design allows the same control flow to adapt to different application scenarios. By simply adjusting the parameter collection method and the range of parameter values, different position update control requirements can be met. Attached Figure Description

[0008] Figure 1 A flowchart of a position update control method based on grid-by-grid advancement provided in this application embodiment; Figure 2 This is a schematic diagram of a position update control method device based on grid-by-grid advancement provided in an embodiment of this application. Detailed Implementation

[0009] To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings. The described embodiments should not be regarded as limitations on this application. All other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0010] Han Cuju Football Chess is a tabletop football confrontation game themed on Cuju culture. Its physical components include: a reversible double-sided chessboard, a football field engraved with grid lines, several player chess pieces for each camp, a goalkeeper chess piece, a football piece, and four dice with different uses.

[0011] In the prior art, whether it is the gameplay agreed orally or the gameplay with the aid of an auxiliary map, it depends on human on-site judgment - that is, there is no unified and automatically executable program determination logic for issues such as "whether this step is legal", "how to judge this conflict", and "who serves the ball when it goes out of bounds".

[0012] The core contribution of this embodiment is to uniformly map the physical space on the physical chessboard, the physical positions of the chess pieces, the random input of the dice, and the game events into the data structure and control flow inside the program, so that "advancing grid by grid" is no longer an artificially imagined step, but corresponds to the real spatial displacement between the grids on the physical chessboard.

[0013] Before further elaborating on this embodiment in detail, the nouns and terms involved in this embodiment are explained. The nouns and terms involved in this embodiment are applicable to the following explanations.

[0014] 1) Chessboard digital model: It refers to the digital model constructed in this embodiment for representing the spatial structure of the chessboard. This model is a mapping set of grid coordinates and node attributes. Among them, each grid coordinate corresponds to a unique node attribute, and the node attribute is used to characterize the type of this grid position, including but not limited to ordinary grids, restricted areas, boundaries, goalposts, corner kick points, fast pass areas, non-stopping grids, etc.

[0015] The surface of the physical chessboard of Han Cuju Football Chess is engraved with a grid line array of M×N (M rows, N columns). The intersection points between each grid line form a grid node where a chess piece can be placed. In this embodiment, the grid nodes on the physical chessboard are mapped to grid coordinates in a two-dimensional rectangular coordinate system.

[0016] Let the chessboard digital model be the set G, where each grid node g(x,y) corresponds to a unique row coordinate x (0≤x<M) and column coordinate y (0≤y<N). Each grid node g(x,y) is associated with a node attribute p, which is used to characterize the functional area to which this node belongs on the physical chessboard. As shown in Table 1 below: It shows the correspondence between the node attribute and the functional area of the physical chessboard ) Table 1 ; Table 1 establishes the correspondence between functional areas on the physical chessboard and the internal data structures of the program. It should be understood that "node attributes" are not artificially created concepts, but rather digital labels of functional areas that objectively exist on the physical chessboard. For example, when a region labeled "forbidden zone" is seen on the physical chessboard of the Han Cuju (ancient Chinese football) game, each grid node within that region in the program is assigned the node attribute "forbidden zone."

[0017] 2) Object state model: refers to the game object state data structure maintained in this embodiment. The data structure includes player objects, football objects and goalkeeper objects. Each object records the current position coordinates. The player object is used to represent the character in the game, the football object is used to represent the football in the game, and the goalkeeper object is used to represent the goalkeeper in the game.

[0018] The physical pieces in the Han Cuju (ancient Chinese football) chess game are uniquely identified physical objects. This embodiment creates an object instance for each physical piece, and this object instance records the following status fields, as shown in Table 2: Table 2 ; Table 2 establishes the correspondence between the physical state of the physical chess piece and the internal data structure of the program. "Object Identifier" corresponds to the number or color at the bottom of the physical chess piece; "Faction Identifier" corresponds to the red or blue side to which the physical chess piece belongs; "Current Position Coordinates" is a concept proposed in this embodiment, that is, the physical position of the physical chess piece on the chessboard (which grid intersection) is converted into two-dimensional coordinates in the program.

[0019] Distinguishing between object types: Player objects: a number of players from the first camp (set as N) and a number of players from the second camp (set as N), for a total of 2N player objects.

[0020] Goalkeeper targets: 1 from the first faction and 1 from the second faction, for a total of 2 goalkeeper targets.

[0021] Football object: Only one football object exists globally.

[0022] 3) Grid-by-grid advancement: This refers to a step-by-step position update mechanism adopted in this embodiment. Starting from the current position of the current action object, the mechanism updates the position coordinates to the next grid coordinates corresponding to the candidate action at each step, and performs event detection after each grid advancement to achieve independent processing of each grid on the path.

[0023] To address the technical problem in related technologies that cannot perform independent event detection and processing for each square on the chessboard, this embodiment provides an event detection and processing method based on square-by-square progression. This method can perform independent event detection and processing for each square in the chessboard digital model, thereby enhancing the detail and strategic nature of the game rules.

[0024] The event detection and processing method based on frame-by-frame progression provided in this embodiment can be applied to any scenario requiring fine-grained detection of the movement path of game objects. This significantly improves the realism and strategic nature of game rules while ensuring the accuracy of game logic. Specific application scenarios include: 1) Sports-themed board game simulation: Users run a football-themed board game simulation on smart terminal devices (such as smartphones or tablets). When players control players to move on the board, the event detection method provided in this embodiment can independently detect events on each square along the movement path, accurately identify detailed events such as boundary crossings, occupations, and collisions, and execute corresponding processing actions, thereby improving the detailed expression of the game rules and allowing players to experience a more realistic football match.

[0025] 2) Strategy-based board games: Users run a strategy game simulating a real football match on a PC. Players move on the board based on dice rolls. This embodiment uses a progressive event detection mechanism to perform independent boundary crossing, occupation, collision, and area event detection for each square along the path. This avoids the problem in related technologies where detailed events caused by one-time displacement are uniformly processed or ignored, thus enhancing the game's strategic depth and realism.

[0026] 3) Game Development and Testing: When game developers use a game engine to develop a sports board game simulation, they need to accurately test the game rules. The event detection and handling method provided in this embodiment can accurately simulate the event triggering process of each square, helping developers to discover and fix potential problems in the game rules, thus improving the efficiency and quality of game development.

[0027] The following description, in conjunction with the accompanying drawings, introduces a position update control method based on grid-by-grid advancement provided by an embodiment of this application. For example... Figure 1 As shown, this figure is a flowchart of a position update control method based on grid-by-grid advancement provided in an embodiment of this application. The method includes steps S101 to S104: Step S101: Collect player movement dice rolls, soccer movement dice rolls, status dice rolls, and goalkeeper parameters; The Han Cuju (ancient Chinese football) chess game uses four dice with different uses. In this embodiment, the number of points on each die is collected as an integer parameter, as shown in Table 3 below, which illustrates the correspondence between die types and parameter collection: Table 3 ; After a player rolls the dice once on the physical game board, the four dice reveal their respective numbers. The electronic device acquires these numbers in one of the following ways: (1) the player manually inputs the numbers of the four dice on the terminal interface; (2) using electronic dice that support Bluetooth or Near Field Communication (NFC), the dice numbers are automatically transmitted to the electronic device; (3) the physical dice are photographed by a camera, and the program analyzes the numbers using an image recognition algorithm. Regardless of the acquisition method used, the output result is four integer parameters: D_p, D_b, D_e, and D_g.

[0028] Physical explanation of parameter constraints: Although D_p and D_b are both integers, they control different things—D_p controls the player's movement, and D_b controls the movement of the soccer ball. When the player is not in possession of the ball, only D_p is used; when the player is in possession of the ball, the constraints of both D_p and D_b must be satisfied simultaneously. This corresponds to the rule in physical games that "the number of steps taken by the player and the ball must be coordinated when moving with the ball."

[0029] Step S102: Based on whether the current action object holds the soccer ball, the player's move dice roll, and the soccer ball's move dice roll, generate at least one candidate action under the constraints of the chessboard number model and the object state model. In the physical game of Han Cuju (ancient Chinese football) chess, players need to decide "which piece to move and how" each round. The candidate action generation step in this embodiment enumerates the physical decisions that players may make into a path data structure that the program can process.

[0030] Each candidate action corresponds to a path coordinate sequence, which is an ordered array whose elements are the grid coordinates traversed sequentially from the starting point to the ending point. For example, the path coordinate sequence of candidate action A is [(3,4),(3,5),(3,6)], which means starting from (3,4), passing through (3,5), and finally arriving at (3,6).

[0031] In some embodiments, candidate actions are determined in the following manner: 1) Obtain the holding identifier of the current action object whether it holds the football from the object state model, and obtain the current value of the player's movement dice and the current value of the football's movement dice; The holding identifier is a boolean field that represents the physical relationship between the currently active object (i.e., the piece selected to perform the action in the current round) and the soccer piece: Holding flag = true (Possessing the ball): The player currently in action is on the same grid node as the soccer ball. Physically, this means the player has placed the soccer ball next to or overlapping with their player piece.

[0032] Holding flag = false (no ball): The player currently in action is on a different grid node from the soccer ball. Physically, this is represented by the soccer ball being in a different position on the board.

[0033] How to obtain the possession identifier: Read the "Possession Status" field of the currently active player object from the object state model.

[0034] 2) If the holding icon indicates that the current action target does not hold a football, then generate a candidate action for running without the ball based on the current value of the player's movement dice. When the holding flag is false, the program generates candidate actions for running without the ball.

[0035] Generation rules: Based on the current value N_Dp of D_p, the maximum number of moves is determined to be N_Dp.

[0036] Starting from the current position (x0, y0) of the player currently in action, generate all paths with a length not exceeding N_Dp that satisfy the following conditions: Each step moves along one of the four basic directions: up (x-1, y), down (x+1, y), left (x, y-1), right (x, y+1); Diagonal movement is not permitted (unless inside the penalty area, but this is usually not the case when making off-the-ball runs).

[0037] Example: Assuming D_p=4 and the current position is (3,4), the following candidate actions can be generated (only some are listed): Straight path: [(3,4),(3,5),(3,6),(3,7),(3,8)] — Move up 4 steps; L-shaped polyline path: [(3,4),(4,4),(5,4),(5,5),(5,6)] — first down, then right; Irregular polyline path: [(3,4),(3,5),(4,5),(5,5),(5,6)] — mixed direction.

[0038] 3) If the holding identifier indicates that the current action object is holding a football, then based on the current value of the player's movement dice and the current value of the football's movement dice, generate at least one of the following candidate actions: dribbling, running and dribbling, straight pass, straight shot, or goalkeeper's kick. When the holding flag is true, the program generates candidate actions for dribbling.

[0039] Physical explanation of the ball constraint: In physical games, when a player has the ball, the soccer ball must remain in the same position (or adjacent to a fixed position) as the player. This embodiment achieves this physical requirement through the following constraint: Constraint 1 (Synchronization Constraint): During each step of the ball movement, the position coordinates of the soccer ball must remain the same as the position coordinates of the player. That is, if the player moves from (x,y) to (x',y'), the soccer ball will synchronously move from (x,y) to (x',y').

[0040] Constraint 2 (Steps Constraint): The total number of steps N_ball with the ball does not exceed min(N_Dp, N_Db), that is:

[0041] Where N_Dp is the number of dice rolls for player movement, and N_Db is the number of dice rolls for football movement.

[0042] Constraint 3 (Polylinear Constraint): The player's path is allowed to be a polyline (i.e., the path can contain inflection points), but the football can only travel in a straight line within each straight line segment. This constraint corresponds to the physical property in the entity rule that "players can travel along polylines, but the football can only roll in a straight line".

[0043] When generating dribbling candidate actions, the player's polygonal path is broken down into several straight line segments, and the straight line constraints of the football are applied to each straight line segment.

[0044] Physical scenarios for mixed actions: In physical game play, players might want to first have a player run without the ball close to a certain position, and then switch to dribbling forward; or dribble forward a short distance first, and then pass the ball. The mixed running and dribbling candidate actions in this embodiment are used to enumerate such composite actions.

[0045] Generation rules: Break down an action into multiple segments, each segment belonging to one of the following types: Approaching the sub-segment without the ball: The player moves alone without carrying the ball, and the number of steps is counted in N_Dp; Dribbling and advancing segment: The player moves synchronously while carrying the football, and the number of steps is counted in both N_Dp and N_Db; Straight-line ball movement segment: The player's position remains unchanged, and the ball moves in a straight line independently. The number of steps is counted in N_Db.

[0046] The total number of steps for all non-ball-approaching segments does not exceed N_Dp.

[0047] The total number of steps for all ball-carrying advance segments and straight ball-out segments does not exceed N_Db.

[0048] The segments are spliced ​​together in sequence to form a complete path coordinate sequence.

[0049] The mathematical form of the constraint expression:

[0050]

[0051] Among them, S_no_ball is the set of no-ball sub-segments, S_with_ball is the set of with-ball sub-segments, and S_out_ball is the set of straight-out ball sub-segments.

[0052] Straight pass candidate action: The football rolls in a straight line along the same row or the same column, and the player's position remains unchanged. The path is from the current position of the football (x_ball, y_ball) to the target position (x_target, y_target), requiring x_ball = x_target or y_ball = y_target (that is, it can only move in a straight line in the horizontal or vertical direction). The number of rolling steps does not exceed N_Db.

[0053] Straight shot candidate action: The football rolls in a straight line along the preset goal direction channel. When the football enters the preset shot trigger area, the program generates a shot candidate action pointing to the opponent's goal.

[0054] During a straight pass or shot, if the rolling path of the football passes through or reaches the grid node where the opponent's player is located, interception detection is triggered. This corresponds to the physical scenario in the entity rule that "the opponent's player can intercept the ball passing by his side".

[0055] 4) Combine the no-ball running candidate actions, with-ball candidate actions, running and with-ball mixed candidate actions, straight pass candidate actions, straight shot candidate actions or goalkeeper serving candidate actions as candidate actions.

[0056] In some embodiments, the number of candidate actions can be multiple. The path coordinate sequence output by the candidate action generation step may contain paths that do not conform to the game rules or physical constraints. For example: the path passes through non-stayable grids, the end point of the path is occupied by one's own pieces, the path exceeds the chessboard boundary, etc.

[0057] The purpose of path legality verification is exactly to filter out these illegal candidate actions before advancing and executing grid by grid, so as to avoid the program from being interrupted due to encountering illegal states during the execution process.

[0058] Verification condition 1 (out-of-bounds verification): Determine whether any coordinate in the path coordinate sequence exceeds the valid grid range. The area outside the four peripheral lines of the chessboard does not exist on the physical chessboard, and the pieces cannot move to this position. If the path of the candidate action passes through or reaches this area, the path is illegal. For an M×N chessboard, the valid grid range is {(x, y)|0 ≤ x < M, 0 ≤ y < N}. If (x, y) ∈ the path coordinate sequence, such that x < 0 or x ≥ M or y < 0 or y ≥ N, then the path is illegal.

[0059] Verification Condition 2 (No-Stop Verification): Determine if any coordinate in the path coordinate sequence is the same as the coordinate of a no-stop node. The physical chessboard may contain areas marked as "Obstacles," "Water Areas," etc., where stopping is not allowed. If the candidate move's path passes through such an area, the path is invalid.

[0060] Verification Condition 3 (Occupied by Our Team): Determine if the coordinates of the path's endpoint are the same as the coordinates of a node already occupied by our team. Two pieces from the same team cannot occupy the same grid position. If the endpoint of a candidate action coincides with the position of another piece from our team, then the path is invalid. Obtain the current position coordinates of all player objects and goalkeeper objects from the object state model, forming a set S_Occupied by Our Team.

[0061]

[0062] If the path endpoint (x_end, y_end) ∈ S_is occupied by the user, then the path endpoint is invalid.

[0063] After the above three checks, if the path coordinate sequence of the candidate action simultaneously satisfies: All coordinates are within the valid grid area; All coordinates do not coincide with nodes that cannot be stopped; The destination coordinates are not in the set of nodes already occupied by this side; The candidate action is then retained and added to the first candidate set. The first candidate set is the set of candidate actions that have passed the verification and will be used as input for the step-by-step processing.

[0064] Step S103: Perform frame-by-frame advancement processing on the candidate actions; The grid-by-grid processing includes: starting from the current position of the current action object in the object state model, updating the position coordinates of the current action object to the grid coordinates of the next grid corresponding to the candidate action at each step; In a physical game of Go, when a player decides to move from position A to position B, the player actually traverses every grid node between A and B on the physical Go board. During this process, several physical events may occur: A player may step on the boundary line (go out of bounds) while moving. A player may pass through the positions of their own teammates during movement (positions occupied by their own team); During movement, a player may encounter (collision) with an opposing player and the football. Players may enter special functional areas (area events) while moving. When a shot is taken, the ball may be saved by the goalkeeper (goalkeeper decision).

[0065] If the program uses a "one-time displacement" method (jumping directly from A to B), the timing of the physical events that occur during the movement will be ignored, leading to problems such as boundary crossings being ignored, conflicts being skipped, and incorrect timing of goalkeeping decisions.

[0066] The step-by-step advancement mechanism in this embodiment is designed to faithfully simulate this continuous physical process in real-world chess games. Instead of calculating the start and end points all at once, the program executes a loop of "advance one square → detect event → process based on detection result" for each intermediate node along the path.

[0067] Initialization: Let the position coordinates of the current action object be (x_current, y_current), let the path coordinate sequence be P=[(x1,y1),(x2,y2),...,(x_n,y_n)], and let the loop variable i=1.

[0068] Loop body (for i from 1 to n): Calculate the coordinates of the next cell: Let (x_next, y_next) = P[i].

[0069] Update position: Update the position coordinates of the currently active object to (x_next, y_next).

[0070] Perform event detection.

[0071] Determine whether to terminate: If the event detection outputs a termination flag (such as an out-of-bounds event), the loop terminates and stops. If the event detection output skips a flag (such as one that is occupied by the user), the loop will not terminate and will continue to retrieve the next coordinate. If the event detection outputs a normal flag, then proceed to the next coordinate.

[0072] When the action is a dribbling or mixed action, the position coordinates of the soccer ball are updated synchronously with the position coordinates of the currently moving player during the grid-by-grid progression. In physical gameplay, when a player moves with the ball, the soccer ball always remains within that player's control range. The program simulates this physical state by updating the soccer ball's position field to the same coordinate values ​​as the player's.

[0073] When the player path has inflection points, the football travels in a straight line within each straight segment. For example, if the player path is [(3,4)→(4,4)→(4,5)→(4,6)], the football travels in a straight line in the first segment [(3,4)→(4,4)] and in the second segment [(4,4)→(4,5)→(4,6)]. The program does not impose additional turning constraints on the football when handling inflection points.

[0074] Step S104: Perform event detection after each step is advanced, and perform corresponding event processing based on the event detection results.

[0075] Event detection includes boundary crossing detection, occupancy detection, collision detection, and area event detection. If any detection item meets the preset triggering conditions, the corresponding event identifier is output as the event detection result, and the corresponding event processing is performed according to the event detection result.

[0076] Event detection is a detection operation performed during the grid-by-grid progression. Its physical meaning is to determine whether the physical event that needs to be processed has been triggered after the current action object moves to a certain grid.

[0077] This embodiment defines four types of detection items: boundary crossing detection, occupancy detection, collision detection, and area event detection.

[0078] The priority order of these four types of detection items (arranged in the order of execution) is: boundary violation detection → occupancy detection → collision detection → area event detection.

[0079] The physical meaning of this priority is: going out of bounds is the most serious error state, and should be terminated immediately once it occurs; occupancy detection is for automatic skipping rather than reporting an error; collision detection is the core game logic; area event detection is an additional function trigger.

[0080] The following is an explanation of each test item: Boundary detection The detection logic is to determine whether the grid coordinates (x_next, y_next) of the next cell exceed the effective grid range of the chessboard digital model.

[0081]

[0082] When a player or soccer ball moves on the physical chessboard, if its position exceeds the board's edge, it is considered "out of bounds." If the out-of-bounds condition is true, an out-of-bounds event flag is output as the event detection result. The current square-by-square progression loop is terminated, and subsequent occupancy checks, collision checks, and area event checks are no longer executed.

[0083] Occupancy detection The prerequisite is that the boundary detection does not output a boundary event flag (i.e., the current coordinates are still within the valid range). The purpose is to determine whether the next cell is occupied by a player or goalkeeper object of the player's own team.

[0084] Retrieve the current position coordinates of all player and goalkeeper objects from the object state model, forming a set S_(own-side occupied). The condition is:

[0085] In real-world chess games, two pieces from the same team cannot occupy the same grid position. However, the program here handles this by automatically skipping over the position instead of issuing an error message—because in certain scenarios (such as dribbling around a ball), players may have a pre-set strategy of "if position A is occupied, then go around to position B".

[0086] If the occupancy condition is true, a skip flag is output (no event flag is output), indicating that the current cell cannot be stayed in, and the next cell is automatically moved to continue. The loop does not terminate; (x_next, y_next) is updated to the next coordinate in the path coordinate sequence, and the loop continues.

[0087] Collision detection (three elements conflicting at the same point) The prerequisite is that neither boundary crossing detection nor occupation detection outputs an event flag (i.e., the current coordinates are a legal position). The purpose is to determine whether the current action object and the soccer ball object are at the same grid coordinates after this step, and whether the opposing player object is also at the same grid coordinates.

[0088] Let the position of the current action object be (x_current, y_current); Let the position of the soccer ball be (x_ball, y_ball); Let the set of positions of the opposing players be S_opponent = {(x_i, y_i) | i ∈ the set of opposing players}.

[0089]

[0090] In a real-world game, when player A moves the ball to position X, if opposing player B also happens to be at position X, a "three-player encounter" conflict occurs. The ball may remain in A's possession, be taken away by B, go out of bounds, or both players may concede. If the conflict condition is true, a conflict event identifier is output as the event detection result. Event handling: Proceed to the conflict adjudication process.

[0091] Regional event detection The prerequisite is that the out-of-bounds detection does not output an out-of-bounds event flag.

[0092] The purpose is to determine whether the next cell belongs to a preset special area type.

[0093] The physical correspondence of special area types is shown in Table 4 below: Table 4 ; If the node attribute of the next cell belongs to a preset special area type, the corresponding area event identifier is output. Event handling: Enter the corresponding area event handling process. For example, if the area event identifier is "Quick Pass Zone", the program calls the quick pass rules submodule, generates candidate priority passing paths, and highlights them.

[0094] Conflict adjudication is triggered only when the event detection step outputs a conflict event identifier.

[0095] This means: The current target (Player A) has moved to the square where the football is located; The opposing player (Player B) is also in this square; Neither boundary crossing nor occupancy detection was triggered.

[0096] In some embodiments, a target adjudication branch is selected from six preset adjudication branches based on the current value of the status dice roll D_e. The mapping relationship between the adjudication branches and the value of D_e is shown in Table 5 below: Table 5 ; The above mapping corresponds the randomness of the situation dice to the conflict resolution outcome. The range of the situation dice (1-12) is divided into six intervals, each interval corresponding to a possible conflict resolution outcome. This is consistent with the physical scenario in real games where "two parties decide the outcome by rolling dice when there is a conflict".

[0097] The decision-making actions of each branch are as follows: (1) Dribbling past the opponent branch (1≤D_e≤2) The decision-making action is as follows: from the adjacent legal nodes of the conflict node (x_conflict, y_conflict), calculate the target escape node according to the preset escape priority.

[0098] Adjacent valid nodes: Four nodes (x_conflict±1, y_conflict) or (x_conflict, y_conflict±1) that are 1 Manhattan distance from the conflicting node, and these nodes satisfy the condition that both the out-of-bounds detection and the occupancy detection are false.

[0099] The program uses a preset priority order for the four directions, such as "up > right > down > left". It checks adjacent nodes sequentially according to priority, identifying the first valid node as the target escape node. The program then updates the soccer ball's position coordinates to match the target escape node's coordinates. Possession is maintained within the current player's faction (i.e., the current player's faction identifier remains unchanged).

[0100] In a real-world game, when all three players roll the same number, if the player rolls a status die in the range of 1-2, it is determined that player A has successfully dribbled past the crowd—A has squeezed a path through the crowd, and the ball remains under A's control.

[0101] (2) The ball is intercepted in the branch (3≤D_e≤4) The ruling actions are as follows: Establish a positional binding relationship between the soccer ball object and the opposing player object: Update the "position coordinates" of the soccer ball object to the coordinates of the opposing player object (i.e., their positions become the same). Switch possession to the opposing team: Update the current possession team's identifier to the opposing team's.

[0102] In a real-world game, when all three players roll the same number, if the situation dice roll falls between 3 and 4, it is determined that the opposing player B has successfully intercepted the ball—B takes the opportunity to steal the ball, and possession returns to the opposing team.

[0103] (3) First out-of-bounds serve branch (5≤D_e≤6) The decision-making actions are as follows: Execute the nearest boundary search algorithm (see Section 9.5) to determine the target boundary node. Update the position coordinates of the soccer ball object to the coordinates of the target boundary node. Switch the next actor to the opposing side: update the current actor's identifier to the opposing side.

[0104] In a real-world game, if all three players roll the same number, and the situation dice roll falls between 5 and 6, it is considered that the ball has been kicked out of bounds, and the opponent serves again to start the game.

[0105] (4) Second out-of-bounds serve branch (7≤D_e≤8) The decision-making actions are as follows: Execute the nearest boundary search algorithm to determine the target boundary node. Update the position coordinates of the soccer ball object to the coordinates of the target boundary node. Keep the next actor in the same camp as the current actor: the current actor's identifier remains unchanged.

[0106] Similar to the first out-of-bounds serve, but the serve belongs to the serving team.

[0107] (5) Goalkeeper's serve from the baseline (9≤D_e≤10) The ruling action is as follows: Update the coordinates of the soccer ball to the coordinates of the goalkeeper's kickoff position. The goalkeeper's kickoff position is a preset fixed coordinate in the chessboard digital model, usually located at the midpoint of the player's own goal line or in front of the goalkeeper's position. Entering the goalkeeper's kickoff state: Update the current player's identity to the goalkeeper's faction.

[0108] In a physical game, when the ball is kicked out of one's own baseline, the goalkeeper restarts the attack by taking the ball back.

[0109] (6) Both sides withdraw from the branch (11≤D_e≤12) The ruling action is as follows: Calculate the target retreat points for both sides based on the most recent movement directions of the current action target and the opposing player target.

[0110] Recent direction of motion: The direction of the last non-zero displacement vector of the object in the previous step.

[0111] Target backoff node: The first node in the opposite direction of the most recent movement direction that satisfies both the out-of-bounds detection and the occupancy detection as false.

[0112] Update the position coordinates of the current action object to the coordinates of its target retreat node.

[0113] Update the position coordinates of the opposing player object to the coordinates of its target retreat node.

[0114] The football remains at the point of conflict and enters a free-ball state.

[0115] In a physical game, when all three players roll the same number, if the status dice roll falls between 11 and 12, it is determined that the two players have pushed each other and each has taken a step back, leaving the ball in place to await the next round.

[0116] After each decision branch is executed, the program needs to update the relevant fields in the object state model, including but not limited to: The player's position coordinates; The coordinates of the goalkeeper's position; The position coordinates of the soccer ball object; The "Possession" field of the soccer object (points to the new ball-possession team); Current party identifier; Current round status (whether it has ended).

[0117] In the first and second out-of-bounds serve branches, it is necessary to determine which boundary line of the chessboard the ball should go out of bounds from. This embodiment solves this problem using the nearest boundary search algorithm.

[0118] Physical Correspondence: In physical play, when the ball goes out of bounds, it should be determined that it went out of bounds from the sideline closest to the ball. If the distances of the four sidelines are the same, a preset priority rule is used for determination. The algorithm includes the following steps: Step 1: Determine the current position coordinates of the soccer ball object in the object state model: P_ball=(x_ball,y_ball).

[0119] Step 2: Determine the set B of coordinates of all boundary nodes corresponding to the soccer ball object in the chessboard digital model.

[0120] The physical correspondence of the boundary nodes: all grid nodes on the four sides of the chessboard.

[0121] The set of boundary nodes is B = {(x,y)|x=0 or x=M-1 or y=0 or y=N-1}.

[0122] Step 3: Calculate the passable distance from the current location coordinates to the coordinates of all boundary nodes.

[0123] This embodiment uses Manhattan distance as the method for calculating the passable distance:

[0124] The physical meaning of Manhattan distance: Manhattan distance corresponds to the number of grids that need to be traversed to move to the target position in the horizontal and vertical directions on a chessboard, which matches the actual path length of a soccer ball rolling on a chessboard.

[0125] Step 4: Select the boundary node with the smallest passable distance from all passable distances as the target boundary node.

[0126]

[0127]

[0128] Step 5: If |B_min|=1 (there is only one nearest boundary node), then directly output that node as the target boundary node.

[0129] Step 6: If |B_min|>1 (there are multiple nearest boundary nodes, i.e., parallel cases), then determine the target boundary node according to the preset boundary priority table.

[0130] In physical Go matches, when the ball is exactly in the center or symmetrical position on the board, its distance to all four lines may be the same. In such cases, a pre-defined adjudication rule is needed to resolve ambiguity. This embodiment employs one of the following priority rules: Prioritize the direction of most recent movement: Select the boundary node that is consistent with the direction of the most recent movement of the soccer ball; Prioritize the direction of attack: Select the boundary node closest to the attacking team's goal; Preset boundary priority table: Selected in a fixed order of top, right, bottom, left.

[0131] In some embodiments, the goalkeeper decision process is triggered under the following conditions: The current action being executed is a straight shot candidate action; The ball's rolling path reaches or passes through the opponent's goal node.

[0132] In the physical game of Han Cuju (ancient Chinese football) chess, when a player shoots, the football rolls in a straight line towards the opponent's goal. The opposing goalkeeper needs to judge whether they can save the ball. The goalkeeper's saving ability depends on: Goalkeeper's position: Whether the goalkeeper is standing in the penalty area in front of the goal; Goalkeeper's movement ability: Goalkeepers can move diagonally inside the penalty area (eight-neighborhood movement), and can only move in a straight line outside the penalty area (four-neighborhood movement). Goalkeeper parameter D_g: The upper limit of the save range determined by the goalkeeper dice.

[0133] This embodiment uses two different methods to calculate reachability, taking into account the different movement capabilities of goalkeepers inside and outside the penalty area.

[0134] Scenario 1: The goalkeeper is inside the penalty area (first method for calculating reachable distance) Applicable conditions: The current position coordinates (x_keeper, y_keeper) of the goalkeeper object are within the restricted area node attribute region.

[0135] At this point, the goalkeeper can move in eight directions (horizontally, vertically, and diagonally) within the penalty area, thus his reachable range is a square area.

[0136] Calculation formula (Chebyshev distance):

[0137]

[0138]

[0139] The physical meaning of Chebyshev distance: In the eight-neighborhood movement model, the minimum number of steps required to move from (x1,y1) to (x2,y2) is equal to max(|x1-x2|,|y1-y2|). For example, moving from (3,4) to (5,6) requires max(2,2) = 2 steps, regardless of the path taken.

[0140] Reachability criteria:

[0141] Where T_1 is the preset first threshold (which can be set to 3), representing the goalkeeper's maximum save distance within the penalty area.

[0142] Scenario 2: The goalkeeper is outside the penalty area (second method for calculating reachable distance) Applicable conditions: The current position coordinates (x_keeper, y_keeper) of the goalkeeper object are outside the restricted area node attribute region.

[0143] At this point, the goalkeeper can only move in four directions (horizontal and vertical) outside the penalty area, so the area he can reach is a diamond shape.

[0144] Calculation formula (Manhattan distance):

[0145]

[0146]

[0147] Reachability criteria:

[0148] Where T_2 is a preset second threshold (which can be set to 5), representing the goalkeeper's maximum save distance outside the penalty area.

[0149] The situation is yours, and the determination of whether the goalkeeper succeeded or failed. Calculate the reachable distance D_reachable from the goalkeeper's current position to the current position of the ball (select the appropriate calculation method based on whether the goalkeeper is in the penalty area); Compare D_reachability with the gatekeeper parameter D_g: If D_ can reach ≤ D_g, then the goalkeeping is considered successful; If D_ can reach > D_g, then the goalkeeper is deemed to have failed.

[0150] The ruling action when a goalkeeper scores a goal: Establish a positional binding relationship between the soccer object and the goalkeeper object (update the soccer position to the goalkeeper position); Possession is switched to the goalkeeper's team; Switch the current action team to the goalkeeper's faction; Enter the goalkeeper's serving position.

[0151] The ruling action when a goalkeeper fails to score: Add 1 point to the score field of the current action faction; Perform a goal reset procedure: Reset all players, goalkeepers, and the ball to their initial positions or the center circle kickoff position.

[0152] The physical chessboard of Han Cuju (ancient Chinese football) is marked with quick pass zones and quick pass guide lines. When the football or a player in possession of the ball enters the quick pass zone, the quick pass function can be triggered.

[0153] When the regional event detection outputs a fast transfer zone event identifier during the frame-by-frame advancement process, fast transfer zone processing is triggered.

[0154] The program calls the quick pass rules submodule to generate one or more candidate priority passing paths based on the preset quick pass guide line template.

[0155] The physical correspondence of the fast transfer guide line template: The fast transfer guide lines printed on the physical chessboard are a set of dotted lines or arrows pointing from the fast transfer area to a specific receiving position. The program stores the start and end coordinates of these dotted lines or arrows as template data.

[0156] Steps for generating candidate priority passing paths: Get the coordinates (x_quick, y_quick) of the current quick transfer zone node; Find all template segments in the Quick Transfer guide template that start at (x_quick, y_quick); The endpoint of each template line segment is used as a candidate passing target point; Verify that each candidate pass destination meets the following conditions: The target point was not occupied by our pieces; The passing path from the current position of the ball to the target point does not pass through any opposing player (otherwise it would be intercepted).

[0157] The verified candidate passing paths are added to the candidate priority passing path set.

[0158] In the interface display module, the program highlights the candidate priority passing paths on the chessboard for players to choose from.

[0159] The log storage module in this embodiment records each action, each dice value, each conflict resolution, each goalkeeping result, and the final score, forming a game log, as shown in Table 6 below: Table 6 ; A complete example of the game's sequence is shown below: Suppose the initial state of the current game is as follows: Chessboard dimensions: M = 9 rows, N = 11 columns; First team (Red side): 4 players, 1 goalkeeper; Second team (blue team): 4 players, 1 goalkeeper; Football position: (4,5); Current Action Team: First Faction (Red Team); Current score: 0:0.

[0160] The round execution process includes: Step 1: Dice Value Collection The player rolled four dice and got: Player movement dice roll: D_p=4; Soccer move dice roll: D_b=3; Status dice roll: D_e=2; Goalkeeper parameter: D_g=3.

[0161] Step 2: Candidate Action Generation Suppose that a player P1 in the first team currently holds a football (holding flag = true) and is positioned at (3,4).

[0162] Based on D_p=4 and D_b=3, the program generates the following candidate actions (partial list): Dribbling move 1: [(3,4)→(3,5)→(3,6)→(3,7)], dribble for 3 steps; Dribbling move 2: [(3,4)→(4,4)→(5,4)→(5,5)], dribbling 3 steps (zigzag line); Mixed move 1: [(3,4)→(3,5)] without the ball + [(3,5)→(3,6)→(3,7)] with the ball, total steps 3; Straight shot action: [(3,6)→(3,7)→(3,8)→(3,9)], but you need to move to the shooting trigger zone first.

[0163] Step 3: Path Validation Validate the candidate actions mentioned above. If the validation passes, retain all candidate actions.

[0164] Step 4: Player Selection The player selects dribbling action 1 as the target candidate action.

[0165] Step 5: Proceed with execution step by step The loop variable i progresses from 1 to 3, advancing sequentially. i=1: Update P1 position to (3,5), and the soccer ball is also updated to (3,5). Execute event detection: Out-of-bounds detection: (3,5) is within the valid range, false; Occupation detection: (3,5) is not occupied by our side, false; Collision Detection: The soccer ball (3,5) is at the same point as the opposing player P3 (3,5), but the currently moving target P1 (3,5) is also at the same point? No, because P1 (3,5) has already moved there. False; Regional event detection: (3,5) is a normal cell, false.

[0166] Conclusion: Normal, no event triggered.

[0167] i=2: Update P1 position to (3,6), and the soccer ball is also updated to (3,6). Execute event detection: Out-of-bounds detection: (3,6) is within the valid range, false; Occupation detection: (3,6) is not occupied by our side, false; Collision detection: The current P1 (3,6), the soccer ball (3,6), and the opponent's P2 (3,6) are at the same point. True! Conclusion: A conflict event has been triggered, and the conflict adjudication process has commenced.

[0168] Step 6: Conflict Resolution Since D_e=2 (falls in the interval 1-2), the dribbling-through branch is executed.

[0169] Ruling action: From the adjacent valid nodes of the conflict node (3,6), select the target escape node according to escape priority (top > right > bottom > left): Above: (2,6), false boundary check, false occupation check → legitimate target escape node; Update the football's position to (2,6); Possession of the ball remains with the first team.

[0170] Step 7: End of Round At the end of the round, the first team retains possession of the ball, and the ball is positioned at (2,6).

[0171] The above text combined Figure 1 The position update control method based on grid-by-grid advancement provided in the embodiments of this application has been described in detail. The apparatus and equipment provided in the embodiments of this application will be described below with reference to the accompanying drawings.

[0172] like Figure 2 As shown in the figure, this is a schematic diagram of a position update control method device based on grid-by-grid advancement provided in an embodiment of this application. The device includes: The data acquisition module 201 is used to collect player movement dice rolls, football movement dice rolls, status dice rolls, and goalkeeper parameters; The action generation module 202 is used to generate at least one candidate action based on whether the current action object holds a soccer ball, the player's move dice roll, and the soccer ball's move dice roll, under the constraints of the chessboard digital model and the object state model; wherein, the chessboard digital model is a mapping set of grid coordinates and node attributes; the object state model includes player objects, soccer ball objects, and goalkeeper objects, and each of the objects records its current position coordinates; The grid-by-grid advancement module 203 is used to perform grid-by-grid advancement processing on the candidate action, including: starting from the current position of the current action object in the object state model, updating the position coordinates of the current action object to the grid coordinates of the next grid corresponding to the candidate action at each step; The event detection module 204 is used to perform event detection after each step is advanced; wherein, the event detection includes boundary crossing detection, occupation detection, collision detection and area event detection; if any detection item meets the preset triggering condition, the corresponding event identifier is output as the event detection result, and the corresponding event processing is performed according to the event detection result.

[0173] The position update control method apparatus based on grid-by-grid advancement according to the embodiments of this application can correspond to the execution of the method described in the embodiments of this application, and the other operations and / or functions of each module / unit of the position update control method apparatus based on grid-by-grid advancement are respectively for implementing Figure 1For the sake of brevity, the corresponding processes of each method in the illustrated embodiments will not be described in detail here.

[0174] This application also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium that a computing device can store, or a data storage device such as a data center containing one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state drive). The computer-readable storage medium includes instructions that instruct the computing device to execute the aforementioned position update control method based on grid-by-grid progression.

[0175] This application also provides a computer program product comprising one or more computer instructions. When the computer instructions are loaded and executed on a computing device, all or part of the processes or functions described in this application are generated.

[0176] The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions may be transmitted from one website, computer, or data center to another website, computer, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) means.

[0177] When the computer program product is executed by a computer, the computer executes any of the aforementioned position update control methods based on grid-by-grid advancement. The computer program product can be a software installation package; when any of the aforementioned position update control methods based on grid-by-grid advancement needs to be used, the computer program product can be downloaded and executed on the computer.

[0178] The descriptions of the processes or structures corresponding to the above figures each have their own emphasis. For parts of a process or structure that are not described in detail, please refer to the relevant descriptions of other processes or structures.

[0179] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any changes or substitutions within the technical scope disclosed in this application should be covered within the scope of protection of this application.

Claims

1. A position update control method based on grid-by-grid advancement, characterized in that, The method includes: Collect player movement dice rolls, soccer movement dice rolls, status dice rolls, and goalkeeper parameters; Based on whether the current action object holds a soccer ball, the player's move dice roll, and the soccer ball's move dice roll, at least one candidate action is generated under the constraints of the chessboard digital model and the object state model; wherein, the chessboard digital model is a mapping set of grid coordinates and node attributes; the object state model includes player objects, soccer ball objects, and goalkeeper objects, and each of the objects records its current position coordinates; Perform a grid-by-grid progression process on the candidate action, including: starting from the current position of the current action object in the object state model, updating the position coordinates of the current action object to the grid coordinates of the next grid corresponding to the candidate action at each step; Event detection is performed after each grid is advanced; the event detection includes boundary crossing detection, occupation detection, collision detection and area event detection; if any detection item meets the preset triggering condition, the corresponding event identifier is output as the event detection result, and the corresponding event processing is performed according to the event detection result.

2. The method according to claim 1, characterized in that, The step of performing corresponding event processing based on the event detection result includes: Determine whether the grid coordinates of the next square exceed the effective grid range of the chessboard digital model; if so, output an out-of-bounds event flag as the event detection result and end the current square-by-square progression loop. If the boundary detection does not output a boundary event flag, then it is determined whether the next cell is occupied by a player object or a goalkeeper object of the player's own team; if it is determined to be yes, then the grid coordinates of the next cell are updated to the grid coordinates of the cell after that, and the loop continues. If neither the boundary crossing detection nor the occupancy detection outputs an event identifier, then it is determined whether the current action object and the football object are at the same grid coordinates after this step, and whether the opposing player object is also at the same grid coordinates; if the determination is yes, then a conflict event identifier is output as the event detection result. If the boundary detection does not output a boundary event identifier, then it is determined whether the next cell belongs to a preset special area type; if it is determined to be yes, then the corresponding area event identifier is output as the event detection result.

3. The method according to claim 2, characterized in that, The step of executing the corresponding event processing based on the event detection result further includes: If the event detection result contains a conflict event identifier, then based on the current value of the status dice roll, a target adjudication branch corresponding to the current value is selected from a set of multiple pre-defined adjudication branches. Execute the ruling action corresponding to the target ruling branch.

4. The method according to claim 3, characterized in that, The preset multiple ruling branches include the dribbling past the opponent branch, the ball being intercepted branch, the first out-of-bounds serve branch, the second out-of-bounds serve branch, the goalkeeper's serve branch, and the two sides retreating branch; The decision action corresponding to the target decision branch includes: For the dribbling pass branch, calculate the target escape node from the adjacent legal nodes of the conflict node according to the preset escape priority; update the position coordinates of the soccer object to the coordinates of the target escape node; and maintain possession of the ball in the camp to which the current action object belongs. For the ruling action in the "ball interception" branch, establish a positional binding relationship between the football object and the opposing player object; switch possession of the ball to the opposing team; For the ruling action of the first out-of-bounds serve branch, perform the nearest boundary search to determine the target boundary node; switch the next action party to the opponent's camp; For the ruling action of the second out-of-bounds serve branch, perform the nearest boundary search to determine the target boundary node; keep the next action party in the same camp as the current action party; For the ruling action of the goalkeeper's kick-off branch, the position coordinates of the football object are updated to the coordinates of the goalkeeper's kick-off position; For the ruling actions of each side's retreat branch, calculate the target retreat node for each side based on the most recent movement direction of the current action object and the opponent's player object; update the position coordinates of the current action object to the coordinates of its target retreat node; update the position coordinates of the opponent's player object to the coordinates of its target retreat node.

5. The method according to claim 4, characterized in that, Performing the nearest boundary search includes: Determine the current position coordinates of the soccer ball object in the object state model, and the coordinates of all boundary nodes corresponding to the soccer ball object in the chessboard digital model; Calculate the passable distance from the current location coordinates to the coordinates of all the boundary nodes; Select the boundary node corresponding to the minimum passable distance from all the passable distances as the target boundary node; wherein, if there are multiple boundary nodes corresponding to the minimum passable distance, the target boundary node is determined according to the preset boundary priority table.

6. The method according to claim 2, characterized in that, The step of executing the corresponding event processing based on the event detection result further includes: Obtain the current position coordinates of the goalkeeper object from the object state model, and obtain the current position coordinates of the football object from the object state model; Determine whether the current position coordinates of the goalkeeper object are within the restricted area of ​​the chessboard digital model; If the determination is yes, then the first reachable distance calculation method is used to calculate the reachable distance from the current position coordinates of the goalkeeper object to the current position coordinates of the football object; If the determination is negative, the second reachable distance calculation method is used to calculate the reachable distance from the current position coordinates of the goalkeeper object to the current position coordinates of the football object; The reachable distance is output as the first calculation result; The first calculation result is compared with the goalkeeping parameter; if the first calculation result is less than or equal to the goalkeeping parameter, the goalkeeping is determined to be successful; if the first calculation result is greater than the goalkeeping parameter, the goalkeeping is determined to be unsuccessful.

7. The method according to claim 6, characterized in that, The calculation of the reachable distance from the current position coordinates of the goalkeeper object to the current position coordinates of the football object using the first reachable distance calculation method includes: Calculate the absolute value of the first coordinate difference between the current position coordinates of the goalkeeper object and the current position coordinates of the soccer ball object in the row direction, and the absolute value of the second coordinate difference in the column direction; If neither the absolute value of the first coordinate difference nor the absolute value of the second coordinate difference exceeds a preset first threshold, it is determined that the goalkeeper object is reachable from the football object, and the maximum value of the absolute value of the first coordinate difference and the absolute value of the second coordinate difference is taken as the reachable distance. The calculation of the reachable distance from the current position coordinates of the goalkeeper object to the current position coordinates of the football object using the second reachable distance calculation method includes: Calculate the absolute value of the difference between the current position coordinates of the goalkeeper object and the current position coordinates of the soccer ball object in the row direction (third coordinate difference) and the absolute value of the difference between the current position coordinates of the goalkeeper object and the soccer ball object in the column direction; If the sum of the absolute values ​​of the third coordinate difference and the fourth coordinate difference does not exceed a preset second threshold, then it is determined that the goalkeeper object is reachable from the football object, and the sum of the absolute values ​​of the third coordinate difference and the fourth coordinate difference is taken as the reachable distance.

8. The method according to claim 1, characterized in that, Before performing the frame-by-frame advancement process on the candidate action, the method further includes a verification process: If there are multiple candidate actions, the path information for each candidate action is obtained; wherein, the path information includes a path coordinate sequence, path start coordinates, and path end coordinates; If any coordinate in the path coordinate sequence exceeds the effective grid range of the chessboard digital model, the candidate action path is determined to be invalid and the candidate action is removed. If any coordinate in the path coordinate sequence is the same as the coordinate of an unstoppable node in the chessboard digital model, then the candidate action path is determined to be invalid and the candidate action is removed. If the coordinates of the endpoint of the path are the same as the coordinates of the node already occupied by the party in the object state model, then the endpoint of the candidate action is determined to be invalid and the candidate action is removed. If all coordinates in the path coordinate sequence do not exceed the effective grid range, are not the same as the coordinates of the non-stop node, and the coordinates of the path endpoint are not the same as the coordinates of the node already occupied by the party, then the candidate action is retained as the first candidate set. The first candidate set is output as the candidate action that has passed the verification.

9. The method according to claim 8, characterized in that, The step of generating at least one candidate action based on whether the current action object holds the soccer ball, the player's move dice roll, and the soccer ball's move dice roll, under the constraints of the chessboard digital model and the object state model, includes: Obtain from the object state model whether the current action object holds the football, and obtain the current value of the player's movement dice and the current value of the football's movement dice; If the holding identifier indicates that the current action object does not hold a football, then a candidate action for running without the ball is generated based on the current value of the player's movement dice. If the holding identifier indicates that the current action object is holding a football, then based on the current value of the player's movement dice and the current value of the football's movement dice, at least one of the following can be generated: dribbling candidate action, running and dribbling mixed candidate action, straight pass candidate action, straight shot candidate action, or goalkeeper kicking candidate action. The candidate actions of running without the ball, the candidate actions of dribbling with the ball, the candidate actions of running and dribbling, the candidate actions of passing in a straight line, the candidate actions of shooting in a straight line, or the candidate actions of the goalkeeper taking the ball are combined into the multiple candidate actions.

10. The method according to claim 9, characterized in that, When generating the dribbling candidate action, the following dribbling constraints are also satisfied: the football object and the executing player object are in the same grid coordinates, and the total number of dribbling steps is not greater than the minimum value between the current value of the player's movement dice roll and the current value of the football's movement dice roll.