2023-06-21 Meeting 3

TODO

  1. Jāmāk uzrakstīt, lai strādā uz 3.8

image-20230621171958941

 

  1. ControllerAlien, kurš satur self.alien: Alien, kas ir data structure pointer. un ir funkcija ControllerAlien.update(dt), ControllerAlien.isCollision(rocket), ControllerAlien izmantojot observer signalizē pārējiem ControllerAlien, ka ir jāmaina virziens, viens otram. Event listeneri pievienoti un remove no ControllerAlien nevis ControllerGame

    Risinājums problēmai, ka jāmaina virzienu pēc frame update:

    1. Detect border

    2. store state, so that in next frame fire event (alien object)

    3. in next frame fire observer

 

 

  1. Vector2D vietā izmantot np.array

 

 

  1. Serializāciju pārtaisīt:

  2. JSON image-20230621173351948

image-20230621175050623

 

image-20230621175107076

  1. Binary

image-20230621173215619

 

  1. image-20230621174645609

 

  1. image-20230621174706209

 

  1. Pabeigt design patterns uzdevumus + next uzdevumi

 


 

5. Design Patterns - Memento, Command

 

5.1. Video / Materiāli

Video: https://youtu.be/gsayAyZn3KQ

Jamboard: https://jamboard.google.com/d/1zMvA0nOLICfPETb2sHSKFvFub5xWYF0p52sSHcr9Gt8/edit?usp=sharing

Materials:

 

 

5.2. Implementēt Memento un Command pattern

Implementēt Memento un Command pattern, balstoties uz lekcijas instrukcijām.

Sagatave: http://share.yellowrobot.xyz/quick/2022-10-6-EA2AF38D-B3C7-4669-A7F1-65C990FEB68B.zip

 

5.3. Mājasdarbs - Implementēt vēl vienu piemēru Memento un Command patterns

Implementēt vēl vienu piemēru Memento un Command patterns:

  1. Implementēt memento izmantojot paša veidotu serializācijas metodi binary formātā ar struct.pack (nedrīkst izmantot pickle)

  2. Implementēt Command pattern funkcijai, lai izveidotu jaunus actors un pēc tam ar "Undo" jāvar atcelt actor izveidošanu

  3. Implementēt "Redo" funkciju, lai atceltās darbības var atjaunot

 

6. Design Patterns - Decorator, Closure

6.1. Video / Materiāli

Youtube Live: https://youtu.be/Fq3FoeTvzqw

Jamboard: https://jamboard.google.com/d/1eqowCbAQHCqKKjB678YB_6vKKEBCyWpTsWl2yO4eCyE/edit?usp=sharing

 

6.2. Balstoties uz video instrukcijām implementēt Decorator un Closure patterns

Balstoties uz video instrukcijām implementēt Decorator un Closure patterns

Sagatave: http://share.yellowrobot.xyz/quick/2022-10-14-E03760CF-4197-4F6C-A865-1AFD8CF24818.zip

 

6.3. Mājasdarbs - Pievienot papildus Decorator un Closure patterns

Pievienot papildus Decorator un Closure patterns:

  1. Izveidot dažādas Decorator klases, kuras pamaina dažādas īpašības ComponentButton - pamaina krāsu, samazina, palielina fontu utt.

  2. Izveidot Closure funkciju jeb python decorator ar kuru var noteikt cik ātri funkcija izpildās - noderīga, lai uzlabotu ātrdarbību - log ierakstos jāparādas funkcijas nosaukumam un tās izpildes ātrumam sekundēs