+OLD CS1 Posted March 15, 2018 Share Posted March 15, 2018 Recovered from tape is one of COMPUTE! Magazine's original type-in program, Tug-a-War. Published in Issue 71, April 1986, Pp. 42-50. Article text here. "Nearly everyone has played tug of war at one time or another. The traditional game pits two players or teams at opposite ends of a rope. At the middle of the rope is a flag, and each side tries to pull the flag into its territory. "Tug-a-War" is based on a similar concept. In this version, the flag is replaced with a round ball shape, and each player tries to maneuver the ball onto his or her side of the screen. Like many two-player games, the difficulty of Tug-a-War depends somewhat on the intelligence of your opponent. But even at the simplest level, you'll find that skill and foresight are essential to success." Attached is the program file and program listing. Full listing below. Oh, the days of the magazine type-in program! 1 REM * TUG-A-WAR 2 REM * COMPUTE! 100 GOTO 150 110 FOR I=1 TO LEN(A$) 120 CALL HCHAR(R,C+I,ASC(SEG$(A$,I,1))) 130 NEXT I 140 RETURN 150 RANDOMIZE 160 CALL COLOR(14,1,7) 170 CALL SCREEN(2) 180 PC(0)=5 190 PC(1)=7 200 P$(0)="BLUE" 210 P$(1)="RED" 220 Y$(0)="<- 1 2 3 4 5 6 7 8 9 " 230 Y$(1)=" 9 8 7 6 5 4 3 2 1 ->" 240 KHAR(0)=0 250 KHAR(10)=5 260 FOR I=96 TO 136 STEP 8 270 CALL CHAR(I,"0000000000000000") 280 CALL CHAR(I+1,"0F0F0F0F0F0F0F0F") 290 CALL CHAR(I+2,"3078FCFCFC7830") 300 CALL CHAR(I+3,"0010301010101038") 310 CALL CHAR(I+4,"003844040810207C") 320 NEXT I 330 PS=5 340 PL=0 350 BP=17 360 CALL CLEAR 370 GOSUB 1000 380 PRINT TAB(11);"TUG-A-WAR" 385 PRINT 390 PRINT " < << > >>" 400 B$=CHR$(128)&CHR$(128)&CHR$(129) 410 PRINT TAB(9);"hhippq xxy";B$ 420 PRINT TAB(9);"hkiptq x{y";CHR$(128);CHR$(132);CHR$(129) 430 PRINT TAB(9);"hhippq xxy";B$ 440 PRINT 450 PRINT TAB(11);"<-";TAB(18);"->" 460 FOR I=1 TO 15 470 PRINT 480 NEXT I 490 FOR I=1 TO 9 500 RANDOMIZE 510 KHAR(I)=INT(4*RND)+1 520 NEXT I 530 FOR R=13 TO 15 540 CALL HCHAR(R,2,96,2) 550 FOR I=1 TO 9 560 KH=96+KHAR(I)*8 570 CALL HCHAR(R,I*3+1,KH) 580 CALL HCHAR(R,I*3+2,KH) 590 CALL HCHAR(R,I*3+3,KH+1) 600 NEXT I 610 CALL HCHAR(R,31,136,2) 620 NEXT R 630 CALL HCHAR(14,BP,96+KHAR(PS)*8+2) 640 IF (PS=0)+(PS=10)THEN 1180 650 A$=Y$(PL) 660 R=17 670 C=1 680 GOSUB 110 690 CALL HCHAR(24,17,32) 700 A$=P$(PL)&"'S TURN " 710 R=20 720 C=11 730 GOSUB 110 740 R=22 750 C=14 760 A$="(1-9)" 770 GOSUB 110 780 GOSUB 1020 790 CALL KEY(0,K,H) 800 IF H=0 THEN 790 810 IF (K<49)+(K>57)THEN 790 820 AN=K-48 830 CALL HCHAR(24,17,K) 840 IF PL=0 THEN 890 850 AN=10-AN 860 S=AN 870 E=9 880 GOTO 910 890 S=1 900 E=AN 910 GOSUB 1100 920 FOR Q=S TO E 930 IF KHAR(Q)<>4 THEN 960 940 KHAR(Q)=1 950 GOTO 970 960 KHAR(Q)=KHAR(Q)+1 970 NEXT Q 980 PL=-(PL=0) 990 GOTO 530 1000 CALL COLOR(9,1,5) 1010 CALL COLOR(14,1,7) 1020 FOR I=1 TO 8 1030 CALL COLOR(I,PC(PL),2) 1040 NEXT I 1050 CALL COLOR(10,PC(PL),16) 1060 CALL COLOR(11,PC(PL),11) 1070 CALL COLOR(12,PC(PL), 1080 CALL COLOR(13,PC(PL),14) 1090 RETURN 1100 IF ((AN<PS)*(PL=0))+(AN>PS)*(PL=1)THEN 1170 1110 A=(KHAR(PS)=1)+(KHAR(PS)=2)*2-(KHAR(PS)=3)-(KHAR(PS)=4)*2 1120 BP=BP+A*3 1130 PS=PS+A 1140 IF (PS>0)*(PS<10)THEN 1170 1150 PS=-(PS=-1)+(PS=11)+PS 1160 BP=-(BP<5)*3-(BP>29)*31 1170 RETURN 1180 R=14 1190 C=7 1200 A$=P$(-(PS=10))&" IS THE WINNER!" 1210 GOSUB 110 1220 A$="LIKE TO PLAY AGAIN(Y/N)?" 1230 R=24 1240 C=4 1250 GOSUB 110 1260 CALL KEY(0,K,H) 1270 IF H=0 THEN 1260 1280 IF (K<>78)*(K<>89)THEN 1260 1290 IF K=89 THEN 330 1300 CALL CLEAR 1310 END TUG-A-WAR.zip 6 Quote Link to comment Share on other sites More sharing options...
+OLD CS1 Posted March 15, 2018 Author Share Posted March 15, 2018 Another tape rescue, Goblin, from Issue 38, July 1983, Pp. 64-75. Article text here. "In "Goblin" (for the unexpanded VIC, 64, Atari, TI, and Apple) custom characters are used to create a simple yet entertaining game. The object is to capture the scowling creatures with your goblin while avoiding the many block-shaped obstacles that lie in your path." Attached are the program file and listing. 100 RANDOMIZE 110 GOTO 170 120 FOR I=1 TO LEN(H$) 130 R=ASC(SEG$(H$,I,1)) 140 CALL HCHAR(ROW,XCOL+I,R) 150 NEXT I 160 RETURN 170 A=96 180 B=97 190 C=104 200 D=105 210 Z=24 220 COL=16 230 W=0 240 G=0 250 S=J 260 CALL CLEAR 270 IF S>HS THEN 290 280 GOTO 300 290 HS=S 300 GOSUB 1270 310 CALL SCREEN(16) 320 PRINT " G O B L I N" 330 PRINT 340 PRINT " HS : " 350 FOR I=1 TO 19 360 PRINT 370 NEXT I 380 PRINT "O=LEFT P=RIGHT"; 390 ROW=4 400 XCOL=17 410 H$=STR$(HS) 420 GOSUB 120 430 FOR I=1 TO 80 440 X=INT(RND*30)+2 450 Y=INT(RND*16)+6 460 CALL GCHAR(Y,X,L) 470 IF L=B THEN 440 480 CALL HCHAR(Y,X,B) 490 NEXT I 500 FOR I=1 TO 27 510 X=INT(RND*30)+2 520 Y=INT(RND*16)+6 530 CALL GCHAR(Y,X,L) 540 IF (L=B)+(L=C)+(L=D)THEN 510 550 CALL GCHAR(Y+1,X-1,L) 560 CALL GCHAR(Y+1,X,M) 570 CALL GCHAR(Y+1,X+1,N) 580 IF (L<>B)+(M<>B)+(N<>B)THEN 620 590 CALL HCHAR(Y,X,D) 600 G=G+1 610 GOTO 630 620 CALL HCHAR(Y,X,C) 630 NEXT I 640 CALL SOUND(100,500,6) 650 CALL HCHAR(Z,COL,32) 660 IF L<>C THEN 680 670 CALL SOUND(10,880,4) 680 Z=Z-1 690 IF Z>4 THEN 710 700 Z=23 710 CALL KEY(0,L,ST) 720 IF (L<>79)*(L<>80)THEN 770 730 IF L<>79 THEN 760 740 COL=COL-SGN(COL-2) 750 GOTO 770 760 COL=COL+SGN(31-COL) 770 CALL GCHAR(Z,COL,L) 780 IF L=B THEN 1060 790 IF L=C THEN 850 800 CALL HCHAR(Z,COL,A) 810 FOR I=1 TO 25 820 NEXT I 830 IF W=27-G THEN 920 840 GOTO 650 850 W=W+1 860 S=S+25 870 H$=STR$(S) 880 ROW=4 890 XCOL=3 900 GOSUB 120 910 GOTO 800 920 J=S 930 CALL HCHAR(10,1,32,31) 940 GOSUB 120 950 H$="**** ALL RIGHT! ****" 960 XCOL=6 970 ROW=10 980 GOSUB 120 990 FOR I=1 TO 15 1000 X=INT(RND*100)+300 1010 CALL SOUND(75,X, 1020 NEXT I 1030 FOR I=1 TO 100 1040 NEXT I 1050 GOTO 210 1060 REM WHOOPS! ...YOU CRASHED... 1070 CALL HCHAR(Z,COL,98) 1080 FOR I=3 TO 30 STEP 3 1090 CALL SOUND(50,-7,I) 1100 NEXT I 1110 CALL CHAR(104,"3C42A581A599423C") 1120 J=0 1130 IF S>HS THEN 1132 1131 GOTO 1140 1132 HS=S 1140 H$="PLAY AGAIN (Y / N)?" 1150 ROW=22 1160 XCOL=2 1170 GOSUB 120 1180 CALL KEY(0,L,ST) 1190 IF ST=0 THEN 1180 1200 H$=CHR$(L) 1210 IF H$="Y" THEN 1250 1220 CALL CLEAR 1230 PRINT "SEE YA!" 1240 END 1250 CALL CHAR(104,"3C3CA58199A5423C") 1260 GOTO 210 1270 REM DEFINE CUSTOM CHAR 1280 REM CHAR 96 - GOBLIN 1290 CALL CHAR(96,"7EDBDBFFA55A5AA5") 1300 REM CHAR 97 - BARRIER 1310 CALL CHAR(97,"CCCC3333CCCC3333") 1320 REM CHAR 98 - CRUNCHED GOBLIN 1330 CALL CHAR(98,"CCCC33337EDBFFBD") 1340 REM CHAR - 104 - FROWN 1350 CALL CHAR(104,"3C3CA58199A5423C") 1360 REM CHAR - 105 - SMILE 1370 CALL CHAR(105,"3C42A581A599423C") 1380 CALL COLOR(10,7,1) 1390 FOR I=5 TO 8 1400 CALL COLOR(I,16,14) 1410 NEXT I 1420 RETURN GOBLIN.zip 3 Quote Link to comment Share on other sites More sharing options...
+OLD CS1 Posted March 15, 2018 Author Share Posted March 15, 2018 Digitally created WAVes of the above programs for loading into Classic99 or js99er. Anymore I find, I will include the WAV in the posted archive. GOBLIN.wav TUG-A-WAR.wav 2 Quote Link to comment Share on other sites More sharing options...
ti99iuc Posted March 15, 2018 Share Posted March 15, 2018 Thanks for the Wavs, All them are in the GameBase already anyway 1 Quote Link to comment Share on other sites More sharing options...
+OLD CS1 Posted March 15, 2018 Author Share Posted March 15, 2018 Thanks for the Wavs, All them are in the GameBase already anyway Cool. Honestly never looked, but now there is another source for perpetuity. 2 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.