Battle

Date: 198
Type: Program
Platform(s): TS 2068

Checkers like game.

Appears on

One of a series of library tapes. Programs on these tapes were renamed to a number series. This tape contained programs 20083 to 20120. These tapes were compiled by Tony Willing.

Gallery

Battle

Source Code

    6 DIM B$(10,11)
   10 LET B$(1)="\.'123456789\'."
   20 LET B$(2)="1X\::X\::X\::X\::X1"
   30 LET B$(3)="2\::X\::X\::X\::X\::2"
   40 LET B$(4)="3X\::X\::X\::X\::X3"
   50 LET B$(5)="4\::X\::X\::X\::X\::4"
   60 LET B$(6)="5 \:: \:: \:: \:: 5"
   70 LET B$(7)="6\::O\::O\::O\::O\::6"
   80 LET B$(8)="7O\::O\::O\::O\::O7"
   90 LET B$(9)="8\::O\::O\::O\::O\::8"
  100 LET B$(10)="\'.123456789\.'"
  102 LET HS=0
  105 LET CS=0
  110 DIM S$(12,13)
  115 FOR A=1 TO 10
  117 LET C$=B$(A)
  120 FOR B=1 TO 11
  125 LET S$(A,B)=C$(B TO )(1)
  130 NEXT B
  132 NEXT A
  135 IF RND>.5 THEN GO TO 150
  140 LET S$(5,5)="X"
  141 LET S$(5,7)=" "
  150 GO SUB 1130
  155 PRINT 
  157 IF CS=6 THEN PRINT "I WIN ";SW
  160 PRINT AT 15,0;"FROM?"
  165 INPUT MOVE
  166 PRINT AT 15,4;" ";MOVE;" TO?"
  167 LET A=INT (MOVE/10)
  168 LET B=MOVE-10*A
  170 INPUT MOVE
  171 PRINT AT 15,0;"                     "
  172 LET C=INT (MOVE/10)
  175 LET D=MOVE-10*C
  180 IF ABS (A-C)<>1 OR ABS (B-D)<>1 THEN GO TO 160
  190 IF S$(C+1)(D+1)="X" THEN LET HS=HS+1
  210 LET S$(A+1)(B+1)=" "
  221 LET S$(C+1)(D+1)="O"
  240 GO SUB 1130
  245 IF HS=6 THEN PRINT "YOU WIN ";SW
  250 LET A$="O"
  255 GO SUB 1000
  257 IF FL=1 THEN GO TO 300
  260 LET A$=" "
  265 GO SUB 1000
  300 LET S$(E)(F)=" "
  305 IF S$(E+G)(F+H)="O" THEN LET CS=CS+1
  310 LET S$(E+G)(F+H)="X"
  320 GO TO 150
 1000 LET E=2
 1001 LET F=2
 1002 LET G=0
 1003 LET H=0
 1010 LET FL=0
 1020 IF S$(E)(F)<>"X" THEN GO TO 1100
 1040 IF S$(E+1)(F+1)=A$ OR S$(E+1)(F-1)=A$ THEN LET G=1
 1050 IF S$(E+1)(F+1)=A$ OR S$(E-1)(F+1)=A$ THEN LET H=1
 1060 IF S$(E-1)(F+1)=A$ OR S$(E-1)(F-1)=A$ THEN LET G=-1
 1070 IF S$(E+1)(F-1)=A$ OR S$(E-1)(F-1)=A$ THEN LET H=-1
 1080 IF G<>0 AND H<>0 THEN LET FL=1
 1085 IF FL=1 THEN RETURN 
 1100 LET E=E+1
 1101 IF E>10 THEN LET F=F+1
 1102 IF E>10 THEN LET E=2
 1110 IF F>11 THEN RETURN 
 1120 GO TO 1010
 1129 STOP 
 1130 PRINT AT 0,0;
 1132 FOR A=1 TO 10
 1135 PRINT 
 1140 FOR B=1 TO 11
 1145 PRINT S$(a,b);
 1150 NEXT B
 1155 NEXT A
 1160 PRINT 
 1165 PRINT 
 1170 PRINT "ME: ";Cs;"   YOU:  ";HS
 1180 RETURN 
 2000 SAVE "BATTLE"
 2010 STOP 

People

No people associated with this content.

Scroll to Top