Salabot iepriekšējo nodevumu folder names arī - šobrīd grūti saprast uz ko saktīties
Jau pagājušā reizē lūdzu nepushot iekšā Github node_modules, dest, nodzēs un pieliec pie gitignore
Padod session token iekš header ir laba ideja, bet lūdzu pārtaisi, ka to var padot ar pre-defined JSON interface. Visiem Req/Res pieliec klāt typing lūdzu
x1interface RequestGetHabits {
2sessionToken: string,
3...
4}
Kur vien iespējams lūdzu pieliec funkcijām apkārt try catch un exception saglabājam log4js
Pēc iespējas visur samazināt square bracket array calls
Nelietot jautājumu zīmju sintaksi - tā vietā tikai named parameters, lai novērstu liekas problēmas, kad vēlāk kods tiks mainīts
xxxxxxxxxx
51const result = await connection.query(
2'SELECT * FROM users WHERE firstName = :firstName AND lastName = :lastName',
3{ firstName: 'John', lastName: 'Doe' }
4);
5
Atšifrēt [0] square brackets izmantojot python tuples, ļoti reti kodā izmanto [] selectors bez skaidrojumiem vai skaidri lasāmu saturu, to parasti dara sarakstos piem. iepirkumu sarakstā ir ok piekļūt row[i]
Nepieciešams izveidot vēlvienu ComponentCityButton, kuru zīmētu pa virsu pilsētai un kurai būtu savs add_listener_click, lai izpildītu:
Implementēt UI elementu (neredzamu pogu vai aplīti), kurš tiek novietots uz katras pilsētas
Uzklikšķinot uz pilsētas izveidot Warrior actor ar pozīciju uz šīs pilsētas, izmantojot UI component un Factory pēc attiecīgās tribe
Video: https://youtu.be/QrQd00QCVqc
Jamboard: https://jamboard.google.com/d/1ayqh4-WFZZZRI5UZbbnfoFmUrG0WsihppBhCqEQZy7E/edit?usp=sharing
Implementēt API / Aizmugursistēmu TODO lieotnei pēc specifikācijas:
Izmantot NodeJS, TypeScript, SwaggerUI, Sqlite datu bāzi, HTTP REST API
API POST messages jābūt kā JSON body ar TS interface
Katrai datu bāzes tabulai jābūt modeļa klasei vai TS interfeisam (var izmantot ORM vai SQL)
Pēc lietotāju autentifikācijas /todos/ pieprasījumiem jāpadod session_token un jāpārbauda vai tas ir derīgs
API jāsatur funkcijas:
POST /user/register -> Jānosūta uz epastu apstiprinājuma URL (epasta pieejas datus var neierakstīt kodā)
GET /user/confirmation/:uuid -> Parāda vai lieotājs veiksmīgi aktivizēts
POST /user/login
POST /todos/add
POST /todos/list
POST /todos/remove
POST /todos/update
Iesniegt projektu kā ZIP bez node_modules
Video: https://youtu.be/waYf6shzKso
Jamboard: https://jamboard.google.com/d/1Z6z2FadCTFIW-QZvdNusmpzMWX1U_faWX2DbxVDIsz4/edit?usp=sharing
Izmantojot sagatavi no iepriekšējā uzdevuma:
Implementēt Factory pattern, lai izveidotu jaunus actors http://share.yellowrobot.xyz/upic/05bae2fc6237c06e81d33dbdc4b430bd_1664564960.png
Implementēt šajā koda vietā Iterator pattern tā, lai tiktu atgriezts pygame. Surface uzreiz no abu list apvienojuma (buildings un actors)
Implementēt EventComponentButton, kurš tiek atgriezts nospiežot pogu ar Observer pattern palīdzību tā vietā, lai atgrieztu pogas pointeri http://share.yellowrobot.xyz/upic/215cbec575ff796ea242e242865733c5_1664565666.png
Shēma, kam jābūt event saturā, šo saturu izmantot, lai veiktu darbības WindowMain klasē: http://share.yellowrobot.xyz/quick/2022-9-30-363D57CF-D6CF-4F0C-9DEF-0D92FE92439B.png
Pārvietot cik iespējams spēles loģikas kodu uz ControllerGame no WindowMain. WindowMain jāsatur tikai zīmēšanas un IO/lietotāja interactions code
Implementēt pogu ar kuru izpildīt gājienus, katrai ciltij un uz ekrāna attēlot informāciju par to kuram ir gājiens un cik gājieni kopā jau ir izieti