Jestem ciekawy struktur danych używanych podczas programowania starszych gier, takich jak Super Mario Brothers dla NES i Super Mario World dla SNES. Rozumiem, że gry z tego okresu zostały napisane w asemblerze. Czy programiści zdefiniowali / wykorzystali jakieś struktury danych?
Na przykład: kiedy na ekranie pojawia się grupa monet, w jaki sposób są one przechowywane? Czy programiści używali tylko tablic? A może mieli połączone listy?
Twoje zdrowie!
Edycja : Interesują mnie różne podejścia ... niekoniecznie uniwersalne.
Edycja 2 : W kilku moich grach stosuję (potencjalnie złe) podejście do kolekcji i chcę wiedzieć, czy którakolwiek ze starszych gier zastosowała podobne podejście. Lubię wykonywać następujące czynności:
// statically allocated arrays (max number of coins is 4)
int coinsXs[4] = {0, 0, 0, 0};
int coinsYs[4] = {0, 0, 0, 0};
// bitset that keeps track of which coins are active
int coinsActive = 0;
// ...
// update the active coins in an update function
for(int i = 0; i < 4; i++){
if(coinsActive & (1 << i)){
// update ith coin
}
}