From e53f004d569892e480187414bd0e5a277ea55bf2 Mon Sep 17 00:00:00 2001 From: Jon Narine Date: Wed, 30 Dec 2020 16:59:31 -0500 Subject: [PATCH 01/56] level one work --- .gitignore | 1 + DragonRend.js | 218 ++++++++++++++++++++ let length = console.log('+=============.js | 6 + sandbox.js | 6 + 4 files changed, 231 insertions(+) create mode 100644 .gitignore create mode 100644 DragonRend.js create mode 100644 let length = console.log('+=============.js create mode 100644 sandbox.js diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..40b878d --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +node_modules/ \ No newline at end of file diff --git a/DragonRend.js b/DragonRend.js new file mode 100644 index 0000000..a241a63 --- /dev/null +++ b/DragonRend.js @@ -0,0 +1,218 @@ +const {question, keyInYN}=require('readline-sync') +let nameInput = question("Enter your name: ") +console.log(`Hello ${nameInput}! Welcome to my game.`) + +function quitGame() { + let restart = keyInYN('To the well-organised mind, death is but the next great adventure. Restart?') + console.log('Til next time '+ nameInput) + if (restart === true) { + start() + } else {console.log('Til next time '+ heroName) + return + } +} + +function start() { + console.log('+======================================================================================+') + console.log('+--------------------------------------------------------------------------------------+') + console.log('+ ============/ ========/ __ +') + console.log('+ | /.———----.—---—.—.———.———.———--.-----|. / ______.______.____| / +') + console.log('+ |. _ | ____| _ | _ | _ | |. 00 /_| -___| | _ | | +') + console.log('+ |. | |___| |_____._|____| |_____|___|__|. _ |______|___|___|_____/ +') + console.log('+ |: 1 / _____| | |: | | | +') + console.log('+ |: : . . ./ |_______| |: :. | : | +') + console.log('+ `---------’ `----\' `--‘ +') + console.log('+--------------------------------------------------------------------------------------+') + console.log('+--------------------------------------------------------------------------------------+') + console.log('+ In the land of Phimiba on the black sand coast of the Banar provinces, there thrives +') + console.log('+ the small villageof Strinostra. A valley untouched by the wars of yore for an eon. +') + console.log('+ Great heroes and villians alike have wrecked and gone asunder in the bony beaches of +') + console.log('+ Strinostra and ten thousand fold more in the windblown summit alps to the moutainous +') + console.log('+ east. Here in Strinostra grows then mystic Ironbark tree. The last in fact. It\'s sap +') + console.log('+ gave the first dragons their fire and their barks gave men their first swords, whose +') + console.log('+ branches were cut and bent into wands and whose fruit seeds now make load for rifles.+') + console.log('+ We find you, dear adventurer in your forest garden, where a strange wilting flower of+') + console.log('+ #00ffa2 glows faintly. +') + + let start = keyInYN('+ Do you pick the flower? +') + if (start === false){ + console.log('+======================================================================================+') + console.log('+ You choose not to pick the beautiful dying flower but nuturture it instead! +\n\n') + console.log('+ Until one day... +') + levelOne() + } else { + console.log('+======================================================================================+') + console.log('+ Thy name is MUD. Prithee maketh haste hence and returneth to thy hutch. +') + quitGame()} +} + +start() + + +//let dmg = function(lv, atk, def, roll, mod) { +// Math.floor((2(lv)+10/250)*(atk/def)*roll+2)*mod} +// playerStat = [lv, atk, mod] +// diceArr = [roll, ] + +// let mod = 0 + +// let level = 0 + + + +// let dice = function(bottom, top) { +// return Math.floor(Math.random() * top) + bottom} + +const heroStat = [1,1,1,10] +oppStat = [lv,atk, def] + +let dice = function (nat,min){ + return Math.floor((Math.random()* nat)+min)//nest this globally +} +let roll = dice(6,1) +//console.log(dice(6,1)) + +//let heroDmg = function(heroStat[0], heroStat[1], dice, mod) { + + // return Math.floor((2(heroStat[0])+10/250)*(herotat[1]/oppStat[2])*dice+2)*mod} + +//playerStat = [lv, atk, mod, lifepoints] + +// let attack = function(){ + +// } + + function levelOne(){ + + console.log('+ Winged Light => Hero! Qeldrin, Eater Of All has taken nest in the great bastion of +') + console.log('+ Heldana VII Crown, Castle Ironbark. Fight your way to Ironbark and +') + console.log('+ slay the beast! +') + console.log('+ By what name shall I address thee? => +\n') + console.log('+--------------------------------------------------------------------------------------+') + console.log('+ <= My name is '+nameInput+' <= +\n') + console.log('+ The light brightens to a dazzling glare, then vanishes. +') + console.log('+ A small owl like any but somehow none other comes to rest on a nearby branch. +\n') + console.log('+ Qaspiel => I wilt beest thy companion then. I cannot assist thee on thy journey yet +') + console.log('+ I shall keep thee privy to all things proper and true. Qaspiel is mine +') + console.log('+ name, PUKUKUKUKUKUKUKUKUKUKUKUU! => +\n') + + const rls1 = require('readline-sync') + classPick = ['Sword', 'Wand', 'Rifle'] + index = rls1.keyInSelect(classPick, 'What weapon should I take?') + if (classPick[index] === classPick[0]) + { + console.log('+ You grab your sword! +') + console.log('+ Qaspiel => How nice another warrior (>_>), can I drop the mystic accent noweth? => +\n') + console.log('+ You gawk at the insolent bird with annoyance and slight contempt. +') + console.log('+ => Awesome, it was annoying to talk like that but the job (~REDACTED~)damn job +') + console.log('+ description says "bE mYsTiCaLlllLLlL qASpiEllLL\" as if "Be Not Afraid" isn\'t +') + console.log('+ soooooo overdone. Blame Gabriel. Don\'t even get me started on that guy. 200% a tool.+') + stageOne()} + + else if (classPick[index] === classPick[1]) { + + console.log('+ You grab your wand! +') + console.log('+--------------------------------------------------------------------------------------+') + console.log('+ You gawk at the insolent bird with annoyance and slight contempt. +\n') + console.log('+ => Awesome, it was annoying to talk like that but the job (~REDACTED~)damn job +') + console.log('+ description says "bE mYsTiCaLlllLLlL qASpiEllLL\" as if "Be Not Afraid" isn\'t +') + console.log('+ soooooo overdone. Blame Gabriel. Don\'t even get me started on that guy. 200% total +') + console.log('+ toolbag. Remember you didn\'t hear that from me! => +\n') + stageOne()} + + else if (classPick[index] === classPick[2]) { + console.log('+ You grab your rifle! \n +') + console.log('+ Qaspiel => A mage?? In these parts? I thought only the university could train mages! +') + console.log('+ Watch where you point those Fireballs! => +\n') + console.log('+ You gawk at the insolent bird with annoyance and slight contempt. +\n') + console.log('+ Qaspiel => Awesome, it was annoying to talk like that but the job (~REDACTED~)damn +') + console.log('+ job description says "bE mYsTiCaLlllLLlL qASpiEllLL\" as if "Be Not Afraid"+') + console.log('+ isn\'t soooooo overdone. Blame Gabriel. Don\'t even get me started on that +') + console.log('+ guy. 200% total toolbag. Remember you didn\'t hear that from me! => +\n') + stageOne()} + + else { + quitGame()} + + function stageOne(){ + console.log('im here') + function addHealth(){ + console.log('im here too') + // if (roll > 3) { + // heroStat[3]+10 + // stageOneTwo()} + // else { + // stageOneTwo() + // } + } + + + + console.log('+--------------------------------------------------------------------------------------+') + console.log('+ '+nameInput+' => Shut up bird brain, lets kick some lizard booty! +') + console.log('+ '+nameInput+' darts down the dirt path of the front garden and through the village to +') + console.log('+ the village center where a gaping pit wide enough to host four wagon abreast at its +') + console.log('+ diameter. '+nameInput+' the hero stops right at its edge and Qaspien perches on your +') + console.log('+ shoulder. +') + let help = keyInYN('+ Qaspiel => ~Psssssssst pssst pssssssst~ <=+\n+ [Do you answer?] +') + if (help === true){ + console.log('+--------------------------------------------------------------------------------------+') + console.log('+ Qaspiel => If you let me help you down into the tunnel you could gain some wisdown & +') + console.log('+ wisdom is healthy for the body! +') + console.log('+--------------------------------------------------------------------------------------+') + let lift = keyInYN('+ Do you let Qaspiel assist you down, '+nameInput+'? +\n+ +') + if (lift === true){ + addHealth() + stageOneTwo()} + else { + console.log('+--------------------------------------------------------------------------------------+') + console.log('+ Qaspiel => (<_<) (>_>) (;_;) k then... +') + stageOneTwo()} + } + + else { + console.log('+--------------------------------------------------------------------------------------+') + console.log('+ Qaspiel => (<_<) (>_>) (;_;) k then... +') + stageOneTwo() + } + function stageOneTwo(){ + + } + + } + } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/let length = console.log('+=============.js b/let length = console.log('+=============.js new file mode 100644 index 0000000..01df54a --- /dev/null +++ b/let length = console.log('+=============.js @@ -0,0 +1,6 @@ +let count = "+--------------------------------------------------------------------------------------+" + +function getLength(){ + console.log(count.length) +} +getLength() \ No newline at end of file diff --git a/sandbox.js b/sandbox.js new file mode 100644 index 0000000..5979396 --- /dev/null +++ b/sandbox.js @@ -0,0 +1,6 @@ + +let dice = function (nat,min){ + return Math.floor((Math.random()* nat)+min)}//nest this globally +let roll = dice(6,1) + +console.log(roll) From cb59f8bb83b56da4afafb6cbfc0fd555a02ebfc4 Mon Sep 17 00:00:00 2001 From: Jon Narine Date: Fri, 1 Jan 2021 03:44:40 -0500 Subject: [PATCH 02/56] changes and tweaks to stageOne & framework for stageOneTwo --- .gitignore | 2 +- DragonRend.js | 145 +++++++++++++++++++++++++++++--------------------- 2 files changed, 86 insertions(+), 61 deletions(-) diff --git a/.gitignore b/.gitignore index 40b878d..c2658d7 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -node_modules/ \ No newline at end of file +node_modules/ diff --git a/DragonRend.js b/DragonRend.js index a241a63..141176c 100644 --- a/DragonRend.js +++ b/DragonRend.js @@ -7,11 +7,47 @@ function quitGame() { console.log('Til next time '+ nameInput) if (restart === true) { start() - } else {console.log('Til next time '+ heroName) + } + else {console.log('Til next time '+ heroName) return } } +function dice(nat,min){ + return Math.floor((Math.random()* nat)+min)//nest this globally +} + +let heroStat = [1,1,1,10] +let oppStat = [] + +function addHealth(value, reward, risk){ + console.log('+ You rolled '+(d6 = dice(6,1))+' ! +') + if (d6 > value){ + heroStat[3] = heroStat[3]+reward + console.log('+ You gain '+reward+' health! +') + console.log('+ Your health is now '+heroStat[3]+'! +') + } + else if (d6 < value){ + heroStat[3] = heroStat[3]-risk + console.log('+ You take '+risk+' damage! +') + console.log('+ Your health is now '+heroStat[3]+'! +') + } else { + console.log('+ Whoa someting went really wrong here!!!!!!! +') + } +} + +function minusHealth(value, risk){ + d6 = dice(6,1) + if (d6 < value){ + heroStat[3]= heroStat[3]-risk + + } + console.log('+--------------------------------------------------------------------------------------+') + console.log('+ You take '+heroStat[heroStat.length - 1]+' damage! +') + console.log('+ Your health is now '+heroStat[3]+'. +') +} + + function start() { console.log('+======================================================================================+') console.log('+--------------------------------------------------------------------------------------+') @@ -24,8 +60,8 @@ function start() { console.log('+ `---------’ `----\' `--‘ +') console.log('+--------------------------------------------------------------------------------------+') console.log('+--------------------------------------------------------------------------------------+') - console.log('+ In the land of Phimiba on the black sand coast of the Banar provinces, there thrives +') - console.log('+ the small villageof Strinostra. A valley untouched by the wars of yore for an eon. +') + console.log('+ In the land of Phimiba on the black sand coast of the Banar provinces, there lives +') + console.log('+ the small village of Strinostra. A valley untouched by the wars of yore for an eon. +') console.log('+ Great heroes and villians alike have wrecked and gone asunder in the bony beaches of +') console.log('+ Strinostra and ten thousand fold more in the windblown summit alps to the moutainous +') console.log('+ east. Here in Strinostra grows then mystic Ironbark tree. The last in fact. It\'s sap +') @@ -48,41 +84,7 @@ function start() { start() - -//let dmg = function(lv, atk, def, roll, mod) { -// Math.floor((2(lv)+10/250)*(atk/def)*roll+2)*mod} -// playerStat = [lv, atk, mod] -// diceArr = [roll, ] - -// let mod = 0 - -// let level = 0 - - - -// let dice = function(bottom, top) { -// return Math.floor(Math.random() * top) + bottom} - -const heroStat = [1,1,1,10] -oppStat = [lv,atk, def] - -let dice = function (nat,min){ - return Math.floor((Math.random()* nat)+min)//nest this globally -} -let roll = dice(6,1) -//console.log(dice(6,1)) - -//let heroDmg = function(heroStat[0], heroStat[1], dice, mod) { - - // return Math.floor((2(heroStat[0])+10/250)*(herotat[1]/oppStat[2])*dice+2)*mod} - -//playerStat = [lv, atk, mod, lifepoints] - -// let attack = function(){ - -// } - - function levelOne(){ +function levelOne(){ console.log('+ Winged Light => Hero! Qeldrin, Eater Of All has taken nest in the great bastion of +') console.log('+ Heldana VII Crown, Castle Ironbark. Fight your way to Ironbark and +') @@ -95,7 +97,7 @@ let roll = dice(6,1) console.log('+ Qaspiel => I wilt beest thy companion then. I cannot assist thee on thy journey yet +') console.log('+ I shall keep thee privy to all things proper and true. Qaspiel is mine +') console.log('+ name, PUKUKUKUKUKUKUKUKUKUKUKUU! => +\n') - + const rls1 = require('readline-sync') classPick = ['Sword', 'Wand', 'Rifle'] index = rls1.keyInSelect(classPick, 'What weapon should I take?') @@ -135,52 +137,75 @@ let roll = dice(6,1) quitGame()} function stageOne(){ - console.log('im here') - function addHealth(){ - console.log('im here too') - // if (roll > 3) { - // heroStat[3]+10 - // stageOneTwo()} - // else { - // stageOneTwo() - // } - } - - - + console.log('im here') console.log('+--------------------------------------------------------------------------------------+') console.log('+ '+nameInput+' => Shut up bird brain, lets kick some lizard booty! +') console.log('+ '+nameInput+' darts down the dirt path of the front garden and through the village to +') console.log('+ the village center where a gaping pit wide enough to host four wagon abreast at its +') console.log('+ diameter. '+nameInput+' the hero stops right at its edge and Qaspien perches on your +') console.log('+ shoulder. +') - let help = keyInYN('+ Qaspiel => ~Psssssssst pssst pssssssst~ <=+\n+ [Do you answer?] +') + let help = keyInYN('+ Qaspiel => ~Psssssssst pssst pssssssst~ <=+\n') if (help === true){ console.log('+--------------------------------------------------------------------------------------+') console.log('+ Qaspiel => If you let me help you down into the tunnel you could gain some wisdown & +') console.log('+ wisdom is healthy for the body! +') console.log('+--------------------------------------------------------------------------------------+') - let lift = keyInYN('+ Do you let Qaspiel assist you down, '+nameInput+'? +\n+ +') + let lift = keyInYN('+ Do you let Qaspiel assist you down, '+nameInput+'? +\n') if (lift === true){ - addHealth() + console.log('+ Qaspiel hops on your shoulders and flaps their little wings as you decend. +') + addHealth(3,10,2) stageOneTwo()} else { console.log('+--------------------------------------------------------------------------------------+') - console.log('+ Qaspiel => (<_<) (>_>) (;_;) k then... +') - stageOneTwo()} + console.log('+ Qaspiel => Ahh tough luck buddy... +') + minusHealth(2,2) + console.log('+ Your health is now '+heroStat[3]+'! + ') + stageOneTwo() + } } else { console.log('+--------------------------------------------------------------------------------------+') console.log('+ Qaspiel => (<_<) (>_>) (;_;) k then... +') + console.log('+ You fall down the hole and take some damage +') + console.log('+ Your health is now '+heroStat[3]+'! + ') stageOneTwo() } - function stageOneTwo(){ - } + } + function stageOneTwo(){ + console.log('+--------------------------------------------------------------------------------------+') + console.log('+ You find yourself in a dark tunnel. A faint glint pierces the darkness to your left. +') + investigate = 'Go left!', 'Go right!'] + index = rls1.keyInSelect(investigate, 'Left or Right?') + if (investigate[index] === investigate[0]){ + console.log('+--------------------------------------------------------------------------------------+') + console.log("+ You went left! +") + console.log('+ Upon closer inspection, you find that the glint is reflecting off a metal surface as +') + console.log('+ Qaspiel\'s light dimly illuminates the tunnel. +') + console.log('+ '+nameInput+' => Aha! A mining cart! Its in great condition! <=+') + console.log('+ Qaspiel => I don\'t trust this rust bucket not one bit but hey I can fly so suit +') + console.log('+ yourself! PUKUKUKUKUKUUU! <=+') + stageOneThree() + } + else if (investigate[index] === incestigate[1]){ + console.log('+--------------------------------------------------------------------------------------+') + console.log("+ You went right! +") + console.log('+ As you approach the dripping, the air thickens with malice and the smell of iron +') + console.log('+ permeates the darkness and dread. +') + console.log('+ ????????? => Feed? Feed! CATCH AND FEED!!!!! <=+') + console.log('+ Qaspiel => Watch it kid! Close your eyeballs! <=+\n') + console.log('+ The angel to takes to wing and air, their small but mighty wings growing brighter with+') + console.log('+ each wingbeat. +') + console.log('+ The sconces of the tunnel wall blaze to life and cast an ugly orange aura on a bloody +') + console.log('+ mouthed Troll and the few remains of a villager that hung from the ceiling. How could +') + console.log('+ one have gotten this far to the surface? No matter, let\'s RUMBLE!! +') + + } + } - } + } From e1d131209e95338fba83a45f594e99ad30f87218 Mon Sep 17 00:00:00 2001 From: Jon Narine Date: Sun, 3 Jan 2021 18:12:16 -0500 Subject: [PATCH 03/56] more tweaks to dmg | fixed reference errors --- DragonRend.js | 280 ++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 201 insertions(+), 79 deletions(-) diff --git a/DragonRend.js b/DragonRend.js index 141176c..ac7d16a 100644 --- a/DragonRend.js +++ b/DragonRend.js @@ -7,8 +7,9 @@ function quitGame() { console.log('Til next time '+ nameInput) if (restart === true) { start() - } - else {console.log('Til next time '+ heroName) + + } else { + console.log('Til next time '+ heroName) return } } @@ -16,22 +17,30 @@ function quitGame() { function dice(nat,min){ return Math.floor((Math.random()* nat)+min)//nest this globally } - -let heroStat = [1,1,1,10] -let oppStat = [] +//heroStat = health,atk,def,lvl,current exp +// 0 1 2 3 4 +let heroStat = [10,10,5,1,0] +//let oppStat = [] function addHealth(value, reward, risk){ - console.log('+ You rolled '+(d6 = dice(6,1))+' ! +') - if (d6 > value){ - heroStat[3] = heroStat[3]+reward + console.log('+--------------------------------------------------------------------------------------+') + console.log('+ You rolled '+(d6 = dice(6,1))+' ! +') + if (d6 >= value){ + heroStat[0] = heroStat[0]+reward + console.log('+--------------------------------------------------------------------------------------+') + console.log('+ You gain '+reward+' health! +') - console.log('+ Your health is now '+heroStat[3]+'! +') + console.log('+ Your health is now '+heroStat[0]+'! +') } else if (d6 < value){ - heroStat[3] = heroStat[3]-risk - console.log('+ You take '+risk+' damage! +') - console.log('+ Your health is now '+heroStat[3]+'! +') + heroStat[0] = heroStat[0]-risk + console.log('+--------------------------------------------------------------------------------------+') + + console.log('+ You take '+risk+' damage! +') + console.log('+ Your health is now '+heroStat[0]+'! +') } else { + console.log('+--------------------------------------------------------------------------------------+') + console.log('+ Whoa someting went really wrong here!!!!!!! +') } } @@ -39,36 +48,141 @@ function addHealth(value, reward, risk){ function minusHealth(value, risk){ d6 = dice(6,1) if (d6 < value){ - heroStat[3]= heroStat[3]-risk + heroStat[0]= heroStat[0]-risk } console.log('+--------------------------------------------------------------------------------------+') - console.log('+ You take '+heroStat[heroStat.length - 1]+' damage! +') - console.log('+ Your health is now '+heroStat[3]+'. +') + console.log('+ You take '+heroStat[0]-risk+' damage! +') + console.log('+ Your health is now '+heroStat[0]+'. +') +} + +function dmg(level, atk, enDef, d6){//these stats are hosted in heroStat/oppStat respectively +//define oppStat here by filling in the enemy values --> oppStat[enHealth, enAtk, enDef, enlvl, expgain] + d6 = dice(6,1) + crit = dice(3,1) + let damage = Math.ceil( ( ( (2*level+10) /150) * (atk/enDef) +2) *d6) + + if (d6 !== 1 && d6 !== 6){ + console.log('+--------------------------------------------------------------------------------------+') + + console.log('+ You did '+heroStat[0]-damage+' damage to the enemy! +') + console.log('+ The enemy\'s health is now '+oppStat[0]+'! +') + + } else if (d6 === 6){ + + d6 = dice(6,1) + damage = Math.ceil( ( ( (2*level+10) /150) * (atk/enDef) +2) *d6) + critical = Math.ceil( ( ( (2*level+10) /150) * (atk/enDef) +2) *crit) + critHit = damage + critical + console.log('+--------------------------------------------------------------------------------------+') + + } else if (d6 === 1){ + console.log('+--------------------------------------------------------------------------------------+') + console.log('+ Your attack missed! +') + + } +} +//dodge(d6) +function dodge(d6){//if dodge roll is > 3, nullify damage + d6 = dice(6,1) + if (d6 > 3){ + heroStat[0]-(enDmg + enDmg) + } else { + return heroStat[0]-enDmg + } +} +//spAtk() +function spAtk(){ + console.log('+ Qaspiel => No Special Attacks until you\'re level 3 ya lout! +') +} +//enDmg(oppStat[3],oppStat[1],heroStat[2],d6) +let enDmg = function (enLevel, enAtk, def, d6){//tell the comp the enemy stats for this fight via params + enLvl = (enLvl + 1)-1 + enAtk = (enAtk +1)-1 + def = heroStat[2] + d6 = dice (6,1) + oppStat = [] + oppStat.push(enLvl,enArk,def,d6) + + let damage = Math.ceil( + (((2(enLevel)+10)/150)*(enAtk/def)+2)*d6 + ) + if (d6 >= 3){ + console.log('+ You took '+heroStat[0]-damage+' damage from the enemy!') + console.log('+ Health is now '+heroStat[0]+'!') + } else { + console.log('+ The enemy missed! You take no damage. +') + } +} + +function fight(enHealth, enAtk, enDef, enLvl){ + enHealth = (enHealth+1)-1 + enAtk = (enAtk+1)+ 1 + enDef = (enDef+1)-1 + enLvl = (enLvl+1)-1 + oppStat = [] + oppStat.push(enHealth,enAtk,enDef,enLvl) + while (heroStat[0] > 0 || oppStat[0] > 0){ + const rls1 = require('readline-sync') + options = ['Attack', 'Dodge', 'Sp. Attack', 'Run'] + index = rls1.keyInSelect(options, 'What do you do?') + + if (options[index]===options[0]){ + damage = dmg(heroStat[3],heroStat[1],oppStat[2],[d6]) + oppStat[0] - damage + fight(enHealth, enAtk, enDef, enLvl) + + } else if (options[index] === options[1]) { + dodge(d6) + fight(enHealth, enAtk, enDef, enLvl) + + } else if (options[index] === options[2]) { + spAtk() + fight(enHealth, enAtk, enDef, enLvl) + + } else if (options[index] === options[3]) { + + d6 = dmg(6,1) + d6two = dmg(6,1) + + if (d6 !== d6two){ stageTwo() + } + else { console.log('fill this') + } + + } else if (options[index] === options[4]){ + stageOneThree() + + } else { + quitGame() + } + } } + + function start() { - console.log('+======================================================================================+') - console.log('+--------------------------------------------------------------------------------------+') - console.log('+ ============/ ========/ __ +') - console.log('+ | /.———----.—---—.—.———.———.———--.-----|. / ______.______.____| / +') - console.log('+ |. _ | ____| _ | _ | _ | |. 00 /_| -___| | _ | | +') - console.log('+ |. | |___| |_____._|____| |_____|___|__|. _ |______|___|___|_____/ +') - console.log('+ |: 1 / _____| | |: | | | +') - console.log('+ |: : . . ./ |_______| |: :. | : | +') + console.log('+=======================================================================================+') + console.log('+---------------------------------------------------------------------------------------+') + console.log('+ ============// ========/ __ +') + console.log('+ | _ //.———----.—---—.—.———.———.———--.-----||. / ______.______.____| / +') + console.log('+ |. | || ____| _ | _ | _ | ||. 00 /_| -___| | _ | | +') + console.log('+ |. | ||___| |_____._|____| |_____|___|__||. _ |______|___|___|_____/ +') + console.log('+ |: 1 // _____| | ||: | | | +') + console.log('+ |: : . . ./ |_______| ||: :. | : | +') console.log('+ `---------’ `----\' `--‘ +') - console.log('+--------------------------------------------------------------------------------------+') - console.log('+--------------------------------------------------------------------------------------+') - console.log('+ In the land of Phimiba on the black sand coast of the Banar provinces, there lives +') + console.log('+---------------------------------------------------------------------------------------+') + console.log('+---------------------------------------------------------------------------------------+') + console.log('+ In the land of Phimiba on the black sand coast of the Banar provinces, there lives +') console.log('+ the small village of Strinostra. A valley untouched by the wars of yore for an eon. +') - console.log('+ Great heroes and villians alike have wrecked and gone asunder in the bony beaches of +') - console.log('+ Strinostra and ten thousand fold more in the windblown summit alps to the moutainous +') + console.log('+ Great heroes and villians alike have wrecked and gone asunder in the bony beaches of +') + console.log('+ Strinostra and ten thousand fold more in the windblown summit alps to the moutainous +') console.log('+ east. Here in Strinostra grows then mystic Ironbark tree. The last in fact. It\'s sap +') - console.log('+ gave the first dragons their fire and their barks gave men their first swords, whose +') - console.log('+ branches were cut and bent into wands and whose fruit seeds now make load for rifles.+') - console.log('+ We find you, dear adventurer in your forest garden, where a strange wilting flower of+') - console.log('+ #00ffa2 glows faintly. +') + console.log('+ gave the first dragons their fire and their barks gave men their first swords, whose +') + console.log('+ branches were cut and bent into wands and whose fruit seeds now make load for rifles. +') + console.log('+ We find you, dear adventurer in your forest garden, where a strange wilting flower of +') + console.log('+ #00ffa2 glows faintly. +') let start = keyInYN('+ Do you pick the flower? +') if (start === false){ @@ -79,7 +193,8 @@ function start() { } else { console.log('+======================================================================================+') console.log('+ Thy name is MUD. Prithee maketh haste hence and returneth to thy hutch. +') - quitGame()} + quitGame() + } } start() @@ -120,7 +235,8 @@ function levelOne(){ console.log('+ description says "bE mYsTiCaLlllLLlL qASpiEllLL\" as if "Be Not Afraid" isn\'t +') console.log('+ soooooo overdone. Blame Gabriel. Don\'t even get me started on that guy. 200% total +') console.log('+ toolbag. Remember you didn\'t hear that from me! => +\n') - stageOne()} + stageOne() + } else if (classPick[index] === classPick[2]) { console.log('+ You grab your rifle! \n +') @@ -131,13 +247,14 @@ function levelOne(){ console.log('+ job description says "bE mYsTiCaLlllLLlL qASpiEllLL\" as if "Be Not Afraid"+') console.log('+ isn\'t soooooo overdone. Blame Gabriel. Don\'t even get me started on that +') console.log('+ guy. 200% total toolbag. Remember you didn\'t hear that from me! => +\n') - stageOne()} + stageOne() + } else { - quitGame()} + quitGame() + } function stageOne(){ - console.log('im here') console.log('+--------------------------------------------------------------------------------------+') console.log('+ '+nameInput+' => Shut up bird brain, lets kick some lizard booty! +') console.log('+ '+nameInput+' darts down the dirt path of the front garden and through the village to +') @@ -151,61 +268,66 @@ function levelOne(){ console.log('+ wisdom is healthy for the body! +') console.log('+--------------------------------------------------------------------------------------+') let lift = keyInYN('+ Do you let Qaspiel assist you down, '+nameInput+'? +\n') - if (lift === true){ - console.log('+ Qaspiel hops on your shoulders and flaps their little wings as you decend. +') - addHealth(3,10,2) - stageOneTwo()} - else { - console.log('+--------------------------------------------------------------------------------------+') - console.log('+ Qaspiel => Ahh tough luck buddy... +') - minusHealth(2,2) - console.log('+ Your health is now '+heroStat[3]+'! + ') - stageOneTwo() - } + if (lift === true){ + console.log('+ Qaspiel hops on your shoulders and flaps their little wings as you decend. +') + addHealth(3,10,2) + stageOneTwo()} + else { + console.log('+--------------------------------------------------------------------------------------+') + console.log('+ Qaspiel => Ahh tough luck buddy... +') + minusHealth(2,2) + console.log('+ Your health is now '+heroStat[0]+'! + ') + stageOneTwo() } + } else { console.log('+--------------------------------------------------------------------------------------+') console.log('+ Qaspiel => (<_<) (>_>) (;_;) k then... +') console.log('+ You fall down the hole and take some damage +') - console.log('+ Your health is now '+heroStat[3]+'! + ') + console.log('+ Your health is now '+heroStat[0]+'! + ') stageOneTwo() } - } function stageOneTwo(){ - console.log('+--------------------------------------------------------------------------------------+') - console.log('+ You find yourself in a dark tunnel. A faint glint pierces the darkness to your left. +') - investigate = 'Go left!', 'Go right!'] - index = rls1.keyInSelect(investigate, 'Left or Right?') - if (investigate[index] === investigate[0]){ console.log('+--------------------------------------------------------------------------------------+') - console.log("+ You went left! +") - console.log('+ Upon closer inspection, you find that the glint is reflecting off a metal surface as +') - console.log('+ Qaspiel\'s light dimly illuminates the tunnel. +') - console.log('+ '+nameInput+' => Aha! A mining cart! Its in great condition! <=+') - console.log('+ Qaspiel => I don\'t trust this rust bucket not one bit but hey I can fly so suit +') - console.log('+ yourself! PUKUKUKUKUKUUU! <=+') - stageOneThree() - } - else if (investigate[index] === incestigate[1]){ - console.log('+--------------------------------------------------------------------------------------+') - console.log("+ You went right! +") - console.log('+ As you approach the dripping, the air thickens with malice and the smell of iron +') - console.log('+ permeates the darkness and dread. +') - console.log('+ ????????? => Feed? Feed! CATCH AND FEED!!!!! <=+') - console.log('+ Qaspiel => Watch it kid! Close your eyeballs! <=+\n') - console.log('+ The angel to takes to wing and air, their small but mighty wings growing brighter with+') - console.log('+ each wingbeat. +') - console.log('+ The sconces of the tunnel wall blaze to life and cast an ugly orange aura on a bloody +') - console.log('+ mouthed Troll and the few remains of a villager that hung from the ceiling. How could +') - console.log('+ one have gotten this far to the surface? No matter, let\'s RUMBLE!! +') - - } - + console.log('+ You find yourself in a dark tunnel. A faint glint pierces the darkness to your left. +') + const rls2 = require('readline-sync') + investigate = ['Go left!', 'Go right!'] + index = rls2.keyInSelect(investigate, 'Left or Right?') + + if (investigate[index] === investigate[0]){ + console.log('+--------------------------------------------------------------------------------------+') + console.log("+ You went left! +") + console.log('+ Upon closer inspection, you find that the glint is reflecting off a metal surface as +') + console.log('+ Qaspiel\'s light dimly illuminates the tunnel. +') + console.log('+ '+nameInput+' => Aha! A mining cart! Its in great condition! <=+') + console.log('+ Qaspiel => I don\'t trust this rust bucket not one bit but hey I can fly so suit +') + console.log('+ yourself! PUKUKUKUKUKUUU! <=+') + stageOneThree() + } + else if (investigate[index] === investigate[1]){ + console.log('+--------------------------------------------------------------------------------------+') + console.log("+ You went right! +") + console.log('+ As you approach the dripping, the air thickens with malice and the smell of iron +') + console.log('+ permeates the darkness and dread. +') + console.log('+ ????????? => Feed? Feed! CATCH AND FEED!!!!! <=+') + console.log('+ Qaspiel => Watch it kid! Close your eyeballs! <=+\n') + console.log('+ The angel to takes to wing and air, their small but mighty wings growing brighter with+') + console.log('+ each wingbeat. +') + console.log('+ The sconces of the tunnel wall blaze to life and cast an ugly orange aura on a bloody +') + console.log('+ mouthed Troll and the few remains of a villager that hung from the ceiling. How could +') + console.log('+ one have gotten this far to the surface? No matter, let\'s RUMBLE!! +') + } + } +fight(10,10,2,1) +} + function stageOneThree(){ + console.log('you made it!') + quitGame() } - } + From 821a78e88c31cfb682ff43f744cfd528d1d46f19 Mon Sep 17 00:00:00 2001 From: Jon Narine Date: Mon, 4 Jan 2021 03:48:48 -0500 Subject: [PATCH 04/56] changes to enDmg --- DragonRend.js | 78 +++++++++++++++++++++++---------------------------- 1 file changed, 35 insertions(+), 43 deletions(-) diff --git a/DragonRend.js b/DragonRend.js index ac7d16a..8ba16b7 100644 --- a/DragonRend.js +++ b/DragonRend.js @@ -15,12 +15,12 @@ function quitGame() { } function dice(nat,min){ - return Math.floor((Math.random()* nat)+min)//nest this globally + return Math.floor((Math.random()* min)+nat)//nest this globally } -//heroStat = health,atk,def,lvl,current exp -// 0 1 2 3 4 -let heroStat = [10,10,5,1,0] -//let oppStat = [] + +let heroStat = [10,10,5,1,0] //playerstats --> hP, atk, def, lvl, current exp +let oppStatTroll = [10,10,2,1]//enemy stats --> enHP, enAtk, enDef, enLvl +let oppStatEnt = [8,15,6,1] function addHealth(value, reward, risk){ console.log('+--------------------------------------------------------------------------------------+') @@ -49,7 +49,6 @@ function minusHealth(value, risk){ d6 = dice(6,1) if (d6 < value){ heroStat[0]= heroStat[0]-risk - } console.log('+--------------------------------------------------------------------------------------+') console.log('+ You take '+heroStat[0]-risk+' damage! +') @@ -79,66 +78,53 @@ function dmg(level, atk, enDef, d6){//these stats are hosted in heroStat/oppStat } else if (d6 === 1){ console.log('+--------------------------------------------------------------------------------------+') console.log('+ Your attack missed! +') - } } //dodge(d6) -function dodge(d6){//if dodge roll is > 3, nullify damage +function dodge(risk){//if dodge roll is > 3, nullify damage d6 = dice(6,1) if (d6 > 3){ - heroStat[0]-(enDmg + enDmg) - } else { - return heroStat[0]-enDmg + console.log('+ Succesful dodge! +') + } else if (d6 < 4) { + heroStat[0]-risk + console.log('+ You tripped during your dodge and took '+risk+' damage! +') + console.log('+ Your health is now '+heroStat[0]+'! +') } } //spAtk() -function spAtk(){ - console.log('+ Qaspiel => No Special Attacks until you\'re level 3 ya lout! +') -} + //enDmg(oppStat[3],oppStat[1],heroStat[2],d6) -let enDmg = function (enLevel, enAtk, def, d6){//tell the comp the enemy stats for this fight via params - enLvl = (enLvl + 1)-1 - enAtk = (enAtk +1)-1 - def = heroStat[2] +function enDmg(enAtk,heroStat[0],){//enemyArr stat are held in oppStat + d6 = dice (6,1) - oppStat = [] - oppStat.push(enLvl,enArk,def,d6) - - let damage = Math.ceil( - (((2(enLevel)+10)/150)*(enAtk/def)+2)*d6 - ) - if (d6 >= 3){ + d2 = dice (1,0) + let damage = Math.ceil( ( ( (2*enLvl+10) / 150) * (enAtk/def) +2) *d6) + if (d2 === 1){ console.log('+ You took '+heroStat[0]-damage+' damage from the enemy!') - console.log('+ Health is now '+heroStat[0]+'!') - } else { + console.log('+ Your health is now '+heroStat[0]+'!') + } else if (d2 === 0) { console.log('+ The enemy missed! You take no damage. +') } } -function fight(enHealth, enAtk, enDef, enLvl){ - enHealth = (enHealth+1)-1 - enAtk = (enAtk+1)+ 1 - enDef = (enDef+1)-1 - enLvl = (enLvl+1)-1 - oppStat = [] - oppStat.push(enHealth,enAtk,enDef,enLvl) - while (heroStat[0] > 0 || oppStat[0] > 0){ +function fight(){ + while (heroStat[0] > 0){ const rls1 = require('readline-sync') options = ['Attack', 'Dodge', 'Sp. Attack', 'Run'] - index = rls1.keyInSelect(options, 'What do you do?') + index = rls1.keyInSelect(options, 'What do you do?') - if (options[index]===options[0]){ - damage = dmg(heroStat[3],heroStat[1],oppStat[2],[d6]) - oppStat[0] - damage - fight(enHealth, enAtk, enDef, enLvl) + if (options[index] === options[0]){ + damage = dmg(heroStat[3],heroStat[1],oppStat[2],dice(6,1)) + finalDmg = oppStat[0] - damage + // fight() } else if (options[index] === options[1]) { dodge(d6) - fight(enHealth, enAtk, enDef, enLvl) + // fight() } else if (options[index] === options[2]) { spAtk() - fight(enHealth, enAtk, enDef, enLvl) + // fight() } else if (options[index] === options[3]) { @@ -156,9 +142,14 @@ function fight(enHealth, enAtk, enDef, enLvl){ } else { quitGame() } - } + console.log(heroStat) + console.log(oppStat) + }//while close } +function spAtk(){ + console.log('+ Qaspiel => No Special Attacks until you\'re level 3 ya lout! +') +} @@ -322,6 +313,7 @@ function levelOne(){ } } fight(10,10,2,1) + } function stageOneThree(){ console.log('you made it!') From a01de7bedadf0af3b569079ebf9db451ce212634 Mon Sep 17 00:00:00 2001 From: Jon Narine Date: Wed, 6 Jan 2021 05:41:48 -0500 Subject: [PATCH 05/56] general update --- DragonRend.js | 76 +++++++++++++++++++++++++++------------------------ 1 file changed, 41 insertions(+), 35 deletions(-) diff --git a/DragonRend.js b/DragonRend.js index 8ba16b7..6d36a6f 100644 --- a/DragonRend.js +++ b/DragonRend.js @@ -8,8 +8,8 @@ function quitGame() { if (restart === true) { start() - } else { - console.log('Til next time '+ heroName) + } else if (restart === false) { + console.log('Til next time '+ nameInput) return } } @@ -19,8 +19,12 @@ function dice(nat,min){ } let heroStat = [10,10,5,1,0] //playerstats --> hP, atk, def, lvl, current exp -let oppStatTroll = [10,10,2,1]//enemy stats --> enHP, enAtk, enDef, enLvl -let oppStatEnt = [8,15,6,1] + +let oppStat = [ + + [10,10,2,1] + [8,15,6,1] +] function addHealth(value, reward, risk){ console.log('+--------------------------------------------------------------------------------------+') @@ -55,31 +59,45 @@ function minusHealth(value, risk){ console.log('+ Your health is now '+heroStat[0]+'. +') } -function dmg(level, atk, enDef, d6){//these stats are hosted in heroStat/oppStat respectively +function dmg(atk, enDef,level){//these stats are hosted in heroStat/oppStat respectively //define oppStat here by filling in the enemy values --> oppStat[enHealth, enAtk, enDef, enlvl, expgain] +//calc atk v resistance x level and return a number d6 = dice(6,1) crit = dice(3,1) let damage = Math.ceil( ( ( (2*level+10) /150) * (atk/enDef) +2) *d6) + let critical = Math.ceil( ( ( (2*level+10) /150) * (atk/enDef) +2) *crit) if (d6 !== 1 && d6 !== 6){ - console.log('+--------------------------------------------------------------------------------------+') + // console.log('+--------------------------------------------------------------------------------------+') - console.log('+ You did '+heroStat[0]-damage+' damage to the enemy! +') - console.log('+ The enemy\'s health is now '+oppStat[0]+'! +') + // console.log('+ You did '+heroStat[0]-damage+' damage to the enemy! +') + return heroStat[0]-damage } else if (d6 === 6){ - - d6 = dice(6,1) - damage = Math.ceil( ( ( (2*level+10) /150) * (atk/enDef) +2) *d6) - critical = Math.ceil( ( ( (2*level+10) /150) * (atk/enDef) +2) *crit) - critHit = damage + critical - console.log('+--------------------------------------------------------------------------------------+') + critHit = damage + critical + // console.log('+--------------------------------------------------------------------------------------+') + return critHit } else if (d6 === 1){ - console.log('+--------------------------------------------------------------------------------------+') - console.log('+ Your attack missed! +') + // console.log('+--------------------------------------------------------------------------------------+') + // console.log('+ Your attack missed! +') + return heroStat[0]-0 } } + +function enDmg(enAtk,heroDef,enLvl){//enemyArr stat are held in oppStat + + d6 = dice (6,1) + d2 = dice (2,1) + let damage = Math.ceil( ( ( (2*enLvl+10) / 150) * (enAtk/heroDef) +2) *d6) + if (d2 === 2){ + console.log('+ You took '+heroStat[0]-damage+' damage from the enemy!') + console.log('+ Your health is now '+heroStat[0]+'!') + } else if (d2 === 1) { + console.log('+ The enemy missed! You take no damage. +') + } +} + //dodge(d6) function dodge(risk){//if dodge roll is > 3, nullify damage d6 = dice(6,1) @@ -94,28 +112,17 @@ function dodge(risk){//if dodge roll is > 3, nullify damage //spAtk() //enDmg(oppStat[3],oppStat[1],heroStat[2],d6) -function enDmg(enAtk,heroStat[0],){//enemyArr stat are held in oppStat - - d6 = dice (6,1) - d2 = dice (1,0) - let damage = Math.ceil( ( ( (2*enLvl+10) / 150) * (enAtk/def) +2) *d6) - if (d2 === 1){ - console.log('+ You took '+heroStat[0]-damage+' damage from the enemy!') - console.log('+ Your health is now '+heroStat[0]+'!') - } else if (d2 === 0) { - console.log('+ The enemy missed! You take no damage. +') - } -} -function fight(){ - while (heroStat[0] > 0){ +function fightOne(heroHealth,heroAtk,enHealth, enDef){ + while (heroHealth > 0 || enHealth > 0){ const rls1 = require('readline-sync') options = ['Attack', 'Dodge', 'Sp. Attack', 'Run'] index = rls1.keyInSelect(options, 'What do you do?') if (options[index] === options[0]){ - damage = dmg(heroStat[3],heroStat[1],oppStat[2],dice(6,1)) - finalDmg = oppStat[0] - damage + damage = dmg(heroStat[3],heroStat[1],oppStat[0][2],dice(6,1)) + finalDmg = oppStat[0][0] - damage + enDmg() // fight() } else if (options[index] === options[1]) { @@ -142,8 +149,6 @@ function fight(){ } else { quitGame() } - console.log(heroStat) - console.log(oppStat) }//while close } @@ -189,6 +194,7 @@ function start() { } start() +console.log(dmg(10,2,1)) function levelOne(){ @@ -312,7 +318,7 @@ function levelOne(){ console.log('+ one have gotten this far to the surface? No matter, let\'s RUMBLE!! +') } } -fight(10,10,2,1) +fightOne(heroStat[0],heroStat[1],oppStat[0][2]) } function stageOneThree(){ From 27a97b5188c89e4bc7dc8db0beb3915a3a0326fe Mon Sep 17 00:00:00 2001 From: Jon Narine Date: Wed, 6 Jan 2021 10:02:25 -0500 Subject: [PATCH 06/56] implemented objects in place of arrays as function arguments --- DragonRend.js | 80 ++++++++++++++++++++++++++++----------------------- 1 file changed, 44 insertions(+), 36 deletions(-) diff --git a/DragonRend.js b/DragonRend.js index 6d36a6f..260255c 100644 --- a/DragonRend.js +++ b/DragonRend.js @@ -18,30 +18,41 @@ function dice(nat,min){ return Math.floor((Math.random()* min)+nat)//nest this globally } -let heroStat = [10,10,5,1,0] //playerstats --> hP, atk, def, lvl, current exp +function heroStat(health,atk,def,lvl,exp){ + this.health = health + this.atk = atk + this.def = def + this.lvl = lvl + this.exp = exp +} -let oppStat = [ +let heroStat = new heroStat(10,10,5,1,0) - [10,10,2,1] - [8,15,6,1] -] +function oppStat(enHealth, enAtk,enDef,enLvl, expGain){ + this.enHealth = enHealth + this.enAtk = enAtk + this.enDef = enDef + this.enLvl = enLvl + this.expGain = expGain +} +let oppStatTroll = new oppStat(10,5,2,1,3) function addHealth(value, reward, risk){ console.log('+--------------------------------------------------------------------------------------+') console.log('+ You rolled '+(d6 = dice(6,1))+' ! +') if (d6 >= value){ - heroStat[0] = heroStat[0]+reward + heroStat.health = heroStat.health+reward console.log('+--------------------------------------------------------------------------------------+') console.log('+ You gain '+reward+' health! +') - console.log('+ Your health is now '+heroStat[0]+'! +') + console.log('+ Your health is now '+heroStat.health+'! +') } else if (d6 < value){ - heroStat[0] = heroStat[0]-risk + heroStat.health = heroStat.health-risk console.log('+--------------------------------------------------------------------------------------+') console.log('+ You take '+risk+' damage! +') - console.log('+ Your health is now '+heroStat[0]+'! +') + console.log('+ Your health is now '+heroStat.health+'! +') } else { console.log('+--------------------------------------------------------------------------------------+') @@ -52,11 +63,11 @@ function addHealth(value, reward, risk){ function minusHealth(value, risk){ d6 = dice(6,1) if (d6 < value){ - heroStat[0]= heroStat[0]-risk + heroStat.health= heroStat.health-risk } console.log('+--------------------------------------------------------------------------------------+') - console.log('+ You take '+heroStat[0]-risk+' damage! +') - console.log('+ Your health is now '+heroStat[0]+'. +') + console.log('+ You take '+heroStat.health-risk+' damage! +') + console.log('+ Your health is now '+heroStat.health+'. +') } function dmg(atk, enDef,level){//these stats are hosted in heroStat/oppStat respectively @@ -70,8 +81,8 @@ function dmg(atk, enDef,level){//these stats are hosted in heroStat/oppStat resp if (d6 !== 1 && d6 !== 6){ // console.log('+--------------------------------------------------------------------------------------+') - // console.log('+ You did '+heroStat[0]-damage+' damage to the enemy! +') - return heroStat[0]-damage + // console.log('+ You did '+heroStat.health-damage+' damage to the enemy! +') + return heroStat.health-damage } else if (d6 === 6){ @@ -81,57 +92,54 @@ function dmg(atk, enDef,level){//these stats are hosted in heroStat/oppStat resp } else if (d6 === 1){ // console.log('+--------------------------------------------------------------------------------------+') // console.log('+ Your attack missed! +') - return heroStat[0]-0 + return heroStat.health-0 } } -function enDmg(enAtk,heroDef,enLvl){//enemyArr stat are held in oppStat +function enDmg(enAtk,def,enLvl){//enemyArr stat are held in oppStat d6 = dice (6,1) d2 = dice (2,1) - let damage = Math.ceil( ( ( (2*enLvl+10) / 150) * (enAtk/heroDef) +2) *d6) + let damage = Math.ceil( ( ( (2*enLvl+10) / 150) * (enAtk/def) +2) *d6) if (d2 === 2){ - console.log('+ You took '+heroStat[0]-damage+' damage from the enemy!') - console.log('+ Your health is now '+heroStat[0]+'!') + console.log('+ You took '+heroStat.health-damage+' damage from the enemy!') + console.log('+ Your health is now '+heroStat.health+'!') } else if (d2 === 1) { console.log('+ The enemy missed! You take no damage. +') } } -//dodge(d6) + function dodge(risk){//if dodge roll is > 3, nullify damage d6 = dice(6,1) if (d6 > 3){ console.log('+ Succesful dodge! +') + enDmg(enAtk,def,enlvl) } else if (d6 < 4) { - heroStat[0]-risk + heroStat.health-risk console.log('+ You tripped during your dodge and took '+risk+' damage! +') - console.log('+ Your health is now '+heroStat[0]+'! +') + console.log('+ Your health is now '+heroStat.health+'! +') } } -//spAtk() -//enDmg(oppStat[3],oppStat[1],heroStat[2],d6) -function fightOne(heroHealth,heroAtk,enHealth, enDef){ - while (heroHealth > 0 || enHealth > 0){ +function fightOne(health,atk,lvl,enHealth,enDef,enLvl,dodgeRisk){ + while (health > 0 || enHealth > 0){ const rls1 = require('readline-sync') options = ['Attack', 'Dodge', 'Sp. Attack', 'Run'] index = rls1.keyInSelect(options, 'What do you do?') if (options[index] === options[0]){ - damage = dmg(heroStat[3],heroStat[1],oppStat[0][2],dice(6,1)) - finalDmg = oppStat[0][0] - damage - enDmg() - // fight() + damage = dmg(lvl,atk,enDef) + finalDmg = enHealth - damage + enDmg(enAtk,def,enLvl) } else if (options[index] === options[1]) { - dodge(d6) - // fight() + dodge(dodgeRisk) + } else if (options[index] === options[2]) { spAtk() - // fight() } else if (options[index] === options[3]) { @@ -273,7 +281,7 @@ function levelOne(){ console.log('+--------------------------------------------------------------------------------------+') console.log('+ Qaspiel => Ahh tough luck buddy... +') minusHealth(2,2) - console.log('+ Your health is now '+heroStat[0]+'! + ') + console.log('+ Your health is now '+heroStat.health+'! + ') stageOneTwo() } } @@ -282,7 +290,7 @@ function levelOne(){ console.log('+--------------------------------------------------------------------------------------+') console.log('+ Qaspiel => (<_<) (>_>) (;_;) k then... +') console.log('+ You fall down the hole and take some damage +') - console.log('+ Your health is now '+heroStat[0]+'! + ') + console.log('+ Your health is now '+heroStat.health+'! + ') stageOneTwo() } } @@ -318,7 +326,7 @@ function levelOne(){ console.log('+ one have gotten this far to the surface? No matter, let\'s RUMBLE!! +') } } -fightOne(heroStat[0],heroStat[1],oppStat[0][2]) +fightOne(heroStat.health,heroStat[1],oppStat[0][2]) } function stageOneThree(){ From 86dcbe2580585f29df22d28844027d612260d55a Mon Sep 17 00:00:00 2001 From: Jon Narine Date: Wed, 6 Jan 2021 11:39:49 -0500 Subject: [PATCH 07/56] more changes to implement objects --- DragonRend.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/DragonRend.js b/DragonRend.js index 260255c..aa2c780 100644 --- a/DragonRend.js +++ b/DragonRend.js @@ -26,7 +26,7 @@ function heroStat(health,atk,def,lvl,exp){ this.exp = exp } -let heroStat = new heroStat(10,10,5,1,0) +//let heroStat = new heroStat(10,10,5,1,0) function oppStat(enHealth, enAtk,enDef,enLvl, expGain){ this.enHealth = enHealth @@ -116,6 +116,7 @@ function dodge(risk){//if dodge roll is > 3, nullify damage console.log('+ Succesful dodge! +') enDmg(enAtk,def,enlvl) } else if (d6 < 4) { + heroStat.health-risk console.log('+ You tripped during your dodge and took '+risk+' damage! +') console.log('+ Your health is now '+heroStat.health+'! +') @@ -123,7 +124,7 @@ function dodge(risk){//if dodge roll is > 3, nullify damage } -function fightOne(health,atk,lvl,enHealth,enDef,enLvl,dodgeRisk){ +function fightOne(health,atk,def,lvl,enHealth,enAtk,enDef,enLvl,dodgeRisk){ while (health > 0 || enHealth > 0){ const rls1 = require('readline-sync') options = ['Attack', 'Dodge', 'Sp. Attack', 'Run'] @@ -326,7 +327,8 @@ function levelOne(){ console.log('+ one have gotten this far to the surface? No matter, let\'s RUMBLE!! +') } } -fightOne(heroStat.health,heroStat[1],oppStat[0][2]) + +fightOne(heroStat.health,heroStat.atk,heroStat.lvl,oppStatTroll.enHealth,oppStatTroll.enAtk,oppStatTroll.enDef,oppStatTroll.enLvl,3) } function stageOneThree(){ From dab1c0c4059869df80796979f1646be5e4e4405d Mon Sep 17 00:00:00 2001 From: Jon Narine Date: Mon, 25 Jan 2021 00:48:50 -0500 Subject: [PATCH 08/56] refactoring --- DragonRend.js | 143 ++++++++------------ let length = console.log('+=============.js | 6 - 2 files changed, 59 insertions(+), 90 deletions(-) delete mode 100644 let length = console.log('+=============.js diff --git a/DragonRend.js b/DragonRend.js index aa2c780..cc0672b 100644 --- a/DragonRend.js +++ b/DragonRend.js @@ -6,93 +6,77 @@ function quitGame() { let restart = keyInYN('To the well-organised mind, death is but the next great adventure. Restart?') console.log('Til next time '+ nameInput) if (restart === true) { - start() - + start() } else if (restart === false) { console.log('Til next time '+ nameInput) return } } -function dice(nat,min){ - return Math.floor((Math.random()* min)+nat)//nest this globally -} +function dice(nat,min){ return Math.floor((Math.random()* min)+nat) } -function heroStat(health,atk,def,lvl,exp){ - this.health = health - this.atk = atk - this.def = def - this.lvl = lvl - this.exp = exp -} +let heroStat = [10, 10, 8, 1, 0] -//let heroStat = new heroStat(10,10,5,1,0) - -function oppStat(enHealth, enAtk,enDef,enLvl, expGain){ - this.enHealth = enHealth - this.enAtk = enAtk - this.enDef = enDef - this.enLvl = enLvl - this.expGain = expGain -} -let oppStatTroll = new oppStat(10,5,2,1,3) +let oppStat = [ + [10, 8, 5, 1, 0], + [12, 5, 5, 1, 0] +] -function addHealth(value, reward, risk){ +function addHealth(value, reward, risk) { console.log('+--------------------------------------------------------------------------------------+') console.log('+ You rolled '+(d6 = dice(6,1))+' ! +') if (d6 >= value){ - heroStat.health = heroStat.health+reward - console.log('+--------------------------------------------------------------------------------------+') - - console.log('+ You gain '+reward+' health! +') - console.log('+ Your health is now '+heroStat.health+'! +') - } - else if (d6 < value){ - heroStat.health = heroStat.health-risk + heroStat[0] = heroStat[0]+reward + console.log('+--------------------------------------------------------------------------------------+') + console.log('+ You gain '+reward+' health! +') + console.log('+ Your health is now '+heroStat[0]+'! +') + } else if (d6 < value) { + heroStat[0] = heroStat[0]-risk console.log('+--------------------------------------------------------------------------------------+') - console.log('+ You take '+risk+' damage! +') - console.log('+ Your health is now '+heroStat.health+'! +') - } else { + console.log('+ Your health is now '+heroStat[0]+'! +') + } else { console.log('+--------------------------------------------------------------------------------------+') - console.log('+ Whoa someting went really wrong here!!!!!!! +') - } + } } -function minusHealth(value, risk){ +function minusHealth(value, risk) { d6 = dice(6,1) if (d6 < value){ - heroStat.health= heroStat.health-risk + heroStat[0]= heroStat[0]-risk } console.log('+--------------------------------------------------------------------------------------+') - console.log('+ You take '+heroStat.health-risk+' damage! +') - console.log('+ Your health is now '+heroStat.health+'. +') + console.log('+ You take '+heroStat[0]-risk+' damage! +') + console.log('+ Your health is now '+heroStat[0]+'. +') } function dmg(atk, enDef,level){//these stats are hosted in heroStat/oppStat respectively //define oppStat here by filling in the enemy values --> oppStat[enHealth, enAtk, enDef, enlvl, expgain] //calc atk v resistance x level and return a number - d6 = dice(6,1) - crit = dice(3,1) - let damage = Math.ceil( ( ( (2*level+10) /150) * (atk/enDef) +2) *d6) - let critical = Math.ceil( ( ( (2*level+10) /150) * (atk/enDef) +2) *crit) - - if (d6 !== 1 && d6 !== 6){ - // console.log('+--------------------------------------------------------------------------------------+') + d6 = dice(6, 1) + + crit = dice(3, 1) + + let damage = Math.ceil((((2 * level + 10) / 150) * (atk / enDef) + 2) * d6) + + let critical = Math.ceil((((2 * level + 10) / 150) * (atk / enDef) + 2) * crit) + - // console.log('+ You did '+heroStat.health-damage+' damage to the enemy! +') - return heroStat.health-damage + if (d6 !== 1 && d6 !== 6) { + console.log('+--------------------------------------------------------------------------------------+') + return damage - } else if (d6 === 6){ + } else if (d6 === 6) { - critHit = damage + critical + critHit = damage + critical + console.log(critHit) // console.log('+--------------------------------------------------------------------------------------+') return critHit - } else if (d6 === 1){ + } else if (d6 === 1) { // console.log('+--------------------------------------------------------------------------------------+') - // console.log('+ Your attack missed! +') - return heroStat.health-0 + console.log('+ Your attack missed! +') + return 0 } } @@ -102,43 +86,44 @@ function enDmg(enAtk,def,enLvl){//enemyArr stat are held in oppStat d2 = dice (2,1) let damage = Math.ceil( ( ( (2*enLvl+10) / 150) * (enAtk/def) +2) *d6) if (d2 === 2){ - console.log('+ You took '+heroStat.health-damage+' damage from the enemy!') - console.log('+ Your health is now '+heroStat.health+'!') + console.log(`+ You took ${heroStat[0]-damage} damage from the enemy! +`) + console.log(`+ Your health is now ${heroStat[0]}! +`) } else if (d2 === 1) { console.log('+ The enemy missed! You take no damage. +') } } - -function dodge(risk){//if dodge roll is > 3, nullify damage +function dodge(risk,enAtk1,def2,){//if dodge roll is > 3, nullify damage d6 = dice(6,1) if (d6 > 3){ console.log('+ Succesful dodge! +') - enDmg(enAtk,def,enlvl) + enDmg(enAtk1,def2,enlvl3) } else if (d6 < 4) { - heroStat.health-risk + dodgeFail = heroStat[0]-risk console.log('+ You tripped during your dodge and took '+risk+' damage! +') console.log('+ Your health is now '+heroStat.health+'! +') } } - -function fightOne(health,atk,def,lvl,enHealth,enAtk,enDef,enLvl,dodgeRisk){ - while (health > 0 || enHealth > 0){ +function fightOne(health0,atk1,def2,lvl4,enHealth0,enAtk1,enDef2,enLvl3,dodgeRisk){ + + while (health > 0 || enHealth > 0) { const rls1 = require('readline-sync') options = ['Attack', 'Dodge', 'Sp. Attack', 'Run'] index = rls1.keyInSelect(options, 'What do you do?') if (options[index] === options[0]){ - damage = dmg(lvl,atk,enDef) - finalDmg = enHealth - damage - enDmg(enAtk,def,enLvl) + damage = dmg(lvl4,atk1,enDef2) + finalDmg = enHealth0 - damage + //enDmg(enAtk, def, enLvl) + //iterate randomly through an array and return and indx of the array + //array contains options = ['Attack', 'Dodge', 'Sp. Attack', 'Run'] + //then do that thing } else if (options[index] === options[1]) { dodge(dodgeRisk) - } else if (options[index] === options[2]) { spAtk() @@ -147,11 +132,11 @@ function fightOne(health,atk,def,lvl,enHealth,enAtk,enDef,enLvl,dodgeRisk){ d6 = dmg(6,1) d6two = dmg(6,1) - if (d6 !== d6two){ stageTwo() + if (d6 !== d6two) { + stageTwo() } else { console.log('fill this') } - } else if (options[index] === options[4]){ stageOneThree() @@ -165,8 +150,6 @@ function spAtk(){ console.log('+ Qaspiel => No Special Attacks until you\'re level 3 ya lout! +') } - - function start() { console.log('+=======================================================================================+') console.log('+---------------------------------------------------------------------------------------+') @@ -242,9 +225,7 @@ function levelOne(){ console.log('+ soooooo overdone. Blame Gabriel. Don\'t even get me started on that guy. 200% total +') console.log('+ toolbag. Remember you didn\'t hear that from me! => +\n') stageOne() - } - - else if (classPick[index] === classPick[2]) { + } else if (classPick[index] === classPick[2]) { console.log('+ You grab your rifle! \n +') console.log('+ Qaspiel => A mage?? In these parts? I thought only the university could train mages! +') console.log('+ Watch where you point those Fireballs! => +\n') @@ -254,9 +235,7 @@ function levelOne(){ console.log('+ isn\'t soooooo overdone. Blame Gabriel. Don\'t even get me started on that +') console.log('+ guy. 200% total toolbag. Remember you didn\'t hear that from me! => +\n') stageOne() - } - - else { + } else { quitGame() } @@ -285,9 +264,7 @@ function levelOne(){ console.log('+ Your health is now '+heroStat.health+'! + ') stageOneTwo() } - } - - else { + } else { console.log('+--------------------------------------------------------------------------------------+') console.log('+ Qaspiel => (<_<) (>_>) (;_;) k then... +') console.log('+ You fall down the hole and take some damage +') @@ -312,8 +289,7 @@ function levelOne(){ console.log('+ Qaspiel => I don\'t trust this rust bucket not one bit but hey I can fly so suit +') console.log('+ yourself! PUKUKUKUKUKUUU! <=+') stageOneThree() - } - else if (investigate[index] === investigate[1]){ + } else if (investigate[index] === investigate[1]){ console.log('+--------------------------------------------------------------------------------------+') console.log("+ You went right! +") console.log('+ As you approach the dripping, the air thickens with malice and the smell of iron +') @@ -328,8 +304,7 @@ function levelOne(){ } } -fightOne(heroStat.health,heroStat.atk,heroStat.lvl,oppStatTroll.enHealth,oppStatTroll.enAtk,oppStatTroll.enDef,oppStatTroll.enLvl,3) - +fightOne(heroStat[0],heroStat[1],heroStat[3],oppStatTroll[0][0],oppStatTroll[0][1],oppStatTroll[0][2],oppStatTroll[0][3],3) } function stageOneThree(){ console.log('you made it!') diff --git a/let length = console.log('+=============.js b/let length = console.log('+=============.js deleted file mode 100644 index 01df54a..0000000 --- a/let length = console.log('+=============.js +++ /dev/null @@ -1,6 +0,0 @@ -let count = "+--------------------------------------------------------------------------------------+" - -function getLength(){ - console.log(count.length) -} -getLength() \ No newline at end of file From 642a139f799b69183d088db5c463f39f2b7a8d2f Mon Sep 17 00:00:00 2001 From: Jon Narine Date: Mon, 25 Jan 2021 04:40:38 -0500 Subject: [PATCH 09/56] minor tweaks and bug fixes, loop is running kinda --- DragonRend.js | 39 ++++++++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/DragonRend.js b/DragonRend.js index cc0672b..3d555e8 100644 --- a/DragonRend.js +++ b/DragonRend.js @@ -2,6 +2,9 @@ const {question, keyInYN}=require('readline-sync') let nameInput = question("Enter your name: ") console.log(`Hello ${nameInput}! Welcome to my game.`) +neverSayDie = () => { + +} function quitGame() { let restart = keyInYN('To the well-organised mind, death is but the next great adventure. Restart?') console.log('Til next time '+ nameInput) @@ -80,14 +83,14 @@ function dmg(atk, enDef,level){//these stats are hosted in heroStat/oppStat resp } } -function enDmg(enAtk,def,enLvl){//enemyArr stat are held in oppStat +function enDmg(enAtk1,def2,enLvl3){//enemyArr stat are held in oppStat d6 = dice (6,1) d2 = dice (2,1) - let damage = Math.ceil( ( ( (2*enLvl+10) / 150) * (enAtk/def) +2) *d6) - if (d2 === 2){ - console.log(`+ You took ${heroStat[0]-damage} damage from the enemy! +`) - console.log(`+ Your health is now ${heroStat[0]}! +`) + let damage = Math.ceil( ( ( (2*enLvl3+10) / 150) * (enAtk1/def2) +2) *d6) + if (d2 === 2) { + let hit = heroStat[0]-damage + return hit } else if (d2 === 1) { console.log('+ The enemy missed! You take no damage. +') } @@ -106,15 +109,15 @@ function dodge(risk,enAtk1,def2,){//if dodge roll is > 3, nullify damage } } -function fightOne(health0,atk1,def2,lvl4,enHealth0,enAtk1,enDef2,enLvl3,dodgeRisk){ +function fight(health0,atk1,def2,lvl3,enHealth0,enAtk1,enDef2,enLvl3,dodgeRisk){ - while (health > 0 || enHealth > 0) { + while (health0 > 0 || enHealth0 > 0) { const rls1 = require('readline-sync') options = ['Attack', 'Dodge', 'Sp. Attack', 'Run'] index = rls1.keyInSelect(options, 'What do you do?') if (options[index] === options[0]){ - damage = dmg(lvl4,atk1,enDef2) + damage = dmg(lvl3,atk1,enDef2) finalDmg = enHealth0 - damage //enDmg(enAtk, def, enLvl) //iterate randomly through an array and return and indx of the array @@ -134,9 +137,7 @@ function fightOne(health0,atk1,def2,lvl4,enHealth0,enAtk1,enDef2,enLvl3,dodgeRis if (d6 !== d6two) { stageTwo() - } - else { console.log('fill this') - } + } else { console.log('fill this') } } else if (options[index] === options[4]){ stageOneThree() @@ -144,6 +145,14 @@ function fightOne(health0,atk1,def2,lvl4,enHealth0,enAtk1,enDef2,enLvl3,dodgeRis quitGame() } }//while close + if (heroStat[0] === 0) { + console.log(` ||=====\\ ======== //=====+= ||=====\\ `) + console.log(` || - | || || || - | `) + console.log(` || | | || ||---| || | | `) + console.log(` || 1 | || || || 1 | `) + console.log(` ||=====// ======*= ||======\\||=====// `) + start() + } } function spAtk(){ @@ -261,14 +270,14 @@ function levelOne(){ console.log('+--------------------------------------------------------------------------------------+') console.log('+ Qaspiel => Ahh tough luck buddy... +') minusHealth(2,2) - console.log('+ Your health is now '+heroStat.health+'! + ') + console.log('+ Your health is now '+heroStat[0]+'! + ') stageOneTwo() } } else { console.log('+--------------------------------------------------------------------------------------+') console.log('+ Qaspiel => (<_<) (>_>) (;_;) k then... +') console.log('+ You fall down the hole and take some damage +') - console.log('+ Your health is now '+heroStat.health+'! + ') + console.log(`+ Your health is now ${heroStat[0]}! + `) stageOneTwo() } } @@ -303,8 +312,8 @@ function levelOne(){ console.log('+ one have gotten this far to the surface? No matter, let\'s RUMBLE!! +') } } - -fightOne(heroStat[0],heroStat[1],heroStat[3],oppStatTroll[0][0],oppStatTroll[0][1],oppStatTroll[0][2],oppStatTroll[0][3],3) +// (health0, atk1, def2, lvl3, enHealth0, enAtk1, enDef2, enLvl3,dodgeRisk) +fight(heroStat[0],heroStat[1],heroStat[2],heroStat[3],oppStat[0][0],oppStat[0][1],oppStat[0][2],oppStat[0][3],3) } function stageOneThree(){ console.log('you made it!') From 4bb85d52b12a278ddd45a664d96d6f9f3a32081e Mon Sep 17 00:00:00 2001 From: Jon Narine Date: Sat, 20 Mar 2021 20:35:58 -0400 Subject: [PATCH 10/56] heroStats obj now to host character stats --- DragonRend.js | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/DragonRend.js b/DragonRend.js index 3d555e8..f9b68fa 100644 --- a/DragonRend.js +++ b/DragonRend.js @@ -16,10 +16,19 @@ function quitGame() { } } -function dice(nat,min){ return Math.floor((Math.random()* min)+nat) } -let heroStat = [10, 10, 8, 1, 0] +function dice(nat, min) { return Math.floor((Math.random() * min) + nat) } \ + +const heroStats = { + health: 10, + attack: 10, + defense: 8, + level: 1, + experience: 0 +} +let heroStat = [10, 10, 8, 1, 0] +heroStat[2] let oppStat = [ [10, 8, 5, 1, 0], [12, 5, 5, 1, 0] From 7ec55dd9cdb059d47b7a91ca78b8755373dc8321 Mon Sep 17 00:00:00 2001 From: Jon Narine Date: Sat, 20 Mar 2021 21:12:08 -0400 Subject: [PATCH 11/56] constitutionRoll replaces addHealth and minusHealth --- DragonRend.js | 111 +++++++++++++++++++++++++++++++++++--------------- 1 file changed, 78 insertions(+), 33 deletions(-) diff --git a/DragonRend.js b/DragonRend.js index f9b68fa..6fb3e37 100644 --- a/DragonRend.js +++ b/DragonRend.js @@ -2,22 +2,25 @@ const {question, keyInYN}=require('readline-sync') let nameInput = question("Enter your name: ") console.log(`Hello ${nameInput}! Welcome to my game.`) -neverSayDie = () => { +// neverSayDie = () => { -} -function quitGame() { - let restart = keyInYN('To the well-organised mind, death is but the next great adventure. Restart?') - console.log('Til next time '+ nameInput) - if (restart === true) { - start() - } else if (restart === false) { +// } + +const quitGame = () => { + let restart = keyInYN('To the well-organised mind, death is but the next great adventure. Restart?') console.log('Til next time '+ nameInput) - return - } + if (restart === true) { + start() + } else if (restart === false) { + console.log('Til next time '+ nameInput) + return + } } -function dice(nat, min) { return Math.floor((Math.random() * min) + nat) } \ +const dice = () => { + return Math.floor((Math.random() * min) + nat) +} const heroStats = { health: 10, @@ -27,30 +30,72 @@ const heroStats = { experience: 0 } -let heroStat = [10, 10, 8, 1, 0] -heroStat[2] -let oppStat = [ - [10, 8, 5, 1, 0], - [12, 5, 5, 1, 0] -] - -function addHealth(value, reward, risk) { - console.log('+--------------------------------------------------------------------------------------+') - console.log('+ You rolled '+(d6 = dice(6,1))+' ! +') - if (d6 >= value){ - heroStat[0] = heroStat[0]+reward - console.log('+--------------------------------------------------------------------------------------+') - console.log('+ You gain '+reward+' health! +') - console.log('+ Your health is now '+heroStat[0]+'! +') - } else if (d6 < value) { - heroStat[0] = heroStat[0]-risk +const oppStats = { + troll: { + health: 10, + attack: 10, + defense: 10, + level: 1, + experince: 0 + }, + enemy: { + health: 12, + attack: 5, + defense: 5, + level: 1, + experience: 0 + }, + enemy: { + health: 0, + attack: 0, + defense:0 , + level: 0, + experience: 0 + } +} + +// let oppStat = [ +// [10, 8, 5, 1, 0], +// [12, 5, 5, 1, 0] +// ] + + +const constitutionRoll = (passVal, reward, risk) => { + let roll = dice(6, 1) + if (roll > passVal) { + heroStat.health+reward console.log('+--------------------------------------------------------------------------------------+') - console.log('+ You take '+risk+' damage! +') - console.log('+ Your health is now '+heroStat[0]+'! +') - } else { + console.log(`+ You rolled ${roll}`) + console.log(`+ You gain ${reward} heart points. Health is now ${heroStat.health} +`) + } else if (roll < passVal) { + heroStat.health - risk + console.log('+--------------------------------------------------------------------------------------+') + console.log('+ You rolled ${roll}+') + console.log('+ you lose ${reward} heart points. Health is now ${heroStat.health}+') + return heroStat.health-risk + } else { console.log('+--------------------------------------------------------------------------------------+') - console.log('+ Whoa someting went really wrong here!!!!!!! +') - } + console.log(`Whoa something went really wrong here`) + } +} + +// function addHealth(value, reward, risk) { +// console.log('+--------------------------------------------------------------------------------------+') +// console.log('+ You rolled '+(d6 = dice(6,1))+' ! +') +// if (d6 >= value){ +// heroStat[0] = heroStat[0]+reward +// console.log('+--------------------------------------------------------------------------------------+') +// console.log('+ You gain '+reward+' health! +') +// console.log('+ Your health is now '+heroStat[0]+'! +') +// } else if (d6 < value) { +// heroStat[0] = heroStat[0]-risk +// console.log('+--------------------------------------------------------------------------------------+') +// console.log('+ You take '+risk+' damage! +') +// console.log('+ Your health is now '+heroStat[0]+'! +') +// } else { +// console.log('+--------------------------------------------------------------------------------------+') +// console.log('+ Whoa someting went really wrong here!!!!!!! +') +// } } function minusHealth(value, risk) { From e6ca2800fc558d836bf3043b9a03957d4c05954b Mon Sep 17 00:00:00 2001 From: Jon Narine Date: Sat, 20 Mar 2021 21:36:29 -0400 Subject: [PATCH 12/56] savepoint --- DragonRend.js | 95 ++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 67 insertions(+), 28 deletions(-) diff --git a/DragonRend.js b/DragonRend.js index 6fb3e37..c4c0336 100644 --- a/DragonRend.js +++ b/DragonRend.js @@ -96,48 +96,87 @@ const constitutionRoll = (passVal, reward, risk) => { // console.log('+--------------------------------------------------------------------------------------+') // console.log('+ Whoa someting went really wrong here!!!!!!! +') // } -} -function minusHealth(value, risk) { - d6 = dice(6,1) - if (d6 < value){ - heroStat[0]= heroStat[0]-risk - } - console.log('+--------------------------------------------------------------------------------------+') - console.log('+ You take '+heroStat[0]-risk+' damage! +') - console.log('+ Your health is now '+heroStat[0]+'. +') -} +// function minusHealth(value, risk) { +// d6 = dice(6,1) +// if (d6 < value){ +// heroStat[0]= heroStat[0]-risk +// } +// console.log('+--------------------------------------------------------------------------------------+') +// console.log('+ You take '+heroStat[0]-risk+' damage! +') +// console.log('+ Your health is now '+heroStat[0]+'. +') +// } + + +const dmg = (atk, enemyDef, level) => { + const d6Roll = dice(6,1) + const critRoll = dice(3, 1) -function dmg(atk, enDef,level){//these stats are hosted in heroStat/oppStat respectively -//define oppStat here by filling in the enemy values --> oppStat[enHealth, enAtk, enDef, enlvl, expgain] -//calc atk v resistance x level and return a number - d6 = dice(6, 1) - - crit = dice(3, 1) - let damage = Math.ceil((((2 * level + 10) / 150) * (atk / enDef) + 2) * d6) let critical = Math.ceil((((2 * level + 10) / 150) * (atk / enDef) + 2) * crit) - if (d6 !== 1 && d6 !== 6) { - console.log('+--------------------------------------------------------------------------------------+') + console.log('+--------------------------------------------------------------------------------------+') + heroStat.health - damage + //console.log() return damage - } else if (d6 === 6) { - - critHit = damage + critical - console.log(critHit) - // console.log('+--------------------------------------------------------------------------------------+') - return critHit + let critDmg = damage + critical + console.log(critDmg) + return damage } else if (d6 === 1) { - // console.log('+--------------------------------------------------------------------------------------+') - console.log('+ Your attack missed! +') + console.log(`Your attack missed `) return 0 } } -function enDmg(enAtk1,def2,enLvl3){//enemyArr stat are held in oppStat +// function dmg(atk, enDef,level){//these stats are hosted in heroStat/oppStat respectively +// //define oppStat here by filling in the enemy values --> oppStat[enHealth, enAtk, enDef, enlvl, expgain] +// //calc atk v resistance x level and return a number +// d6 = dice(6, 1) + +// crit = dice(3, 1) + +// let damage = Math.ceil( +// (((2 * level + 10) / 150) * (atk / enDef) + 2) * d6) + +// let critical = Math.ceil((((2 * level + 10) / 150) * (atk / enDef) + 2) * crit) + + +// if (d6 !== 1 && d6 !== 6) { +// console.log('+--------------------------------------------------------------------------------------+') +// return damage + +// } else if (d6 === 6) { + +// critHit = damage + critical +// console.log(critHit) +// // console.log('+--------------------------------------------------------------------------------------+') +// return critHit +// } else if (d6 === 1) { +// // console.log('+--------------------------------------------------------------------------------------+') +// console.log('+ Your attack missed! +') +// return 0 +// } +// } + + + + +const enDmg = (enemyAtk, def, enemyLvl) = () => { + const d6 = dice(6, 1) + const d1 = dice(2, 1) + + let damage = Math.ceil((((2*enemyLvl+10)/150)* (enemyAtk/def))) +} + + + + + + +function enDmg(enAtk1, def2, enLvl3) {//enemyArr stat are held in oppStat d6 = dice (6,1) d2 = dice (2,1) From e8b2f3589d71ddc9c19ba6797faa3b5f41c6f5be Mon Sep 17 00:00:00 2001 From: Jon Narine Date: Fri, 2 Apr 2021 02:42:59 -0400 Subject: [PATCH 13/56] dmg() runs as expected --- DragonRend.js | 99 ++++++++++++++------------------------------------- 1 file changed, 27 insertions(+), 72 deletions(-) diff --git a/DragonRend.js b/DragonRend.js index c4c0336..e92bdba 100644 --- a/DragonRend.js +++ b/DragonRend.js @@ -2,10 +2,6 @@ const {question, keyInYN}=require('readline-sync') let nameInput = question("Enter your name: ") console.log(`Hello ${nameInput}! Welcome to my game.`) -// neverSayDie = () => { - -// } - const quitGame = () => { let restart = keyInYN('To the well-organised mind, death is but the next great adventure. Restart?') console.log('Til next time '+ nameInput) @@ -17,12 +13,11 @@ const quitGame = () => { } } - -const dice = () => { - return Math.floor((Math.random() * min) + nat) +const dice = (nat,min) => { + return Math.floor((Math.random() * nat) + min) } -const heroStats = { +const heroStat = { health: 10, attack: 10, defense: 8, @@ -30,7 +25,7 @@ const heroStats = { experience: 0 } -const oppStats = { +const oppStat = { troll: { health: 10, attack: 10, @@ -38,7 +33,7 @@ const oppStats = { level: 1, experince: 0 }, - enemy: { + ent: { health: 12, attack: 5, defense: 5, @@ -54,12 +49,6 @@ const oppStats = { } } -// let oppStat = [ -// [10, 8, 5, 1, 0], -// [12, 5, 5, 1, 0] -// ] - - const constitutionRoll = (passVal, reward, risk) => { let roll = dice(6, 1) if (roll > passVal) { @@ -107,75 +96,41 @@ const constitutionRoll = (passVal, reward, risk) => { // console.log('+ Your health is now '+heroStat[0]+'. +') // } - const dmg = (atk, enemyDef, level) => { const d6Roll = dice(6,1) const critRoll = dice(3, 1) + console.log(d6Roll, critRoll) - let damage = Math.ceil((((2 * level + 10) / 150) * (atk / enDef) + 2) * d6) - - let critical = Math.ceil((((2 * level + 10) / 150) * (atk / enDef) + 2) * crit) - - if (d6 !== 1 && d6 !== 6) { + let damage = Math.ceil((((2 * level + 10) / 150) * (atk / enemyDef) + 2) * d6Roll) + let critical = Math.ceil((((2 * level + 10) / 150) * (atk / enemyDef) + 2) * critRoll) + console.log(damage, critical) + + + if (d6Roll !== 1 && d6Roll !== 6) { console.log('+--------------------------------------------------------------------------------------+') - heroStat.health - damage - //console.log() - return damage - } else if (d6 === 6) { + oppStat.troll.health - damage + console.log(oppStat.troll.health) + console.log('normal hit') + } else if (d6Roll === 6) { let critDmg = damage + critical + let troll = oppStat.troll.health + troll - critDmg console.log(critDmg) - return damage - } else if (d6 === 1) { - console.log(`Your attack missed `) - return 0 + console.log(troll) + console.log('Critical hit!') + + } else if (d6Roll === 1) { + console.log(`Your attack missed `) } } -// function dmg(atk, enDef,level){//these stats are hosted in heroStat/oppStat respectively -// //define oppStat here by filling in the enemy values --> oppStat[enHealth, enAtk, enDef, enlvl, expgain] -// //calc atk v resistance x level and return a number -// d6 = dice(6, 1) - -// crit = dice(3, 1) - -// let damage = Math.ceil( -// (((2 * level + 10) / 150) * (atk / enDef) + 2) * d6) - -// let critical = Math.ceil((((2 * level + 10) / 150) * (atk / enDef) + 2) * crit) +// const enDmg = (enemyAtk, def, enemyLvl) = () => { +// const d6 = dice(6, 1) +// const d1 = dice(2, 1) - -// if (d6 !== 1 && d6 !== 6) { -// console.log('+--------------------------------------------------------------------------------------+') -// return damage - -// } else if (d6 === 6) { - -// critHit = damage + critical -// console.log(critHit) -// // console.log('+--------------------------------------------------------------------------------------+') -// return critHit -// } else if (d6 === 1) { -// // console.log('+--------------------------------------------------------------------------------------+') -// console.log('+ Your attack missed! +') -// return 0 -// } +// let damage = Math.ceil((((2*enemyLvl+10)/150)* (enemyAtk/def))) // } - - - -const enDmg = (enemyAtk, def, enemyLvl) = () => { - const d6 = dice(6, 1) - const d1 = dice(2, 1) - - let damage = Math.ceil((((2*enemyLvl+10)/150)* (enemyAtk/def))) -} - - - - - - function enDmg(enAtk1, def2, enLvl3) {//enemyArr stat are held in oppStat d6 = dice (6,1) From cd29ba1c118e9d8298d9fb90bd6092240524f2a9 Mon Sep 17 00:00:00 2001 From: Jon Narine Date: Sun, 4 Apr 2021 19:03:40 -0400 Subject: [PATCH 14/56] tweaks to dmg --- DragonRend.js | 94 ++++++++++++++++----------------------------------- 1 file changed, 29 insertions(+), 65 deletions(-) diff --git a/DragonRend.js b/DragonRend.js index e92bdba..ba71ae5 100644 --- a/DragonRend.js +++ b/DragonRend.js @@ -6,10 +6,10 @@ const quitGame = () => { let restart = keyInYN('To the well-organised mind, death is but the next great adventure. Restart?') console.log('Til next time '+ nameInput) if (restart === true) { - start() + start() } else if (restart === false) { - console.log('Til next time '+ nameInput) - return + console.log('Til next time '+ nameInput) + process.exit() } } @@ -56,104 +56,68 @@ const constitutionRoll = (passVal, reward, risk) => { console.log('+--------------------------------------------------------------------------------------+') console.log(`+ You rolled ${roll}`) console.log(`+ You gain ${reward} heart points. Health is now ${heroStat.health} +`) + } else if (roll < passVal) { heroStat.health - risk console.log('+--------------------------------------------------------------------------------------+') console.log('+ You rolled ${roll}+') - console.log('+ you lose ${reward} heart points. Health is now ${heroStat.health}+') - return heroStat.health-risk + console.log(`+ you lose ${reward} heart points. Health is now ${heroStat.health}+`) + } else { console.log('+--------------------------------------------------------------------------------------+') console.log(`Whoa something went really wrong here`) } } -// function addHealth(value, reward, risk) { -// console.log('+--------------------------------------------------------------------------------------+') -// console.log('+ You rolled '+(d6 = dice(6,1))+' ! +') -// if (d6 >= value){ -// heroStat[0] = heroStat[0]+reward -// console.log('+--------------------------------------------------------------------------------------+') -// console.log('+ You gain '+reward+' health! +') -// console.log('+ Your health is now '+heroStat[0]+'! +') -// } else if (d6 < value) { -// heroStat[0] = heroStat[0]-risk -// console.log('+--------------------------------------------------------------------------------------+') -// console.log('+ You take '+risk+' damage! +') -// console.log('+ Your health is now '+heroStat[0]+'! +') -// } else { -// console.log('+--------------------------------------------------------------------------------------+') -// console.log('+ Whoa someting went really wrong here!!!!!!! +') -// } - -// function minusHealth(value, risk) { -// d6 = dice(6,1) -// if (d6 < value){ -// heroStat[0]= heroStat[0]-risk -// } -// console.log('+--------------------------------------------------------------------------------------+') -// console.log('+ You take '+heroStat[0]-risk+' damage! +') -// console.log('+ Your health is now '+heroStat[0]+'. +') -// } - -const dmg = (atk, enemyDef, level) => { +const dmg = (atk, enemyDef, level, enemy) => { const d6Roll = dice(6,1) const critRoll = dice(3, 1) - console.log(d6Roll, critRoll) + // console.log(d6Roll, critRoll) let damage = Math.ceil((((2 * level + 10) / 150) * (atk / enemyDef) + 2) * d6Roll) let critical = Math.ceil((((2 * level + 10) / 150) * (atk / enemyDef) + 2) * critRoll) - console.log(damage, critical) - + // console.log(damage, critical) if (d6Roll !== 1 && d6Roll !== 6) { - console.log('+--------------------------------------------------------------------------------------+') - oppStat.troll.health - damage - console.log(oppStat.troll.health) + console.log('+--------------------------------------------------------------------------------------+') console.log('normal hit') + return enemy.health - damage + } else if (d6Roll === 6) { let critDmg = damage + critical - let troll = oppStat.troll.health - troll - critDmg - console.log(critDmg) - console.log(troll) + let troll = enemy.health console.log('Critical hit!') + return troll - critDmg } else if (d6Roll === 1) { - console.log(`Your attack missed `) + console.log(`Your attack missed `) + return 0 } } -// const enDmg = (enemyAtk, def, enemyLvl) = () => { -// const d6 = dice(6, 1) -// const d1 = dice(2, 1) - -// let damage = Math.ceil((((2*enemyLvl+10)/150)* (enemyAtk/def))) -// } +const enDmg = (enemyAtk, def, enemyLvl) => { + const d6Roll = dice(6, 1) + const d2Roll = dice(2, 1) -function enDmg(enAtk1, def2, enLvl3) {//enemyArr stat are held in oppStat - - d6 = dice (6,1) - d2 = dice (2,1) - let damage = Math.ceil( ( ( (2*enLvl3+10) / 150) * (enAtk1/def2) +2) *d6) - if (d2 === 2) { - let hit = heroStat[0]-damage + let damage = Math.ceil( ( ( (2*enemyLvl+10) / 150) * (enemyAtk/def) +2) *d6Roll) + if (d2Roll === 2) { + let hit = heroStat.health - damage return hit } else if (d2 === 1) { console.log('+ The enemy missed! You take no damage. +') + return 0 } } -function dodge(risk,enAtk1,def2,){//if dodge roll is > 3, nullify damage - d6 = dice(6,1) +const dodge = (risk,enemyAtk,def) => {//if dodge roll is > 3, nullify damage + const d6 = dice(6,1) if (d6 > 3){ - console.log('+ Succesful dodge! +') - enDmg(enAtk1,def2,enlvl3) - } else if (d6 < 4) { + console.log('+ Succesful dodge! +') + return 1; - dodgeFail = heroStat[0]-risk + } else if (d6 < 4) { console.log('+ You tripped during your dodge and took '+risk+' damage! +') - console.log('+ Your health is now '+heroStat.health+'! +') + console.log(`+ Your health is now ${heroStat.health}! +`) } } From c215c9ab47cfe0ef19483bb06222aca807fe5810 Mon Sep 17 00:00:00 2001 From: Jon Narine Date: Sun, 4 Apr 2021 21:30:27 -0400 Subject: [PATCH 15/56] fix dmg, endmg, dodge, working on constitution roll --- DragonRend.js | 485 +++++++++++++++++++++++++++++--------------------- 1 file changed, 281 insertions(+), 204 deletions(-) diff --git a/DragonRend.js b/DragonRend.js index ba71ae5..9f66139 100644 --- a/DragonRend.js +++ b/DragonRend.js @@ -69,37 +69,140 @@ const constitutionRoll = (passVal, reward, risk) => { } } -const dmg = (atk, enemyDef, level, enemy) => { +// const dmg = (atk, enemyDef, level, enemy) => { +// const d6Roll = dice(6,1) +// const critRoll = dice(3, 1) +// // console.log(d6Roll, critRoll) + +// let damage = Math.ceil((((2 * level + 10) / 150) * (atk / enemyDef) + 2) * d6Roll) +// let critical = Math.ceil((((2 * level + 10) / 150) * (atk / enemyDef) + 2) * critRoll) +// // console.log(damage, critical) + +// if (d6Roll !== 1 && d6Roll !== 6) { +// console.log('+--------------------------------------------------------------------------------------+') +// console.log('normal hit') +// return enemy.health - damage + +// } else if (d6Roll === 6) { +// let critDmg = damage + critical +// let troll = enemy.health +// console.log('Critical hit!') +// return troll - critDmg + +// } else if (d6Roll === 1) { +// console.log(`Your attack missed `) +// return 0 +// } +// } + +// const enDmg = (enemyAtk, def, enemyLvl) => { +// const d6Roll = dice(6, 1) +// const d2Roll = dice(2, 1) + +// let damage = Math.ceil( ( ( (2*enemyLvl+10) / 150) * (enemyAtk/def) +2) *d6Roll) +// if (d2Roll === 2) { +// let hit = heroStat.health - damage +// return hit +// } else if (d2 === 1) { +// console.log('+ The enemy missed! You take no damage. +') +// return 0 +// } +// } + +// const dodge = (risk,enemyAtk,def) => {//if dodge roll is > 3, nullify damage +// const d6 = dice(6,1) +// if (d6 > 3){ +// console.log('+ Succesful dodge! +') +// return 1; + +// } else if (d6 < 4) { +// console.log('+ You tripped during your dodge and took '+risk+' damage! +') +// console.log(`+ Your health is now ${heroStat.health}! +`) +// } +// } + +// function fight(health0,atk1,def2,lvl3,enHealth0,enAtk1,enDef2,enLvl3,dodgeRisk){ + +// while (health0 > 0 || enHealth0 > 0) { +// const rls1 = require('readline-sync') +// options = ['Attack', 'Dodge', 'Sp. Attack', 'Run'] +// index = rls1.keyInSelect(options, 'What do you do?') + +// if (options[index] === options[0]){ +// damage = dmg(lvl3,atk1,enDef2) +// finalDmg = enHealth0 - damage +// //enDmg(enAtk, def, enLvl) +// //iterate randomly through an array and return and indx of the array +// //array contains options = ['Attack', 'Dodge', 'Sp. Attack', 'Run'] +// //then do that thing + +// } else if (options[index] === options[1]) { +// dodge(dodgeRisk) + +// } else if (options[index] === options[2]) { +// spAtk() + +// } else if (options[index] === options[3]) { + +// d6 = dmg(6,1) +// d6two = dmg(6,1) + +// if (d6 !== d6two) { +// stageTwo() +// } else { console.log('fill this') } +// } else if (options[index] === options[4]){ +// stageOneThree() + +// } else { +// quitGame() +// } +// }//while close +// if (heroStat[0] === 0) { +// console.log(` ||=====\\ ======== //=====+= ||=====\\ `) +// console.log(` || - | || || || - | `) +// console.log(` || | | || ||---| || | | `) +// console.log(` || 1 | || || || 1 | `) +// console.log(` ||=====// ======*= ||======\\||=====// `) +// start() +// } +// } + +// function spAtk(){ +// console.log('+ Qaspiel => No Special Attacks until you\'re level 3 ya lout! +') +// } + +const dmg = (herostat, enemy) => { const d6Roll = dice(6,1) const critRoll = dice(3, 1) - // console.log(d6Roll, critRoll) + console.log(d6Roll, critRoll) - let damage = Math.ceil((((2 * level + 10) / 150) * (atk / enemyDef) + 2) * d6Roll) - let critical = Math.ceil((((2 * level + 10) / 150) * (atk / enemyDef) + 2) * critRoll) - // console.log(damage, critical) + let damage = Math.ceil((((2 * herostat.level + 10) / 150) * (herostat.attack / enemy.defense) + 2) * d6Roll) + // let damage = Math.ceil((((2 * level + 10) / 150) * (atk / enemyDef) + 2) * d6Roll) + + let critical = Math.ceil((((2 * herostat.level + 10) / 150) * (herostat.attack / enemy.defense) + 2) * critRoll) + // let critical = Math.ceil((((2 * level + 10) / 150) * (atk / enemyDef) + 2) * critRoll) + + console.log(damage, critical) if (d6Roll !== 1 && d6Roll !== 6) { - console.log('+--------------------------------------------------------------------------------------+') - console.log('normal hit') + console.log('+--------------------------------------------------------------------------------------+') + // console.log(`${nameInput}`) return enemy.health - damage - } else if (d6Roll === 6) { - let critDmg = damage + critical - let troll = enemy.health - console.log('Critical hit!') - return troll - critDmg - + let critDmg = damage + critical + // console.log('Critical hit!') + return enemy.health - critDmg } else if (d6Roll === 1) { console.log(`Your attack missed `) return 0 } } -const enDmg = (enemyAtk, def, enemyLvl) => { +const enDmg = (herostat, enemy) => { const d6Roll = dice(6, 1) const d2Roll = dice(2, 1) - let damage = Math.ceil( ( ( (2*enemyLvl+10) / 150) * (enemyAtk/def) +2) *d6Roll) + let damage = Math.ceil((((2 * enemy.level + 10) / 150) * (enemy.attack / herostat.defense) + 2) * d6Roll) if (d2Roll === 2) { let hit = heroStat.health - damage return hit @@ -109,138 +212,143 @@ const enDmg = (enemyAtk, def, enemyLvl) => { } } -const dodge = (risk,enemyAtk,def) => {//if dodge roll is > 3, nullify damage - const d6 = dice(6,1) - if (d6 > 3){ + +const dodge = (risk) => {//if dodge roll is > 3, nullify damage + const d6 = dice(6, 1) + if (d6 > 3) { console.log('+ Succesful dodge! +') - return 1; + return true; } else if (d6 < 4) { - console.log('+ You tripped during your dodge and took '+risk+' damage! +') - console.log(`+ Your health is now ${heroStat.health}! +`) + console.log('+ You tripped during your dodge and took ' + risk + ' damage! +') + console.log(`+ Your health is now ${heroStat.health}! +`) + return false; } } -function fight(health0,atk1,def2,lvl3,enHealth0,enAtk1,enDef2,enLvl3,dodgeRisk){ - - while (health0 > 0 || enHealth0 > 0) { - const rls1 = require('readline-sync') - options = ['Attack', 'Dodge', 'Sp. Attack', 'Run'] - index = rls1.keyInSelect(options, 'What do you do?') - - if (options[index] === options[0]){ - damage = dmg(lvl3,atk1,enDef2) - finalDmg = enHealth0 - damage - //enDmg(enAtk, def, enLvl) - //iterate randomly through an array and return and indx of the array - //array contains options = ['Attack', 'Dodge', 'Sp. Attack', 'Run'] - //then do that thing - - } else if (options[index] === options[1]) { - dodge(dodgeRisk) - - } else if (options[index] === options[2]) { - spAtk() - - } else if (options[index] === options[3]) { + /* + herostat -> reference the heroStat object + enemy -> reference the oppStat object !! be sure to specify what opponent the player is fighting !! + risk -> integer value tbd by the dev + next -> move ahead to next stage + */ + + const fight = (herostat, enemy, risk, next) => { + while (herostat.health > 0 || enemy.health < 1) { + const options = ['Attack', 'Dodge', 'Special Attack', 'Run'] + index = rls1.keyInSelect(options, `What's your move?`) + + if (options[i] === options[0]) { + const damage = dmg(herostat, enemy) + const enDmg = enDmg(herostat, enemy) + enemy.health - damage + herostat.health - enDmg.health + + } else if (options[i] === options[1]) { + let dodge = dodge(risk) + return dodge + + } else if (options[i] === options[2]) { + if (herostat.level > 3) { + return true; + } else { + console.log(`Do you even lift? Your level is too low, scrub.`) + } - d6 = dmg(6,1) - d6two = dmg(6,1) + } else if (options[i] === options[3]) { + const d2 = dice(2, 1) + if (d2 === 1) { + console.log(`How could 1 tail beat 2 heads? `) + fight(herostat, enemy, risk, next) + } else { + console.log(`2 heads are indeed better than one. However, a hero never runs, the Heads beyond the skies have judged you and condemn thee to die`) + quitGame() + } + } + } + if (herostat.health === 0) { + console.log(` ||=====\\ ======== //=====+= ||=====\\ `) + console.log(` || - | || || || - | `) + console.log(` || | | || ||---| || | | `) + console.log(` || 1 | || || || 1 | `) + console.log(` ||=====// ======*= ||======\\||=====// `) + start() + } else if (enemy.health === 0) { + next + } + } - if (d6 !== d6two) { - stageTwo() - } else { console.log('fill this') } - } else if (options[index] === options[4]){ - stageOneThree() + function start() { + console.log('+=======================================================================================+') + console.log('+---------------------------------------------------------------------------------------+') + console.log('+ ============// ========/ __ +') + console.log('+ | _ //.———----.—---—.—.———.———.———--.-----||. / ______.______.____| / +') + console.log('+ |. | || ____| _ | _ | _ | ||. 00 /_| -___| | _ | | +') + console.log('+ |. | ||___| |_____._|____| |_____|___|__||. _ |______|___|___|_____/ +') + console.log('+ |: 1 // _____| | ||: | | | +') + console.log('+ |: : . . ./ |_______| ||: :. | : | +') + console.log('+ `---------’ `----\' `--‘ +') + console.log('+---------------------------------------------------------------------------------------+') + console.log('+---------------------------------------------------------------------------------------+') + console.log('+ In the land of Phimiba on the black sand coast of the Banar provinces, there lives +') + console.log('+ the small village of Strinostra. A valley untouched by the wars of yore for an eon. +') + console.log('+ Great heroes and villians alike have wrecked and gone asunder in the bony beaches of +') + console.log('+ Strinostra and ten thousand fold more in the windblown summit alps to the moutainous +') + console.log('+ east. Here in Strinostra grows then mystic Ironbark tree. The last in fact. It\'s sap +') + console.log('+ gave the first dragons their fire and their barks gave men their first swords, whose +') + console.log('+ branches were cut and bent into wands and whose fruit seeds now make load for rifles. +') + console.log('+ We find you, dear adventurer in your forest garden, where a strange wilting flower of +') + console.log('+ #00ffa2 glows faintly. +') + + let start = keyInYN('+ Do you pick the flower? +') + if (start === false) { + console.log('+======================================================================================+') + console.log('+ You choose not to pick the beautiful dying flower but nuturture it instead! +\n\n') + console.log('+ Until one day... +') + levelOne() } else { + console.log('+======================================================================================+') + console.log('+ Thy name is MUD. Prithee maketh haste hence and returneth to thy hutch. +') quitGame() } - }//while close - if (heroStat[0] === 0) { - console.log(` ||=====\\ ======== //=====+= ||=====\\ `) - console.log(` || - | || || || - | `) - console.log(` || | | || ||---| || | | `) - console.log(` || 1 | || || || 1 | `) - console.log(` ||=====// ======*= ||======\\||=====// `) - start() - } -} - -function spAtk(){ - console.log('+ Qaspiel => No Special Attacks until you\'re level 3 ya lout! +') -} - -function start() { - console.log('+=======================================================================================+') - console.log('+---------------------------------------------------------------------------------------+') - console.log('+ ============// ========/ __ +') - console.log('+ | _ //.———----.—---—.—.———.———.———--.-----||. / ______.______.____| / +') - console.log('+ |. | || ____| _ | _ | _ | ||. 00 /_| -___| | _ | | +') - console.log('+ |. | ||___| |_____._|____| |_____|___|__||. _ |______|___|___|_____/ +') - console.log('+ |: 1 // _____| | ||: | | | +') - console.log('+ |: : . . ./ |_______| ||: :. | : | +') - console.log('+ `---------’ `----\' `--‘ +') - console.log('+---------------------------------------------------------------------------------------+') - console.log('+---------------------------------------------------------------------------------------+') - console.log('+ In the land of Phimiba on the black sand coast of the Banar provinces, there lives +') - console.log('+ the small village of Strinostra. A valley untouched by the wars of yore for an eon. +') - console.log('+ Great heroes and villians alike have wrecked and gone asunder in the bony beaches of +') - console.log('+ Strinostra and ten thousand fold more in the windblown summit alps to the moutainous +') - console.log('+ east. Here in Strinostra grows then mystic Ironbark tree. The last in fact. It\'s sap +') - console.log('+ gave the first dragons their fire and their barks gave men their first swords, whose +') - console.log('+ branches were cut and bent into wands and whose fruit seeds now make load for rifles. +') - console.log('+ We find you, dear adventurer in your forest garden, where a strange wilting flower of +') - console.log('+ #00ffa2 glows faintly. +') - - let start = keyInYN('+ Do you pick the flower? +') - if (start === false){ - console.log('+======================================================================================+') - console.log('+ You choose not to pick the beautiful dying flower but nuturture it instead! +\n\n') - console.log('+ Until one day... +') - levelOne() - } else { - console.log('+======================================================================================+') - console.log('+ Thy name is MUD. Prithee maketh haste hence and returneth to thy hutch. +') - quitGame() } -} -start() -console.log(dmg(10,2,1)) + start() + console.log(dmg(10, 2, 1)) -function levelOne(){ + function levelOne() { - console.log('+ Winged Light => Hero! Qeldrin, Eater Of All has taken nest in the great bastion of +') - console.log('+ Heldana VII Crown, Castle Ironbark. Fight your way to Ironbark and +') - console.log('+ slay the beast! +') - console.log('+ By what name shall I address thee? => +\n') - console.log('+--------------------------------------------------------------------------------------+') - console.log('+ <= My name is '+nameInput+' <= +\n') - console.log('+ The light brightens to a dazzling glare, then vanishes. +') - console.log('+ A small owl like any but somehow none other comes to rest on a nearby branch. +\n') - console.log('+ Qaspiel => I wilt beest thy companion then. I cannot assist thee on thy journey yet +') - console.log('+ I shall keep thee privy to all things proper and true. Qaspiel is mine +') - console.log('+ name, PUKUKUKUKUKUKUKUKUKUKUKUU! => +\n') + console.log('+ Winged Light => Hero! Qeldrin, Eater Of All has taken nest in the great bastion of +') + console.log('+ Heldana VII Crown, Castle Ironbark. Fight your way to Ironbark and +') + console.log('+ slay the beast! +') + console.log('+ By what name shall I address thee? => +\n') + console.log('+--------------------------------------------------------------------------------------+') + console.log('+ <= My name is ' + nameInput + ' <= +\n') + console.log('+ The light brightens to a dazzling glare, then vanishes. +') + console.log('+ A small owl like any but somehow none other comes to rest on a nearby branch. +\n') + console.log('+ Qaspiel => I wilt beest thy companion then. I cannot assist thee on thy journey yet +') + console.log('+ I shall keep thee privy to all things proper and true. Qaspiel is mine +') + console.log('+ name, PUKUKUKUKUKUKUKUKUKUKUKUU! => +\n') - const rls1 = require('readline-sync') + const rls1 = require('readline-sync') classPick = ['Sword', 'Wand', 'Rifle'] index = rls1.keyInSelect(classPick, 'What weapon should I take?') - if (classPick[index] === classPick[0]) - { + if (classPick[index] === classPick[0]) { console.log('+ You grab your sword! +') console.log('+ Qaspiel => How nice another warrior (>_>), can I drop the mystic accent noweth? => +\n') - console.log('+ You gawk at the insolent bird with annoyance and slight contempt. +') + console.log('+ You gawk at the insolent bird with annoyance and slight contempt. +') console.log('+ => Awesome, it was annoying to talk like that but the job (~REDACTED~)damn job +') console.log('+ description says "bE mYsTiCaLlllLLlL qASpiEllLL\" as if "Be Not Afraid" isn\'t +') console.log('+ soooooo overdone. Blame Gabriel. Don\'t even get me started on that guy. 200% a tool.+') - stageOne()} + stageOne() + } else if (classPick[index] === classPick[1]) { console.log('+ You grab your wand! +') console.log('+--------------------------------------------------------------------------------------+') - console.log('+ You gawk at the insolent bird with annoyance and slight contempt. +\n') + console.log('+ You gawk at the insolent bird with annoyance and slight contempt. +\n') console.log('+ => Awesome, it was annoying to talk like that but the job (~REDACTED~)damn job +') console.log('+ description says "bE mYsTiCaLlllLLlL qASpiEllLL\" as if "Be Not Afraid" isn\'t +') console.log('+ soooooo overdone. Blame Gabriel. Don\'t even get me started on that guy. 200% total +') @@ -250,7 +358,7 @@ function levelOne(){ console.log('+ You grab your rifle! \n +') console.log('+ Qaspiel => A mage?? In these parts? I thought only the university could train mages! +') console.log('+ Watch where you point those Fireballs! => +\n') - console.log('+ You gawk at the insolent bird with annoyance and slight contempt. +\n') + console.log('+ You gawk at the insolent bird with annoyance and slight contempt. +\n') console.log('+ Qaspiel => Awesome, it was annoying to talk like that but the job (~REDACTED~)damn +') console.log('+ job description says "bE mYsTiCaLlllLLlL qASpiEllLL\" as if "Be Not Afraid"+') console.log('+ isn\'t soooooo overdone. Blame Gabriel. Don\'t even get me started on that +') @@ -260,29 +368,30 @@ function levelOne(){ quitGame() } - function stageOne(){ + function stageOne() { console.log('+--------------------------------------------------------------------------------------+') - console.log('+ '+nameInput+' => Shut up bird brain, lets kick some lizard booty! +') - console.log('+ '+nameInput+' darts down the dirt path of the front garden and through the village to +') - console.log('+ the village center where a gaping pit wide enough to host four wagon abreast at its +') - console.log('+ diameter. '+nameInput+' the hero stops right at its edge and Qaspien perches on your +') - console.log('+ shoulder. +') + console.log('+ ' + nameInput + ' => Shut up bird brain, lets kick some lizard booty! +') + console.log('+ ' + nameInput + ' darts down the dirt path of the front garden and through the village to +') + console.log('+ the village center where a gaping pit wide enough to host four wagon abreast at its +') + console.log('+ diameter. ' + nameInput + ' the hero stops right at its edge and Qaspien perches on your +') + console.log('+ shoulder. +') let help = keyInYN('+ Qaspiel => ~Psssssssst pssst pssssssst~ <=+\n') - if (help === true){ + if (help === true) { console.log('+--------------------------------------------------------------------------------------+') - console.log('+ Qaspiel => If you let me help you down into the tunnel you could gain some wisdown & +') - console.log('+ wisdom is healthy for the body! +') + console.log('+ Qaspiel => If you let me help you down into the tunnel you could gain some wisdown & +') + console.log('+ wisdom is healthy for the body! +') console.log('+--------------------------------------------------------------------------------------+') - let lift = keyInYN('+ Do you let Qaspiel assist you down, '+nameInput+'? +\n') - if (lift === true){ + let lift = keyInYN('+ Do you let Qaspiel assist you down, ' + nameInput + '? +\n') + if (lift === true) { console.log('+ Qaspiel hops on your shoulders and flaps their little wings as you decend. +') - addHealth(3,10,2) - stageOneTwo()} - else { + addHealth(3, 10, 2) + stageOneTwo() + } + else { console.log('+--------------------------------------------------------------------------------------+') console.log('+ Qaspiel => Ahh tough luck buddy... +') - minusHealth(2,2) - console.log('+ Your health is now '+heroStat[0]+'! + ') + minusHealth(2, 2) + console.log('+ Your health is now ' + heroStat[0] + '! + ') stageOneTwo() } } else { @@ -291,79 +400,47 @@ function levelOne(){ console.log('+ You fall down the hole and take some damage +') console.log(`+ Your health is now ${heroStat[0]}! + `) stageOneTwo() - } + } } - function stageOneTwo(){ - console.log('+--------------------------------------------------------------------------------------+') - console.log('+ You find yourself in a dark tunnel. A faint glint pierces the darkness to your left. +') - const rls2 = require('readline-sync') - investigate = ['Go left!', 'Go right!'] - index = rls2.keyInSelect(investigate, 'Left or Right?') + function stageOneTwo() { + console.log('+--------------------------------------------------------------------------------------+') + console.log('+ You find yourself in a dark tunnel. A faint glint pierces the darkness to your left. +') + const rls2 = require('readline-sync') + investigate = ['Go left!', 'Go right!'] + index = rls2.keyInSelect(investigate, 'Left or Right?') - if (investigate[index] === investigate[0]){ - console.log('+--------------------------------------------------------------------------------------+') - console.log("+ You went left! +") - console.log('+ Upon closer inspection, you find that the glint is reflecting off a metal surface as +') - console.log('+ Qaspiel\'s light dimly illuminates the tunnel. +') - console.log('+ '+nameInput+' => Aha! A mining cart! Its in great condition! <=+') - console.log('+ Qaspiel => I don\'t trust this rust bucket not one bit but hey I can fly so suit +') - console.log('+ yourself! PUKUKUKUKUKUUU! <=+') - stageOneThree() - } else if (investigate[index] === investigate[1]){ - console.log('+--------------------------------------------------------------------------------------+') - console.log("+ You went right! +") - console.log('+ As you approach the dripping, the air thickens with malice and the smell of iron +') - console.log('+ permeates the darkness and dread. +') - console.log('+ ????????? => Feed? Feed! CATCH AND FEED!!!!! <=+') - console.log('+ Qaspiel => Watch it kid! Close your eyeballs! <=+\n') - console.log('+ The angel to takes to wing and air, their small but mighty wings growing brighter with+') - console.log('+ each wingbeat. +') - console.log('+ The sconces of the tunnel wall blaze to life and cast an ugly orange aura on a bloody +') - console.log('+ mouthed Troll and the few remains of a villager that hung from the ceiling. How could +') - console.log('+ one have gotten this far to the surface? No matter, let\'s RUMBLE!! +') - } - } -// (health0, atk1, def2, lvl3, enHealth0, enAtk1, enDef2, enLvl3,dodgeRisk) -fight(heroStat[0],heroStat[1],heroStat[2],heroStat[3],oppStat[0][0],oppStat[0][1],oppStat[0][2],oppStat[0][3],3) -} - function stageOneThree(){ + if (investigate[index] === investigate[0]) { + console.log('+--------------------------------------------------------------------------------------+') + console.log("+ You went left! +") + console.log('+ Upon closer inspection, you find that the glint is reflecting off a metal surface as +') + console.log('+ Qaspiel\'s light dimly illuminates the tunnel. +') + console.log('+ ' + nameInput + ' => Aha! A mining cart! Its in great condition! <=+') + console.log('+ Qaspiel => I don\'t trust this rust bucket not one bit but hey I can fly so suit +') + console.log('+ yourself! PUKUKUKUKUKUUU! <=+') + stageOneThree() + } else if (investigate[index] === investigate[1]) { + console.log('+--------------------------------------------------------------------------------------+') + console.log("+ You went right! +") + console.log('+ As you approach the dripping, the air thickens with malice and the smell of iron +') + console.log('+ permeates the darkness and dread. +') + console.log('+ ????????? => Feed? Feed! CATCH AND FEED!!!!! <=+') + console.log('+ Qaspiel => Watch it kid! Close your eyeballs! <=+\n') + console.log('+ The angel to takes to wing and air, their small but mighty wings growing brighter with+') + console.log('+ each wingbeat. +') + console.log('+ The sconces of the tunnel wall blaze to life and cast an ugly orange aura on a bloody +') + console.log('+ mouthed Troll and the few remains of a villager that hung from the ceiling. How could +') + console.log('+ one have gotten this far to the surface? No matter, let\'s RUMBLE!! +') + } + } + + function stageOneThree() { console.log('you made it!') quitGame() } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + /* + fight(herostat,enemy,risk,next) + */ + fight(heroStat, oppStat.troll, 5, stageOneThree()) +} From d18bdbb7576659025112164de18050f7ab06b091 Mon Sep 17 00:00:00 2001 From: Jon Narine Date: Fri, 16 Apr 2021 00:05:08 -0400 Subject: [PATCH 16/56] testing --- test.js | 245 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 245 insertions(+) create mode 100644 test.js diff --git a/test.js b/test.js new file mode 100644 index 0000000..efe5bf4 --- /dev/null +++ b/test.js @@ -0,0 +1,245 @@ +// const dice = (nat,min) => { +// return Math.floor((Math.random() * nat) + min) +// } +// console.log(dice(6, 1)) + +// const heroStat = { +// health: 10, +// attack: 10, +// defense: 8, +// level: 1, +// experience: 0 +// } + +// const oppStat = { +// troll: { +// health: 10, +// attack: 10, +// defense: 10, +// level: 1, +// experince: 0 +// }, +// ent: { +// health: 12, +// attack: 5, +// defense: 5, +// level: 1, +// experience: 0 +// }, +// enemy: { +// health: 0, +// attack: 0, +// defense:0 , +// level: 0, +// experience: 0 +// } +// } + +// // const dmg = (atk, enemyDef, level, enemy) => { +// const dmg = (herostat, enemy) => { +// const d6Roll = dice(6,1) +// const critRoll = dice(3, 1) +// console.log(d6Roll, critRoll) + +// let damage = Math.ceil((((2 * herostat.level + 10) / 150) * (herostat.attack / enemy.defense) + 2) * d6Roll) +// // let damage = Math.ceil((((2 * level + 10) / 150) * (atk / enemyDef) + 2) * d6Roll) + +// let critical = Math.ceil((((2 * herostat.level + 10) / 150) * (herostat.attack / enemy.defense) + 2) * critRoll) +// // let critical = Math.ceil((((2 * level + 10) / 150) * (atk / enemyDef) + 2) * critRoll) + +// console.log(damage, critical) + +// if (d6Roll !== 1 && d6Roll !== 6) { +// console.log('+--------------------------------------------------------------------------------------+') +// // console.log(`${nameInput}`) +// return enemy.health - damage +// } else if (d6Roll === 6) { +// let critDmg = damage + critical +// // console.log('Critical hit!') +// return enemy.health - critDmg +// } else if (d6Roll === 1) { +// console.log(`Your attack missed `) +// return 0 +// } +// } + +// const enDmg = (herostat, enemy) => { +// const d6Roll = dice(6, 1) +// const d2Roll = dice(2, 1) + +// let damage = Math.ceil((((2 * enemy.level + 10) / 150) * (enemy.attack / herostat.defense) + 2) * d6Roll) +// if (d2Roll === 2) { +// let hit = heroStat.health - damage +// return hit +// } else if (d2 === 1) { +// console.log('+ The enemy missed! You take no damage. +') +// return 0 +// } +// } + + +// const dodge = (risk) => {//if dodge roll is > 3, nullify damage +// const d6 = dice(6,1) +// if (d6 > 3){ +// console.log('+ Succesful dodge! +') +// return true; + +// } else if (d6 < 4) { +// console.log('+ You tripped during your dodge and took '+risk+' damage! +') +// console.log(`+ Your health is now ${heroStat.health}! +`) +// return false; +// } +// } + +// /* +// herostat -> reference the heroStat object +// enemy -> reference the oppStat object !! be sure to specify what opponent the player is fighting !! +// risk -> integer value tbd by the dev +// next -> move ahead to next stage +// */ + +// const fight = (herostat, enemy, risk, next) => { +// while (herostat.health > 0 || enemy.health < 1) { +// const options = ['Attack', 'Dodge', 'Special Attack', 'Run'] +// index = rls1.keyInSelect(options, `What's your move?`) + +// if (options[i] === options[0]) { +// const damage = dmg(herostat, enemy) +// const enDmg = enDmg(herostat, enemy) +// enemy.health - damage +// herostat.health - enDmg.health + +// } else if (options[i] === options[1]) { +// let dodge = dodge(risk) +// return dodge + +// } else if (options[i] === options[2]) { +// if (herostat.level > 3) { +// return true; +// } else { +// console.log(`Do you even lift? Your level is too low, scrub.`) +// } + +// } else if (options[i] === options[3]) { +// const d2 = dice(2, 1) +// if (d2 === 1) { +// console.log(`How could 1 tail beat 2 heads? `) +// fight(herostat, enemy, risk, next) +// } else { +// console.log(`2 heads are indeed better than one. However, a hero never runs, the Heads beyond the skies have judged you and condemn thee to die`) +// quitGame() +// } +// } +// } +// if (herostat.health === 0) { +// console.log(` ||=====\\ ======== //=====+= ||=====\\ `) +// console.log(` || - | || || || - | `) +// console.log(` || | | || ||---| || | | `) +// console.log(` || 1 | || || || 1 | `) +// console.log(` ||=====// ======*= ||======\\||=====// `) +// start() +// } else if (enemy.health === 0) { +// next +// } +// } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +// function fight(health0,atk1,def2,lvl3,enHealth0,enAtk1,enDef2,enLvl3,dodgeRisk){ + +// while (health0 > 0 || enHealth0 > 0) { +// const rls1 = require('readline-sync') +// options = ['Attack', 'Dodge', 'Sp. Attack', 'Run'] +// index = rls1.keyInSelect(options, 'What do you do?') + +// if (options[index] === options[0]){ +// damage = dmg(lvl3,atk1,enDef2) +// finalDmg = enHealth0 - damage +// //enDmg(enAtk, def, enLvl) +// //iterate randomly through an array and return and indx of the array +// //array contains options = ['Attack', 'Dodge', 'Sp. Attack', 'Run'] +// //then do that thing + +// } else if (options[index] === options[1]) { +// dodge(dodgeRisk) + +// } else if (options[index] === options[2]) { +// spAtk() + +// } else if (options[index] === options[3]) { + +// d6 = dmg(6,1) +// d6two = dmg(6,1) + +// if (d6 !== d6two) { +// stageTwo() +// } else { console.log('fill this') } +// } else if (options[index] === options[4]){ +// stageOneThree() + +// } else { +// quitGame() +// } +// }//while close +// if (heroStat[0] === 0) { +// console.log(` ||=====\\ ======== //=====+= ||=====\\ `) +// console.log(` || - | || || || - | `) +// console.log(` || | | || ||---| || | | `) +// console.log(` || 1 | || || || 1 | `) +// console.log(` ||=====// ======*= ||======\\||=====// `) +// start() +// } +// } + + + + + + + + + From 78a47c67a95e01b79dcd9d141814096a7bce1283 Mon Sep 17 00:00:00 2001 From: Jon Narine Date: Tue, 15 Jun 2021 01:14:02 -0400 Subject: [PATCH 17/56] combine hero and ememy stats into a singular workable object --- CoreFunctions/characterStats-API.js | 31 +++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 CoreFunctions/characterStats-API.js diff --git a/CoreFunctions/characterStats-API.js b/CoreFunctions/characterStats-API.js new file mode 100644 index 0000000..5fa3227 --- /dev/null +++ b/CoreFunctions/characterStats-API.js @@ -0,0 +1,31 @@ +const characterStats = { + hero: { + health: 10, + attack: 10, + defense: 8, + level: 1, + experience: 0, + description: 'Destined to die young and alone!' + }, + troll: { + health: 10, + attack: 10, + defense: 10, + level: 1, + experince: 0, + description: 'Filthy, smelly cave oafs!' + }, + ent: { + health: 12, + attack: 5, + defense: 5, + level: 1, + experience: 0, + description: 'Vegan veggiedom kink friendly!' + } +} + +console.log(characterStats.ent.description) + + +module.exports = oppStat; From a5e1da3214cd084f26c1b7f1193b57a57686a760 Mon Sep 17 00:00:00 2001 From: Jon Narine Date: Tue, 15 Jun 2021 04:35:38 -0400 Subject: [PATCH 18/56] refactor fight function pt 1 --- CoreFunctions/characterStats-API.js | 2 +- CoreFunctions/dice.js | 10 ++++ CoreFunctions/fight.js | 81 +++++++++++++++++++++++++++++ CoreFunctions/health.js | 1 + 4 files changed, 93 insertions(+), 1 deletion(-) create mode 100644 CoreFunctions/dice.js create mode 100644 CoreFunctions/fight.js create mode 100644 CoreFunctions/health.js diff --git a/CoreFunctions/characterStats-API.js b/CoreFunctions/characterStats-API.js index 5fa3227..6b8fdfc 100644 --- a/CoreFunctions/characterStats-API.js +++ b/CoreFunctions/characterStats-API.js @@ -28,4 +28,4 @@ const characterStats = { console.log(characterStats.ent.description) -module.exports = oppStat; +module.exports = characterStats; diff --git a/CoreFunctions/dice.js b/CoreFunctions/dice.js new file mode 100644 index 0000000..26728d1 --- /dev/null +++ b/CoreFunctions/dice.js @@ -0,0 +1,10 @@ +// nat -> highest value of the di +//min -> lowest possible roll of the di + +const dice = (nat, min) => { + return Math.floor(Math.random() * nat + min); +}; + + +module.exports = dice; + diff --git a/CoreFunctions/fight.js b/CoreFunctions/fight.js new file mode 100644 index 0000000..77e1600 --- /dev/null +++ b/CoreFunctions/fight.js @@ -0,0 +1,81 @@ +//import dice, +const dice = require("./dice.js") + +const characterStats = require('./characterStats-API.js') + +const dmg = (atk, enemyDef, level, enemy) => { + const d6Roll = dice(6,1) + const critRoll = dice(3, 1) + + let damage = Math.ceil((((2 * level + 10) / 150) * (atk / enemyDef) + 2) * d6Roll) + let critical = Math.ceil((((2 * level + 10) / 150) * (atk / enemyDef) + 2) * critRoll) + + + if (d6Roll !== 1 && d6Roll !== 6) { + console.log('+--------------------------------------------------------------------------------------+') + console.log('normal hit') + return enemy.health - damage + + } else if (d6Roll === 6) { + let critDmg = damage + critical + let troll = enemy.health + console.log('Critical hit!') + return troll - critDmg + + } else if (d6Roll === 1) { + console.log(`Your attack missed `) + return 0 + } +} + +// F I G H T +//Destructure the hero's stats off the characterStats obj when passing the hero's health stat as an argument + +///FIX -> pass experience gain as a param +const {hero, troll} = characterStats +const fight = (herostat, enemy, risk, experience) => { + + while (herostat.health > 0 ) { + const options = ["Attack", "Dodge", "Special Attack", "Run"]; + // index = rls1.keyInSelect(options, `What's your move?`); + + if (options[i] === options[0]) { + const damage = dmg(herostat, enemy); + const enDmg = enDmg(herostat, enemy); + enemy.health - damage; + herostat.health - enDmg.health; + + } else if (options[i] === options[1]) { + let dodge = dodge(risk); + return dodge; + } else if (options[i] === options[2]) { + if (herostat.level > 3) { + return true; + } else { + console.log(`Do you even lift? Your level is too low, scrub.`); + } + } else if (options[i] === options[3]) { + const d2 = dice(2, 1); + if (d2 === 1) { + console.log(`How could 1 tail beat 2 heads? `); + fight(herostat, enemy, risk, next); + } else { + console.log( + `2 heads are indeed better than one. However, a hero never runs, the Heads beyond the skies have judged you and condemn thee to die` + ); + quitGame(); + } + } + } + if (herostat.health === 0) { + console.log(` ||=====\\ ======== //=====+= ||=====\\ `); + console.log(` || - | || || || - | `); + console.log(` || | | || ||---| || | | `); + console.log(` || 1 | || || || 1 | `); + console.log(` ||=====// ======*= ||======\\||=====// `); + start(); + } else if (enemy.health === 0) { + next; + } +}; + console.log(fight(hero,)) \ No newline at end of file diff --git a/CoreFunctions/health.js b/CoreFunctions/health.js new file mode 100644 index 0000000..b87799a --- /dev/null +++ b/CoreFunctions/health.js @@ -0,0 +1 @@ +const dice = require("./dice.js") From 5343019e92cd77edc2db2ca4303c1c750f22aa09 Mon Sep 17 00:00:00 2001 From: Jon Narine Date: Fri, 25 Jun 2021 02:03:08 -0400 Subject: [PATCH 19/56] housekeeping --- CoreFunctions/fight.js | 168 ++++---- DragonRend.js | 841 ++++++++++++++++++++++++++--------------- dmg.js | 29 ++ package-lock.json | 19 +- test.js | 68 ++++ 5 files changed, 749 insertions(+), 376 deletions(-) create mode 100644 dmg.js diff --git a/CoreFunctions/fight.js b/CoreFunctions/fight.js index 77e1600..0684e84 100644 --- a/CoreFunctions/fight.js +++ b/CoreFunctions/fight.js @@ -1,81 +1,111 @@ //import dice, -const dice = require("./dice.js") +const dice = require("./dice.js"); +const characterStats = require("./characterStats-API.js"); +const { question, keyInYN } = require("readline-sync"); -const characterStats = require('./characterStats-API.js') +// F I G H T +//Destructure the hero's stats off the characterStats obj when passing the hero's health stat as an argument -const dmg = (atk, enemyDef, level, enemy) => { - const d6Roll = dice(6,1) - const critRoll = dice(3, 1) - - let damage = Math.ceil((((2 * level + 10) / 150) * (atk / enemyDef) + 2) * d6Roll) - let critical = Math.ceil((((2 * level + 10) / 150) * (atk / enemyDef) + 2) * critRoll) - +const fight = (herostat, enemy, risk, experience) => { + const dmg = (herostat, enemy) => { + //character dependencies + const atk = herostat.atk; + const enemyDef = enemy.def; - if (d6Roll !== 1 && d6Roll !== 6) { - console.log('+--------------------------------------------------------------------------------------+') - console.log('normal hit') - return enemy.health - damage + //dice + const d6Roll = dice(6, 1); + const critRoll = dice(3, 1); - } else if (d6Roll === 6) { - let critDmg = damage + critical - let troll = enemy.health - console.log('Critical hit!') - return troll - critDmg + //dmg calc + let damage = Math.ceil((( + (2 * level + 10) / 150) * (atk / enemyDef) + 2) * d6Roll + ); - } else if (d6Roll === 1) { - console.log(`Your attack missed `) - return 0 - } -} + let critical = Math.ceil((( + (2 * level + 10) / 150) * (atk / enemyDef) + 2) * critRoll + ); -// F I G H T -//Destructure the hero's stats off the characterStats obj when passing the hero's health stat as an argument + if (d6Roll !== 1 && d6Roll !== 6) { + console.log("+--------------------------------------------------------------------------------------+" ); + console.log("Normal hit"); + console.log(`Target took ${enemy-damage} damage, health: ${enemy.health}`) + enemy.health - damage; + } + else if (d6Roll === 6) { + let critDmg = damage + critical; + let troll = enemy.health; + console.log("Critical hit!"); + enemy - critDmg; + } + else if (d6Roll === 1) { + console.log(`Your attack missed `); + } + }; -///FIX -> pass experience gain as a param -const {hero, troll} = characterStats -const fight = (herostat, enemy, risk, experience) => { + while (herostat.health > 0 || enemy.health > 0) { + const options = ["Attack", "Dodge", "Special Attack", "Run"]; + let index = rls1.keyInSelect(options, `What's your move?`); - while (herostat.health > 0 ) { - const options = ["Attack", "Dodge", "Special Attack", "Run"]; - // index = rls1.keyInSelect(options, `What's your move?`); - - if (options[i] === options[0]) { - const damage = dmg(herostat, enemy); - const enDmg = enDmg(herostat, enemy); - enemy.health - damage; - herostat.health - enDmg.health; - - } else if (options[i] === options[1]) { - let dodge = dodge(risk); - return dodge; - } else if (options[i] === options[2]) { - if (herostat.level > 3) { - return true; - } else { - console.log(`Do you even lift? Your level is too low, scrub.`); - } - } else if (options[i] === options[3]) { - const d2 = dice(2, 1); - if (d2 === 1) { - console.log(`How could 1 tail beat 2 heads? `); - fight(herostat, enemy, risk, next); - } else { - console.log( - `2 heads are indeed better than one. However, a hero never runs, the Heads beyond the skies have judged you and condemn thee to die` - ); - quitGame(); - } + if (options[i] === options[0]) { + const damage = dmg(herostat, enemy); + const enDmg = enDmg(herostat, enemy); + enemy.health - damage; + herostat.health - enDmg.health; + } else if (options[i] === options[1]) { + let dodge = dodge(risk); + return dodge; + } else if (options[i] === options[2]) { + if (herostat.level > 3) { + return true; + } else { + console.log(`Do you even lift? Your level is too low, scrub.`); + } + } else if (options[i] === options[3]) { + const d2 = dice(2, 1); + if (d2 === 1) { + console.log(`How could 1 tail beat 2 heads? `); + fight(herostat, enemy, risk, next); + } else { + console.log( + `2 heads are indeed better than one. However, a hero never runs, the Heads beyond the skies have judged you and condemn thee to die` + ); + quitGame(); } } - if (herostat.health === 0) { - console.log(` ||=====\\ ======== //=====+= ||=====\\ `); - console.log(` || - | || || || - | `); - console.log(` || | | || ||---| || | | `); - console.log(` || 1 | || || || 1 | `); - console.log(` ||=====// ======*= ||======\\||=====// `); - start(); - } else if (enemy.health === 0) { - next; - } + } + if (herostat.health === 0) { + console.log(` ||=====\\ ======== //=====+= ||=====\\ `); + console.log(` || - | || || || - | `); + console.log(` || | | || ||---| || | | `); + console.log(` || 1 | || || || 1 | `); + console.log(` ||=====// ======*= ||======\\||=====// `); + start(); + } else if (enemy.health === 0) { + next; + } }; - console.log(fight(hero,)) \ No newline at end of file +console.log(fight(hero)); + +// const dmg = (atk, enemyDef, level, enemy) => { +// const d6Roll = dice(6,1) +// const critRoll = dice(3, 1) + +// let damage = Math.ceil((((2 * level + 10) / 150) * (atk / enemyDef) + 2) * d6Roll) +// let critical = Math.ceil((((2 * level + 10) / 150) * (atk / enemyDef) + 2) * critRoll) + +// if (d6Roll !== 1 && d6Roll !== 6) { +// console.log('+--------------------------------------------------------------------------------------+') +// console.log('normal hit') +// return enemy.health - damage + +// } else if (d6Roll === 6) { +// let critDmg = damage + critical +// let troll = enemy.health +// console.log('Critical hit!') +// return troll - critDmg + +// } else if (d6Roll === 1) { +// console.log(`Your attack missed `) +// return 0 +// } +// } diff --git a/DragonRend.js b/DragonRend.js index 9f66139..f472fe1 100644 --- a/DragonRend.js +++ b/DragonRend.js @@ -1,31 +1,13 @@ -const {question, keyInYN}=require('readline-sync') -let nameInput = question("Enter your name: ") -console.log(`Hello ${nameInput}! Welcome to my game.`) - -const quitGame = () => { - let restart = keyInYN('To the well-organised mind, death is but the next great adventure. Restart?') - console.log('Til next time '+ nameInput) - if (restart === true) { - start() - } else if (restart === false) { - console.log('Til next time '+ nameInput) - process.exit() - } -} - -const dice = (nat,min) => { - return Math.floor((Math.random() * nat) + min) -} - +// const heroStat = { health: 10, attack: 10, defense: 8, level: 1, - experience: 0 -} - -const oppStat = { + experience: 0, + }; +//ALL OPPONENT STATS + const oppStat = { troll: { health: 10, attack: 10, @@ -50,42 +32,77 @@ const oppStat = { } const constitutionRoll = (passVal, reward, risk) => { - let roll = dice(6, 1) - if (roll > passVal) { - heroStat.health+reward - console.log('+--------------------------------------------------------------------------------------+') - console.log(`+ You rolled ${roll}`) - console.log(`+ You gain ${reward} heart points. Health is now ${heroStat.health} +`) - - } else if (roll < passVal) { - heroStat.health - risk - console.log('+--------------------------------------------------------------------------------------+') - console.log('+ You rolled ${roll}+') - console.log(`+ you lose ${reward} heart points. Health is now ${heroStat.health}+`) - - } else { - console.log('+--------------------------------------------------------------------------------------+') - console.log(`Whoa something went really wrong here`) - } -} + let roll = dice(6, 1); + if (roll >= passVal) { + console.log(`${heroStat.health} health before`) + heroStat.health + reward; + console.log(`${heroStat.health} health after`) + console.log( + "+--------------------------------------------------------------------------------------+" + ); + console.log(`+ You rolled {roll}`); + console.log( + `+ You gain ${reward} heart points. Health is now ${heroStat.health} +` + ); + } else if (roll < passVal) { + heroStat.health - risk; + console.log( + "+--------------------------------------------------------------------------------------+" + ); + console.log("+ You rolled ${roll}+"); + console.log( + `+ you lose ${reward} heart points. Health is now ${heroStat.health} +` + ); + } else { + console.log( + "+--------------------------------------------------------------------------------------+" + ); + console.log(`Whoa something went really wrong here`); + } +}; + +const { question, keyInYN } = require("readline-sync"); +let nameInput = question("Enter your name: "); +console.log(`Hello ${nameInput}! Welcome to my game.`); + +const quitGame = () => { + let restart = keyInYN( + "To the well-organised mind, death is but the next great adventure. Restart?" + ); + console.log("Til next time " + nameInput); + if (restart === true) { + start(); + } else if (restart === false) { + console.log("Til next time " + nameInput); + process.exit(); + } +}; + +const dice = (nat, min) => { + return Math.floor(Math.random() * nat + min); +}; + + + + // const dmg = (atk, enemyDef, level, enemy) => { // const d6Roll = dice(6,1) // const critRoll = dice(3, 1) // // console.log(d6Roll, critRoll) -// let damage = Math.ceil((((2 * level + 10) / 150) * (atk / enemyDef) + 2) * d6Roll) +// let damage = Math.ceil((((2 * level + 10) / 150) * (atk / enemyDef) + 2) * d6Roll) // let critical = Math.ceil((((2 * level + 10) / 150) * (atk / enemyDef) + 2) * critRoll) // // console.log(damage, critical) -// if (d6Roll !== 1 && d6Roll !== 6) { -// console.log('+--------------------------------------------------------------------------------------+') +// if (d6Roll !== 1 && d6Roll !== 6) { +// console.log('+--------------------------------------------------------------------------------------+') // console.log('normal hit') // return enemy.health - damage -// } else if (d6Roll === 6) { +// } else if (d6Roll === 6) { // let critDmg = damage + critical -// let troll = enemy.health +// let troll = enemy.health // console.log('Critical hit!') // return troll - critDmg @@ -122,11 +139,11 @@ const constitutionRoll = (passVal, reward, risk) => { // } // function fight(health0,atk1,def2,lvl3,enHealth0,enAtk1,enDef2,enLvl3,dodgeRisk){ - + // while (health0 > 0 || enHealth0 > 0) { // const rls1 = require('readline-sync') // options = ['Attack', 'Dodge', 'Sp. Attack', 'Run'] -// index = rls1.keyInSelect(options, 'What do you do?') +// index = rls1.keyInSelect(options, 'What do you do?') // if (options[index] === options[0]){ // damage = dmg(lvl3,atk1,enDef2) @@ -134,7 +151,7 @@ const constitutionRoll = (passVal, reward, risk) => { // //enDmg(enAtk, def, enLvl) // //iterate randomly through an array and return and indx of the array // //array contains options = ['Attack', 'Dodge', 'Sp. Attack', 'Run'] -// //then do that thing +// //then do that thing // } else if (options[index] === options[1]) { // dodge(dodgeRisk) @@ -172,275 +189,487 @@ const constitutionRoll = (passVal, reward, risk) => { // } const dmg = (herostat, enemy) => { - const d6Roll = dice(6,1) - const critRoll = dice(3, 1) - console.log(d6Roll, critRoll) - - let damage = Math.ceil((((2 * herostat.level + 10) / 150) * (herostat.attack / enemy.defense) + 2) * d6Roll) - // let damage = Math.ceil((((2 * level + 10) / 150) * (atk / enemyDef) + 2) * d6Roll) - - let critical = Math.ceil((((2 * herostat.level + 10) / 150) * (herostat.attack / enemy.defense) + 2) * critRoll) - // let critical = Math.ceil((((2 * level + 10) / 150) * (atk / enemyDef) + 2) * critRoll) - - console.log(damage, critical) - - if (d6Roll !== 1 && d6Roll !== 6) { - console.log('+--------------------------------------------------------------------------------------+') - // console.log(`${nameInput}`) - return enemy.health - damage - } else if (d6Roll === 6) { - let critDmg = damage + critical - // console.log('Critical hit!') - return enemy.health - critDmg - } else if (d6Roll === 1) { - console.log(`Your attack missed `) - return 0 - } -} + const d6Roll = dice(6, 1); + const critRoll = dice(3, 1); + console.log(d6Roll, critRoll); + + let damage = Math.ceil( + (((2 * herostat.level + 10) / 150) * (herostat.attack / enemy.defense) + + 2) * + d6Roll + ); + // let damage = Math.ceil((((2 * level + 10) / 150) * (atk / enemyDef) + 2) * d6Roll) + + let critical = Math.ceil( + (((2 * herostat.level + 10) / 150) * (herostat.attack / enemy.defense) + + 2) * + critRoll + ); + // let critical = Math.ceil((((2 * level + 10) / 150) * (atk / enemyDef) + 2) * critRoll) + + console.log(damage, critical); + + if (d6Roll !== 1 && d6Roll !== 6) { + console.log( + "+--------------------------------------------------------------------------------------+" + ); + // console.log(`${nameInput}`) + return enemy.health - damage; + } else if (d6Roll === 6) { + let critDmg = damage + critical; + // console.log('Critical hit!') + return enemy.health - critDmg; + } else if (d6Roll === 1) { + console.log(`Your attack missed `); + return 0; + } +}; const enDmg = (herostat, enemy) => { - const d6Roll = dice(6, 1) - const d2Roll = dice(2, 1) - - let damage = Math.ceil((((2 * enemy.level + 10) / 150) * (enemy.attack / herostat.defense) + 2) * d6Roll) - if (d2Roll === 2) { - let hit = heroStat.health - damage - return hit - } else if (d2 === 1) { - console.log('+ The enemy missed! You take no damage. +') - return 0 - } -} - - -const dodge = (risk) => {//if dodge roll is > 3, nullify damage - const d6 = dice(6, 1) - if (d6 > 3) { - console.log('+ Succesful dodge! +') - return true; - - } else if (d6 < 4) { - console.log('+ You tripped during your dodge and took ' + risk + ' damage! +') - console.log(`+ Your health is now ${heroStat.health}! +`) - return false; - } -} - - /* + const d6Roll = dice(6, 1); + const d2Roll = dice(2, 1); + + let damage = Math.ceil( + (((2 * enemy.level + 10) / 150) * (enemy.attack / herostat.defense) + 2) * + d6Roll + ); + if (d2Roll === 2) { + let hit = heroStat.health - damage; + return hit; + } else if (d2 === 1) { + console.log("+ The enemy missed! You take no damage. +"); + return 0; + } +}; + +const dodge = (risk) => { + //if dodge roll is > 3, nullify damage + const d6 = dice(6, 1); + if (d6 > 3) { + console.log( + "+ Succesful dodge! +" + ); + return true; + } else if (d6 < 4) { + console.log( + "+ You tripped during your dodge and took " + risk + " damage! +" + ); + console.log( + `+ Your health is now ${heroStat.health}! +` + ); + return false; + } +}; + +/* herostat -> reference the heroStat object enemy -> reference the oppStat object !! be sure to specify what opponent the player is fighting !! risk -> integer value tbd by the dev next -> move ahead to next stage */ - const fight = (herostat, enemy, risk, next) => { - while (herostat.health > 0 || enemy.health < 1) { - const options = ['Attack', 'Dodge', 'Special Attack', 'Run'] - index = rls1.keyInSelect(options, `What's your move?`) - - if (options[i] === options[0]) { - const damage = dmg(herostat, enemy) - const enDmg = enDmg(herostat, enemy) - enemy.health - damage - herostat.health - enDmg.health - - } else if (options[i] === options[1]) { - let dodge = dodge(risk) - return dodge - - } else if (options[i] === options[2]) { - if (herostat.level > 3) { - return true; - } else { - console.log(`Do you even lift? Your level is too low, scrub.`) - } - - } else if (options[i] === options[3]) { - const d2 = dice(2, 1) - if (d2 === 1) { - console.log(`How could 1 tail beat 2 heads? `) - fight(herostat, enemy, risk, next) - } else { - console.log(`2 heads are indeed better than one. However, a hero never runs, the Heads beyond the skies have judged you and condemn thee to die`) - quitGame() - } - } - } - if (herostat.health === 0) { - console.log(` ||=====\\ ======== //=====+= ||=====\\ `) - console.log(` || - | || || || - | `) - console.log(` || | | || ||---| || | | `) - console.log(` || 1 | || || || 1 | `) - console.log(` ||=====// ======*= ||======\\||=====// `) - start() - } else if (enemy.health === 0) { - next - } +const fight = (herostat, enemy, risk, next) => { + while (herostat.health > 0 ) { + const options = ["Attack", "Dodge", "Special Attack", "Run"]; + index = rls1.keyInSelect(options, `What's your move?`); + + if (options[i] === options[0]) { + const damage = dmg(herostat, enemy); + const enDmg = enDmg(herostat, enemy); + enemy.health - damage; + herostat.health - enDmg.health; + } else if (options[i] === options[1]) { + let dodge = dodge(risk); + return dodge; + } else if (options[i] === options[2]) { + if (herostat.level > 3) { + return true; + } else { + console.log(`Do you even lift? Your level is too low, scrub.`); + } + } else if (options[i] === options[3]) { + const d2 = dice(2, 1); + if (d2 === 1) { + console.log(`How could 1 tail beat 2 heads? `); + fight(herostat, enemy, risk, next); + } else { + console.log( + `2 heads are indeed better than one. However, a hero never runs, the Heads beyond the skies have judged you and condemn thee to die` + ); + quitGame(); + } } + } + if (herostat.health === 0) { + console.log(` ||=====\\ ======== //=====+= ||=====\\ `); + console.log(` || - | || || || - | `); + console.log(` || | | || ||---| || | | `); + console.log(` || 1 | || || || 1 | `); + console.log(` ||=====// ======*= ||======\\||=====// `); + start(); + } else if (enemy.health === 0) { + next; + } +}; + +function start() { + console.log( + "+=======================================================================================+" + ); + console.log( + "+---------------------------------------------------------------------------------------+" + ); + console.log( + "+ ============// ========/ __ +" + ); + console.log( + "+ | _ //.———----.—---—.—.———.———.———--.-----||. / ______.______.____| / +" + ); + console.log( + "+ |. | || ____| _ | _ | _ | ||. 00 /_| -___| | _ | | +" + ); + console.log( + "+ |. | ||___| |_____._|____| |_____|___|__||. _ |______|___|___|_____/ +" + ); + console.log( + "+ |: 1 // _____| | ||: | | | +" + ); + console.log( + "+ |: : . . ./ |_______| ||: :. | : | +" + ); + console.log( + "+ `---------’ `----' `--‘ +" + ); + console.log( + "+---------------------------------------------------------------------------------------+" + ); + console.log( + "+---------------------------------------------------------------------------------------+" + ); + console.log( + "+ In the land of Phimiba on the black sand coast of the Banar provinces, there lives +" + ); + console.log( + "+ the small village of Strinostra. A valley untouched by the wars of yore for an eon. +" + ); + console.log( + "+ Great heroes and villians alike have wrecked and gone asunder in the bony beaches of +" + ); + console.log( + "+ Strinostra and ten thousand fold more in the windblown summit alps to the moutainous +" + ); + console.log( + "+ east. Here in Strinostra grows then mystic Ironbark tree. The last in fact. It's sap +" + ); + console.log( + "+ gave the first dragons their fire and their barks gave men their first swords, whose +" + ); + console.log( + "+ branches were cut and bent into wands and whose fruit seeds now make load for rifles. +" + ); + console.log( + "+ We find you, dear adventurer in your forest garden, where a strange wilting flower of +" + ); + console.log( + "+ #00ffa2 glows faintly. +" + ); + + let start = keyInYN( + "+ Do you pick the flower? +" + ); + if (start === false) { + console.log( + "+======================================================================================+" + ); + console.log( + "+ You choose not to pick the beautiful dying flower but nuturture it instead! +\n\n" + ); + console.log( + "+ Until one day... +" + ); + levelOne(); + } else { + console.log( + "+======================================================================================+" + ); + console.log( + "+ Thy name is MUD. Prithee maketh haste hence and returneth to thy hutch. +" + ); + quitGame(); + } +} - - function start() { - console.log('+=======================================================================================+') - console.log('+---------------------------------------------------------------------------------------+') - console.log('+ ============// ========/ __ +') - console.log('+ | _ //.———----.—---—.—.———.———.———--.-----||. / ______.______.____| / +') - console.log('+ |. | || ____| _ | _ | _ | ||. 00 /_| -___| | _ | | +') - console.log('+ |. | ||___| |_____._|____| |_____|___|__||. _ |______|___|___|_____/ +') - console.log('+ |: 1 // _____| | ||: | | | +') - console.log('+ |: : . . ./ |_______| ||: :. | : | +') - console.log('+ `---------’ `----\' `--‘ +') - console.log('+---------------------------------------------------------------------------------------+') - console.log('+---------------------------------------------------------------------------------------+') - console.log('+ In the land of Phimiba on the black sand coast of the Banar provinces, there lives +') - console.log('+ the small village of Strinostra. A valley untouched by the wars of yore for an eon. +') - console.log('+ Great heroes and villians alike have wrecked and gone asunder in the bony beaches of +') - console.log('+ Strinostra and ten thousand fold more in the windblown summit alps to the moutainous +') - console.log('+ east. Here in Strinostra grows then mystic Ironbark tree. The last in fact. It\'s sap +') - console.log('+ gave the first dragons their fire and their barks gave men their first swords, whose +') - console.log('+ branches were cut and bent into wands and whose fruit seeds now make load for rifles. +') - console.log('+ We find you, dear adventurer in your forest garden, where a strange wilting flower of +') - console.log('+ #00ffa2 glows faintly. +') - - let start = keyInYN('+ Do you pick the flower? +') - if (start === false) { - console.log('+======================================================================================+') - console.log('+ You choose not to pick the beautiful dying flower but nuturture it instead! +\n\n') - console.log('+ Until one day... +') - levelOne() - } else { - console.log('+======================================================================================+') - console.log('+ Thy name is MUD. Prithee maketh haste hence and returneth to thy hutch. +') - quitGame() - } +start(); +console.log(dmg(10, 2, 1)); + +function levelOne() { + console.log( + "+ Winged Light => Hero! Qeldrin, Eater Of All has taken nest in the great bastion of +" + ); + console.log( + "+ Heldana VII Crown, Castle Ironbark. Fight your way to Ironbark and +" + ); + console.log( + "+ slay the beast! +" + ); + console.log( + "+ By what name shall I address thee? => +\n" + ); + console.log( + "+--------------------------------------------------------------------------------------+" + ); + console.log( + "+ <= My name is " + + nameInput + + " <= +\n" + ); + console.log( + "+ The light brightens to a dazzling glare, then vanishes. +" + ); + console.log( + "+ A small owl like any but somehow none other comes to rest on a nearby branch. +\n" + ); + console.log( + "+ Qaspiel => I wilt beest thy companion then. I cannot assist thee on thy journey yet +" + ); + console.log( + "+ I shall keep thee privy to all things proper and true. Qaspiel is mine +" + ); + console.log( + "+ name, PUKUKUKUKUKUKUKUKUKUKUKUU! => +\n" + ); + + const rls1 = require("readline-sync"); + classPick = ["Sword", "Wand", "Rifle"]; + index = rls1.keyInSelect(classPick, "What weapon should I take?"); + if (classPick[index] === classPick[0]) { + console.log( + "+ You grab your sword! +" + ); + console.log( + "+ Qaspiel => How nice another warrior (>_>), can I drop the mystic accent noweth? => +\n" + ); + console.log( + "+ You gawk at the insolent bird with annoyance and slight contempt. +" + ); + console.log( + "+ => Awesome, it was annoying to talk like that but the job (~REDACTED~)damn job +" + ); + console.log( + '+ description says "bE mYsTiCaLlllLLlL qASpiEllLL" as if "Be Not Afraid" isn\'t +' + ); + console.log( + "+ soooooo overdone. Blame Gabriel. Don't even get me started on that guy. 200% a tool.+" + ); + stageOne(); + } else if (classPick[index] === classPick[1]) { + console.log( + "+ You grab your wand! +" + ); + console.log( + "+--------------------------------------------------------------------------------------+" + ); + console.log( + "+ You gawk at the insolent bird with annoyance and slight contempt. +\n" + ); + console.log( + "+ => Awesome, it was annoying to talk like that but the job (~REDACTED~)damn job +" + ); + console.log( + '+ description says "bE mYsTiCaLlllLLlL qASpiEllLL" as if "Be Not Afraid" isn\'t +' + ); + console.log( + "+ soooooo overdone. Blame Gabriel. Don't even get me started on that guy. 200% total +" + ); + console.log( + "+ toolbag. Remember you didn't hear that from me! => +\n" + ); + stageOne(); + } else if (classPick[index] === classPick[2]) { + console.log( + "+ You grab your rifle! \n +" + ); + console.log( + "+ Qaspiel => A mage?? In these parts? I thought only the university could train mages! +" + ); + console.log( + "+ Watch where you point those Fireballs! => +\n" + ); + console.log( + "+ You gawk at the insolent bird with annoyance and slight contempt. +\n" + ); + console.log( + "+ Qaspiel => Awesome, it was annoying to talk like that but the job (~REDACTED~)damn +" + ); + console.log( + '+ job description says "bE mYsTiCaLlllLLlL qASpiEllLL" as if "Be Not Afraid"+' + ); + console.log( + "+ isn't soooooo overdone. Blame Gabriel. Don't even get me started on that +" + ); + console.log( + "+ guy. 200% total toolbag. Remember you didn't hear that from me! => +\n" + ); + stageOne(); + } else { + quitGame(); + } + + function stageOne() { + console.log( + "+--------------------------------------------------------------------------------------+" + ); + console.log( + "+ " + + nameInput + + " => Shut up bird brain, lets kick some lizard booty! +" + ); + console.log( + "+ " + + nameInput + + " darts down the dirt path of the front garden and through the village to +" + ); + console.log( + "+ the village center where a gaping pit wide enough to host four wagon abreast at its +" + ); + console.log( + "+ diameter. " + + nameInput + + " the hero stops right at its edge and Qaspien perches on your +" + ); + console.log( + "+ shoulder. +" + ); + let help = keyInYN( + "+ Qaspiel => ~Psssssssst pssst pssssssst~ <=+\n" + ); + if (help === true) { + console.log( + "+--------------------------------------------------------------------------------------+" + ); + console.log( + "+ Qaspiel => If you let me help you down into the tunnel you could gain some wisdown & +" + ); + console.log( + "+ wisdom is healthy for the body! +" + ); + console.log( + "+--------------------------------------------------------------------------------------+" + ); + let lift = keyInYN( + "+ Do you let Qaspiel assist you down, " + + nameInput + + "? +\n" + ); + if (lift === true) { + console.log( + "+ Qaspiel hops on your shoulders and flaps their little wings as you decend. +" + ); + constitutionRoll(3, 10, 2); + stageOneTwo(); + } else { + console.log( + "+--------------------------------------------------------------------------------------+" + ); + console.log( + "+ Qaspiel => Ahh tough luck buddy... +" + ); + constitutionRoll(2, 2); + console.log("+ Your health is now " + heroStat[0] + "! + "); + stageOneTwo(); + } + } else { + console.log( + "+--------------------------------------------------------------------------------------+" + ); + console.log( + "+ Qaspiel => (<_<) (>_>) (;_;) k then... +" + ); + console.log("+ You fall down the hole and take some damage +"); + console.log(`+ Your health is now ${heroStat[0]}! + `); + stageOneTwo(); } + } + + function stageOneTwo() { + console.log( + "+--------------------------------------------------------------------------------------+" + ); + console.log( + "+ You find yourself in a dark tunnel. A faint glint pierces the darkness to your left. +" + ); + const rls2 = require("readline-sync"); + investigate = ["Go left!", "Go right!"]; + index = rls2.keyInSelect(investigate, "Left or Right?"); + + if (investigate[index] === investigate[0]) { + console.log( + "+--------------------------------------------------------------------------------------+" + ); + console.log( + "+ You went left! +" + ); + console.log( + "+ Upon closer inspection, you find that the glint is reflecting off a metal surface as +" + ); + console.log( + "+ Qaspiel's light dimly illuminates the tunnel. +" + ); + console.log( + "+ " + + nameInput + + " => Aha! A mining cart! Its in great condition! <=+" + ); + console.log( + "+ Qaspiel => I don't trust this rust bucket not one bit but hey I can fly so suit +" + ); + console.log( + "+ yourself! PUKUKUKUKUKUUU! <=+" + ); + stageOneThree(); + } else if (investigate[index] === investigate[1]) { + console.log( + "+--------------------------------------------------------------------------------------+" + ); + console.log( + "+ You went right! +" + ); + console.log( + "+ As you approach the dripping, the air thickens with malice and the smell of iron +" + ); + console.log( + "+ permeates the darkness and dread. +" + ); + console.log( + "+ ????????? => Feed? Feed! CATCH AND FEED!!!!! <=+" + ); + console.log( + "+ Qaspiel => Watch it kid! Close your eyeballs! <=+\n" + ); + console.log( + "+ The angel to takes to wing and air, their small but mighty wings growing brighter with+" + ); + console.log( + "+ each wingbeat. +" + ); + console.log( + "+ The sconces of the tunnel wall blaze to life and cast an ugly orange aura on a bloody +" + ); + console.log( + "+ mouthed Troll and the few remains of a villager that hung from the ceiling. How could +" + ); + console.log( + "+ one have gotten this far to the surface? No matter, let's RUMBLE!! +" + ); + } + } - start() - console.log(dmg(10, 2, 1)) - - function levelOne() { - - console.log('+ Winged Light => Hero! Qeldrin, Eater Of All has taken nest in the great bastion of +') - console.log('+ Heldana VII Crown, Castle Ironbark. Fight your way to Ironbark and +') - console.log('+ slay the beast! +') - console.log('+ By what name shall I address thee? => +\n') - console.log('+--------------------------------------------------------------------------------------+') - console.log('+ <= My name is ' + nameInput + ' <= +\n') - console.log('+ The light brightens to a dazzling glare, then vanishes. +') - console.log('+ A small owl like any but somehow none other comes to rest on a nearby branch. +\n') - console.log('+ Qaspiel => I wilt beest thy companion then. I cannot assist thee on thy journey yet +') - console.log('+ I shall keep thee privy to all things proper and true. Qaspiel is mine +') - console.log('+ name, PUKUKUKUKUKUKUKUKUKUKUKUU! => +\n') - - const rls1 = require('readline-sync') - classPick = ['Sword', 'Wand', 'Rifle'] - index = rls1.keyInSelect(classPick, 'What weapon should I take?') - if (classPick[index] === classPick[0]) { - console.log('+ You grab your sword! +') - console.log('+ Qaspiel => How nice another warrior (>_>), can I drop the mystic accent noweth? => +\n') - console.log('+ You gawk at the insolent bird with annoyance and slight contempt. +') - console.log('+ => Awesome, it was annoying to talk like that but the job (~REDACTED~)damn job +') - console.log('+ description says "bE mYsTiCaLlllLLlL qASpiEllLL\" as if "Be Not Afraid" isn\'t +') - console.log('+ soooooo overdone. Blame Gabriel. Don\'t even get me started on that guy. 200% a tool.+') - stageOne() - } - - else if (classPick[index] === classPick[1]) { - - console.log('+ You grab your wand! +') - console.log('+--------------------------------------------------------------------------------------+') - console.log('+ You gawk at the insolent bird with annoyance and slight contempt. +\n') - console.log('+ => Awesome, it was annoying to talk like that but the job (~REDACTED~)damn job +') - console.log('+ description says "bE mYsTiCaLlllLLlL qASpiEllLL\" as if "Be Not Afraid" isn\'t +') - console.log('+ soooooo overdone. Blame Gabriel. Don\'t even get me started on that guy. 200% total +') - console.log('+ toolbag. Remember you didn\'t hear that from me! => +\n') - stageOne() - } else if (classPick[index] === classPick[2]) { - console.log('+ You grab your rifle! \n +') - console.log('+ Qaspiel => A mage?? In these parts? I thought only the university could train mages! +') - console.log('+ Watch where you point those Fireballs! => +\n') - console.log('+ You gawk at the insolent bird with annoyance and slight contempt. +\n') - console.log('+ Qaspiel => Awesome, it was annoying to talk like that but the job (~REDACTED~)damn +') - console.log('+ job description says "bE mYsTiCaLlllLLlL qASpiEllLL\" as if "Be Not Afraid"+') - console.log('+ isn\'t soooooo overdone. Blame Gabriel. Don\'t even get me started on that +') - console.log('+ guy. 200% total toolbag. Remember you didn\'t hear that from me! => +\n') - stageOne() - } else { - quitGame() - } - - function stageOne() { - console.log('+--------------------------------------------------------------------------------------+') - console.log('+ ' + nameInput + ' => Shut up bird brain, lets kick some lizard booty! +') - console.log('+ ' + nameInput + ' darts down the dirt path of the front garden and through the village to +') - console.log('+ the village center where a gaping pit wide enough to host four wagon abreast at its +') - console.log('+ diameter. ' + nameInput + ' the hero stops right at its edge and Qaspien perches on your +') - console.log('+ shoulder. +') - let help = keyInYN('+ Qaspiel => ~Psssssssst pssst pssssssst~ <=+\n') - if (help === true) { - console.log('+--------------------------------------------------------------------------------------+') - console.log('+ Qaspiel => If you let me help you down into the tunnel you could gain some wisdown & +') - console.log('+ wisdom is healthy for the body! +') - console.log('+--------------------------------------------------------------------------------------+') - let lift = keyInYN('+ Do you let Qaspiel assist you down, ' + nameInput + '? +\n') - if (lift === true) { - console.log('+ Qaspiel hops on your shoulders and flaps their little wings as you decend. +') - addHealth(3, 10, 2) - stageOneTwo() - } - else { - console.log('+--------------------------------------------------------------------------------------+') - console.log('+ Qaspiel => Ahh tough luck buddy... +') - minusHealth(2, 2) - console.log('+ Your health is now ' + heroStat[0] + '! + ') - stageOneTwo() - } - } else { - console.log('+--------------------------------------------------------------------------------------+') - console.log('+ Qaspiel => (<_<) (>_>) (;_;) k then... +') - console.log('+ You fall down the hole and take some damage +') - console.log(`+ Your health is now ${heroStat[0]}! + `) - stageOneTwo() - } - } - - function stageOneTwo() { - console.log('+--------------------------------------------------------------------------------------+') - console.log('+ You find yourself in a dark tunnel. A faint glint pierces the darkness to your left. +') - const rls2 = require('readline-sync') - investigate = ['Go left!', 'Go right!'] - index = rls2.keyInSelect(investigate, 'Left or Right?') - - if (investigate[index] === investigate[0]) { - console.log('+--------------------------------------------------------------------------------------+') - console.log("+ You went left! +") - console.log('+ Upon closer inspection, you find that the glint is reflecting off a metal surface as +') - console.log('+ Qaspiel\'s light dimly illuminates the tunnel. +') - console.log('+ ' + nameInput + ' => Aha! A mining cart! Its in great condition! <=+') - console.log('+ Qaspiel => I don\'t trust this rust bucket not one bit but hey I can fly so suit +') - console.log('+ yourself! PUKUKUKUKUKUUU! <=+') - stageOneThree() - } else if (investigate[index] === investigate[1]) { - console.log('+--------------------------------------------------------------------------------------+') - console.log("+ You went right! +") - console.log('+ As you approach the dripping, the air thickens with malice and the smell of iron +') - console.log('+ permeates the darkness and dread. +') - console.log('+ ????????? => Feed? Feed! CATCH AND FEED!!!!! <=+') - console.log('+ Qaspiel => Watch it kid! Close your eyeballs! <=+\n') - console.log('+ The angel to takes to wing and air, their small but mighty wings growing brighter with+') - console.log('+ each wingbeat. +') - console.log('+ The sconces of the tunnel wall blaze to life and cast an ugly orange aura on a bloody +') - console.log('+ mouthed Troll and the few remains of a villager that hung from the ceiling. How could +') - console.log('+ one have gotten this far to the surface? No matter, let\'s RUMBLE!! +') - } - } - - function stageOneThree() { - console.log('you made it!') - quitGame() - } - /* + function stageOneThree() { + console.log("you made it!"); + quitGame(); + } + /* fight(herostat,enemy,risk,next) */ - fight(heroStat, oppStat.troll, 5, stageOneThree()) + fight(heroStat, oppStat.troll, 5, stageOneThree()); } - diff --git a/dmg.js b/dmg.js new file mode 100644 index 0000000..6df1d41 --- /dev/null +++ b/dmg.js @@ -0,0 +1,29 @@ +const dice = require('./CoreFunctions/dice.js') +const characterStats = require('./CoreFunctions/characterStats.js') + +const dmg = (atk, enemyDef, level, enemy) => { + const d6Roll = dice(6,1) + const critRoll = dice(3, 1) + + let damage = Math.ceil((((2 * level + 10) / 150) * (atk / enemyDef) + 2) * d6Roll) + let critical = Math.ceil((((2 * level + 10) / 150) * (atk / enemyDef) + 2) * critRoll) + + + if (d6Roll !== 1 && d6Roll !== 6) { + console.log('+--------------------------------------------------------------------------------------+') + console.log('normal hit') + return enemy.health - damage + + } else if (d6Roll === 6) { + let critDmg = damage + critical + let troll = enemy.health + console.log('Critical hit!') + return troll - critDmg + + } else if (d6Roll === 1) { + console.log(`Your attack missed `) + return 0 + } + +} +console.log(dmg()) \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 4e5e2be..c047f7c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,8 +1,25 @@ { "name": "FSW-Text-Based-Adventure", "version": "1.0.0", - "lockfileVersion": 1, + "lockfileVersion": 2, "requires": true, + "packages": { + "": { + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "readline-sync": "^1.4.10" + } + }, + "node_modules/readline-sync": { + "version": "1.4.10", + "resolved": "https://registry.npmjs.org/readline-sync/-/readline-sync-1.4.10.tgz", + "integrity": "sha512-gNva8/6UAe8QYepIQH/jQ2qn91Qj0B9sYjMBBs3QOB8F2CXcKgLxQaJRP76sWVRQt+QU+8fAkCbCvjjMFu7Ycw==", + "engines": { + "node": ">= 0.8.0" + } + } + }, "dependencies": { "readline-sync": { "version": "1.4.10", diff --git a/test.js b/test.js index efe5bf4..1ed32c1 100644 --- a/test.js +++ b/test.js @@ -243,3 +243,71 @@ + + + + +// const reverse = (x) => { +// const arr = String(x).split("") +// if (x >= Number.MAX_SAFE_INTEGER || x <= Number.MIN_SAFE_INTEGER) { +// return 0 +// } +// else if (arr.includes('-')) { +// console.log(`else if ran!`) +// arr.shift() +// arr.reverse().unshift('-') +// return Number(arr.join('')) +// } +// else { +// console.log(`else ran!`) +// arr.reverse() +// console.log(arr) + +// } +// return Number(arr.join('')) +// } + +// console.log(reverse(Number.MAX_SAFE_INTEGER)) + +// var isPalindrome = function(x) { +// const arr = Array.from(String(x)) +// let neuArr = [] +// for (let i=arr.length-1; i >= 0; i--){ +// neuArr.push(arr[i]) +// console.log(neuArr) +// } +// if (arr.join('') === neuArr.join('')) { +// return true; +// } +// else { +// return false; +// } +// }; + +// var isPalindrome = function(x) { +// const arr = Number(String(x).split('').reverse().join('')) +// return arr === x ? true : false; +// }; + +const twoSum = (nums, target) => { + const neuArr = [] + const resultNums = nums.map(x => { + for (let i = 0; i < nums.length - 1; i++) { + if (x + nums[i] === target) { + neuArr.push([x, nums[i]]) + console.log(neuArr) + } + // (x + nums[i] === target) ? neuArr.push(x, nums[i]) : null; + } + }) + index = 0 + + while (index < neuArr.length){ + console.log(neuArr[index]) + } + return neuArr +} +//input: [1,2,3] 5 +//output: [2,3] + +console.log(twoSum([1,2,3,4,5], 5)) From d1174c12fb4ebabf1c66f316560c0f57dab86d37 Mon Sep 17 00:00:00 2001 From: Randy Rodriguez Date: Fri, 25 Jun 2021 02:11:45 -0400 Subject: [PATCH 20/56] updated readme.md --- README.md | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 1851af6..b8c29a5 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,12 @@ -# Text-Based-Adventure +# Dragon Rend + +Follow my progress here: [Trello](https://trello.com/b/rhEqDedM/dragonrend) + +## Project setup + +`git clone https://github.com/Rvndyr/FSW-Text-Based-Adventure.git` + + From 30926fe3149a7d615b9ea2d0c33ba65f2a0e6a96 Mon Sep 17 00:00:00 2001 From: Randy Rodriguez Date: Fri, 25 Jun 2021 02:23:24 -0400 Subject: [PATCH 21/56] updated readme with instructions on how to install and run --- README.md | 16 +++++++++++++--- package-lock.json | 19 ++++++++++++++++++- 2 files changed, 31 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index b8c29a5..28fca5c 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,16 @@ Follow my progress here: [Trello](https://trello.com/b/rhEqDedM/dragonrend) ## Project setup `git clone https://github.com/Rvndyr/FSW-Text-Based-Adventure.git` +`cd FSW-Text-Based-Adventure` +`npm install` + +## Run Dragon Rend + +`node DragonRend.js` + +## Notes + +- Refactoring the functions into 'components' to organize code and make it more readable. Feel free to contribute! diff --git a/acRubric.png b/acRubric.png deleted file mode 100644 index aa9f64193f3f7291f0262e01f33d56a248e28368..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 227588 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 Wdl1Tf2*N(_ckzPm`4V;Ouzvs;bnO}d diff --git a/outcomesRubric.png b/outcomesRubric.png deleted file mode 100644 index b503a7ae4be199682e6ef6e369eb0559db3e5032..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 189757 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%0A^z&5z0em&qGmZt%@!;+Sth)MZ$wXkor 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 z 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

bOgF<7A(P=+M+<%eD78-}0_7!@jD2os*x8{k52 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 { -// // return Math.floor((Math.random() * nat) + min) -// // } -// // console.log(dice(6, 1)) - -// // const heroStat = { -// // health: 10, -// // attack: 10, -// // defense: 8, -// // level: 1, -// // experience: 0 -// // } - -// // const oppStat = { -// // troll: { -// // health: 10, -// // attack: 10, -// // defense: 10, -// // level: 1, -// // experince: 0 -// // }, -// // ent: { -// // health: 12, -// // attack: 5, -// // defense: 5, -// // level: 1, -// // experience: 0 -// // }, -// // enemy: { -// // health: 0, -// // attack: 0, -// // defense:0 , -// // level: 0, -// // experience: 0 -// // } -// // } - -// // // const dmg = (atk, enemyDef, level, enemy) => { -// // const dmg = (herostat, enemy) => { -// // const d6Roll = dice(6,1) -// // const critRoll = dice(3, 1) -// // console.log(d6Roll, critRoll) - -// // let damage = Math.ceil((((2 * herostat.level + 10) / 150) * (herostat.attack / enemy.defense) + 2) * d6Roll) -// // // let damage = Math.ceil((((2 * level + 10) / 150) * (atk / enemyDef) + 2) * d6Roll) - -// // let critical = Math.ceil((((2 * herostat.level + 10) / 150) * (herostat.attack / enemy.defense) + 2) * critRoll) -// // // let critical = Math.ceil((((2 * level + 10) / 150) * (atk / enemyDef) + 2) * critRoll) - -// // console.log(damage, critical) - -// // if (d6Roll !== 1 && d6Roll !== 6) { -// // console.log('+--------------------------------------------------------------------------------------+') -// // // console.log(`${nameInput}`) -// // return enemy.health - damage -// // } else if (d6Roll === 6) { -// // let critDmg = damage + critical -// // // console.log('Critical hit!') -// // return enemy.health - critDmg -// // } else if (d6Roll === 1) { -// // console.log(`Your attack missed `) -// // return 0 -// // } -// // } - -// // const enDmg = (herostat, enemy) => { -// // const d6Roll = dice(6, 1) -// // const d2Roll = dice(2, 1) - -// // let damage = Math.ceil((((2 * enemy.level + 10) / 150) * (enemy.attack / herostat.defense) + 2) * d6Roll) -// // if (d2Roll === 2) { -// // let hit = heroStat.health - damage -// // return hit -// // } else if (d2 === 1) { -// // console.log('+ The enemy missed! You take no damage. +') -// // return 0 -// // } -// // } - - -// // const dodge = (risk) => {//if dodge roll is > 3, nullify damage -// // const d6 = dice(6,1) -// // if (d6 > 3){ -// // console.log('+ Succesful dodge! +') -// // return true; - -// // } else if (d6 < 4) { -// // console.log('+ You tripped during your dodge and took '+risk+' damage! +') -// // console.log(`+ Your health is now ${heroStat.health}! +`) -// // return false; -// // } -// // } - -// // /* -// // herostat -> reference the heroStat object -// // enemy -> reference the oppStat object !! be sure to specify what opponent the player is fighting !! -// // risk -> integer value tbd by the dev -// // next -> move ahead to next stage -// // */ - -// // const fight = (herostat, enemy, risk, next) => { -// // while (herostat.health > 0 || enemy.health < 1) { -// // const options = ['Attack', 'Dodge', 'Special Attack', 'Run'] -// // index = rls1.keyInSelect(options, `What's your move?`) - -// // if (options[i] === options[0]) { -// // const damage = dmg(herostat, enemy) -// // const enDmg = enDmg(herostat, enemy) -// // enemy.health - damage -// // herostat.health - enDmg.health - -// // } else if (options[i] === options[1]) { -// // let dodge = dodge(risk) -// // return dodge - -// // } else if (options[i] === options[2]) { -// // if (herostat.level > 3) { -// // return true; -// // } else { -// // console.log(`Do you even lift? Your level is too low, scrub.`) -// // } - -// // } else if (options[i] === options[3]) { -// // const d2 = dice(2, 1) -// // if (d2 === 1) { -// // console.log(`How could 1 tail beat 2 heads? `) -// // fight(herostat, enemy, risk, next) -// // } else { -// // console.log(`2 heads are indeed better than one. However, a hero never runs, the Heads beyond the skies have judged you and condemn thee to die`) -// // quitGame() -// // } -// // } -// // } -// // if (herostat.health === 0) { -// // console.log(` ||=====\\ ======== //=====+= ||=====\\ `) -// // console.log(` || - | || || || - | `) -// // console.log(` || | | || ||---| || | | `) -// // console.log(` || 1 | || || || 1 | `) -// // console.log(` ||=====// ======*= ||======\\||=====// `) -// // start() -// // } else if (enemy.health === 0) { -// // next -// // } -// // } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -// // function fight(health0,atk1,def2,lvl3,enHealth0,enAtk1,enDef2,enLvl3,dodgeRisk){ - -// // while (health0 > 0 || enHealth0 > 0) { -// // const rls1 = require('readline-sync') -// // options = ['Attack', 'Dodge', 'Sp. Attack', 'Run'] -// // index = rls1.keyInSelect(options, 'What do you do?') - -// // if (options[index] === options[0]){ -// // damage = dmg(lvl3,atk1,enDef2) -// // finalDmg = enHealth0 - damage -// // //enDmg(enAtk, def, enLvl) -// // //iterate randomly through an array and return and indx of the array -// // //array contains options = ['Attack', 'Dodge', 'Sp. Attack', 'Run'] -// // //then do that thing - -// // } else if (options[index] === options[1]) { -// // dodge(dodgeRisk) - -// // } else if (options[index] === options[2]) { -// // spAtk() - -// // } else if (options[index] === options[3]) { - -// // d6 = dmg(6,1) -// // d6two = dmg(6,1) - -// // if (d6 !== d6two) { -// // stageTwo() -// // } else { console.log('fill this') } -// // } else if (options[index] === options[4]){ -// // stageOneThree() - -// // } else { -// // quitGame() -// // } -// // }//while close -// // if (heroStat[0] === 0) { -// // console.log(` ||=====\\ ======== //=====+= ||=====\\ `) -// // console.log(` || - | || || || - | `) -// // console.log(` || | | || ||---| || | | `) -// // console.log(` || 1 | || || || 1 | `) -// // console.log(` ||=====// ======*= ||======\\||=====// `) -// // start() -// // } -// // } - - - - - - - - - - - - - -// // const reverse = (x) => { -// // const arr = String(x).split("") -// // if (x >= Number.MAX_SAFE_INTEGER || x <= Number.MIN_SAFE_INTEGER) { -// // return 0 -// // } -// // else if (arr.includes('-')) { -// // console.log(`else if ran!`) -// // arr.shift() -// // arr.reverse().unshift('-') -// // return Number(arr.join('')) -// // } -// // else { -// // console.log(`else ran!`) -// // arr.reverse() -// // console.log(arr) - -// // } -// // return Number(arr.join('')) -// // } - -// // console.log(reverse(Number.MAX_SAFE_INTEGER)) - -// // var isPalindrome = function(x) { -// // const arr = Array.from(String(x)) -// // let neuArr = [] -// // for (let i=arr.length-1; i >= 0; i--){ -// // neuArr.push(arr[i]) -// // console.log(neuArr) -// // } -// // if (arr.join('') === neuArr.join('')) { -// // return true; -// // } -// // else { -// // return false; -// // } -// // }; - -// // var isPalindrome = function(x) { -// // const arr = Number(String(x).split('').reverse().join('')) -// // return arr === x ? true : false; -// // }; - -// // const twoSum = (nums, target) => { -// // const neuArr = [] -// // const resultNums = nums.map(x => { -// // for (let i = 0; i < nums.length - 1; i++) { -// // if (x + nums[i] === target) { -// // neuArr.push([x, nums[i]]) -// // console.log(neuArr) -// // } -// // // (x + nums[i] === target) ? neuArr.push(x, nums[i]) : null; -// // } -// // }) -// // index = 0 - -// // while (index < neuArr.length){ -// // console.log(neuArr[index]) -// // } -// // return neuArr -// // } -// // //input: [1,2,3] 5 -// // //output: [2,3] - -// // console.log(twoSum([1,2,3,4,5], 5)) - - - - -// const speak = () => { -// const start_Dialog = [ -// "+=======================================================================================+", -// "+---------------------------------------------------------------------------------------+", -// "+ ============// ========/ __ +", -// "+ | _ //.———----.—---—.—.———.———.———--.-----||. / ______.______.____| / +", -// "+ |. | || ____| _ | _ | _ | ||. 00 /_| -___| | _ | | +", -// "+ |. | ||___| |_____._|____| |_____|___|__||. _ |______|___|___|_____/ +", -// "+ |: 1 // _____| | ||: | | | +", -// "+ |: : . . ./ |_______| ||: :. | : | +", -// "+ `---------’ `----' `--‘ +", -// "+---------------------------------------------------------------------------------------+", -// "+---------------------------------------------------------------------------------------+", -// "+ In the land of Phimiba on the black sand coast of the Banar provinces, there lives +", -// "+ the small village of Strinostra. A valley untouched by the wars of yore for millenia. +", -// "+ Great heroes and villians alike have wrecked and gone asunder in the bony beaches of +", -// "+ Strinostra and ten thousand fold more in the windblown summit alps to the moutainous +", -// "+ east. Here in Strinostra grows then mystic Ironbark tree. The last in fact. It's sap +", -// "+ gave the first dragons their fire and their barks gave men their first swords, whose +", -// "+ branches were cut and bent into wands and whose fruit seeds now make load for rifles. +", -// "+ We find you, dear adventurer in your forest garden, where a strange wilting flower of +", -// "+ magenta and periwinkle glows faintly. +", -// ]; -// let i = 0 -// const len = start_Dialog.length -// const speak = setInterval(() => { -// console.log(start_Dialog[i]) -// i++ -// if (i === len) { -// clearInterval(speak) -// } -// }, 320); -// } -// console.log(speak()) diff --git a/textBasedAdventure.js b/textBasedAdventure.js deleted file mode 100644 index 4418f31..0000000 --- a/textBasedAdventure.js +++ /dev/null @@ -1,5 +0,0 @@ -const readline = require('readline-sync') - -let nameInput = readline.question("Enter your name: ") - -console.log(`Hello ${nameInput}! Welcome to my game.`) From 23b855a27804eea7943e3cfc7571d9a2ca1ef86f Mon Sep 17 00:00:00 2001 From: Jon Narine Date: Wed, 8 Dec 2021 03:33:27 -0500 Subject: [PATCH 51/56] testing on start --- DragonRend.js | 2 ++ Start-n-Quit/start.js | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/DragonRend.js b/DragonRend.js index c91a1e7..e07709d 100644 --- a/DragonRend.js +++ b/DragonRend.js @@ -1,3 +1,5 @@ const {start} = require("./Start-n-Quit/start"); const {levelOne} = require("./Levels/levelOne/levelOne.js"); +start + diff --git a/Start-n-Quit/start.js b/Start-n-Quit/start.js index d6b434c..5b84940 100644 --- a/Start-n-Quit/start.js +++ b/Start-n-Quit/start.js @@ -80,6 +80,6 @@ const start = () => { setTimeout(start_Quest,10_000) }; -start(); +// start(); module.exports = start; From fca45bbdced5aad2f6afe8fc17767186dd941651 Mon Sep 17 00:00:00 2001 From: Jon Narine Date: Wed, 8 Dec 2021 15:41:56 -0500 Subject: [PATCH 52/56] package.json updates --- CoreFunctions/coreFunctions.js | 4 ++++ CoreFunctions/quitGame.js | 4 ++-- CoreFunctions/showDialogue.js | 1 - DragonRend.js | 6 ++++-- Start-n-Quit/{start.js => start.mjs} | 3 ++- package.json | 6 +++--- test.js | 8 ++++++++ 7 files changed, 23 insertions(+), 9 deletions(-) rename Start-n-Quit/{start.js => start.mjs} (98%) diff --git a/CoreFunctions/coreFunctions.js b/CoreFunctions/coreFunctions.js index 427a333..62add60 100644 --- a/CoreFunctions/coreFunctions.js +++ b/CoreFunctions/coreFunctions.js @@ -1,7 +1,9 @@ +//all random events are based of this rng 'dice' const dice = (nat, min) => { return Math.floor(Math.random() * nat + min); }; +//Damage calculator const dmg = (herostat, enemy) => { const d6Roll = dice(6, 1); const critRoll = dice(3, 1); @@ -34,6 +36,7 @@ const dmg = (herostat, enemy) => { } }; +//Enemy damage calculator const enemyDmg = (herostat, enemy) => { const d6 = dice(6, 1); const d2 = dice(2, 1); @@ -49,6 +52,7 @@ const enemyDmg = (herostat, enemy) => { return d2 === 2 ? damage : 0; }; +// const fight = (herostat, enemy, risk, experience) => { const victoryRes = [ ` ||=====\ //=====+= ====== ||=====\\ `, diff --git a/CoreFunctions/quitGame.js b/CoreFunctions/quitGame.js index a83d2e1..520cc9b 100644 --- a/CoreFunctions/quitGame.js +++ b/CoreFunctions/quitGame.js @@ -8,7 +8,7 @@ const quitGame = () => { } else if (restart === false) { console.log("Til next time " + nameInput); process.exit(); - } + }; }; -export = quitGame; \ No newline at end of file +modules.exports = quitGame; \ No newline at end of file diff --git a/CoreFunctions/showDialogue.js b/CoreFunctions/showDialogue.js index b8341cc..b863e94 100644 --- a/CoreFunctions/showDialogue.js +++ b/CoreFunctions/showDialogue.js @@ -3,7 +3,6 @@ const showDialogue = (dialogue) => { const len = dialogue.length; const timer = setInterval(() => { - i++; i === len ? clearInterval(timer) diff --git a/DragonRend.js b/DragonRend.js index e07709d..16fd049 100644 --- a/DragonRend.js +++ b/DragonRend.js @@ -1,5 +1,7 @@ -const {start} = require("./Start-n-Quit/start"); +// const {start} = require("./Start-n-Quit/start.js"); +import start from "./Start-n-Quit/start.mjs"; const {levelOne} = require("./Levels/levelOne/levelOne.js"); -start +start(); +levelOne(); diff --git a/Start-n-Quit/start.js b/Start-n-Quit/start.mjs similarity index 98% rename from Start-n-Quit/start.js rename to Start-n-Quit/start.mjs index 5b84940..b5aebbb 100644 --- a/Start-n-Quit/start.js +++ b/Start-n-Quit/start.mjs @@ -82,4 +82,5 @@ const start = () => { // start(); -module.exports = start; +// module.exports = start; +export {start} \ No newline at end of file diff --git a/package.json b/package.json index 8e8b06f..9aa348d 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,8 @@ { - "name": "FSW-Text-Based-Adventure", + "name": "DragonRend", "version": "1.0.0", - "description": "## Instructions for lab submission", - "main": "textBasedAdventure.js", + "description": "## Guide your hero through dungeons and monsters to slay and slay the dragon!", + "main": "Dragonrend.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, diff --git a/test.js b/test.js index e69de29..c9183ea 100644 --- a/test.js +++ b/test.js @@ -0,0 +1,8 @@ +const intersection = (nums1,nums2) => { + // let [sorted1, sorted2] = [Array.from(new Set(nums1.sort((a,b)=> a-b))),Array.from(new Set(nums2.sort((a,b)=> a-b)))] + // console.log(sorted1,sorted2) + return nums1.filter(value => nums2.includes(value)) +} +arr1 = [1,2,2,1] +arr2 = [2,2] +console.log(intersection(arr1,arr2)) \ No newline at end of file From c13dba81d6e8168a9c9b23285c6fcfe5d7eadd99 Mon Sep 17 00:00:00 2001 From: Jon Narine Date: Wed, 8 Dec 2021 17:13:57 -0500 Subject: [PATCH 53/56] start module now runs --- CoreFunctions/coreFunctions.js | 2 ++ CoreFunctions/showDialogue.js | 2 +- DragonRend.js | 4 ++-- Start-n-Quit/{start.mjs => start.js} | 3 +-- 4 files changed, 6 insertions(+), 5 deletions(-) rename Start-n-Quit/{start.mjs => start.js} (98%) diff --git a/CoreFunctions/coreFunctions.js b/CoreFunctions/coreFunctions.js index 62add60..dfc8a27 100644 --- a/CoreFunctions/coreFunctions.js +++ b/CoreFunctions/coreFunctions.js @@ -1,3 +1,5 @@ +const { keyInYN } = require("readline-sync"); + //all random events are based of this rng 'dice' const dice = (nat, min) => { return Math.floor(Math.random() * nat + min); diff --git a/CoreFunctions/showDialogue.js b/CoreFunctions/showDialogue.js index b863e94..4762551 100644 --- a/CoreFunctions/showDialogue.js +++ b/CoreFunctions/showDialogue.js @@ -10,6 +10,6 @@ const showDialogue = (dialogue) => { }, 1_000); }; -export { +module.exports = { showDialogue } diff --git a/DragonRend.js b/DragonRend.js index 16fd049..03fb9b9 100644 --- a/DragonRend.js +++ b/DragonRend.js @@ -1,5 +1,5 @@ -// const {start} = require("./Start-n-Quit/start.js"); -import start from "./Start-n-Quit/start.mjs"; +const {start} = require("./Start-n-Quit/start.js"); + const {levelOne} = require("./Levels/levelOne/levelOne.js"); start(); diff --git a/Start-n-Quit/start.mjs b/Start-n-Quit/start.js similarity index 98% rename from Start-n-Quit/start.mjs rename to Start-n-Quit/start.js index b5aebbb..141cb50 100644 --- a/Start-n-Quit/start.mjs +++ b/Start-n-Quit/start.js @@ -82,5 +82,4 @@ const start = () => { // start(); -// module.exports = start; -export {start} \ No newline at end of file +module.exports = {start}; From ee0bd434301a429c0893366e615c1cb553d7b5fe Mon Sep 17 00:00:00 2001 From: Jon Narine Date: Wed, 8 Dec 2021 17:34:00 -0500 Subject: [PATCH 54/56] nameInput moved to corefunctions library --- CoreFunctions/coreFunctions.js | 8 +++++++- DragonRend.js | 5 ++--- HeroName.js | 8 ++++---- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/CoreFunctions/coreFunctions.js b/CoreFunctions/coreFunctions.js index dfc8a27..6d79ae2 100644 --- a/CoreFunctions/coreFunctions.js +++ b/CoreFunctions/coreFunctions.js @@ -1,4 +1,10 @@ -const { keyInYN } = require("readline-sync"); +const { + keyInYN, + question} = require("readline-sync"); + +let nameInput = question("Enter your name: "); + +console.log(`Hello ${nameInput}! Welcome to DragonRend.`); //all random events are based of this rng 'dice' const dice = (nat, min) => { diff --git a/DragonRend.js b/DragonRend.js index 03fb9b9..a176f41 100644 --- a/DragonRend.js +++ b/DragonRend.js @@ -1,6 +1,5 @@ -const {start} = require("./Start-n-Quit/start.js"); - -const {levelOne} = require("./Levels/levelOne/levelOne.js"); +const { start } = require("./Start-n-Quit/start.js"); +const { levelOne } = require("./Levels/levelOne/levelOne.js"); start(); levelOne(); diff --git a/HeroName.js b/HeroName.js index e7ab998..063bb04 100644 --- a/HeroName.js +++ b/HeroName.js @@ -1,6 +1,6 @@ -const { question } = require("readline-sync"); -let nameInput = question("Enter your name: "); +// const { question } = require("readline-sync"); +// let nameInput = question("Enter your name: "); -console.log(`Hello ${nameInput}! Welcome to DragonRend.`); +// console.log(`Hello ${nameInput}! Welcome to DragonRend.`); -module.exports = nameInput \ No newline at end of file +// module.exports = {nameInput}; \ No newline at end of file From ba1e47f2d83a25273b0241f348279bf3bed600e1 Mon Sep 17 00:00:00 2001 From: Jon Narine Date: Thu, 9 Dec 2021 15:06:20 -0500 Subject: [PATCH 55/56] typo levelOne lb 17 --- DragonRend.js | 2 +- Levels/levelOne/levelOne.js | 2 +- Start-n-Quit/start.js | 39 +++++++++++++++++-------------------- 3 files changed, 20 insertions(+), 23 deletions(-) diff --git a/DragonRend.js b/DragonRend.js index a176f41..6880d72 100644 --- a/DragonRend.js +++ b/DragonRend.js @@ -1,6 +1,6 @@ const { start } = require("./Start-n-Quit/start.js"); const { levelOne } = require("./Levels/levelOne/levelOne.js"); -start(); +console.log(typeof start); levelOne(); diff --git a/Levels/levelOne/levelOne.js b/Levels/levelOne/levelOne.js index ecc2652..d164273 100644 --- a/Levels/levelOne/levelOne.js +++ b/Levels/levelOne/levelOne.js @@ -14,7 +14,7 @@ const levelOne = () => { switch (classPick[index]){ case 0: - showDialogue(dislogues.classPick_sword) + showDialogue(dialogues.classPick_sword) stageOne() break; case 1: diff --git a/Start-n-Quit/start.js b/Start-n-Quit/start.js index 141cb50..ee87bcf 100644 --- a/Start-n-Quit/start.js +++ b/Start-n-Quit/start.js @@ -36,37 +36,21 @@ const dialogues = { ] }; -const showDialogue_start = () => { - let i = 0; - const len = dialogues.start.length; - - const timer = setInterval(() => { - console.log(dialogues.start[i]); - i++; - i === len - ? clearInterval(timer) - : null - }, 250); -}; - -const start_Quest = () => { +const startQuest = () => { const start = keyInYN('Do you pick the flower?') let i = 0 if (!start) { const len = dialogues.pickNo.length const timer = setInterval(() => { - i++ i === len ? clearInterval(timer) : console.log(dialogues.pickNo[i]) - }, 250); - } + }, 250)} else { const len = dialogues.pickYes.length const timer = setInterval(() => { - i++ i === len ? clearInterval(timer) @@ -75,11 +59,24 @@ const start_Quest = () => { }; }; +const showDialogue_start = () => { + let i = 0; + const len = dialogues.start.length; + + const timer = setInterval(() => { + console.log(dialogues.start[i]); + i++; + i === len ? clearInterval(timer) : null + }, 250); +}; + const start = () => { - showDialogue_start() - setTimeout(start_Quest,10_000) + // showDialogue_start() + // setTimeout(start_Quest, 250) + showDialogue_start() + setTimeout(startQuest, 250) }; -// start(); +start(); module.exports = {start}; From b736c4a8b6a61db7008bf6b7c8077e5decb83e84 Mon Sep 17 00:00:00 2001 From: Jon Narine Date: Thu, 9 Dec 2021 15:37:36 -0500 Subject: [PATCH 56/56] housekeeping --- DragonRend.js | 7 ++++--- Start-n-Quit/start.js | 39 ++++++++++++++++++++++++++++++--------- 2 files changed, 34 insertions(+), 12 deletions(-) diff --git a/DragonRend.js b/DragonRend.js index 6880d72..e9099b9 100644 --- a/DragonRend.js +++ b/DragonRend.js @@ -1,6 +1,7 @@ const { start } = require("./Start-n-Quit/start.js"); -const { levelOne } = require("./Levels/levelOne/levelOne.js"); +// const { levelOne } = require("./Levels/levelOne/levelOne.js"); -console.log(typeof start); -levelOne(); +// console.log(typeof start); +start(); +// levelOne(); diff --git a/Start-n-Quit/start.js b/Start-n-Quit/start.js index ee87bcf..4a8f4d8 100644 --- a/Start-n-Quit/start.js +++ b/Start-n-Quit/start.js @@ -1,4 +1,5 @@ const { keyInYN } = require("readline-sync"); +const {levelOne}= require('../Levels/levelOne/levelOne.js') const dialogues = { start: [ "+=======================================================================================+", @@ -44,21 +45,37 @@ const startQuest = () => { const len = dialogues.pickNo.length const timer = setInterval(() => { i++ - i === len - ? clearInterval(timer) - : console.log(dialogues.pickNo[i]) + if (i === len){ + clearInterval(timer) + } + else { + console.log(dialogues.pickNo[i]) + levelOne() + } + // i === len + // ? clearInterval(timer) + // : console.log(dialogues.pickNo[i]) }, 250)} else { const len = dialogues.pickYes.length const timer = setInterval(() => { i++ - i === len - ? clearInterval(timer) - : console.log(dialogues.pickYes[i]) + if (i === len){ + clearInterval(timer) + } + else { + console.log(dialogues.pickYes[i]) + //trigger restart + } + // i === len + // ? clearInterval(timer) + // : console.log(dialogues.pickYes[i]) }); }; }; +///write a conditional looking at the truthiness of the heroName + const showDialogue_start = () => { let i = 0; const len = dialogues.start.length; @@ -66,7 +83,11 @@ const showDialogue_start = () => { const timer = setInterval(() => { console.log(dialogues.start[i]); i++; - i === len ? clearInterval(timer) : null + if (i === len){ + clearInterval(timer); + startQuest() + } + // i === len ? clearInterval(timer) : null }, 250); }; @@ -74,9 +95,9 @@ const start = () => { // showDialogue_start() // setTimeout(start_Quest, 250) showDialogue_start() - setTimeout(startQuest, 250) + // setTimeout(()=>{startQuest()}, 8000) }; -start(); +// start(); module.exports = {start};