Changeset d4b9d28 in mainline for uspace/app/tetris/scores.c


Ignore:
Timestamp:
2009-06-23T18:33:17Z (16 years ago)
Author:
Jiri Svoboda <jirik.svoboda@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
7b47fa2
Parents:
52e4f526
Message:

Tetris high-score table now persists across multiple Tetris executions (and also propagate between concurrently running instances). It is much more stupid than the original BSD implementation, but it works.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/tetris/scores.c

    r52e4f526 rd4b9d28  
    197197}
    198198
     199int loadscores(void)
     200{
     201        FILE *f;
     202        size_t cnt;
     203        int rc;
     204
     205        f = fopen("/tetris.sco", "rb");
     206        if (f == NULL)
     207                return ENOENT;
     208
     209        cnt = fread(scores, sizeof(struct highscore), NUMSPOTS, f);
     210        rc = fclose(f);
     211
     212        if (cnt != NUMSPOTS || rc != 0)
     213                return EIO;
     214
     215        return EOK;
     216}
     217
     218void savescores(void)
     219{
     220        FILE *f;
     221        size_t cnt;
     222        int rc;
     223
     224        f = fopen("/tetris.sco", "wb");
     225        cnt = fwrite(scores, sizeof(struct highscore), NUMSPOTS, f);
     226        rc = fclose(f);
     227
     228        if (cnt != NUMSPOTS || rc != 0)
     229                printf("Error saving score table\n");
     230}
     231
    199232/** @}
    200233 */
Note: See TracChangeset for help on using the changeset viewer.