Jump to content
IGNORED

COMPUTE! Magazine type-in progams tape rescues


OLD CS1

Recommended Posts

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.

post-27864-0-99160300-1521099635.png

 

"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

  • Like 6
Link to comment
Share on other sites

Another tape rescue, Goblin, from Issue 38, July 1983, Pp. 64-75. Article text here.

 

post-27864-0-41209900-1521121113.png

 

"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

  • Like 3
Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...