Unit Breakout.Levels

Description

Three fixed formations with seeded height-weighted classes and premium spacing.

Source: src/Breakout.Levels.pas (line 2).

Uses

Overview

Functions and Procedures

function GenerateLegacyLevel(Seed: Cardinal; Level: Integer): TArray<TBrick>;
function GenerateLevel(Seed: Cardinal; Level: Integer): TArray<TBrick>;

Constants

CampaignLevelCount = 3;

Description

Functions and Procedures

function GenerateLegacyLevel(Seed: Cardinal; Level: Integer): TArray<TBrick>;

Creates 96 active bricks, with stable IDs and definitions from Breakout.Bricks. The local random stream starts at Seed xor Level. This is one legacy grid recipe, not a template library or endless-level system.

Returns

A newly allocated array owned through normal dynamic-array lifetime.

Source: src/Breakout.Levels.pas (line 16).

function GenerateLevel(Seed: Cardinal; Level: Integer): TArray<TBrick>;

Creates an independent board with row-major IDs and centralized rewards. Keeps legacy-grid/twin-gates/diamond geometry; all three boards use seeded class weights by relative formation height. Silver/gold cannot occupy horizontal/vertical neighboring cells, including mixed pairs; diagonals are allowed. Conflicting premium draws become a weighted nonpremium class. Restart with the same Seed/Level reproduces the entire board. The historical GenerateLegacyLevel remains available as a reference, without rebalancing. Raises EArgumentOutOfRangeException outside 1..CampaignLevelCount.

Source: src/Breakout.Levels.pas (line 26).

Constants

CampaignLevelCount = 3;

Number of available boards; LevelCount may select a prefix of them.

Source: src/Breakout.Levels.pas (line 10).


Generated by PasDoc 1.0.4.