'=========================================================================== ' Subject: GUESSING GAME BETWEEN COMPUTERS Date: 01-04-98 (22:01) ' Author: Bert van Dam Code: QB, QBasic, PDS ' Origin: bd1rsd@usa.net Packet: MISC.ABC '=========================================================================== 'TWO part snippet ' Save first part as MASTER.BAS ' Save second part as PLAYER.BAS ' Run MASTER.BAS 'Ever wonder what your programs do when they get really bored? They play a 'number guessing game with eachother. These two programs do exactly that. 'Before running the master program check both master and player to see 'wether the propper path statements have been used. 'Then start the master and see him play a game with the player by chaining 'to eachother. ----start of master program---- 'This set of programs plays a number guessing game with eachother. Data 'is being transferred between the programs by common variables. Both 'programs chain to eachother. I guess this is what happens when your 'computer programs get really bored :)) 'Nov 1997, Bert van Dam, donated to the Public Domain. I can be reached 'in the QUIK_BAS area, Fido 2:285/750.16 or the inet bd1rsd@usa.net COMMON NoTimes, LowGues, HighGues, Gues, Number, Result, Won RANDOMIZE TIMER IF Won = 1 THEN COLOR 15, 0 END END IF COLOR 3, 0 PRINT "MASTER: "; SELECT CASE NoTimes CASE 0 CLS COLOR 15, 0 PRINT " ---===[ Two programs playing with eachother ]===---" PRINT COLOR 3, 0 PRINT "MASTER: Do you want to play a game?" CHAIN "player.bas" CASE 1 PRINT "Very well. Guess the number I have in mind..." Number = INT(RND(1) * 100) + 1 CHAIN "player.bas" CASE 2 IF INT(Gues) = Number THEN PRINT "Congratulations, you have won!" Won = 1 CHAIN "c:\qb45\games\player.bas" END IF IF INT(Gues) > Number THEN PRINT "Too high..." Result = 1 CHAIN "c:\qb45\games\player.bas" ELSE PRINT "Too low..." Result = -1 CHAIN "c:\qb45\games\player.bas" END IF END SELECT END ----end of master program---- ----start of player program---- 'This is the player program. You must start the master program first! 'Nov 1997, Bert van Dam, donated to the Public Domain COMMON NoTimes, LowGues, HighGues, Gues, Number, Result, Won COLOR 2, 0 PRINT "PLAYER: "; SELECT CASE NoTimes CASE 0 PRINT "Yes" NoTimes = 1 CHAIN "master.bas" CASE 1 PRINT "Ok, my gues is 50" Gues = 50 LowGues = 1 HighGues = 100 NoTimes = 2 CHAIN "master.bas" CASE 2 IF Won = 1 THEN PRINT "Wow, I'm great!" CHAIN "master.bas" END IF IF Result = 1 THEN 'too high HighGues = Gues ELSE 'too low LowGues = Gues END IF Gues = (LowGues + HighGues) / 2 PRINT "My gues is "; INT(Gues) CHAIN "master.bas" END SELECT END ----end of player program----