Just some codes to copy and paste into the selected compiler - usually qbasic or justbasic. Feel free to have a look - But do not hold me responsible if it causes damage to your computer. These programs are only for entertainment purposes only and can be shared ,but NOT for profit.
Getting the code.
Just select the title of the pages on the right and grab the code.
Spellcast game - [for qbasic]
SCREEN 0: COLOR 10, 0: WIDTH 80, 25: CLS
player = 1: opt = 0: snd = 1
INPUT "Player 1 NAME"; pn1$
PRINT : PRINT : COLOR 14: INPUT "Player 2 NAME (pooter = against computer.)"; pn2$
ph1 = 100: DIM ps1$(10): pp1 = 0: pm1 = 0: pe1 = 0: pl1 = 0
'ph= playerhealth - ps=playerspells - pp=playerpoints - pm=playermoney
'pe= playerexp - pl=playerlevel
ps1$(1) = "Lightning"
ps1$(2) = "Freeze"
ps1$(3) = "Fireball"
ps1$(4) = "Mudbomb"
ps1$(5) = "Waterbomb"
ps1$(6) = "Selfheal"
ps1$(7) = "Quicksleep"
ps1$(8) = "Duck"
ps1$(9) = "Highjump"
ps1$(10) = "Megajig"
ph2 = 100: DIM ps2$(10): pp2 = 0: pm2 = 0: pe2 = 0: pl2 = 0
'ph= playerhealth - ps=playerspells - pp=playerpoints - pm=playermoney
'pe=playerexp - pl=playerlevel
ps2$(1) = "Lightning"
ps2$(2) = "Freeze"
ps2$(3) = "Fireball"
ps2$(4) = "Mudbomb"
ps2$(5) = "Waterbomb"
ps2$(6) = "Selfheal"
ps2$(7) = "Quicksleep"
ps2$(8) = "Duck"
ps2$(9) = "Highjump"
ps2$(10) = "Megajig"
GOTO main:
'--------------------------------------------------------------------------
player1:
GOSUB display:
player = 1
COLOR 10
IF ph1 <= 0 THEN GOTO p1dead:
IF ph1 > 100 THEN ph1 = 100
IF pe1 >= 100 THEN pe1 = 0: pm1 = pm1 + 100
IF pp1 > 9999 THEN pp1 = 9999
IF pm1 > 9999 THEN pm1 = 9999
IF pl1 > 9999 THEN pl1 = 9999
COLOR 10: LOCATE 2, 40 - LEN(pn1$) / 2: PRINT pn1$
COLOR 2: LOCATE 4, 4: PRINT "Health ="; ph1
COLOR 3: LOCATE 4, 20: PRINT "Score = "; ps1
COLOR 4: LOCATE 4, 35: PRINT "Money = $"; pm1
COLOR 5: LOCATE 4, 52: PRINT "Exp = "; pe1
COLOR 6: LOCATE 4, 65: PRINT "Level = "; pl1
COLOR 9: LOCATE 6, 30: PRINT "Choose a spell..."
COLOR 10: LOCATE 8, 5: PRINT "[1] "; ps1$(1)
COLOR 11: LOCATE 9, 5: PRINT "[2] "; ps1$(2)
COLOR 12: LOCATE 10, 5: PRINT "[3] "; ps1$(3)
COLOR 13: LOCATE 11, 5: PRINT "[4] "; ps1$(4)
COLOR 14: LOCATE 12, 5: PRINT "[5] "; ps1$(5)
COLOR 13: LOCATE 8, 30: PRINT "[6] "; ps1$(6)
COLOR 12: LOCATE 9, 30: PRINT "[7] "; ps1$(7)
COLOR 11: LOCATE 10, 30: PRINT "[8] "; ps1$(8)
COLOR 10: LOCATE 11, 30: PRINT "[9] "; ps1$(9)
COLOR 9: LOCATE 12, 30: PRINT "[0] "; ps1$(10)
DO
k$ = INKEY$
IF k$ = CHR$(27) THEN END
IF k$ = "1" THEN opt = 1: GOSUB clr: GOTO nudge1:
IF k$ = "2" THEN opt = 2: GOSUB clr: GOTO nudge1:
IF k$ = "3" THEN opt = 3: GOSUB clr: GOTO nudge1:
IF k$ = "4" THEN opt = 4: GOSUB clr: GOTO nudge1:
IF k$ = "5" THEN opt = 5: GOSUB clr: GOTO nudge1:
IF k$ = "6" THEN opt = 6: GOSUB clr: GOTO nudge1:
IF k$ = "7" THEN opt = 7: GOSUB clr: GOTO nudge1:
IF k$ = "8" THEN opt = 8: GOSUB clr: GOTO nudge1:
IF k$ = "9" THEN opt = 9: GOSUB clr: GOTO nudge1:
IF k$ = "0" THEN opt = 0: GOSUB clr: GOTO nudge1:
LOOP
nudge1:
opt = 0
RETURN
'--------------------------------------------------------------------------
player2:
GOSUB display:
player = 2
IF pn2$ = "pooter" THEN player = 3
COLOR 14
IF ph2 <= 0 THEN GOTO p2dead:
IF ph2 > 100 THEN ph2 = 100
IF pe2 >= 100 THEN pe2 = 0: pm2 = pm2 + 100
IF pp2 > 9999 THEN pp2 = 9999
IF pm2 > 9999 THEN pm2 = 9999
IF pl2 > 9999 THEN pl2 = 9999
COLOR 10: LOCATE 2, 40 - LEN(pn2$) / 2: PRINT pn2$
COLOR 2: LOCATE 4, 4: PRINT "Health ="; ph2
COLOR 3: LOCATE 4, 20: PRINT "Score = "; ps2
COLOR 4: LOCATE 4, 35: PRINT "Money = $"; pm2
COLOR 5: LOCATE 4, 52: PRINT "Exp = "; pe2
COLOR 6: LOCATE 4, 65: PRINT "Level = "; pl2
COLOR 9: LOCATE 6, 30: PRINT "Choose a spell..."
COLOR 10: LOCATE 8, 5: PRINT "[1] "; ps2$(1)
COLOR 11: LOCATE 9, 5: PRINT "[2] "; ps2$(2)
COLOR 12: LOCATE 10, 5: PRINT "[3] "; ps2$(3)
COLOR 13: LOCATE 11, 5: PRINT "[4] "; ps2$(4)
COLOR 14: LOCATE 12, 5: PRINT "[5] "; ps2$(5)
COLOR 13: LOCATE 8, 30: PRINT "[6] "; ps2$(6)
COLOR 12: LOCATE 9, 30: PRINT "[7] "; ps2$(7)
COLOR 11: LOCATE 10, 30: PRINT "[8] "; ps2$(8)
COLOR 10: LOCATE 11, 30: PRINT "[9] "; ps2$(9)
COLOR 9: LOCATE 12, 30: PRINT "[0] "; ps2$(10)
IF player = 3 THEN
RANDOMIZE TIMER
ch = 0 + INT(RND * 10)
IF ch < 0 OR ch > 10 THEN ch = 10
IF ch = 1 THEN opt = 1
IF ch = 2 THEN opt = 2
IF ch = 3 THEN opt = 3
IF ch = 4 THEN opt = 4
IF ch = 5 THEN opt = 5
IF ch = 6 THEN opt = 6
IF ch = 7 THEN opt = 7
IF ch = 8 THEN opt = 8
IF ch = 9 THEN opt = 9
IF ch = 10 THEN opt = 0
SLEEP 2
GOSUB clr: GOTO nudge3:
END IF
DO
m$ = INKEY$
IF m$ = CHR$(27) THEN END
IF m$ = "1" THEN opt = 1: GOSUB clr: GOTO nudge3:
IF m$ = "2" THEN opt = 2: GOSUB clr: GOTO nudge3:
IF m$ = "3" THEN opt = 3: GOSUB clr: GOTO nudge3:
IF m$ = "4" THEN opt = 4: GOSUB clr: GOTO nudge3:
IF m$ = "5" THEN opt = 5: GOSUB clr: GOTO nudge3:
IF m$ = "6" THEN opt = 6: GOSUB clr: GOTO nudge3:
IF m$ = "7" THEN opt = 7: GOSUB clr: GOTO nudge3:
IF m$ = "8" THEN opt = 8: GOSUB clr: GOTO nudge3:
IF m$ = "9" THEN opt = 9: GOSUB clr: GOTO nudge3:
IF m$ = "0" THEN opt = 0: GOSUB clr: GOTO nudge3:
LOOP
nudge3:
opt = 0
RETURN
'--------------------------------------------------------------------------
display:
CLS
IF player = 1 THEN COLOR 10
IF player = 2 OR player = 3 THEN COLOR 14
LOCATE 1, 1: PRINT CHR$(201); STRING$(78, CHR$(205)); CHR$(187)
PRINT CHR$(186): LOCATE 2, 80: PRINT CHR$(186)
PRINT CHR$(204); STRING$(78, CHR$(205)); CHR$(185)
PRINT CHR$(186): LOCATE 4, 80: PRINT CHR$(186)
PRINT CHR$(204); STRING$(78, CHR$(205)); CHR$(185)
FOR y = 6 TO 13: LOCATE y, 1: PRINT CHR$(186): LOCATE y, 80: PRINT CHR$(186): NEXT y
LOCATE 14, 1: PRINT CHR$(204); STRING$(78, CHR$(205)); CHR$(185)
FOR y = 15 TO 21: LOCATE y, 1: PRINT CHR$(186): LOCATE y, 80: PRINT CHR$(186): NEXT y
LOCATE 22, 1: PRINT CHR$(200); STRING$(78, CHR$(205)); CHR$(188)
RETURN
'--------------------------------------------------------------------------
clr:
IF snd = 1 AND player = 1 THEN
RANDOMIZE TIMER
FOR x = 1000 TO 500 STEP -30: SOUND x, .2: SOUND x + 15, .1: NEXT x
END IF
IF snd = 1 AND player = 2 THEN
RANDOMIZE TIMER
FOR x = 500 TO 1000 STEP 30: SOUND x, .2: SOUND x + 15, .1: NEXT x
END IF
IF snd = 1 AND player = 3 THEN
RANDOMIZE TIMER
FOR x = 500 TO 1000 STEP 30: SOUND x, .2: SOUND x + 15, .1: NEXT x
END IF
FOR y = 15 TO 21: LOCATE y, 2: PRINT STRING$(78, " "): NEXT y
LOCATE 15, 2
IF player = 1 THEN COLOR 10
IF player = 2 THEN COLOR 14
IF player = 3 THEN COLOR 14
IF opt = 1 THEN
LOCATE 15, 3
PRINT "With arms out-stretched, you call upon the powers of the Heavens..."
LOCATE 16, 3
PRINT "As the storm clouds gather, a mighty bolt of lightning desends from the"
LOCATE 17, 3
PRINT "the sky and strikes your enemy with biblical force!"
IF player = 1 THEN
ph2 = ph2 - 5
pe1 = pe1 + 5
pp1 = pp1 + 5
END IF
IF player = 2 OR player = 3 THEN
ph1 = ph1 - 5
pe2 = pe2 + 5
pp2 = pp2 + 5
END IF
END IF
IF opt = 2 THEN
LOCATE 15, 3
PRINT "As you chant, a north wind begins to blow,"
LOCATE 16, 3
PRINT "causing your enemy to feel extremely cold."
LOCATE 17, 3
PRINT "Moments later, your enemy begins to freeze on the spot!"
IF player = 1 THEN
ph2 = ph2 - 10
pe1 = pe1 + 10
pp1 = pp1 + 10
END IF
IF player = 2 OR player = 3 THEN
ph1 = ph1 - 10
pe2 = pe2 + 10
pp2 = pp2 + 10
END IF
END IF
IF opt = 3 THEN
LOCATE 15, 3
PRINT "You mutter the language of The Ancients..."
LOCATE 16, 3
PRINT "Moments later, a fireball begins to emerge in the palm of"
LOCATE 17, 3
PRINT "your hands."
LOCATE 18, 3
PRINT "You take a firm stance and fire upon your enemy!"
IF player = 1 THEN
ph2 = ph2 - 15
pe1 = pe1 + 15
pp1 = pp1 + 15
END IF
IF player = 2 OR player = 3 THEN
ph1 = ph1 - 15
pe2 = pe2 + 15
pp2 = pp2 + 15
END IF
END IF
IF opt = 4 THEN
LOCATE 15, 3
PRINT "You bend low and take a scoop of earth in your hand."
LOCATE 16, 3
PRINT "As you whisper ancient spells, your cupped hands begin to glow."
LOCATE 17, 3
PRINT "Soon after, a large mass of mud emerges and is flung at your enemy,"
LOCATE 18, 3
PRINT "Only a pair of eyes stare back at you in disbelief!"
IF player = 1 THEN
ph2 = ph2 - 20
pe1 = pe1 + 20
pp1 = pp1 + 20
END IF
IF player = 2 OR player = 3 THEN
ph1 = ph1 - 20
pe2 = pe2 + 20
pp2 = pp2 + 20
END IF
END IF
IF opt = 5 THEN
LOCATE 15, 3
PRINT "You call upon the Elemental Spirit of the Water..."
LOCATE 16, 3
PRINT "She appears before you and engulfs your enemy in a vat of water."
LOCATE 17, 3
PRINT "Then, as quickly as she arrived, she is gone."
IF player = 1 THEN
ph2 = ph2 - 25
pe1 = pe1 + 25
pp1 = pp1 + 25
END IF
IF player = 2 OR player = 3 THEN
ph1 = ph1 - 25
pe2 = pe2 + 25
pp2 = pp2 + 25
END IF
END IF
IF opt = 6 THEN
LOCATE 15, 3
PRINT "You stop time in order to gather some strength..."
LOCATE 16, 3
PRINT "After a while, you feel a little better!"
IF player = 1 THEN
ph1 = ph1 + 5
pe1 = pe1 + 5
pp1 = pp1 + 5
END IF
IF player = 2 OR player = 3 THEN
ph2 = ph2 + 5
pe2 = pe2 + 5
pp2 = pp2 + 5
END IF
END IF
IF opt = 7 THEN
LOCATE 15, 3
PRINT "You drop to the ground quickly and instantly fall asleep."
LOCATE 16, 3
PRINT "Your enemy is flummaxed and just watches as you lay there snoring."
LOCATE 17, 3
PRINT "A short while later, you awake and feel revived as you face yor enemy!"
IF player = 1 THEN
ph1 = ph1 + 10
pe1 = pe1 + 10
pp1 = pp1 + 10
END IF
IF player = 2 OR player = 3 THEN
ph2 = ph2 + 10
pe2 = pe2 + 10
pp2 = pp2 + 10
END IF
END IF
IF opt = 8 THEN
LOCATE 15, 3
PRINT "You shout out a spell, but your memory is not as it was."
LOCATE 16, 3
PRINT "You get the words wrong and turn your enemy into a big yellow duck!"
IF player = 1 THEN
pe1 = pe1 + 5
pp1 = pp1 + 5
END IF
IF player = 2 OR player = 3 THEN
pe2 = pe2 + 5
pp2 = pp2 + 5
END IF
END IF
IF opt = 9 THEN
LOCATE 15, 3
PRINT "You remember an old spell for spring shoes."
LOCATE 16, 3
PRINT "Suddenly you are boingin' around all over the place."
LOCATE 17, 3
PRINT "All this springy-ness confuses your enemy!"
IF player = 1 THEN
ph2 = ph2 - 1 + INT(RND * 10)
pe1 = pe1 + 1 + INT(RND * 10)
pp1 = pp1 + 1 + INT(RND * 10)
END IF
IF player = 2 OR player = 3 THEN
ph1 = ph1 - 1 + INT(RND * 10)
pe2 = pe2 + 1 + INT(RND * 10)
pp2 = pp2 + 1 + INT(RND * 10)
END IF
END IF
IF opt = 0 THEN
LOCATE 15, 3
PRINT "You cunjur up some tunage and start raving..."
LOCATE 16, 3
PRINT "All this headbanging malarky has confusticated your enemy!"
LOCATE 17, 3
PRINT "You then slow your pace down to a waltz and both of you start dancing!"
IF player = 1 THEN
ph2 = ph2 - 1 + INT(RND * (15))
pe1 = pe1 + 1 + INT(RND * (15))
pp1 = pp1 + 1 + INT(RND * (15))
END IF
IF player = 2 OR player = 3 THEN
ph1 = ph1 - 1 + INT(RND * (15))
pe2 = pe2 + 1 + INT(RND * (15))
pp2 = pp2 + 1 + INT(RND * (15))
END IF
END IF
COLOR 5: LOCATE 20, 3: PRINT "Press `space' to continue..."
DO
l$ = INKEY$
IF l$ = " " THEN GOTO nudge2:
IF l$ = CHR$(27) THEN END
LOOP
nudge2:
RETURN
'--------------------------------------------------------------------------
p1dead:
CLS : COLOR 12, 0
PRINT pn1$
PRINT "You is dead mate!"
SLEEP
END
'--------------------------------------------------------------------------
p2dead:
CLS : COLOR 12, 0
PRINT pn2$
PRINT "You is dead mate!"
SLEEP
END
'--------------------------------------------------------------------------
main:
RANDOMIZE TIMER
a = 1 + INT(RND * (2))
IF a < 1 OR a > 2 THEN GOTO main:
'IF a = 1 THEN GOSUB player1:
'IF a = 2 THEN GOSUB player2:
'GOSUB display:
game:
GOSUB player1:
GOSUB player2:
GOTO game:
SLEEP
END
Subscribe to:
Comments (Atom)
