LiveWire Peer Support Network

Printable Version of Topic "Simple humour with BASIC"

- LiveWire Teen Forums & College Forums (http://www.golivewire.com)
-- (http://www.golivewire.com/forums/support-technical.html)
--- Programming & Application Development (http://www.golivewire.com/forums/forum-211-s-0.html)
---- Simple humour with BASIC (http://www.golivewire.com/forums/peer-piaea-support-a.html)


-- Posted by penguincube at 8:02 am on Dec. 2, 2004

I'm sure I'm not the first person to do this, but one day it just popped into my head to make MAD LIBS on QBASIC.  It's really *really* easy to do and you can make someone laugh!

Code:

LIBS:
CLS
PRINT "Welcome to Mad Libs.  Please type in a word that matches"
PRINT "what I ask for, then we'll make a funny paragraph!"
PRINT ""
INPUT "Plural Noun"; liba$
INPUT "Colour"; libb$
INPUT "Plural Article of Clothing"; libc$
INPUT "Something you don't care about"; libd$
INPUT "A foreign country"; libe$
INPUT "Your last name"; libf$
PRINT ""
PRINT ""
PRINT "The Congress is made up of two houses: The Senate and the"
PRINT "House of "; liba$; ".  When Congress is in Session, they all wear"
PRINT libb$; " "; libc$; " and they debate important issues, such as"
PRINT libd$; ".  They meet in  "; libe$; " ,because their jobs were outsourced"
PRINT "under President "; libf$
INPUT ""; anykey$

Also, in a program that I have to make for school, we have to use arrays.  I know how to load data into arrays, bubble sort them, print them out and stuff, but I just don't want to make a program that is just like "Hey, this is an array.  Type some numbers."  Do you know have any creative or fun uses for arrays?


-- Posted by lacunacoil at 8:16 am on Dec. 2, 2004

righttt...


-- Posted by squirellplayingtag at 6:24 pm on Dec. 2, 2004

I remember the first time I made madlibs with javascript. I barely knew html let alone javascript(what I coded it in). It took me serveral hours which would now take me 5-10 mins. I then later tried to make one on the calculator. The code looked very similar to that (TI83+'s language is BASIC) except it was about 5 times as long because I still blew at programing.

Props to you.

EDIT: The array's part. I made a blackjack game that pulled cards out of an array. You could do something like that but print something like "King" instead of a picture. That has a good amount of logic involved in it too.

(Edited by squirellplayingtag at 9:28 pm on Dec. 2, 2004)


-- Posted by penguincube at 6:48 pm on Dec. 2, 2004

Wow a calculator with BASIC on it would be so freaking awesome.  I bet that was expensive, huh?

EDIT: I think we have TI-83s Pluses at school!  Can you code on those??

also, did you pull the cards out of the array randomly?  how do you go about doing something like that?


(Edited by penguincube at 9:50 pm on Dec. 2, 2004)

(Edited by penguincube at 10:14 am on Dec. 3, 2004)


-- Posted by squirellplayingtag at 9:16 am on Dec. 5, 2004

It was about $70 and I've had it for 5 years.

Sure you can program on it. It's how I do so well on test. ;). And it's not cheating, "it's making using of technology available to me."

Yea I pulled the cards out randomly. I'm not sure what basic arrays look like but here's what it looked like in javascript.
Code:

function randomize(N1, N2) {
return Math.floor((N2 - N1 + 1)*Math.random() + N1)
}

      myArray[randomize(0,3)][randomize(0,12)]


The randomize function accepts two values, the low number and the high number. It then creates a random number between the low and high numbers and returns it. I have a two dimensional array(first number is for suit, second is for card; but you could just put them all in just one array to make it simpliar.) that uses the returned values to pull a card.


-- Posted by penguincube at 6:46 am on Dec. 8, 2004

Here is how I used arrays, squirrel.  It's a fun little game that I am actually quite proud of.  I get it to generate a random number from 1-10 from the array, but the user has to guess it first.  They win if they guess within 2 integers.  The fun part is the user gets to wager how many points they want to risk on each of the 15 turns.  But not more than they have!

Code:
TEST:                        
CLS
PRINT "This is a game of chance. The program will pick a RANDOM"
PRINT "number between 1 - 10.  Before the computer picks the number,"
PRINT "you will be asked to GUESS a number that IS WITHIN 2 INTIGERS"
PRINT "from the random one."
PRINT "Your score will be based on how well you guess."
INPUT "STRIKE ANY KEY WHEN YOU ARE READY"; ANY$
RESTORE
SCORE = 5
FOR X = 1 TO 10
CLS
READ NUM(X)
NEXT X
DATA 1,2,3,4,5,6,7,8,9,10
FOR X = 1 TO 15
CLS
RANDOMIZE TIMER
RN = INT(RND * 9) + 1
PRINT "YOU HAVE "; SCORE; " POINTS."
INPUT "HOW MANY POINTS WOULD YOU LIKE TO WAGER?"; WAG
IF WAG > SCORE THEN GOTO POINTTILT
INPUT "TAKE YOUR GUESS"; GUESS
PRINT ""
PRINT "YOU HAVE "; 15 - X; " TURNS REMAINING."

IF GUESS = RN + 1 OR GUESS = RN + 2 OR GUESS = RN - 1 OR GUESS = RN - 2 THEN GOSUB RANDRIGHT
IF GUESS < RN - 2 OR GUESS > RN + 2 THEN GOSUB RANDWRONG
IF GUESS = RN THEN GOSUB RANDEXACT
NEXT X

RANDRIGHT:
PRINT ""
PRINT ""
SCORE = SCORE + WAG
PRINT "YOUR GUESS: "; GUESS
PRINT "THE RANDOM NUMBER IS: "; RN
PRINT "YOU GAINED "; WAG; " POINTS "
PRINT "YOUR SCORE: "; SCORE
SLEEP 4
RETURN

RANDWRONG:
PRINT ""
PRINT ""
SCORE = SCORE - WAG
PRINT "YOUR GUESS: "; GUESS
PRINT "THE RANDOM NUMBER IS: "; RN
PRINT "YOU LOST "; WAG; " POINTS"
PRINT "YOUR SCORE: "; SCORE
SLEEP 4
RETURN

RANDEXACT:
PRINT ""
PRINT ""
BONUS = WAG + 3
SCORE = SCORE + BONUS
PRINT "YOUR GUESS: "; GUESS
PRINT "THE RANDOM NUMBER IS: "; RN
PRINT "YOU GOT"; WAG; " POINTS, PLUS A 3 POINT BONUS!"
PRINT "YOUR SCORE: "; SCORE
SLEEP 4
RETURN

POINTTILT:
PRINT "YOU TRIED TO WAGER MORE POINTS THAN YOU HAVE!!!"
SLEEP 3
RETURN


-- Posted by squirellplayingtag at 12:19 pm on Dec. 8, 2004

Awsome. That's the first time I've ever actually looked at basic code other then on my calculator. Can you return a value such as an integer? Like if X =5 could you do something like RETURN X? And is your array named DATA with 10 values?


-- Posted by penguincube at 6:01 pm on Dec. 8, 2004

My array is not named "DATA" my array is named "NUM"

Code:

FOR X = 1 TO 10
CLS
READ NUM(X)

NUM is the name of the array.   The "DATA" you saw comes into play with the READ command up there.  It says for X = 1 to 10  READ the data.  It reads the first ten numbers in my DATA line, which happen to be 1-10

Code:
DATA 1,2,3,4,5,6,7,8,9,10

So, when X = 1, it loaded 1 into NUM(1), when X = 2, it loaded 2 into NUM(2), and so on, until the ten numbers from my DATA line were in my array....called NUM

I'm not sure I understand the other part of your question.  By "when X = 5" do you mean the fifth time the loop "For x = 1 to 10?"   Like:

Code:

FOR X = 1 to 10
PRINT X
NEXT X

That would print the numbers 1-10 on the screen.  Clarify what you meant.

I'll miss this class :p   I get to take C++ next year though so yay.


-- Posted by squirellplayingtag at 6:16 pm on Dec. 8, 2004

What does a return do? Are you able to return a value? In java we can do something like (this is very abbreviated)
Code:

System.out.println(myX());

myX(){
int x = 5;
return x
}


and that would print out 5.


-- Posted by penguincube at 6:21 pm on Dec. 8, 2004

What does RETURN --do-- in java?  The only thing I know that command for in BASIC is to go back to were you started after you execute a subroutine, like in my program above.   Maybe what RETURN does in java is called something else in basic?


-- Posted by squirellplayingtag at 6:30 pm on Dec. 8, 2004

Returns, well return, a value, string,array, almost anything really from a method(subroutine). The value can be used in another method or in almost anyway the coder seems fit.

From the looks of what your saying BASIC can't return a value, which answers why my program kept giving me errors on my calculator when I tried to return H. Haha.


-- Posted by penguincube at 6:33 pm on Dec. 8, 2004

How do you get a string on the TI-83+?  I couldn't find $ or anything.  I only fiddled with it for a minute during math class but it looks different from QBASIC...doesn't it use display or something instead of "Print?"


-- Posted by squirellplayingtag at 11:56 am on Dec. 9, 2004

I've never stored a string. But yes, it uses

Disp "Text to Print"


www.golivewire.com