This module implements Nazo Puyo requirements.
Types
Requirement = object
- Nazo Puyo requirement to clear.
RequirementColor {.pure.} = enum All = "", Red = "赤", Green = "緑", Blue = "青", Yellow = "黄", Purple = "紫", Garbage = "おじゃま", Color = "色"
- 'c' in the RequirementKind.
RequirementKind {.pure.} = enum Clear = "cぷよ全て消すべし", DisappearColor = "n色消すべし", DisappearColorMore = "n色以上消すべし", DisappearCount = "cぷよn個消すべし", DisappearCountMore = "cぷよn個以上消すべし", Chain = "n連鎖するべし", ChainMore = "n連鎖以上するべし", ChainClear = "n連鎖&cぷよ全て消すべし", ChainMoreClear = "n連鎖以上&cぷよ全て消すべし", DisappearColorSametime = "n色同時に消すべし", DisappearColorMoreSametime = "n色以上同時に消すべし", DisappearCountSametime = "cぷよn個同時に消すべし", DisappearCountMoreSametime = "cぷよn個以上同時に消すべし", DisappearPlace = "cぷよn箇所同時に消すべし", DisappearPlaceMore = "cぷよn箇所以上同時に消すべし", DisappearConnect = "cぷよn連結で消すべし", DisappearConnectMore = "cぷよn連結以上で消すべし"
- Kind of the requirement to clear the nazo puyo.
RequirementNumber = range[0 .. 63]
- 'n' in the RequirementKind.
Consts
ColorKinds = {RequirementKind.Clear, RequirementKind.DisappearCount..RequirementKind.DisappearCountMore, RequirementKind.ChainClear..RequirementKind.ChainMoreClear, RequirementKind.DisappearCountSametime..RequirementKind.DisappearConnectMore}
- All requirement kinds containing 'c'.
NoColorKinds = {RequirementKind.DisappearColor, RequirementKind.DisappearColorMore, RequirementKind.Chain, RequirementKind.ChainMore, RequirementKind.DisappearColorSametime, RequirementKind.DisappearColorMoreSametime}
- All requirement kinds not containing 'c'.
NoNumberKinds = {RequirementKind.Clear}
- All requirement kinds not containing 'n'.
NumberKinds = {RequirementKind.DisappearColor..RequirementKind.DisappearConnectMore}
- All requirement kinds containing 'n'.
RequirementQueryKeys = ["req-kind", "req-color", "req-number"]
Procs
func `$`(self: Requirement): string {.inline, ...raises: [], tags: [], forbids: [].}
func color(self: Requirement): RequirementColor {.inline, ...raises: [], tags: [], forbids: [].}
func color=(self: var Requirement; color: RequirementColor) {.inline, ...raises: [], tags: [], forbids: [].}
- Sets the color of the requirement. If the requirement does not have a color, UnpackDefect is raised.
func initRequirement(kind: RequirementKind; color: RequirementColor): Requirement {. inline, ...raises: [], tags: [], forbids: [].}
- Returns a requirement.
func initRequirement(kind: RequirementKind; color: RequirementColor; number: RequirementNumber): Requirement {.inline, ...raises: [], tags: [], forbids: [].}
- Returns a requirement.
func initRequirement(kind: RequirementKind; number: RequirementNumber): Requirement {. inline, ...raises: [], tags: [], forbids: [].}
func isSupported(self: Requirement): bool {.inline, ...raises: [], tags: [], forbids: [].}
- Returns true if the requirement is supported.
func kind(self: Requirement): RequirementKind {.inline, ...raises: [], tags: [], forbids: [].}
- Returns the kind of the requirement.
func kind=(self: var Requirement; kind: RequirementKind) {.inline, ...raises: [], tags: [], forbids: [].}
- Sets the kind of the requirement.
func number(self: Requirement): RequirementNumber {.inline, ...raises: [], tags: [], forbids: [].}
func number=(self: var Requirement; number: RequirementNumber) {.inline, ...raises: [], tags: [], forbids: [].}
- Sets the number of the requirement. If the requirement does not have a color, UnpackDefect is raised.
func parseRequirement(query: string; fqdn: IdeFqdn): Requirement {.inline, ...raises: [ValueError, KeyError], tags: [], forbids: [].}
- Returns the requirement converted from the URI query. If the query is invalid, ValueError is raised.
func parseRequirement(str: string): Requirement {.inline, ...raises: [ValueError, KeyError], tags: [], forbids: [].}
- Returns the requirement converted from the string representation. If the string is invalid, ValueError is raised.
func toUriQuery(self: Requirement; fqdn = Pon2): string {.inline, ...raises: [], tags: [], forbids: [].}
- Returns the URI query converted from the requirement.