'=========================================================================== ' Subject: TWO PLAYER XO GAME Date: 03-25-98 (00:20) ' Author: Andrey Berezansky Code: QB, QBasic, PDS ' Origin: nikol@cs.bgu.ac.il Packet: GAMES.ABC '=========================================================================== ' Very simple & small X0 game . ' Programed by Berezansky Andrey . Email - nikol@cs.bgu.ac.il ' Date ?/01/98 . SCREEN 9 CLS LOCATE 10, 10: PRINT "1 2 3" LOCATE 12, 9: PRINT "4 6" LOCATE 14, 10: PRINT "7 8 9" LINE (100, 142)-(100, 179), 3 LINE (117, 142)-(117, 179), 3 LINE (87, 153)-(130, 153), 3 LINE (87, 166)-(130, 166), 3 DIM a(3, 3) LOCATE 1, 10: PRINT "Press numbers 1-9" DO WHILE exitt = 0 LOCATE 5, 10: PRINT "Player 1": player = 1 GOSUB selectt GOSUB exam GOSUB printt game = game + 1: IF game = 9 THEN GOTO drow LOCATE 5, 10: PRINT "Player 2": player = 2 GOSUB selectt GOSUB exam GOSUB printt game = game + 1: IF game = 9 THEN GOTO drow LOOP END selectt: DO WHILE exit2 = 0 SELECT CASE INKEY$ CASE "1" IF a(1, 1) = 0 THEN a(1, 1) = player: exit2 = 1 CASE "2" IF a(1, 2) = 0 THEN a(1, 2) = player: exit2 = 1 CASE "3" IF a(1, 3) = 0 THEN a(1, 3) = player: exit2 = 1 CASE "4" IF a(2, 1) = 0 THEN a(2, 1) = player: exit2 = 1 CASE "5" IF a(2, 2) = 0 THEN a(2, 2) = player: exit2 = 1 CASE "6" IF a(2, 3) = 0 THEN a(2, 3) = player: exit2 = 1 CASE "7" IF a(3, 1) = 0 THEN a(3, 1) = player: exit2 = 1 CASE "8" IF a(3, 2) = 0 THEN a(3, 2) = player: exit2 = 1 CASE "9" IF a(3, 3) = 0 THEN a(3, 3) = player: exit2 = 1 END SELECT LOOP exit2 = 0 RETURN exam: FOR i = 1 TO 3 IF a(i, 1) = player AND a(i, 2) = player AND a(i, 3) = player THEN GOTO win IF a(1, i) = player AND a(2, i) = player AND a(3, i) = player THEN GOTO win NEXT IF a(1, 1) = player AND a(2, 2) = player AND a(3, 3) = player THEN GOTO win IF a(1, 3) = player AND a(2, 2) = player AND a(3, 1) = player THEN GOTO win RETURN printt: FOR i = 1 TO 3 FOR ii = 1 TO 3 IF a(i, ii) = 1 THEN LOCATE i + 10, ii * 2 + 10: PRINT "X" IF a(i, ii) = 2 THEN LOCATE i + 10, ii * 2 + 10: PRINT "0" NEXT NEXT LINE (100, 142)-(100, 179), 3 LINE (117, 142)-(117, 179), 3 LINE (87, 153)-(130, 153), 3 LINE (87, 166)-(130, 166), 3 RETURN win: GOSUB printt LOCATE 8, 10: PRINT "PLAYER "; player; " WINE THE GAME !" END drow: LOCATE 8, 10: PRINT "DROW !!!" END