Bug #1491 ยป backgammon.diff
games/backgammon/backgammon/Makefile | ||
---|---|---|
# $DragonFly: src/games/backgammon/backgammon/Makefile,v 1.4 2006/10/08 16:22:35 pavalos Exp $
|
||
|
||
PROG= backgammon
|
||
CFLAGS+=-DV7 -I${.CURDIR}/../common_source
|
||
CFLAGS+=-I${.CURDIR}/../common_source
|
||
SRCS= allow.c board.c check.c extra.c fancy.c init.c main.c move.c \
|
||
odds.c one.c save.c subs.c table.c text.c version.c
|
||
MAN= backgammon.6
|
games/backgammon/backgammon/main.c | ||
---|---|---|
*/
|
||
|
||
#include <stdio.h>
|
||
#include <termcap.h>
|
||
#include <unistd.h>
|
||
#include <string.h>
|
||
#include <stdlib.h>
|
||
#include <signal.h>
|
||
#include "back.h"
|
||
|
||
... | ... | |
};
|
||
|
||
static const char rules[] = "\nDo you want the rules of the game?";
|
||
static const char noteach[] = "Teachgammon not available!\n\007";
|
||
static const char noteach[] = "Teachgammon not available!\n\a";
|
||
static const char need[] = "Do you need instructions for this program?";
|
||
static const char askcol[] =
|
||
"Enter 'r' to play red, 'w' to play white, 'b' to play both:";
|
||
... | ... | |
bflag = 2; /* default no board */
|
||
acnt = 1; /* Nuber of args */
|
||
signal (SIGINT,(sig_t)getout); /* trap interrupts */
|
||
if (ioctl(0, TIOCGETP, &tty) == -1) /* get old tty mode */
|
||
errexit ("backgammon(gtty)");
|
||
old = tty.sg_flags;
|
||
#ifdef V7
|
||
raw = ((noech = old & ~ECHO) | CBREAK); /* set up modes */
|
||
#else
|
||
raw = ((noech = old & ~ECHO) | RAW); /* set up modes */
|
||
#endif
|
||
if (tcgetattr (0,&tty) == -1) /* get old tty mode */
|
||
errexit ("backgammon(tcgetattr)");
|
||
old = tty.c_lflag;
|
||
raw = ((noech = old & ~ECHO) & ~ICANON); /* set up modes */
|
||
ospeed = cfgetospeed(&tty); /* for termlib */
|
||
|
||
/* get terminal
|
||
* capabilities, and
|
||
... | ... | |
getarg (argc, argv);
|
||
args[acnt] = NULL;
|
||
if (tflag) { /* clear screen */
|
||
noech &= ~(CRMOD|XTABS);
|
||
raw &= ~(CRMOD|XTABS);
|
||
noech &= ~(ICRNL|OXTABS);
|
||
raw &= ~(ICRNL|OXTABS);
|
||
clear();
|
||
}
|
||
fixtty (raw); /* go into raw mode */
|
games/backgammon/common_source/back.h | ||
---|---|---|
* $DragonFly: src/games/backgammon/common_source/back.h,v 1.2 2006/08/08 16:36:11 pavalos Exp $
|
||
*/
|
||
|
||
#include <sgtty.h>
|
||
#include <termios.h>
|
||
#include <stdlib.h>
|
||
#include <unistd.h>
|
||
|
||
... | ... | |
extern const char *const *Colorptr; /* color of current player, capitalized */
|
||
extern int colen; /* length of color of current player */
|
||
|
||
extern struct sgttyb tty; /* tty information buffer */
|
||
extern struct termios tty; /* tty information buffer */
|
||
extern int old; /* original tty status */
|
||
extern int noech; /* original tty status without echo */
|
||
extern int raw; /* raw tty status, no echo */
|
games/backgammon/common_source/save.c | ||
---|---|---|
writel (prompt);
|
||
fs = fname;
|
||
while ((*fs = readc()) != '\n') {
|
||
if (*fs == tty.sg_erase) {
|
||
if (*fs == tty.c_cc[2]) {
|
||
if (fs > fname) {
|
||
fs--;
|
||
if (tflag)
|
games/backgammon/common_source/subs.c | ||
---|---|---|
*/
|
||
|
||
#include <stdio.h>
|
||
#include <stdlib.h>
|
||
#include <string.h>
|
||
#include "back.h"
|
||
|
||
... | ... | |
if (tflag)
|
||
newpos();
|
||
buflush();
|
||
tty.sg_flags = mode;
|
||
if (ioctl(0, TIOCSETP, &tty) < 0)
|
||
tty.c_lflag = mode;
|
||
if (tcsetattr (0,TCSANOW,&tty) < 0)
|
||
errexit("fixtty");
|
||
}
|
||
|
games/backgammon/common_source/table.c | ||
---|---|---|
}
|
||
}
|
||
|
||
if (c == tty.sg_erase && ncin > 0) {
|
||
if (c == tty.c_cc[2] && ncin > 0) {
|
||
if (tflag)
|
||
curmove (curr,curc-1);
|
||
else {
|
||
if (tty.sg_erase == '\010')
|
||
if (tty.c_cc[2] == '\010')
|
||
writel ("\010 \010");
|
||
else
|
||
writec (cin[ncin-1]);
|
||
... | ... | |
goto domove;
|
||
}
|
||
|
||
if (c == tty.sg_kill && ncin > 0) {
|
||
if (c == tty.c_cc[3] && ncin > 0) {
|
||
if (tflag) {
|
||
refresh();
|
||
curmove (curr,39);
|
||
ist = -1;
|
||
goto domove;
|
||
} else if (tty.sg_erase == '\010') {
|
||
} else if (tty.c_cc[2] == '\010') {
|
||
for (j = 0; j < ncin; j++)
|
||
writel ("\010 \010");
|
||
ist = -1;
|
games/backgammon/teachgammon/Makefile | ||
---|---|---|
# $DragonFly: src/games/backgammon/teachgammon/Makefile,v 1.3 2006/10/08 16:22:35 pavalos Exp $
|
||
|
||
PROG= teachgammon
|
||
CFLAGS+=-DTEACHGAMMON_TEXT -DV7 -I${.CURDIR}/../common_source
|
||
CFLAGS+=-DTEACHGAMMON_TEXT -I${.CURDIR}/../common_source
|
||
SRCS= allow.c board.c check.c data.c fancy.c init.c odds.c one.c save.c \
|
||
subs.c table.c teach.c ttext1.c ttext2.c tutor.c
|
||
DPADD= ${LIBTERMCAP}
|
games/backgammon/teachgammon/teach.c | ||
---|---|---|
|
||
#include <string.h>
|
||
#include <sys/types.h>
|
||
#include <termcap.h>
|
||
#include <unistd.h>
|
||
#include <signal.h>
|
||
#include "back.h"
|
||
#include "tutor.h"
|
||
... | ... | |
|
||
acnt = 1;
|
||
signal (SIGINT,(sig_t)getout);
|
||
if (ioctl(0,TIOCGETP,&tty) == -1) /* get old tty mode */
|
||
errexit ("teachgammon(gtty)");
|
||
old = tty.sg_flags;
|
||
#ifdef V7
|
||
raw = ((noech = old & ~ECHO) | CBREAK); /* set up modes */
|
||
#else
|
||
raw = ((noech = old & ~ECHO) | RAW); /* set up modes */
|
||
#endif
|
||
if (tcgetattr (0,&tty) == -1) /* get old tty mode */
|
||
errexit ("teachgammon(tcgetattr)");
|
||
old = tty.c_lflag;
|
||
raw = ((noech = old & ~ECHO) & ~ICANON); /* set up modes */
|
||
ospeed = cfgetospeed(&tty); /* for termlib */
|
||
tflag = getcaps (getenv ("TERM"));
|
||
getarg (argc, argv);
|
||
if (tflag) {
|
||
noech &= ~(CRMOD|XTABS);
|
||
raw &= ~(CRMOD|XTABS);
|
||
noech &= ~(ICRNL|OXTABS);
|
||
raw &= ~(ICRNL|OXTABS);
|
||
clear();
|
||
}
|
||
text (hello);
|