2022-04-25 Meeting 2

Task: http://share.yellowrobot.xyz/quick/share-2022-04-12-45174.html

Github: https://github.com/theglobehead/Battle-Citty

 

Code review

Top struktūrā spēlē ir problēma, nav nepieciešams iekļaut UML main.py, bet tev šobrīd ir vairākas problēmas - lielākā daļa, ko tu esi uzzīmējis ir Model Daļa no MVC, tas ir kods kas satur visu info par spēles struktūru, vēl trūkst Controller piemēram statiskās klases, kuras satur loģiku šādi

ControllerTanks
update_moves(game:Game)
ControllerPlayer
read_keyboard()
update_moves(game:Game)
ControllerGame
update(game:Game, delta_time:float)

View daļa ir PyGame Window un kods, kur zīmē Model datus uz ekrāna. Vienīgais Klasi nebūtu vēlams saukt generic nosaukumā Window, bet tā vietā WindowTankGame piemēram.

Singleton varētu būt klasēm, kurām gribam ērti piekļut no visām vietām kodām un kas ir pa vienām, pimēram Game, Player, WindowTankGame utt, tādā gadījumā ControllerTanks nemaz nevajag update() parametrus

Šobrīd nav kārtīgi pārdomāti visām klasēm member mainīgie, trūkst daudz funkcijas un to parametri.

Lūdzu katras klases darbību aprakstīt ar vismaz vienu teikumu MD failā zem diagrammas, citādi dažās daļas no loģikas nav īsti skaidras.

image-20220425183554291

 

 

image-20220425184227037

 

 

image-20220425184817775

 

⚠️ Sequence diagrammas sadalīt pa mazākiem posimem / scenārijiem, piemēram:

  1. Constructing Level / Map
  2. Moving the player around
  3. Player shooting opponent
  4. NPC shooting player
  5. Player shooting obstacle
  6. Game over
  7. Game won

Kaut arī Menunav nepieciešams lūdzu sagatavot kodu tādā veidā, lai to nākotnē varētu ērti peivienot

image-20220425185809405

image-20220425185950136