|
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 p
Length: 1181 (0x49d) Types: TextFile Names: »pegs.c«
└─⟦b20c6495f⟧ Bits:30007238 EUUGD18: Wien-båndet, efterår 1987 └─⟦this⟧ »EUUGD18/General/Nobs/pegs.c«
#include "defs.h" #include "globs.h" #include "window.h" int pegcol(n) int n; { if (n==0) return 0; else if (n<31) return n+(n+4)/5; else return 74-n-(n+4)/5; } resetpegs() { int i, j; for (i=0; i<2; i++) for (j=0; j<2; j++) { if (peg[i][j] != 0) { mvwaddch(Board, 2*i, pegcol(peg[i][j]), ':'); peg[i][j] = 0; } } for (i=0; i<2; i++) mvwaddch(Board, 2*i, 0, '|'); wrefresh(Board); } setpegs(who) PLAYER who; { /* * The first peg in the array is the forward peg. */ /* Pick up the hindward peg. */ if (peg[who][0] == 0) mvwaddch(Board, 2*who, 0, who? '!': ';'); else if (peg[who][1] + peg[who][0] == 61) mvwaddch(Board, 2*who, pegcol(peg[who][1]), (peg[who][1]>30)==who? ';': '!'); else mvwaddch(Board, 2*who, pegcol(peg[who][1]), ':'); /* * Put it down again. */ peg[who][1] = peg[who][0]; if (score[who] > 120) peg[who][0] = 0; else peg[who][0] = 1+(score[who]-1)%60; if (peg[who][0]==0) mvwaddch(Board, 2*who, 0, who? '!': ';'); else if (peg[who][0] + peg[who][1] == 61) mvwaddch(Board, 2*who, pegcol(peg[who][0]), '|'); else mvwaddch(Board, 2*who, pegcol(peg[who][0]), (peg[who][0]>30)==who? '!': ';'); wrefresh(Board); sleep(1); }