Subversion Repositories HelenOS

Rev

Rev 4263 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4263 Rev 4327
Line 115... Line 115...
115
/** Copy from hiscore table score with index src to dest
115
/** Copy from hiscore table score with index src to dest
116
 *
116
 *
117
 */
117
 */
118
static void copyhiscore(int dest, int src)
118
static void copyhiscore(int dest, int src)
119
{
119
{
120
    strcpy(scores[dest].hs_name, scores[src].hs_name);
120
    str_cpy(scores[dest].hs_name, STR_BOUNDS(MAXLOGNAME) + 1,
-
 
121
        scores[src].hs_name);
121
    scores[dest].hs_score = scores[src].hs_score;  
122
    scores[dest].hs_score = scores[src].hs_score;  
122
    scores[dest].hs_level = scores[src].hs_level;
123
    scores[dest].hs_level = scores[src].hs_level;
123
}
124
}
124
 
125
 
125
void insertscore(int score, int level)
126
void insertscore(int score, int level)
Line 129... Line 130...
129
    kbd_event_t ev;
130
    kbd_event_t ev;
130
   
131
   
131
    clear_screen();
132
    clear_screen();
132
    moveto(10 , 10);
133
    moveto(10 , 10);
133
    puts("Insert your name: ");
134
    puts("Insert your name: ");
134
    strncpy(scores[NUMSPOTS - 1].hs_name, "Player", MAXLOGNAME);
135
    str_cpy(scores[NUMSPOTS - 1].hs_name, STR_BOUNDS(MAXLOGNAME) + 1,
-
 
136
        "Player");
135
    i = 6; off = 6;
137
    i = 6; off = 6;
136
 
138
 
137
    moveto(10 , 28);
139
    moveto(10 , 28);
138
    printf("%s%.*s",scores[NUMSPOTS - 1].hs_name,MAXLOGNAME-i,"........................................");
140
    printf("%s%.*s",scores[NUMSPOTS - 1].hs_name,MAXLOGNAME-i,"........................................");
139
 
141
 
Line 193... Line 195...
193
 
195
 
194
void initscores(void)
196
void initscores(void)
195
{
197
{
196
    int i;
198
    int i;
197
    for(i = 0; i < NUMSPOTS; i++) {
199
    for(i = 0; i < NUMSPOTS; i++) {
198
        strncpy(scores[i].hs_name, "HelenOS Team", MAXLOGNAME);
200
        str_cpy(scores[i].hs_name, STR_BOUNDS(MAXLOGNAME) + 1, "HelenOS Team");
199
        scores[i].hs_score = (NUMSPOTS - i) * 200; 
201
        scores[i].hs_score = (NUMSPOTS - i) * 200; 
200
        scores[i].hs_level = (i + 1 > MAXLEVEL?MAXLEVEL:i + 1);
202
        scores[i].hs_level = (i + 1 > MAXLEVEL?MAXLEVEL:i + 1);
201
    }
203
    }
202
}
204
}
203
 
205
 
Line 287... Line 289...
287
/*   * Otherwise add new score at end (there is always room). */
289
/*   * Otherwise add new score at end (there is always room). */
288
/*   *\/ */
290
/*   *\/ */
289
/*  change = 0; */
291
/*  change = 0; */
290
/*  me = thisuser(); */
292
/*  me = thisuser(); */
291
/*  for (i = 0, sp = &scores[0]; i < nscores; i++, sp++) { */
293
/*  for (i = 0, sp = &scores[0]; i < nscores; i++, sp++) { */
292
/*      if (sp->hs_level != level || strcmp(sp->hs_name, me) != 0) */
294
/*      if (sp->hs_level != level || str_cmp(sp->hs_name, me) != 0) */
293
/*          continue; */
295
/*          continue; */
294
/*      if (score > sp->hs_score) { */
296
/*      if (score > sp->hs_score) { */
295
/*          (void)printf("%s bettered %s %d score of %d!\n", */
297
/*          (void)printf("%s bettered %s %d score of %d!\n", */
296
/*              "\nYou", "your old level", level, */
298
/*              "\nYou", "your old level", level, */
297
/*              sp->hs_score * sp->hs_level); */
299
/*              sp->hs_score * sp->hs_level); */
Line 415... Line 417...
415
/*  for (i = 0, sp = hs; i < num;) { */
417
/*  for (i = 0, sp = hs; i < num;) { */
416
/*      /\* */
418
/*      /\* */
417
/*       * This is O(n^2), but do you think we care? */
419
/*       * This is O(n^2), but do you think we care? */
418
/*       *\/ */
420
/*       *\/ */
419
/*      for (j = 0, pu = count; j < numnames; j++, pu++) */
421
/*      for (j = 0, pu = count; j < numnames; j++, pu++) */
420
/*          if (strcmp(sp->hs_name, pu->name) == 0) */
422
/*          if (str_cmp(sp->hs_name, pu->name) == 0) */
421
/*              break; */
423
/*              break; */
422
/*      if (j == numnames) { */
424
/*      if (j == numnames) { */
423
/*          /\* */
425
/*          /\* */
424
/*           * Add new user, set per-user count to 1. */
426
/*           * Add new user, set per-user count to 1. */
425
/*           *\/ */
427
/*           *\/ */
Line 552... Line 554...
552
/*       * we only get one score per level. */
554
/*       * we only get one score per level. */
553
/*       *\/ */
555
/*       *\/ */
554
/*      if (me != NULL && */
556
/*      if (me != NULL && */
555
/*          sp->hs_level == level && */
557
/*          sp->hs_level == level && */
556
/*          sp->hs_score == score && */
558
/*          sp->hs_score == score && */
557
/*          strcmp(sp->hs_name, me) == 0) { */
559
/*          str_cmp(sp->hs_name, me) == 0) { */
558
/*          putpad(SOstr); */
560
/*          putpad(SOstr); */
559
/*          highlight = 1; */
561
/*          highlight = 1; */
560
/*      } */
562
/*      } */
561
/*      (void)printf("%s", buf); */
563
/*      (void)printf("%s", buf); */
562
/*      if (highlight) { */
564
/*      if (highlight) { */