mirror of
https://github.com/curioustorvald/tsvm.git
synced 2026-03-07 19:51:51 +09:00
basic: new test game HANGMAN but works like ass
This commit is contained in:
@@ -194,8 +194,8 @@
|
||||
2230 NEXT
|
||||
2240 REM--TEST FOR DEALER BLACKJACK
|
||||
2250 L1=1: L2=1
|
||||
2252 IF HANDCARDS(D1,1)==1 AND HANDCARDS(D1,2)>9 THEN L1=0: L2=0
|
||||
2253 IF HANDCARDS(D1,2)==1 AND HANDCARDS(D1,1)>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 DO(L1=0; L2=0)
|
||||
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 ";
|
||||
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
|
||||
100 REM subroutine to draw a segment. Size is stored to '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 "*";
|
||||
140 NEXT : PRINT
|
||||
150 RETURN
|
||||
1000 FOR Q=1 TO 20
|
||||
140 Q1=Q1+1
|
||||
150 IF Q1<=Q*2-1 THEN GOTO 130
|
||||
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
|
||||
1020 NEXT
|
||||
1020 Q=Q+1
|
||||
1030 IF Q<=20 THEN GOTO 1010
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
10 GOTO 1000
|
||||
100 REM subroutine to draw a segment. Size is stored to '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 "*";
|
||||
140 Q1=Q1+1
|
||||
150 IF Q1<=Q*2-1 THEN GOTO 130
|
||||
160 PRINT : RETURN : REM this line will take us back from the jump
|
||||
1000 Q=1 : REM this is our loop counter
|
||||
140 NEXT : PRINT
|
||||
150 RETURN
|
||||
1000 FOR Q=1 TO 20
|
||||
1010 GOSUB 100
|
||||
1020 Q=Q+1
|
||||
1030 IF Q<=20 THEN GOTO 1010
|
||||
1020 NEXT
|
||||
|
||||
@@ -31,7 +31,7 @@ if (exec_args !== undefined && exec_args[1] !== undefined && exec_args[1].starts
|
||||
|
||||
const THEVERSION = "1.0";
|
||||
|
||||
const PROD = false;
|
||||
const PROD = true;
|
||||
let INDEX_BASE = 0;
|
||||
let TRACEON = (!PROD) && true;
|
||||
let DBGON = (!PROD) && true;
|
||||
|
||||
Reference in New Issue
Block a user