initial commit
This commit is contained in:
commit
2ff8f5919a
|
@ -0,0 +1,11 @@
|
|||
# Tiny BASIC programs
|
||||
|
||||
Written for [Damian Gareth Walker's implementation](http://tinybasic.cyningstan.org.uk/) of Tiny BASIC.
|
||||
|
||||
You can [read more about the history of Tiny BASIC](https://en.wikipedia.org/wiki/Tiny_BASIC).
|
||||
|
||||
I hope to make more games with this limited tiny language / tool.
|
||||
|
||||
But for now, I'll just park my ultra-simplified pig dice game (pig.bas) and my 2-player (with computer opponent version) called twopigs.bas
|
||||
|
||||
COPYLEFT ALL RIGHTS WRONGED
|
|
@ -0,0 +1,41 @@
|
|||
REM --- PIG Dice game test
|
||||
REM --- Created: 2022-03-30
|
||||
REM --- Created for TinyBASIC implemented by cyningstan/Damian Gareth Walker
|
||||
|
||||
REM --- Variable List
|
||||
REM
|
||||
REM R - A random number returned by the Random Number Generator
|
||||
REM D - Current die roll
|
||||
REM T - TOTAL SAVED
|
||||
LET T=0
|
||||
|
||||
REM --- Initialise the random number seed
|
||||
10 PRINT "Enter a number:"
|
||||
INPUT R
|
||||
|
||||
REM --- MAIN GAME LOOP
|
||||
20 PRINT "YOUR CURRENT TOTAL IS ",T
|
||||
PRINT "Would you like to roll? (0 no, 1 yes)"
|
||||
INPUT Q
|
||||
|
||||
30 IF Q=0 THEN GOTO 300
|
||||
|
||||
REM --- CHECK IF BUSTED
|
||||
GOSUB 200
|
||||
LET D=1+R-R/6*6
|
||||
PRINT "YOU ROLLED ",D
|
||||
IF D=1 THEN GOTO 50
|
||||
LET T=T+D
|
||||
GOTO 20
|
||||
|
||||
REM --- BUSTED!
|
||||
50 PRINT "BUSTED!"
|
||||
LET T=0
|
||||
GOTO 20
|
||||
|
||||
200 LET R=5*R+35
|
||||
LET R=R-R/6547*6547
|
||||
RETURN
|
||||
|
||||
300 PRINT "YOUR SCORE IS ",T
|
||||
PRINT "GOODBYE"
|
|
@ -0,0 +1,121 @@
|
|||
REM --- PIG Dice
|
||||
REM --- Created: 2022-04-01 by lettuce
|
||||
REM --- for Tiny BASIC
|
||||
REM --- COPYLEFT ALL RIGHTS WRONGED
|
||||
|
||||
REM --- Variable List
|
||||
REM
|
||||
REM A - aggression, max times the computer will roll
|
||||
REM C - Computer's total
|
||||
REM H - Current Hand total
|
||||
REM I - For determining if player needs instructions
|
||||
REM D - Current die roll
|
||||
REM P - Player total
|
||||
REM R - A random number returned by the Random Number Generator
|
||||
REM Q - For determining if player would like to roll again
|
||||
LET A=4
|
||||
LET H=0
|
||||
LET C=0
|
||||
LET P=0
|
||||
|
||||
REM --- Initialise the random number seed
|
||||
10 PRINT "ENTER A 4 DIGIT NUMBER:"
|
||||
INPUT R
|
||||
|
||||
PRINT "DO YOU NEED INSTRUCTIONS? (0 NO, 1 YES)"
|
||||
INPUT I
|
||||
IF I=1 THEN GOSUB 250
|
||||
|
||||
REM --- START
|
||||
PRINT "WHAT POINT TOTAL TO PLAY TO?"
|
||||
INPUT W
|
||||
|
||||
15 PRINT "You play first: "
|
||||
|
||||
REM --- MAIN GAME LOOP
|
||||
20 PRINT "YOUR CURRENT HAND IS ",H
|
||||
PRINT "WOULD YOU LIKE TO ROLL? (0 NO, 1 YES)"
|
||||
INPUT Q
|
||||
|
||||
30 IF Q=0 THEN GOTO 40
|
||||
|
||||
REM --- CHECK IF PLAYER BUSTED
|
||||
GOSUB 200
|
||||
PRINT "YOU ROLLED ",D
|
||||
IF D=1 THEN GOTO 50
|
||||
LET H=H+D
|
||||
GOTO 20
|
||||
|
||||
REM --- COMPUTER'S TURN
|
||||
40 REM FIRST ADD PLAYER'S HAND TOTAL TO PLAYER TOTAL
|
||||
REM AND DISPLAY IT
|
||||
LET P=P+H
|
||||
REM RESET H
|
||||
42 LET H=0
|
||||
GOSUB 150
|
||||
REM CHECK IF PLAYER WON
|
||||
GOSUB 100
|
||||
PRINT ""
|
||||
PRINT "MY TURN"
|
||||
LET A=4
|
||||
45 GOSUB 200
|
||||
PRINT "I ROLLED ",D
|
||||
IF D=1 THEN GOTO 60
|
||||
LET H=H+D
|
||||
LET A=A-1
|
||||
REM CHECKING TO SEE IF COMPUTER WILL STOP ROLLING
|
||||
IF A<1 THEN GOTO 47
|
||||
GOTO 45
|
||||
47 GOSUB 130
|
||||
PRINT "I'M ENDING MY TURN"
|
||||
LET C=H+C
|
||||
PRINT "MY CURRENT TOTAL IS ",C
|
||||
PRINT ""
|
||||
LET H=0
|
||||
GOSUB 150
|
||||
GOTO 20
|
||||
|
||||
REM --- PLAYER BUSTS
|
||||
50 PRINT "XXXXXXXXXXX"
|
||||
PRINT "YOU BUSTED!"
|
||||
PRINT "XXXXXXXXXXX"
|
||||
GOTO 42
|
||||
|
||||
REM --- COMPUTER BUSTS
|
||||
60 PRINT "I BUSTED!"
|
||||
PRINT "MY TOTAL IS ",C
|
||||
LET H=0
|
||||
GOSUB 150
|
||||
GOTO 20
|
||||
|
||||
REM - CHECK IF PLAYER WINS
|
||||
100 IF P>W THEN GOTO 120
|
||||
RETURN
|
||||
120 PRINT "CONGRATULATIONS, YOU WIN!"
|
||||
GOTO 300
|
||||
|
||||
REM - CHECK IF COMPUTER WINS
|
||||
130 IF C>W THEN GOTO 140
|
||||
RETURN
|
||||
140 PRINT "YOU LOSE!"
|
||||
GOTO 300
|
||||
|
||||
REM PRINT PLAYER TOTAL
|
||||
150 PRINT "YOUR CURRENT TOTAL IS ",P
|
||||
RETURN
|
||||
|
||||
200 LET D=1+R-R/6*6
|
||||
LET R=5*R+35
|
||||
LET R=R-R/6547*6547
|
||||
RETURN
|
||||
|
||||
REM INSTRUCTIONS
|
||||
250 PRINT "Pig is a simple competitive dice game for two players. In a round, a player may roll a single die as many times as they want, each time adding the points to their hand for that round. They may stop at any time and add the hand to their total game points. If they roll a 1 at any time they are 'BUSTED'. They immediately stop and lose all accrued points in the hand for that round. When a player stops by choice or due to busting, the other player begins a new turn. Game continues in this fashion ending when either player reaches a previously agreed-upon point total."
|
||||
PRINT ""
|
||||
RETURN
|
||||
|
||||
REM END
|
||||
300 PRINT "YOUR SCORE IS ",P
|
||||
PRINT "COMPUTER SCORE IS ",C
|
||||
PRINT "GOODBYE"
|
||||
|
Loading…
Reference in New Issue