|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T s
Length: 1414 (0x586) Types: TextFile Names: »score.c«
└─⟦87ddcff64⟧ Bits:30001253 CPHDIST85 Tape, 1985 Autumn Conference Copenhagen └─⟦this⟧ »cph85dist/search/score.c« └─⟦b20c6495f⟧ Bits:30007238 EUUGD18: Wien-båndet, efterår 1987 └─⟦this⟧ »EUUGD18/General/Search/score.c«
#ifndef lint static char rcsid[] = "$Header: score.c,v 2.1 85/04/10 17:31:40 matt Stab $"; #endif /* * * search * * multi-player and multi-system search and destroy. * * Original by Dave Pare 1983 * Ported & improved * by Matt Crawford 1985 * * routine to update player scores, formerly handled in * search.c, but now moved to the daemon's care. * * Copyright (c) 1983 * * $Log: score.c,v $ * Revision 2.1 85/04/10 17:31:40 matt * Major de-linting and minor restructuring. * */ #include <stdio.h> #include <sys/types.h> #include <sys/file.h> #include "defines.h" #include "structs.h" void putplayer(p) register t_player *p; { extern long lseek(); extern char *strcpy(); extern int pfd; int index; int found; t_totals entry; found = 0; (void)lseek(pfd, 0L, 0); for (index=0; read(pfd, (char *)&entry, sizeof(t_totals)) > 0; index++) if (!strcmp(p->plname, entry.ptname)) { found++; break; } if (!found) { bzero((char *)&entry, sizeof(entry)); strcpy(entry.ptname, p->plname); } else (void)lseek(pfd, (long)(index * sizeof(t_totals)), 0); if (p->status.killed == TRUE) entry.ptkilled++; if (entry.ptbest < p->points) entry.ptbest = p->points; entry.ptpoints += p->points; entry.ptgames++; entry.pthits += p->phits; entry.ptkills += p->pkills; entry.ptahits += p->ahits; entry.ptlast = p->points; write(pfd, (char *)&entry, sizeof(t_totals)); }