program Quest (input,output); uses crt; {Jarod Whipple This progam is a quest an RPG and it is good for the amount of time I used to make it} const lvup='Great you have reached a new level'; var ran,wmhp:boolean; hp,mhp,mstr,mdef,medef:real; x,yexp,gp,gold:longint; ma,exp,mh,str,def,nma,pro,hpmax,mpmax,fhp,fmhp,lv,mp,sword,boot,armor,h,v,age:integer; csword,carmor,cma,mpu,cdef,shield,counter,expl,hhp,dk,tr1,tr2,tr3:integer; opt,ch,choice1,choice2,up,d:char; mon,hwep,lwep,shld,sp1,sp2,sp3,sp4,sp5,sp6,sp7,sp8,sp9,sp10,sp11,sp12,sp13,sp14,sp15,name:string; {************************************************************} procedure winsound; begin sound(500); delay(100); nosound; sound(2000); delay(100); nosound; sound(400); delay(100); nosound; sound(2000); delay(100); nosound; sound(500); delay(100); nosound; sound(3000); delay(100); nosound; sound(600); delay(100); nosound; sound(3000); delay(100); nosound; sound(700); delay(100); nosound; sound(3000); delay(100); nosound; sound(700); delay(100); nosound; sound(4000); delay(100); nosound; sound(800); delay(100); nosound; sound(4000); delay(100); nosound; sound(800); delay(100); nosound; sound(5000); delay(100); nosound; sound(900); delay(100); nosound; sound(5000); delay(100); nosound; sound(900); delay(100); nosound; sound(6000); delay(100); nosound; sound(1000); delay(100); nosound; sound(5000); delay(100); nosound; sound(1000); delay(100); nosound; sound(5000); delay(100); nosound; sound(1000); delay(100); nosound; sound(5000); delay(100); nosound; sound(1000); delay(100); nosound; sound(5000); delay(100); nosound; sound(100); delay(2000); nosound; end; {*************************************************************} procedure lvupm; begin repeat nosound; sound(2000); delay(400); sound(1000); delay(400); sound(2000); delay(400); sound(1000); delay(400); sound(2075); delay(400); sound(1575); delay(400); sound(2075); delay(400); sound(1575); delay(400); until keypressed; end; {*********************************************************************************} procedure paladin; begin csword:=trunc(sword); carmor:=trunc(armor); cma:=trunc(ma); mp:=mpmax; fhp:=trunc(hp); fmhp:=trunc(mhp); repeat cdef:=carmor+shield; writeln('***********************************'); writeln('*',mon,'HP=',fmhp,' '); writeln('***********************************'); writeln; writeln; writeln(' '); writeln(' '); writeln(' '); writeln(' '); writeln(' '); writeln(' '); writeln(' What are you going to do'); writeln(' A)Attack M)Magic'); writeln(' '); writeln; writeln; writeln(' '); writeln(' '); writeln(' '); writeln(' '); writeln(' ****************************************'); writeln(' *',name,'''s MP=',mp,' '); writeln(' *',name,'''s HP=',fhp,' '); writeln(' ****************************************'); readln(choice1); if (choice1='a') or (choice1='A') then begin writeln('***********************************'); writeln('*',mon,'HP=',fmhp,' '); writeln('***********************************'); writeln; writeln; writeln(' '); writeln(' '); writeln(' '); writeln(' '); writeln(' '); writeln(' '); writeln(' what do you wish to use'); writeln(' S)',hwep,' B)',lwep); writeln(' '); writeln; writeln; writeln(' '); writeln(' '); writeln(' '); writeln(' '); writeln(' ****************************************'); writeln(' *',name,'''s MP=',mp,' '); writeln(' *',name,'''s HP=',fhp,' '); writeln(' ****************************************'); readln(choice2); if (choice2='s') or (choice2='S') then begin mhp:=trunc(mhp-(str+csword)/mdef); for x:= 1 to 20 do writeln; writeln(' You Skillfully slash your enemy'); for x:= 1 to 12 do writeln; delay(2000); end; if (choice2='b') or (choice2='B') then begin for x:= 1 to 20 do writeln; writeln(' You jumpkick your enemy'); for x:= 1 to 12 do writeln; delay(2000); mhp:=trunc(mhp-(str+boot)/mdef); end; end; if (choice1='m') or (choice1='M') then begin writeln('What spell do you wish to use'); writeln('| Spell Name | Effect | power|'); writeln('A) cure Heals HP 10'); writeln(' '); if lv>=2 then begin writeln('B) bless sword Sword pwr 60%'); writeln(' up '); end; if lv>=3 then begin writeln('C) bless armor armor def 50%'); writeln(' up '); end; if lv>=6 then begin writeln('D) pray magic up 33%'); writeln(' '); end; if lv>=10 then begin writeln('E) cure+ heals HP 500'); writeln(' '); end; if lv>=15 then begin writeln('F) Meteor Meteor 200 '); writeln(' Attack '); end; if lv>=22 then begin writeln('G) holy holy 250 '); writeln(' attack '); end; if lv>=27 then begin writeln('H) spirit spirit stats'); writeln(' attack '); end; if lv>=33 then begin writeln('I) cure++ heals hp 1000'); writeln(' '); end; if lv>=40 then writeln('J) holy lightning ??????? ????'); readln(choice2); while (choice2<>'a') and (choice2<>'A') and (choice2<>'b') and (choice2<>'B') and (choice2<>'c') and (choice2<>'C') and (choice2<>'d') and (choice2<>'D') and (choice2<>'e') and (choice2<>'E') and (choice2<>'f') and (choice2<>'F') and (choice2<>'g') and (choice2<>'G') and (choice2<>'h') and (choice2<>'H') and (choice2<>'i') and (choice2<>'I') and (choice2<>'j') and (choice2<>'J') do begin writeln('That is not a spell'); writeln('What spell do you wish to use'); writeln(' | Spell Name | Effect | power|'); writeln('A) cure Heals HP 10'); writeln(' '); if lv>=2 then begin writeln('B) bless sword sword pwr 60%'); writeln(' up '); end; if lv>=3 then begin writeln('C) bless armor armor def 50%'); writeln(' up '); end; if lv>=6 then begin writeln('D) pray magic up 33%'); writeln(' '); end; if lv>=10 then begin writeln('E) cure+ heals HP 100'); writeln(' '); end; if lv>=15 then begin writeln('F) Meteor Meteor 400 '); writeln(' Attack '); end; if lv>=22 then begin writeln('G) holy holy 900 '); writeln(' attack '); end; if lv>=27 then begin writeln('H) spirit spirit stats'); writeln(' attack '); end; if lv>=33 then begin writeln('I) cure++ heals hp 1000'); writeln(' '); end; if lv>=40 then writeln('J) holy lightning ??????? ????'); readln(choice2); end; if (choice2='a') or (choice2='A') then begin if mp<4 then writeln('Sorry but you are out of mp'); if mp>=4 then begin hp:=(ma*10)+hp; hhp:=ma*10; writeln('you are healed by ',hhp,' hp'); if hp>hpmax then hp:=hpmax; mp:=mp-4; end; end; if lv>=2 then begin if (choice2='b') or (choice2='B') then begin if mp<10 then writeln('Sorry but you don''t have enough mp to cast this spell'); if mp>=10 then begin mp:=mp-10; csword:=round((csword*0.6+csword)); writeln('Your sword glows sword strength is now at ',csword); end; end; end; if lv>=3 then begin if (choice2='c') or (choice2='C') then begin if mp<10 then writeln('Sorry not enough mp'); if mp>=10 then begin mp:=mp-10; carmor:=round((carmor*0.5)+carmor); writeln('Your armor glows armor strength is now at ',carmor); end; end; end; if lv>=6 then begin if (choice2='d') or (choice2='D') then begin if mp<15 then writeln('sorry not enough mp'); if mp>=15 then begin mp:=mp-15; cma:=round((cma*(1/3))+cma); writeln('You kneel down and pray your magic attack is at ',cma); end; end; end; if lv>=10 then begin if (choice2='e') or (choice2='E') then begin if mp<20 then writeln('sorry not enough mp'); if mp>=20 then begin mp:=mp-20; hp:=hp+(ma*100); hhp:=ma*100; if hp>hpmax then hp:=hpmax; writeln('You have been healed by ',hhp,' hp'); end; end; end; if lv>=15 then begin if (choice2='f') or (choice2='F') then begin if mp<30 then writeln('sorry not enogh mp'); if mp>=30 then begin mp:=mp-30; mhp:=trunc(mhp-((cma+400)/medef)); writeln('A meteor flies down landing on the enemy'); end; end; end; if lv>=22 then begin if (choice2='g') or (choice2='G') then begin if mp<60 then writeln('sorry not enough mp'); if mp>=60 then begin mp:=mp-60; mhp:=trunc(mhp-((cma+900)/medef)); writeln('A beam of light shoots through the enemy'); end; end; end; if lv>=27 then begin if (choice2='h') or (choice2='H') then begin if mp<75 then writeln('sorry not enough mp'); if mp>=75 then begin mp:=mp-75; mhp:=trunc(mhp-((str+csword+boot)*(cma+lv)/medef)); writeln('you charge up and shoot out a beam of pure energy'); end; end; end; if lv>=33 then begin if (choice2='i') or (choice2='I') then begin if mp<80 then writeln('sorry not enough mp'); if mp>=80 then begin mp:=mp-80; hp:=hp+(ma*1000); hhp:=ma*1000; if hp>hpmax then hp:=hpmax; writeln('you engulf yourself in a warm light hp increaced by ',hhp); end; end; end; if lv=40 then begin if (choice2='j') or (choice2='I') then begin if mp<100 then writeln('sorry not enogh mp'); if mp>=100 then begin writeln('how much mp do you want to use under 101'); readln(mpu); if (mpu>100) or (mpu<0) then writeln('you can''t use that much mp'); if mpu<=100 then mhp:=trunc(mhp-(ma*(mpu+ma))/medef); mp:=mp-mpu; end; end; end; end; randomize; ran:=random=lv*15 then begin yexp:=0; hpmax:=hpmax+20; mpmax:=mpmax+3; str:=str+2; ma:=ma+2; lv:=lv+1; def:=def+3; writeln(lvup); counter:=5; while counter>0 do begin writeln('Great you have finaly reached level ',lv); writeln('You have ',counter,' points left what do you want to inhance'); counter:=counter-1; writeln('S) Strength up M) Magic attack up'); writeln('H) Hit points up D) Defence up'); writeln('Choose one'); lvupm; readln(up); while (up<>'s') and (up<>'S') and (up<>'m') and (up<>'M') and (up<>'h') and (up<>'H') and (up<>'o') and (up<>'O') and (up<>'d') and (up<>'D') do begin writeln('Sorry but that is not an option'); writeln('S) Strength up M) Magic up'); writeln('H) Hit points up D) Defence up'); writeln('Choose one'); lvupm; readln(up); end; if (up='s') or (up='S') then str:=str+2; if (up='m') or (up='M')then begin ma:=ma+2; mpmax:=mpmax+3; end; if (up='h') or (up='H') then begin hpmax:=hpmax+20; hp:=hp+20; if hp>hpmax then hp:=hpmax; end; if (up='d') or (up='D') then def:=def+3; writeln('hp=',hpmax,' mp=',mpmax,' str=',str,' def=',def,' Magic attack=',ma); end; nosound; end; end; end; {****************************************************************************************************} procedure evil; begin csword:=trunc(sword); carmor:=trunc(armor); cma:=trunc(ma); mp:=mpmax; fhp:=trunc(hp); fmhp:=trunc(mhp); repeat cdef:=carmor+shield; writeln('***********************************'); writeln('*',mon,'HP=',fmhp,' '); writeln('***********************************'); writeln; writeln; writeln(' '); writeln(' '); writeln(' '); writeln(' '); writeln(' '); writeln(' '); writeln(' What are you going to do'); writeln(' A)Attack M)Magic'); writeln(' '); writeln; writeln; writeln(' '); writeln(' '); writeln(' '); writeln(' '); writeln(' ****************************************'); writeln(' *',name,'''s MP=',mp,' '); writeln(' *',name,'''s HP=',fhp,' '); writeln(' ****************************************'); readln(choice1); if (choice1='f') or (choice1='F') then begin writeln('***********************************'); writeln('*',mon,'HP=',fmhp,' '); writeln('***********************************'); writeln; writeln; writeln(' '); writeln(' '); writeln(' '); writeln(' '); writeln(' '); writeln(' '); writeln(' what do you wish to use'); writeln(' S)',hwep,' B)',lwep); writeln(' '); writeln; writeln; writeln(' '); writeln(' '); writeln(' '); writeln(' '); writeln(' ****************************************'); writeln(' *',name,'''s MP=',mp,' '); writeln(' *',name,'''s HP=',fhp,' '); writeln(' ****************************************'); readln(choice2); if (choice2='s') or (choice2='S') then begin for x:= 1 to 20 do writeln; writeln(' You samsh your enemy'); for x:= 1 to 12 do writeln; delay(2000); mhp:=trunc(mhp-(str+csword)/mdef); end; if (choice2='b') or (choice2='B') then begin for x:= 1 to 20 do writeln; writeln(' You dropkick uyou enemy'); for x := 1 to 12 do writeln; delay(2000); mhp:=trunc(mhp-(str+boot)/mdef); end; end; if (choice1='m') or (choice1='M') then begin writeln('What spell do you wish to use'); writeln(' | Spell Name | Effect | power |'); writeln('A) Regenerate Heals HP 10'); writeln(' '); if lv>=2 then begin writeln('B) Strength enemy str 60%'); writeln(' down down '); end; if lv>=3 then begin writeln('C) Defence enemy def 50%'); writeln(' down up '); end; if lv>=6 then begin writeln('D) drain steal enemy Stats'); writeln(' HP '); end; if lv>=10 then begin writeln('E) Teli Telicanetic 80'); writeln(' damage '); end; if lv>=15 then begin writeln('F) Regenerate+ Heals 200 '); writeln(' HP '); end; if lv>=22 then begin writeln('G) Evil shot Shadow 300'); writeln(' attack '); end; if lv>=27 then begin writeln('H) destroy spirit stats'); writeln(' attack '); end; if lv>=33 then begin writeln('I) Regenerate++ heals hp 500'); writeln(' '); end; if lv>=40 then writeln('J) Dark holy ??????? ????'); readln(choice2); while (choice2<>'a') and (choice2<>'b') and (choice2<>'c') and (choice2<>'d') and (choice2<>'e') and (choice2<>'f') and (choice2<>'g') and (choice2<>'h') and (choice2<>'B') and (choice2<>'A') and (choice2<>'j') and (choice2<>'i') and (choice2<>'C') and (choice2<>'D') and (choice2<>'E') and (choice2<>'F') and (choice2<>'J') and (choice2<>'I') and (choice2<>'H') and (choice2<>'G') do begin writeln('Sorry but that is not an option'); for x:= 1 to 20000000 do; writeln('What spell do you wish to use'); writeln(' | Spell Name | Effect | power |'); writeln('A) Regenerate Heals HP 10'); writeln(' '); if lv>=2 then begin writeln('B) Strength enemy str 60%'); writeln(' down down '); end; if lv>=3 then begin writeln('C) Defence enemy def 50%'); writeln(' down up '); end; if lv>=6 then begin writeln('D) drain steal enemy Stats'); writeln(' HP '); end; if lv>=10 then begin writeln('E) Teli Telicanetic 80'); writeln(' damage '); end; if lv>=15 then begin writeln('F) Regenerate+ Heals 200 '); writeln(' HP '); end; if lv>=22 then begin writeln('G) Evil shot Shadow 300'); writeln(' attack '); end; if lv>=27 then begin writeln('H) destroy spirit stats'); writeln(' attack '); end; if lv>=33 then begin writeln('I) Regenerate++ heals hp 500'); writeln(' '); end; if lv>=40 then writeln('J) Dark holy ??????? ????'); readln(choice2); end; if (choice2='a') or (choice2='A') then begin if mp<4 then writeln('Sorry but you don'' have enough mp to cast that'); if mp>=4 then begin hp:=hp+(10*ma); hhp:=10*ma; writeln('You were healed by ',hhp,' HP'); mp:=mp-4; end; if hp>hpmax then hp:=hpmax; end; if lv>=2 then if (choice2='b') or (choice2='B') then begin if mp<10 then writeln('Sorry not enought mp'); if mp>=10 then begin mstr:=trunc(mstr-(mstr*0.6)); writeln('Monster Becomes weaker'); mp:=mp-10; end; if lv>=3 then if (choice2='c') or (choice2='C') then begin if mp<10 then writeln('Sorry not enough mp'); if mp>=10 then begin mdef:=trunc(mdef-(mdef*0.5)); writeln('Your enemy is more vunerable'); mp:=mp-10; end; end; if lv>=6 then if (choice2='d') or (choice2='D') then begin if mp<15 then writeln('Sorry but you have not the mp to cast this spell'); if mp>=15 then begin mhp:=trunc(mhp-((hpmax*ma)/(mdef+mstr))); hp:=trunc(hp+(hpmax*(ma+str))/(mdef+mstr)); hhp:=trunc(hpmax*(ma+str)/(mdef+mstr)); writeln('You have both damaged the enemey by and gained ',hhp,' HP'); mp:=mp-15; end; end; if lv>=10 then if (choice2='e') or (choice2='E') then begin if mp<20 then writeln('Sorry not enough mp'); if mp>=20 then begin mhp:=mhp-(ma*80/mdef); writeln('You have Teliceneticaly damaged the enemey'); mp:=mp-20; end; end; if lv>=15 then if (choice2='f') or (choice2='F') then begin if mp<26 then writeln('Sorry but you don'' have enough mp to cast that'); if mp>=26 then begin hp:=hp+(200*ma); hhp:=10*ma; writeln('You Regenerated ',hhp,' HP'); mp:=mp-26; end; if hp>hpmax then hp:=hpmax; end; if lv>=22 then if (choice2='g') or (choice2='G') then begin if mp<30 then writeln('Sorry you need more mp to cast that'); if mp>=30 then begin mhp:=mhp-(ma*300)/medef; writeln('A black star shoots out of your hand and hits your enemy'); mp:=mp-30; end; end; if lv>=27 then if (choice2='h') or (choice2='H') then begin if mp<40 then writeln('Sorry but you have not enough mp'); if mp>=40 then begin mhp:=mhp-(ma*(str+sword+hp))/mdef; writeln('You Brutally attacked your enemy'); mp:=mp-40; end; end; if lv>=33 then if (choice2='i') or (choice2='I') then begin if mp<46 then writeln('Sorry but you have not the mp to cast that'); if mp>=46 then begin hp:=hp+(ma*500); hhp:=(ma*500); writeln('You Regenerate ',hhp,' HP'); if hp>hpmax then hp:=hpmax; mp:=mp-46; end; end; if lv>=40 then if (choice2='j') or (choice2='J') then begin if mp<100 then writeln('Sorry but you will need more mp'); if mp>=100 then begin writeln('How much mp do you wish to use'); readln(mpu); while (mpu>100) or (mpu<1) do begin writeln('sorry but you must choose a number between 0 and 101'); readln(mpu); end; mhp:=mhp-(ma*(mpu*10)/medef); writeln('Darkness fills the room you charge up and release'); delay(100); writeln('Your enemy was pummeled by the forces of evil'); mp:=mp-mpu; end; end; end; end; randomize; ran:=random=lv*15 then begin yexp:=0; hpmax:=hpmax+20; mpmax:=mpmax+2; str:=str+3; ma:=ma+1; lv:=lv+1; def:=def+2; writeln(lvup); counter:=5; while counter>0 do begin writeln('Great you have finaly reached level ',lv); writeln('You have ',counter,' points left what do you want to inhance'); counter:=counter-1; writeln('S) Strength up M) Magic attack up'); writeln('H) Hit points up D) Defence up'); writeln('Choose one'); lvupm; readln(up); while (up<>'s') and (up<>'S') and (up<>'m') and (up<>'M') and (up<>'h') and (up<>'H') and (up<>'o') and (up<>'O') and (up<>'d') and (up<>'D') do begin writeln('Sorry but that is not an option'); writeln('S) Strength up M) Magic up'); writeln('H) Hit points up D) Defence up'); writeln('Choose one'); lvupm; readln(up); end; if (up='s') or (up='S') then str:=str+3; if (up='m') or (up='M')then begin ma:=ma+1; mpmax:=mpmax+2; end; if (up='h') or (up='H') then begin hpmax:=hpmax+20; hp:=hp+20; if hp>hpmax then hp:=hpmax; end; if (up='d') or (up='D') then def:=def+2; writeln('hp=',hpmax,' mp=',mpmax,' str=',str,' def=',def,' Magic attack=',ma); end; nosound; end; end; end; {********************************************************************************} procedure wizard; begin end; {********************************************************************************} procedure fight; begin writeln('Look out!!!!'); for x := 1 to 10000000 do; writeln('There is a ',mon,' coming at you'); repeat writeln('What do you wish to do'); writeln('F)Fight R)Run'); readln(opt); if (opt='r') or (opt='R') then begin randomize; ran:=random>random; if ran=true then begin if d='8' then v:=v-1; if d='2' then v:=v+1; if d='6' then h:=h-1; if d='4' then h:=h+1; writeln('You got away safly'); end; if ran=false then writeln('Oh no theres no where to go'); end; until (ran=true) or (opt='f')or (opt='F'); if ch='p' then paladin; if ch='e' then evil; end; {**************************************************************} procedure Barbarian; begin mon:='Barbarian'; mhp:=1000; mdef:=10; medef:=4; mstr:=150; exp:=100; gold:=89; end; {**************************************************************} procedure rat; begin mon:='Rat'; mhp:=80; mdef:=1; medef:=1; mstr:=15; exp:=3; gold:=5; end; {**************************************************************} procedure tombkeeper; begin mon:='Tomb Keeper'; mhp:=400; mdef:=2; medef:=2; mstr:=40; exp:=20; gold:=35; end; {**************************************************************} procedure dog; begin mon:='Dog'; mhp:=120; mdef:=1; medef:=1; mstr:=35; exp:=8; gold:=12; end; {*****************************************************************} procedure ogre; begin mon:='Ogre'; mhp:=700; mdef:=3; medef:=2; mstr:=70; exp:=50; gold:=100; end; {***************************************************************} procedure imp; begin mon:='Imp'; mhp:=200; mdef:=2; medef:=2; mstr:=50; exp:=15; gold:=20; end; {****************************************************************} procedure dwarf; begin mon:='Dwarf'; mhp:=200; mdef:=3; medef:=1; mstr:=60; exp:=9; gold:=20; end; {***************************************************************} procedure tiny; begin mon:='Tiny Hulk'; mhp:=100; mdef:=5; medef:=4; mstr:=75; exp:=13; gold:=28; end; {********************************************************************} procedure jerry; begin mon:='Jerry'; mhp:=1000; mdef:=3; medef:=3; mstr:=70; exp:=79; gold:=250; end; {**********************************************************************} begin writeln('Please type in your name'); readln(name); writeln('How old are you?'); readln(age); while (age>50) or (age<=10) do begin if age>50 then writeln('I am sorry but you are to old to engage a quest of hardships'); if age<=10 then writeln('I am sorry but you are to young to fight against evil'); writeln('How old are you?'); readln(age); end; writeln('Welcome I am going to be your stratagist my name is Orion'); delay(5000); writeln('You live in a dangerous world with mean bandits and evil creatures'); delay(5000); writeln('But not everybody is bad there are people who stand up against the wrong'); delay(5000); writeln('Even warriors who use the power of evil have fought for a good cause'); delay(5000); writeln(age,' years ago a baby was born you can decide the fate of that baby'); delay(5000); writeln('What is that baby now?'); repeat writeln('P) A Paladin E) An Evil Berserker');{ W) A Wizard '); } readln(opt); if (opt='p') or (opt='P') then begin lv:=1; yexp:=0; gp:=0; ch:='p'; str:=12; armor:=0; def:=1; hpmax:=100; hp:=hpmax; mpmax:=10; ma:=10; sp1:='cure'; sp2:='bless sword'; sp3:='bless armor'; sp4:='pray'; sp5:='cure+'; sp6:='Meteor'; sp7:='holy'; sp8:='spirit attack'; sp9:='cure all'; sp10:='holy lightning'; hwep:='legend'; sword:=15; lwep:='lether boots'; boot:=12; shld:='bent metal'; shield:=1; delay(4000); writeln('you receive a rusty sword called legend'); writeln(' a piece of Bent metal and lether boots'); delay(4000); end; if (opt='e') or (opt='E') then begin lv:=1; armor:=0; yexp:=0; gp:=0; ch:='e'; str:=16; def:=1; hpmax:=120; hp:=hpmax; mpmax:=10; ma:=7; sp1:='Regenerate'; sp2:='strdown'; sp3:='defdown'; sp4:='drain'; sp5:='Teli'; sp6:='Regenerate+'; sp7:='evil shot'; sp8:='destroy'; sp9:='Regenerate++'; sp10:='dark holy'; hwep:='wooden sword'; lwep:='leather boots'; shld:='bent metal'; hwep:='wooden sword'; sword:=14; lwep:='lether boots'; boot:=12; shld:='round metal'; shield:=1; delay(4000); writeln('you receive a wooden sword lether boots'); writeln('and a piece of round metal'); delay(4000); end; if (opt='w') or (opt='W') then begin lv:=1; yexp:=0; ch:='w'; str:=8; def:=1; hpmax:=80; hp:=hpmax; mp:=30; ma:=25; sp1:='Heal'; sp2:='ice'; sp3:='fire'; sp4:='bolt'; sp5:='protect'; sp6:='freeze'; sp7:='flame'; sp8:='upheval'; sp9:='lightning'; sp10:='Heal+'; sp11:='focus'; sp12:='teli'; sp13:='shiva'; sp14:='ifrit'; sp15:='Ramuh'; hwep:='staff'; lwep:='wooden shoes'; sword:=10; boot:=10; shld:='wristband'; shield:=1; delay(4000); writeln('You receive a staff wooden shoes and a wristband'); delay(4000); end; if (opt<>'p')and (opt<>'P') and (opt<>'E') and(opt<>'e')and (opt<>'w') and (opt<>'W') then writeln('sorry you need to choose a given character'); until (opt='p') or (opt='p') or (opt='e') or (opt='E') or (opt='w') or (opt='W'); delay(4000); writeln('Here are you stats don''t worry you will get stronger'); delay(4000); writeln('strength) (defence) (Hit points) (Magic points) (magic attack)'); writeln(' ',str,' ',def,' ',hpmax,' ',mpmax,' ',ma); delay(4000); writeln('hand held wepon foot wepon shield you have no armor'); writeln(' ',hwep,' ',lwep,' ',shld); writeln(' '); writeln('you have magic not very strong now but in time it will grow to be powerful'); delay(10000); for x:= 1 to 50 do writeln; writeln('You were that baby ',name,' Now you have grown stronger at the age of ',age); delay(5000); writeln('You have trained hard all your life to become as powerful as possible'); delay(5000); writeln('You have learned one spell and hope to learn more'); delay(10000); writeln('one day you were walking around looking for wild animals to hunt down for food'); writeln('when you are jumped from behind'); delay(15000); barbarian; if ch='p'then paladin; if ch='e'then evil; if ch='w' then wizard; hp:=hpmax; delay(4000); writeln('The barbarin mugged you stole your gold and left you with only'); writeln('your worthless sword and shield'); delay(7000); writeln('You wake up in darkness'); delay(5000); writeln('Where are you?'); delay(5000); write('That smell...'); delay(2000); writeln('Your in a casket in a tomb!!!'); delay(5000); writeln('you push up and the top falls off'); delay(5000); writeln('you get up and walk around all you see is rats but'); delay(5000); writeln('they look pretty hungry'); delay(6000); rat; fight; if mhp<=0 then begin writeln('Good you defeated your first enemy'); delay(4000); writeln('but don''t get to confedent because they monsters will get harder'); writeln('look around and see your inviornment'); delay(4000); writeln('You are in your own tomb'); delay(4000); writeln('there is a map over there grab it a find your way out'); delay(4000); writeln('once you are outside of your tomb I will have little to none influence on you'); writeln('so you will need to go on by yourself'); h:=1; v:=1; writeln('you walk over and grab the map'); repeat delay(5000); writeln('_____________________________________________________________'); writeln('11| |XX| |XX| | KEY '); writeln('10| |TR| |XX| |TR| |XX| | |XX|=wall/pillar '); writeln(' 9| |XX| |XX| | ++++=door/gate '); writeln(' 8| |XX| |XX| |XX| |Ex|| |ST|=starting point '); writeln(' 7| |XX| |XX| |XX| |XXXXX| | |EX|=exit '); writeln(' 6| |XX| |XX| |XXXXX| | |TR|=treasure '); writeln(' 5| ++++ | '); writeln(' 4| | '); writeln(' 3| |'); writeln(' 2| |XX| |'); writeln(' 1||ST| |XX| |'); writeln('|_____________________________________________|'); writeln(' | 1| 2| 3| 4| 5| 6| 7| 8| 9|10|11|12|13|15| '); writeln('8)North 2)South 6)East 4)West'); writeln('you are currently at north ',v,' and east ',h); readln(d); if d='8' then v:=v+1; if d='2' then v:=v-1; if d='6' then h:=h+1; if d='4' then h:=h-1; if (h=3) and (v=1) or (h=3) and (v=2) or (h=2) and (v=7) or (h=2) and (v=8) or(h=5) and (v=11) or (h=5) and (v=10) or (h=5) and (v=9) or (h=6) and (v=8) or (h=7) and (v=7) or (h=7) and (v=6) or (h=9) and (v=6) or (h=9) and (v=7) or (h=10) and (v=8) or (h=11) and (v=9) or (h=11) and (v=10) or (h=11) and (v=11) or (h=12) and (v=7) or (h=12) and (v=6) or (h=13) and (v=7) or (h=13) and (v=6) or (h<1) or (v<1) or (h>15) and (v>11) then begin writeln('Opps you hit a wall'); if d='8' then v:=v-1; if d='2' then v:=v+1; if d='6' then h:=h-1; if d='4' then h:=h+1; end; if (h=2) and (v=10) then begin if dk=1 then writeln('an empty treasure chest'); if dk<>1 then begin writeln('Look!! a treasure chest'); writeln('you found a door key'); dk:=1; end; end; if (h=8) and (v=5) then begin if dk<1 then begin writeln('Opps you don''t have a key better find one'); if d='8' then v:=v-1; if d='2' then v:=v+1; if d='6' then h:=h-1; if d='4' then h:=h+1; end; if dk>=1 then begin dk:=dk-1; writeln('you use your key to open the door'); end; end; if (h=8) and (v=10) then begin writeln('Wow another treasure chest'); writeln('you found hard leather boots and another key'); writeln('you put it on now your boot streangth is at 18'); dk:=1; boot:=20; lwep:='Hard leather boots'; end; if (h=15) and (v=8) then writeln('you found the stairs'); if (h<>15) and (v<>8) then begin randomize; ran:=random0 then begin tombkeeper; fight; end; if hp>0 then begin writeln('You walk up the stairs and push the circular slab of rock'); delay(4000); writeln('down and a gush of wind blows out of the tomb and knocks you over'); delay(4000); writeln('you get up and walk out'); delay(4000); writeln('You are in an open field you look around and get your bearings'); delay(4000); writeln('you see a forest about a mile north of you maybe you should go over there'); delay(4000); writeln('there is a huge mountain to your east west and south you should go north'); h:=1; v:=1; writeln('there are dogs and other animals out here be carefull'); writeln('You should go north 45 spaces and go inside the forest'); repeat delay(6000); writeln(' Next Block '); writeln('______________________________________________________________________'); writeln('15| | Key '); writeln('14| | |ST|=Starting point'); writeln('13| | |XX|=rock/tree'); writeln('12| |XX| | |TR|=treasure'); writeln('11| |XX| |'); writeln('10| |'); writeln(' 9| |XX|XX|XX| |XX| |'); writeln(' 8||XX| |XX|XX| |XX| |XX| |XX||'); writeln(' 7| |XX| |XX| |XX|TR|XX| |'); writeln(' 6| |XX|XX| |XX| |XX| |XX||'); writeln(' 5| |XX| |XX| |'); writeln(' 4||XX| |XX|XX| |XX| |XX|XX|XX| |'); writeln(' 3||XX|TR|XX|XX| |XX| |XX| |'); writeln(' 2||XX|XX|XX| |XX| |XX| |'); writeln(' 1||ST| |XX|TR||'); writeln(' |______________________________________________|'); writeln(' | 1| 2| 3| 4| 5| 6| 7| 8| 9|10|11|12|13|14|15|'); writeln('you are currently at ',v,' north and ',h,' east'); writeln('which way do you want to go'); writeln('8)North 2)South 6)East 4)West'); readln(d); if d='8' then v:=v+1; if d='2' then v:=v-1; if d='6' then h:=h+1; if d='4' then h:=h-1; if (h>15) or (h<1) or (v<1) or (h=1) and (v=2) or (h=1) and (v=3) or (h=1) and (v=4) or (h=1) and (v=8) or (h=2) and (v=2) or (h=2) and (v=6) or (h=3) and (v=2) or (h=3) and (v=3) or (h=3) and (v=4) or (h=3) and (v=6) or (h=4) and (v=3) or (h=4) and (v=4) or (h=4) and (v=5) or (h=4) and (v=7) or (h=4) and (v=9) or (h=5) and (v=8) or (h=5) and (v=9) or (h=6) and (v=8) or (h=6) and (v=9) or (h=7) and (v=7) or (h=9) and (v=5) or (h=9) and (v=6) or (h=9) and (v=7) or (h=10) and (v=4) or (h=10) and (v=8) or (h=11) and (v=2) or (h=11) and (v=3) or (h=11) and (v=7) or (h=12) and (v=4) or (h=12) and (v=6) or (h=12) and (v=8) or (h=12) and (v=11) or (h=13) and (v=4) or (h=13) and (v=9) or (h=13) and (v=12) or (h=14) and (v=1) or (h=14) and (v=2) or (h=14) and (v=3) or (h=14) and (v=4) or (h=15) and (v=6) or (h=15) and (v=8) then begin writeln('ouch!! you need to watch where you are going!!!'); if d='8' then v:=v-1; if d='2' then v:=v+1; if d='6' then h:=h-1; if d='4' then h:=h+1; end; if (h=2) and (v=3)and(tr1<>1) then begin writeln('You found a treasure chest'); delay(4000); writeln('lets see whats inside'); delay(4000); writeln('you found 100 gold'); gp:=gp+100; tr1:=1; end; if (h=10) and (v=7) and (tr2<>1) then begin writeln('Look!! a treasure chest'); delay(4000); writeln('lets look inside'); delay(4000); if (ch='p') or (ch='e') then begin writeln('You found leather armor'); writeln('Armor=1'); armor:=1; end; if ch='w' then begin writeln('You found a magic cape'); writeln('Armor=1 and Magic attack+2'); armor:=1; ma:=ma+2; end; tr2:=1; end; if (h=15) and (v=1) and (tr3<>1) then begin writeln('Wow!!! a treasure chest'); for x:= 1 to 10000000 do; writeln('You found 50 gold'); gp:=gp+50; tr3:=1; end; if v<=15 then begin randomize; ran:=random15) or (hp<=0); if hp>0 then begin ogre; fight; if hp>0 then begin v:=0; writeln('as you leave the dead ogre behind you reach the second part of the field'); writeln('There are some thick bushes up ahead be carefull they are infested with'); writeln('really mean dwarfes'); repeat writeln('_________________________________________________________________________'); writeln('15||XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|EX|| Key'); writeln('14| | |ST|=starting position'); writeln('13| |XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|| |EX|=exit'); writeln('12| | |BS|=bushes'); writeln('11||XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX| | |TR|=treasure'); writeln('10||TR| | |XX|=rock/trees'); writeln(' 9||XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX| |'); writeln(' 8| |'); writeln(' 7| |XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX||'); writeln(' 6| |'); writeln(' 5||BS|BS|BS|BS|BS|BS|BS|BS|BS|BS|BS|BS|BS|BS|BS||'); writeln(' 4||TR|BS|BS|BS|BS|BS|BS|BS|BS|BS|BS|BS|BS|BS|BS||'); writeln(' 3||BS|BS|BS|BS|BS|BS|BS|BS|BS|BS|BS|BS|BS|TR|BS||'); writeln(' 2||BS|BS|BS|BS|BS|BS|BS|BS|BS|BS|BS|BS|BS|BS|BS||'); if h=1 then writeln(' 1||ST|'); if h=2 then writeln(' 1| |ST|'); if h=3 then writeln(' 1| |ST|'); if h=4 then writeln(' 1| |ST|'); if h=5 then writeln(' 1| |ST|'); if h=6 then writeln(' 1| |ST|'); if h=7 then writeln(' 1| |ST|'); if h=8 then writeln(' 1| |ST|'); if h=9 then writeln(' 1| |ST|'); if h=10 then writeln(' 1| |ST|'); if h=11 then writeln(' 1| |ST|'); if h=12 then writeln(' 1| |ST|'); if h=13 then writeln(' 1| |ST|'); if h=14 then writeln(' 1| |ST|'); if h=15 then writeln(' 1| |ST|'); writeln(' ______________________________________________________'); writeln(' | 1| 2| 3| 4| 5| 6| 7| 8| 9|10|11|12|13|14|15|'); writeln('you are currently at ',v,' north and ',h,' east'); writeln('which way do you want to go'); writeln('8)North 2)South 6)East 4)West'); readln(d); if d='8' then v:=v+1; if d='2' then v:=v-1; if d='6' then h:=h+1; if d='4' then h:=h-1; if (v<=5) and (v>1) then begin dwarf; fight; end; if (h>15) or (h<1) or (v<1) or (h>1)and(v=7) or (h>1)and(v=13) or (h<15)and(v=9) or (h<15)and(v=11) or (h<15)and(v=15) then writeln('Opps you hit somthing thats got to hurt'); begin if d='8' then v:=v-1; if d='2' then v:=v+1; if d='6' then h:=h-1; if d='4' then h:=h+1; end; if (h=1)and(v=4) or (h=14)and(v=2) or (h=1)and(v=10) then begin writeln('Wow you found a treasure chest'); writeln('you open it'); if (h=1)and(v=4) and(tr1<>2) then begin writeln('You found 70 gold!!!'); gp:=gp+70; tr1:=2; end; if (h=14)and(v=2) and(tr2<>2)then begin if ch='p' then begin writeln('You found a copper sword'); delay(4000); writeln('you put your old sword the legend away for later'); writeln('Sword=28'); sword:=28; hwep:='Copper Sword'; tr2=2; end; if ch='e' then begin writeln('You found a club'); delay(4000); writeln('Wepon=25'); sword:=25; hwep:='club'; tr2=2; end; if ch='w' then begin writeln('You found a wand'); delay(4000); writeln('Wepon=20'); sword:=20; hwep:='Wand'; tr2=2; end; end; if (h=1) and (v=10) and (tr3<>2) then begin writeln('You found 80 gold'); gp:=gp+80; tr3:=2; end; if (h<>15) and (v<>15) then begin randomize; ran:=random0 then begin repeat writeln('____________________________________________________'); writeln('15| |XX| |EX| |XX| |'); writeln('14| |XX| |XX| |XX| |'); writeln('13| |XX| |'); writeln('12| |XX| |XX| |'); writeln('11| |XX| |XX|XX|XX| |'); writeln('10| |XX| |XX|TR|XX|TR|XX| |'); writeln(' 9| |XX| |XX| |XX| |XX| |'); writeln(' 8| |XX| |XX| |XX| |XX| |'); writeln(' 7| |XX| |XX|XX|XX| |XX| |XX|XX|XX| |'); writeln(' 6| |XX| |XX| |XX| |XX| |'); writeln(' 5| |XX| |XX| |XX| |XX| |'); writeln(' 4| |XX| |XX| |XX| |XX| |XX| |'); writeln(' 3| |XX| |XX| |XX| |XX| |'); writeln(' 2| |XX| |XX| |XX| |XX| |XX| |'); writeln(' 1||TR|XX| |XX| |ST| |'); writeln(' _________________________________________________ |'); writeln(' | 1| 2| 3| 4| 5| 6| 7| 8| 9|10|11|12|13|14|15| '); writeln('you are currently at ',v,' north and ',h,' east'); writeln('which way do you want to go'); writeln('8)North 2)South 6)East 4)West'); readln(d); if d='8' then v:=v+1; if d='2' then v:=v-1; if d='6' then h:=h+1; if d='4' then h:=h-1; if (h=2)and(v<15)or(h>15)or(v>15)or(h=9)and(v<13)or(h=6)and(v>=2)and(v<=7) or(h=6)and(v=9)or(h=7)and(v=10)or(h=7)and(v=15)or(h=4)and(v=7)or(h=5)and(v=7) or(h=5)and(v=8)or(h=8)and(v=11)or(h=8)and(v=14)or(h=10)and(v=11)or(h=10)and(v=14) or(h=11)and(v=10)or(h=11)and(v=15)or(h=12)and(v>=2)and(v<=7)or(h=13)and(v=7) or(h=13)and(v=8)or(h=14)and(v=7)or(h=14)and(v=7)or(h=15)and(v=4) then begin writeln('BUMP owww thats got to hurt watch where you are going'); if d='8' then v:=v-1; if d='2' then v:=v+1; if d='6' then h:=h-1; if d='4' then h:=h+1; end; if (h<>9) and(v=15) then begin if (tr2<>3)and (h=10) and(v=10)then begin write('Look!! a Treasure chest...'); delay(2000); writeln('You found 100 gold'); gp:=gp+100; tr2:=3; end; if (tr3<>3)and (h=8) and(v=10)then begin write('Look!! a Treasure chest...'); delay(2000); writeln('You found 100 gold'); gp:=gp+100; tr3:=3; end; if (tr1<>3) and (h=1)and(v=1) then begin writeln('You found a treasure chest'); if ch='p' then begin writeln('You found a glass shield'); writeln('shield power=2'); writeln('you threww away your ',shld); shld:='Glass Shield'; shield:=2; end; if ch='e' then begin writeln('You found a buckler'); writeln('Shield power=2'); writeln('you threw away your ',shld); shld:='Buckler'; shield:=2; end; if ch='w' then begin writeln('You have found a brass wristband'); writeln('shield power=2'); writeln('you threw away your ',shld); shld:='Brass Wristband'; shield:=2; end; randomize; ran:=random