From af857c197b393612bf159ea798009c9b1bf5200a Mon Sep 17 00:00:00 2001 From: lukem Date: Fri, 10 Oct 1997 08:59:32 +0000 Subject: KNF & WARNSify, and only compile common_source once/* (compiles 25% faster) --- backgammon/teachgammon/ttext1.c | 284 ++++++++++++++++++++-------------------- 1 file changed, 143 insertions(+), 141 deletions(-) (limited to 'backgammon/teachgammon/ttext1.c') diff --git a/backgammon/teachgammon/ttext1.c b/backgammon/teachgammon/ttext1.c index 100b5e45..33a96253 100644 --- a/backgammon/teachgammon/ttext1.c +++ b/backgammon/teachgammon/ttext1.c @@ -1,4 +1,4 @@ -/* $NetBSD: ttext1.c,v 1.3 1995/03/21 15:06:17 cgd Exp $ */ +/* $NetBSD: ttext1.c,v 1.4 1997/10/10 08:59:53 lukem Exp $ */ /* * Copyright (c) 1980, 1993 @@ -33,158 +33,160 @@ * SUCH DAMAGE. */ +#include #ifndef lint #if 0 static char sccsid[] = "@(#)ttext1.c 8.1 (Berkeley) 5/31/93"; #else -static char rcsid[] = "$NetBSD: ttext1.c,v 1.3 1995/03/21 15:06:17 cgd Exp $"; +__RCSID("$NetBSD: ttext1.c,v 1.4 1997/10/10 08:59:53 lukem Exp $"); #endif -#endif /* not lint */ +#endif /* not lint */ #include "back.h" +#include "tutor.h" -char *opts = " QIMRHEDSPT"; -char *prompt = "-->"; +char *opts = " QIMRHEDSPT"; +char *prompt = "-->"; -char *list[] = { - "\n\n\tI\tIntroduction to Backgammon", - "\tM\tMoves and Points", - "\tR\tRemoving Men from the Board", - "\tH\tHitting Blots", - "\tE\tEnding the Game and Scoring", - "\tD\tDoubling", - "\tS\tStrategy", - "\tP\tThe Program and How to Use It", - "\nalso, you can type:", - "\t?\tto get this list", - "\tQ\tto go start playing", - "\tT\tto go straight to the tutorial", - 0 +char *list[] = { + "\n\n\tI\tIntroduction to Backgammon", + "\tM\tMoves and Points", + "\tR\tRemoving Men from the Board", + "\tH\tHitting Blots", + "\tE\tEnding the Game and Scoring", + "\tD\tDoubling", + "\tS\tStrategy", + "\tP\tThe Program and How to Use It", + "\nalso, you can type:", + "\t?\tto get this list", + "\tQ\tto go start playing", + "\tT\tto go straight to the tutorial", + 0 }; -char *hello[] = { - "\n\032 These rules consist of text describing how to play Backgammon", - "followed by a tutorial session where you play a practice game", - "against the computer. When using this program, think carefuly", - "before typing, since it reacts as soon as you type something. In", - "addition, the program presents text output, such as these rules,", - "in small blocks that will not roll off the top of the screen.", - "Frequently, you will see the characters '-->' indicating that the", - "program is waiting for you to finish reading, and will continue", - "printing when you type a space or newline. Also, the rules are", - "divided into sections, and although you should read them in or-", - "der, you can go directly to any of them by typing one of the fol-", - "lowing letters:", - "(Remember to hit a space or a newline to continue.)", - "", - 0 +char *hello[] = { + "\n\032 These rules consist of text describing how to play Backgammon", + "followed by a tutorial session where you play a practice game", + "against the computer. When using this program, think carefuly", + "before typing, since it reacts as soon as you type something. In", + "addition, the program presents text output, such as these rules,", + "in small blocks that will not roll off the top of the screen.", + "Frequently, you will see the characters '-->' indicating that the", + "program is waiting for you to finish reading, and will continue", + "printing when you type a space or newline. Also, the rules are", + "divided into sections, and although you should read them in or-", + "der, you can go directly to any of them by typing one of the fol-", + "lowing letters:", + "(Remember to hit a space or a newline to continue.)", + "", + 0 }; -char *intro1[] = { - "\nIntroduction:", - "\n Backgammon is a game involving the skill of two players and", - "the luck of two dice. There are two players, red and white, and", - "each player gets fifteen men. The object of the game is to re-", - "move all your men from the board before the opponent does. The", - "board consists of twenty-four positions, a 'bar' and a 'home' for", - "each player. It looks like this:", - "", - 0}; +char *intro1[] = { + "\nIntroduction:", + "\n Backgammon is a game involving the skill of two players and", + "the luck of two dice. There are two players, red and white, and", + "each player gets fifteen men. The object of the game is to re-", + "move all your men from the board before the opponent does. The", + "board consists of twenty-four positions, a 'bar' and a 'home' for", + "each player. It looks like this:", + "", +0}; -char *intro2[] = { - "", - "\n Although not indicated on the board, the players' homes are", - "located just to the right of the board. A player's men are placed", - "there when they are removed from the board. The board you just", - "saw was in it's initial position. All games start with the board", - "looking like this. Notice that red's pieces are represented by the", - "letter 'r' and white's pieces are represented by the letter 'w'.", - "Also, a position may have zero or more pieces on it, e.g. posi-", - "tion 12 has five red pieces on it, while position 11 does not", - "have any pieces of either color.", - "", - 0}; - -char *moves[] = { - "\nMoves and Points:", - "\n Moves are made along the positions on the board according to", - "their numbers. Red moves in the positive direction (clockwise", - "from 1 to 24), and white moves in the negative direction (coun-", - "terclockwise from 24 to 1).", - "\n A turn consists of rolling the dice, and moving the number of", - "positions indicated on each die. The two numbers can be used to", - "move one man the sum of the two rolls, or two men the number on", - "each individual die. For example, if red rolled 6 3 at the start", - "of the game, he might move a man from 1 to 7 to 10, using both", - "dice for one man, or he might move two men from position 12, one", - "to 15 and one to 18. (Red did not have to choose two men start-", - "ing from the same position.) In addition, doubles are treated", - "specially in backgammon. When a player rolls doubles, he gets to", - "move as if he had four dice instead of two. For instance, if you", - "rolled double 2's, you could move one man eight positions, four", - "men two positions each, or any permutation in between.", - "", - "\n However, there are certain limitations, called 'points.' A", - "player has a point when he has two or more men on the same posi-", - "tion. This gives him custody of that position, and his opponent", - "cannot place his men there, even if passing through on the way to", - "another position. When a player has six points in a row, it is", - "called a 'wall,' since any of his opponent's men behind the wall", - "cannot pass it and are trapped, at least for the moment. Notice", - "that this could mean that a player could not use part or all of", - "his roll. However, he must use as much of his roll as possible.", - "", - 0}; +char *intro2[] = { + "", + "\n Although not indicated on the board, the players' homes are", + "located just to the right of the board. A player's men are placed", + "there when they are removed from the board. The board you just", + "saw was in it's initial position. All games start with the board", + "looking like this. Notice that red's pieces are represented by the", + "letter 'r' and white's pieces are represented by the letter 'w'.", + "Also, a position may have zero or more pieces on it, e.g. posi-", + "tion 12 has five red pieces on it, while position 11 does not", + "have any pieces of either color.", + "", +0}; -char *remove[] = { - "\nRemoving Men from the Board:", - "\n The most important part of the game is removing men, since", - "that is how you win the game. Once a man is removed, he stays", - "off the board for the duration of the game. However, a player", - "cannot remove men until all his men are on his 'inner table,' or", - "the last six positions of the board (19-24 for red, 6-1 for", - "white).", - "\n To get off the board, a player must roll the exact number to", - "get his man one position past the last position on the board, or", - "his 'home.' Hence, if red wanted to remove a man from position", - "23, he would have to roll a 2, anything else would be used for", - "another man, or for another purpose. However, there is one ex-", - "ception. If the player rolling has no men far enough to move the", - "roll made, he may move his farthest man off the board. For exam-", - "ple, if red's farthest man back was on position 21, he could re-", - "move men from that position if he rolled a 5 or a 6, as well as a", - "4. Since he does not have men on 20 (where he could use a 5) or", - "on 19 (where he could use a 6), he can use these rolls for posi-", - "tion 21. A player never has to remove men, but he must make as", - "many moves as possible.", - "", - 0}; - -char *hits[] = { - "\nHitting Blots:", - "\n Although two men on a position form an impenetrable point, a", - "lone man is not so secure. Such a man is called a 'blot' and has", - "the potential of getting hit by an opposing man. When a player's", - "blot is hit, he is placed on the bar, and the first thing that", - "player must do is move the man off the bar. Such moves are", - "counted as if the bar is one position behind the first position", - "on the board. Thus if red has a man on the bar and rolls 2 3, he", - "must move the man on the bar to position 2 or 3 before moving any", - "other man. If white had points on positions 2 and 3, then red", - "would forfeit his turn. Being on the bar is a very bad position,", - "for often a player can lose many turns trying to move off the", - "bar, as well as being set back the full distance of the board.", - "", - 0}; - -char *endgame[] = { - "\nEnding the Game and Scoring:", - "\n Winning a game usually wins one point, the normal value of a", - "game. However, if the losing player has not removed any men yet,", - "then the winning player wins double the game value, called a", - "'gammon.' If the losing player has a player on the bar or on the", - "winner's inner table, then the winner gets triple the game value,", - "which is called a 'backgammon.' (So that's where the name comes", - "from!)", - "", - 0}; +char *moves[] = { + "\nMoves and Points:", + "\n Moves are made along the positions on the board according to", + "their numbers. Red moves in the positive direction (clockwise", + "from 1 to 24), and white moves in the negative direction (coun-", + "terclockwise from 24 to 1).", + "\n A turn consists of rolling the dice, and moving the number of", + "positions indicated on each die. The two numbers can be used to", + "move one man the sum of the two rolls, or two men the number on", + "each individual die. For example, if red rolled 6 3 at the start", + "of the game, he might move a man from 1 to 7 to 10, using both", + "dice for one man, or he might move two men from position 12, one", + "to 15 and one to 18. (Red did not have to choose two men start-", + "ing from the same position.) In addition, doubles are treated", + "specially in backgammon. When a player rolls doubles, he gets to", + "move as if he had four dice instead of two. For instance, if you", + "rolled double 2's, you could move one man eight positions, four", + "men two positions each, or any permutation in between.", + "", + "\n However, there are certain limitations, called 'points.' A", + "player has a point when he has two or more men on the same posi-", + "tion. This gives him custody of that position, and his opponent", + "cannot place his men there, even if passing through on the way to", + "another position. When a player has six points in a row, it is", + "called a 'wall,' since any of his opponent's men behind the wall", + "cannot pass it and are trapped, at least for the moment. Notice", + "that this could mean that a player could not use part or all of", + "his roll. However, he must use as much of his roll as possible.", + "", +0}; + +char *removepiece[] = { + "\nRemoving Men from the Board:", + "\n The most important part of the game is removing men, since", + "that is how you win the game. Once a man is removed, he stays", + "off the board for the duration of the game. However, a player", + "cannot remove men until all his men are on his 'inner table,' or", + "the last six positions of the board (19-24 for red, 6-1 for", + "white).", + "\n To get off the board, a player must roll the exact number to", + "get his man one position past the last position on the board, or", + "his 'home.' Hence, if red wanted to remove a man from position", + "23, he would have to roll a 2, anything else would be used for", + "another man, or for another purpose. However, there is one ex-", + "ception. If the player rolling has no men far enough to move the", + "roll made, he may move his farthest man off the board. For exam-", + "ple, if red's farthest man back was on position 21, he could re-", + "move men from that position if he rolled a 5 or a 6, as well as a", + "4. Since he does not have men on 20 (where he could use a 5) or", + "on 19 (where he could use a 6), he can use these rolls for posi-", + "tion 21. A player never has to remove men, but he must make as", + "many moves as possible.", + "", +0}; + +char *hits[] = { + "\nHitting Blots:", + "\n Although two men on a position form an impenetrable point, a", + "lone man is not so secure. Such a man is called a 'blot' and has", + "the potential of getting hit by an opposing man. When a player's", + "blot is hit, he is placed on the bar, and the first thing that", + "player must do is move the man off the bar. Such moves are", + "counted as if the bar is one position behind the first position", + "on the board. Thus if red has a man on the bar and rolls 2 3, he", + "must move the man on the bar to position 2 or 3 before moving any", + "other man. If white had points on positions 2 and 3, then red", + "would forfeit his turn. Being on the bar is a very bad position,", + "for often a player can lose many turns trying to move off the", + "bar, as well as being set back the full distance of the board.", + "", +0}; + +char *endgame[] = { + "\nEnding the Game and Scoring:", + "\n Winning a game usually wins one point, the normal value of a", + "game. However, if the losing player has not removed any men yet,", + "then the winning player wins double the game value, called a", + "'gammon.' If the losing player has a player on the bar or on the", + "winner's inner table, then the winner gets triple the game value,", + "which is called a 'backgammon.' (So that's where the name comes", + "from!)", + "", +0}; -- cgit v1.2.3-56-ge451