Menu

[r263]: / XRECORD.MPL  Maximize  Restore  History

Download this file

49 lines (37 with data), 1.1 kB

/*
  EXAMPLE OF RECORDS IN MPL
  TODO: ADD A SORT FUNCTION
*/

##LIBHDR

.GAME       : 4
.GAME.NAME  : 0
.GAME.YEAR  : 1

GAME.NEW(NAME,YEAR; GAME) [
  GAME=MALLOC(.GAME);
  GAME!.GAME.NAME=STRDUP(NAME);
  GAME!.GAME.YEAR=YEAR;
  GAME
]

.GAMES=!60 COUNT=0

DIVLINE(W) [ >W-- @ WRCH('-'); NEWLINE() ]

.(;I) [
  NEWLINE();

  .GAMES!COUNT++ = GAME.NEW("SPACE INVADERS"  , 1980);
  .GAMES!COUNT++ = GAME.NEW("STAR RAIDERS"    , 1982);
  .GAMES!COUNT++ = GAME.NEW("FROGGER"         , 1982);
  .GAMES!COUNT++ = GAME.NEW("ASTEROIDS"       , 1981);
  .GAMES!COUNT++ = GAME.NEW("SURROUND"        , 1977);
  .GAMES!COUNT++ = GAME.NEW("TRACK & FIELD"   , 1983);
  .GAMES!COUNT++ = GAME.NEW("VIDEO CHESS"     , 1979);
  .GAMES!COUNT++ = GAME.NEW("XENOPHOBE"       , 1990);
  .GAMES!COUNT++ = GAME.NEW("AIR RAID"        , 1982);
  .GAMES!COUNT++ = GAME.NEW("BURGERTIME"      , 1982);

  DIVLINE(40);
  WRITEF("%TK %T4*N","NAME","YEAR");
  DIVLINE(40);

  I = 0; I < COUNT @ [
    WRITEF("%TK %I4*N",.GAMES!I!.GAME.NAME,.GAMES!I!.GAME.YEAR);
    ++I
  ];
  DIVLINE(40);
0]

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.