Menu

[r376]: / XRECORD.MPL  Maximize  Restore  History

Download this file

54 lines (41 with data), 1.0 kB

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

##LIBHDR

.GAME.NAME  : 0
.GAME.YEAR  : 1
.GAME       : 2

GAMES=0

GAME.NEW(NAME,YEAR; GAME) [
  GAME=VNEW(.GAME);
  GAME!.GAME.NAME=SDUP(NAME);
  GAME!.GAME.YEAR=YEAR;
  GAME
]

GAME.ADD(NAME,YEAR) [
  GAMES=VOLD(GAMES,VLEN(GAMES)+1);
  GAMES!(VLEN(GAMES)-1)=GAME.NEW(NAME,YEAR)
]

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

.(;I) [
  NEWLINE();

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

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

  I = 0; I < VLEN(GAMES) @ [
    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.