From e297e1ab9aaeae262219d741d6cf9557fc374635 Mon Sep 17 00:00:00 2001 From: Kristofers Solo Date: Wed, 1 Jan 2025 18:32:06 +0200 Subject: [PATCH] feat: finish screen module --- main.typ | 51 ++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 40 insertions(+), 11 deletions(-) diff --git a/main.typ b/main.typ index cd8ca38..b3a18f7 100644 --- a/main.typ +++ b/main.typ @@ -644,24 +644,53 @@ programmu. #todo("uzrakstīt spēlētāja moduli") === Spēles stāvokļa pārvaldības modulis -#todo("uzrakstīt spēles stāvokļa pārvaldības moduli") +Spēles stāvokļa pārvaldības modulis nodrošina spēles dažādu stāvokļu pārvaldību +un pārejas starp tiem. Modulis sastāv no trim galvenajām funkcijām: spēles +sākšana (#link()[SSPMF01]), atgriešanās uz sākumekrānu +(#link()[SSPMF02]) un sākumekrāna attēlošanas +(#link()[SSPMF03]). Katra no šīm funkcijām apstrādā specifiskus +lietotāja ievades datus un atbilstoši atjaunina spēles stāvokli operatīvajā +atmiņā. + +Moduļa 2. līmeņa DPD diagramma (sk. @fig:dpd-2-screen) parāda, ka lietotājs +mijiedarbojas ar sistēmu caur diviem galvenajiem ievades veidiem: pogu izvēli +sākumekrānā un "Escape" taustiņa nospiešanu spēles laikā. + +Spēles sākšanas funkcija inicializē nepieciešamos resursus un +sistēmas, kad lietotājs izvēlas sākt jaunu spēli. Atgriešanās funkcija +apstrādā lietotāja pieprasījumu pārtraukt aktīvo spēli un atgriežas uz +sākumekrānu. #figure( - caption: [\2. līmeņa DPD], + caption: [Spēles stāvokļa pārvaldības moduļa 2. līmeņa DPD], diagram({ - dpd-database((0, 0), [Operatīvā\ atmiņa], snap: -1) + data-store((0, 0), [Spēlētājs]) + dpd-edge("rrr", align(center)[Tastatūras\ ievades dati]) + dpd-edge("u,rrr", align(center)[Izvēlētās\ pogas dati], label-pos: 0.6) - process((-2, 0), [SSPMF01:\ Spēles sākšana]) - dpd-edge("r", [Ekrāna stāvoklis]) + process((3, -1), [Spēles\ sākšana]) + dpd-edge("rrr,d", align(center)[Spēles\ stāvokļa dati], label-pos: 0.4) - process((2, 0), [SSPMF02:\ Atgriešanās]) - dpd-edge("l", [Tastatūras ievade]) + process((3, 0), [Atgriešanās\ uz sākumekrānu]) + dpd-edge("rrr", align(center)[Spēles\ stāvokļa dati]) - process((0, 2), [SSPMF03:\ Sākumekrāns]) - dpd-edge("u", [UI elementi]) - dpd-edge("d", [Pogu stāvokļi]) + process((3, 1), [Attēlot\ sākumekrānu]) + dpd-edge( + "rrr,u", + align(center)[Atjaunoti spēles\ stāvokļa dati], + label-pos: 0.3, + shift: -20pt, + ) + + dpd-database((6, 0), [Operatīvā\ atmiņa]) + dpd-edge( + "d,lll", + align(center)[Atjaunoti spēles\ stāvokļa dati], + label-pos: 0.7, + shift: -20pt, + ) }), -) +) #function-table( "Spēles sākšana",