A collection of games I worked on in high school.
at main 51 lines 1.4 kB view raw
1Main loop: 2 Stores: 3 sprite: enemy 4 animation 5 x 6 y 7 width: 96 8 height: 96 9 object: enemy 10 name 11 type 12 health 13 damage 14 status 15 knockback vector 16 colliding 17 Every frame: 18 for each enemy: 19 push enemy name, type, and position as an object to array movedenemies 20 send movedenemies to worker as message type 'move' 21 On message get: 22 for each object in sent array returnenemypositions: 23 move enemy with matching name to that position unless frozen or knocked back 24 25 26Enemy Worker: 27 Stores: 28 array supertotalenemies: object 29 name 30 type 31 x 32 y 33 state 34 age 35 array returnenemypositions: object 36 name 37 x 38 y 39 On message type 'spawn' get: 40 push sent object to array supertotalenemies and add state and age (which aren't sent) 41 On message type 'delete' get: 42 find sent object in array supertotalenemies and remove it 43 On message type 'move' get: 44 copy sent array movedenemies to supertotalenemies (updating already stored enemies' positions only) 45 for each enemy in supertotalenemies: 46 increment age 47 case pawn: 48 if floor(age/10) mod 2 == 0 //example of simple ai flow 49 find position PAWN_SPEED closer to player from current position 50 push name and position to returnenemypositions 51 send array returnenemypositions as message to main loop