mirror of
https://github.com/curioustorvald/tsvm.git
synced 2026-06-12 07:44:03 +09:00
basic: new test game HANGMAN but works like ass
This commit is contained in:
@@ -194,8 +194,8 @@
|
|||||||
2230 NEXT
|
2230 NEXT
|
||||||
2240 REM--TEST FOR DEALER BLACKJACK
|
2240 REM--TEST FOR DEALER BLACKJACK
|
||||||
2250 L1=1: L2=1
|
2250 L1=1: L2=1
|
||||||
2252 IF HANDCARDS(D1,1)==1 AND HANDCARDS(D1,2)>9 THEN L1=0: L2=0
|
2252 IF HANDCARDS(D1,1)==1 AND HANDCARDS(D1,2)>9 THEN DO(L1=0; L2=0)
|
||||||
2253 IF HANDCARDS(D1,2)==1 AND HANDCARDS(D1,1)>9 THEN L1=0: L2=0
|
2253 IF HANDCARDS(D1,2)==1 AND HANDCARDS(D1,1)>9 THEN DO(L1=0; L2=0)
|
||||||
2254 IF L1<>0 OR L2<>0 THEN GOTO 2320
|
2254 IF L1<>0 OR L2<>0 THEN GOTO 2320
|
||||||
2260 PRINT:PRINT "DEALER HAS A";MID(DSTR,3*HANDCARDS(D1,2)-2,3);" IN THE HOLE ";
|
2260 PRINT:PRINT "DEALER HAS A";MID(DSTR,3*HANDCARDS(D1,2)-2,3);" IN THE HOLE ";
|
||||||
2270 PRINT "FOR BLACKJACK"
|
2270 PRINT "FOR BLACKJACK"
|
||||||
|
|||||||
82
assets/disk0/home/basic/hangman.bas
Normal file
82
assets/disk0/home/basic/hangman.bas
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
1 OPTIONBASE 1
|
||||||
|
10 PRINT SPC(32);"HANGMAN"
|
||||||
|
20 PRINT SPC(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
|
||||||
|
25 PRINT:PRINT:PRINT
|
||||||
|
30 PSTR=DIM(12,12):LSTR=DIM(20):DSTR=DIM(20):NSTR=DIM(26):U=DIM(50)
|
||||||
|
40 C=1: N=50
|
||||||
|
50 FOR I=1 TO 20: DSTR(I)="-": NEXT: M=0
|
||||||
|
60 FOR I=1 TO 26: NSTR(I)="": NEXT
|
||||||
|
70 FOR I=1 TO 12: FOR J=1 TO 12: PSTR(I,J)=" ": NEXT: NEXT
|
||||||
|
80 FOR I=1 TO 12: PSTR(I,1)="X": NEXT
|
||||||
|
90 FOR I=1 TO 7: PSTR(1,I)="X": NEXT: PSTR(2,7)="X"
|
||||||
|
95 IF C<N THEN GOTO 100
|
||||||
|
97 PRINT "YOU DID ALL THE WORDS!!": END
|
||||||
|
100 Q=INT(N*RND(1))+1
|
||||||
|
110 IF U(Q)==1 THEN GOTO 100
|
||||||
|
115 U(Q)=1: C=C+1: RESTORE: T1=0
|
||||||
|
150 FOR I=1 TO Q: READ ASTR: NEXT
|
||||||
|
160 L=LEN(ASTR): FOR I=1 TO LEN(ASTR): LSTR(I)=MID(ASTR,I,1): NEXT
|
||||||
|
170 PRINT "HERE ARE THE LETTERS YOU USED:"
|
||||||
|
180 FOR I=1 TO 26: PRINT NSTR(I);: IF NSTR(I+1)=="" THEN GOTO 200
|
||||||
|
190 PRINT ",";: NEXT
|
||||||
|
200 PRINT: PRINT: FOR I=1 TO L: PRINT DSTR(I);: NEXT: PRINT: PRINT
|
||||||
|
210 PRINT "WHAT IS YOUR GUESS";:INPUT GSTR: R=0
|
||||||
|
220 FOR I=1 TO 26: IF NSTR(I)=="" THEN GOTO 250
|
||||||
|
230 IF GSTR==NSTR(I) THEN DO(PRINT "YOU GUESSED THAT LETTER BEFORE!"; GOTO 170)
|
||||||
|
240 NEXT: PRINT "PROGRAM ERROR. RUN AGAIN.": END
|
||||||
|
250 NSTR(I)=GSTR: T1=T1+1
|
||||||
|
260 FOR I=1 TO L: IF LSTR(I)==GSTR THEN GOTO 280
|
||||||
|
270 NEXT: IF R==0 THEN GOTO 290
|
||||||
|
275 GOTO 300
|
||||||
|
280 DSTR(I)=GSTR: R=R+1: GOTO 270
|
||||||
|
290 M=M+1: GOTO 400
|
||||||
|
300 FOR I=1 TO L: IF DSTR(I)=="-" THEN GOTO 320
|
||||||
|
310 NEXT: GOTO 390
|
||||||
|
320 PRINT: FOR I=1 TO L: PRINT DSTR(I);: NEXT: PRINT: PRINT
|
||||||
|
330 PRINT "WHAT IS YOUR GUESS FOR THE WORD";:INPUT BSTR
|
||||||
|
340 IF ASTR==BSTR THEN GOTO 360
|
||||||
|
350 PRINT "WRONG. TRY ANOTHER LETTER.": PRINT: GOTO 170
|
||||||
|
360 PRINT "RIGHT!! IT TOOK YOU";T1;"GUESSES!"
|
||||||
|
370 PRINT "WANT ANOTHER WORD";:INPUT WSTR: IF WSTR=="YES" THEN GOTO 50
|
||||||
|
380 PRINT: PRINT "IT'S BEEN FUN! BYE FOR NOW.": GOTO 999
|
||||||
|
390 PRINT "YOU FOUND THE WORD!": GOTO 370
|
||||||
|
400 PRINT: PRINT: PRINT"SORRY, THAT LETTER ISN'T IN THE WORD."
|
||||||
|
410 ON M GOTO 415,420,425,430,435,440,445,450,455,460
|
||||||
|
415 PRINT "FIRST, WE DRAW A HEAD": GOTO 470
|
||||||
|
420 PRINT "NOW WE DRAW A BODY.": GOTO 470
|
||||||
|
425 PRINT "NEXT WE DRAW AN ARM.": GOTO 470
|
||||||
|
430 PRINT "THIS TIME IT'S THE OTHER ARM.": GOTO 470
|
||||||
|
435 PRINT "NOW, LET'S DRAW THE RIGHT LEG.": GOTO 470
|
||||||
|
440 PRINT "THIS TIME WE DRAW THE LEFT LEG.": GOTO 470
|
||||||
|
445 PRINT "NOW WE PUT UP A HAND.": GOTO 470
|
||||||
|
450 PRINT "NEXT THE OTHER HAND.": GOTO 470
|
||||||
|
455 PRINT "NOW WE DRAW ONE FOOT": GOTO 470
|
||||||
|
460 PRINT "HERE'S THE OTHER FOOT -- YOU'RE HUNG!!"
|
||||||
|
470 ON M GOTO 480,490,500,510,520,530,540,550,560,570
|
||||||
|
480 PSTR(3,6)="-": PSTR(3,7)="-": PSTR(3,8)="-": PSTR(4,5)="(": PSTR(4,6)="."
|
||||||
|
481 PSTR(4,8)=".":PSTR(4,9)=")":PSTR(5,6)="-":PSTR(5,7)="-":PSTR(5,8)="-":GOTO 580
|
||||||
|
490 FOR I=6 TO 9: PSTR(I,7)="X": NEXT: GOTO 580
|
||||||
|
500 FOR I=4 TO 7: PSTR(I,I-1)="\": NEXT: GOTO 580
|
||||||
|
510 PSTR(4,11)="/": PSTR(5,10)="/": PSTR(6,9)="/": PSTR(7,8)="/": GOTO 580
|
||||||
|
520 PSTR(10,6)="/": PSTR(11,5)="/": GOTO 580
|
||||||
|
530 PSTR(10,8)="\": PSTR(11,9)="\": GOTO 580
|
||||||
|
540 PSTR(3,11)="\": GOTO 580
|
||||||
|
550 PSTR(3,3)="/": GOTO 580
|
||||||
|
560 PSTR(12,10)="\": PSTR(12,11)="-": GOTO 580
|
||||||
|
570 PSTR(12,3)="-": PSTR(12,4)="/"
|
||||||
|
580 FOR I=1 TO 12: FOR J=1 TO 12: PRINT PSTR(I,J);: NEXT
|
||||||
|
590 PRINT: NEXT: PRINT: PRINT: IF M<>10 THEN GOTO 170
|
||||||
|
600 PRINT "SORRY, YOU LOSE. THE WORD WAS ";ASTR
|
||||||
|
610 PRINT "YOU MISSED THAT ONE. DO YOU ";: GOTO 370
|
||||||
|
620 PRINT "TYPE YES OR NO";:INPUT YSTR: IF LEFT(YSTR,1)=="Y" THEN GOTO 50
|
||||||
|
700 DATA "GUM","SIN","FOR","CRY","LUG","BYE","FLY"
|
||||||
|
710 DATA "UGLY","EACH","FROM","WORK","TALK","WITH","SELF"
|
||||||
|
720 DATA "PIZZA","THING","FEIGN","FIEND","ELBOW","FAULT","DIRTY"
|
||||||
|
730 DATA "BUDGET","SPIRIT","QUAINT","MAIDEN","ESCORT","PICKAX"
|
||||||
|
740 DATA "EXAMPLE","TENSION","QUININE","KIDNEY","REPLICA","SLEEPER"
|
||||||
|
750 DATA "TRIANGLE","KANGAROO","MAHOGANY","SERGEANT","SEQUENCE"
|
||||||
|
760 DATA "MOUSTACHE","DANGEROUS","SCIENTIST","DIFFERENT","QUIESCENT"
|
||||||
|
770 DATA "MAGISTRATE","ERRONEOUSLY","LOUDSPEAKER","PHYTOTOXIC"
|
||||||
|
780 DATA "MATRIMONIAL","PARASYMPATHOMIMETIC","THIGMOTROPISM"
|
||||||
|
990 PRINT "BYE NOW"
|
||||||
|
999 END
|
||||||
@@ -1,10 +1,12 @@
|
|||||||
10 GOTO 1000
|
10 GOTO 1000
|
||||||
100 REM subroutine to draw a segment. Size is stored to 'Q'
|
100 REM subroutine to draw a segment. Size is stored to 'Q'
|
||||||
110 PRINT SPC(20-Q);
|
110 PRINT SPC(20-Q);
|
||||||
120 FOR Q1=1 TO Q*2-1
|
120 Q1=1 : REM loop counter for this subroutine
|
||||||
130 PRINT "*";
|
130 PRINT "*";
|
||||||
140 NEXT : PRINT
|
140 Q1=Q1+1
|
||||||
150 RETURN
|
150 IF Q1<=Q*2-1 THEN GOTO 130
|
||||||
1000 FOR Q=1 TO 20
|
160 PRINT : RETURN : REM this line will take us back from the jump
|
||||||
|
1000 Q=1 : REM this is our loop counter
|
||||||
1010 GOSUB 100
|
1010 GOSUB 100
|
||||||
1020 NEXT
|
1020 Q=Q+1
|
||||||
|
1030 IF Q<=20 THEN GOTO 1010
|
||||||
|
|||||||
@@ -1,12 +1,10 @@
|
|||||||
10 GOTO 1000
|
10 GOTO 1000
|
||||||
100 REM subroutine to draw a segment. Size is stored to 'Q'
|
100 REM subroutine to draw a segment. Size is stored to 'Q'
|
||||||
110 PRINT SPC(20-Q);
|
110 PRINT SPC(20-Q);
|
||||||
120 Q1=1 : REM loop counter for this subroutine
|
120 FOR Q1=1 TO Q*2-1
|
||||||
130 PRINT "*";
|
130 PRINT "*";
|
||||||
140 Q1=Q1+1
|
140 NEXT : PRINT
|
||||||
150 IF Q1<=Q*2-1 THEN GOTO 130
|
150 RETURN
|
||||||
160 PRINT : RETURN : REM this line will take us back from the jump
|
1000 FOR Q=1 TO 20
|
||||||
1000 Q=1 : REM this is our loop counter
|
|
||||||
1010 GOSUB 100
|
1010 GOSUB 100
|
||||||
1020 Q=Q+1
|
1020 NEXT
|
||||||
1030 IF Q<=20 THEN GOTO 1010
|
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ if (exec_args !== undefined && exec_args[1] !== undefined && exec_args[1].starts
|
|||||||
|
|
||||||
const THEVERSION = "1.0";
|
const THEVERSION = "1.0";
|
||||||
|
|
||||||
const PROD = false;
|
const PROD = true;
|
||||||
let INDEX_BASE = 0;
|
let INDEX_BASE = 0;
|
||||||
let TRACEON = (!PROD) && true;
|
let TRACEON = (!PROD) && true;
|
||||||
let DBGON = (!PROD) && true;
|
let DBGON = (!PROD) && true;
|
||||||
|
|||||||
Reference in New Issue
Block a user