高手请!学5年以上的!要此程序的也来!
pascal吧
全部回复
仅看楼主
level 6
jiangyuzhou 楼主
高手请!学5年以上的!要此程序的也来!程序后文发表!
2008年08月04日 13点08分 1
level 6
jiangyuzhou 楼主
uses dos;{$N+}type t1=record na,pa:string; le,ne:integer; y1,m1,d1:word; end; t2=array[1..10]of string; player=record level,gjl,fyl,xue,money,maxxue,map,jy:integer; end; bag=record red,back,sl,ttl:integer; end; monster=record gj,fy,xt,jyz:integer; end; gjfs=record gj,fy,bx,jb:integer; end; pet=record gj,jx,live,level:integer; nm:string; end; stack=array[1..1000]of extended; stack2=array[1..1000]of char; menber=record nam:string; money:integer; s:array[1..10]of integer; end;var i,j,k,t,r1,r2,nu:integer; yy,mm,dd,cc:word; f1:text; num:array[1..20]of t1; sl,bw:array[1..20]of t2; jr,gg:array[1..20]of string; nam,nam2,word,word2,st:string;procedure sorry(k:integer);begin case k of 1 :writeln('对不起,用户名已被注册!'); 2 :writeln('对不起,用户名或密码错误!'); 3 :writeln('对不起,两次密码不同!'); 4 :writeln('对不起,无此功能!'); 5 :writeln('对不起,您无此权限!'); 6 :writeln('对不起,功能暂未开放!'); 7 :begin writeln('警告:不得修改本系统文件!'); writeln('警告:由于系统文件损坏,系统将强制恢复至出厂状态!'); writeln('警告:系统恢复后将会自动关闭!'); writeln('系统开始恢复......'); writeln('数据恢复中......'); close(f1); nu:=1; assign(f1,'stp.dox'); rewrite(f1); writeln(f1,1); writeln(f1,'fj'); writeln(f1,'fx1994'); writeln(f1,3); writeln(f1,0); close(f1); assign(f1,'say.dox'); rewrite(f1); for k:=1 to 10 do writeln(f1,'0'); close(f1); assign(f1,'vbw.dox'); rewrite(f1); for k:=1 to 10 do writeln(f1,'0'); close(f1); writeln('恢复完毕,按''Enter''键关闭本窗口!'); readln; halt; end; end;end;
2008年08月04日 13点08分 2
level 6
jiangyuzhou 楼主
procedure help;begin writeln('帮助:'); writeln('会员分三级,每级都可以使用更多功能!'); writeln('输入功能前数字即可使用相应功能.'); writeln('目前有16个功能,一级用户可以使用10个,二级12个,三级16个.'); writeln('一级为普通会员,二级为vip贵宾,三级为管理员.'); writeln('每台计算机只允许有1名管理员.'); writeln('管理员权限:可以提升一级会员到二级,或降低二级会员到一级.'); writeln(' 删除或查看一级或二级帐户.'); writeln('二级帐户权限:可以查看一级帐户'); writeln('二级,管理员帐户还有许多特权!'); writeln('版本号:1.0.2.15'); writeln('Copyright (c) 2007-2008 [JYZ Office] All Rights Reserved'); writeln('姜雨舟工作室 出品'); readln;end;
2008年08月04日 13点08分 3
level 6
jiangyuzhou 楼主
procedure play5;var men:array[1..10]of menber; i,j,zhu,n,mo,k:integer; ch:char; file1:text; procedure help2; begin writeln('使用说明:'); writeln('该软件使用简单,根据数字提示即可完成!支持存档读档和下多注功能!'); writeln('人数:2-10人'); writeln('祝您玩的愉快!'); writeln('回车键继续...'); readln; end; procedure about2; begin writeln('感谢使用本游戏,由于程序为移植,可能出现bug,烦请告诉我.'); writeln('开发者:姜雨舟工作室'); writeln('如有问题或建议,欢迎发e-mail至[email protected]'); writeln('程序经测暂无Bug!'); writeln('回车键继续...'); readln; end; procedure save; begin writeln('即将保存!确定吗?(y/n)'); readln(ch); if ch='y' then begin writeln('正在保存中...'); assign(file1,'now.ini'); rewrite(file1); writeln(file1,n); for r1:=1 to n do begin writeln(file1,men[r1].nam); writeln(file1,men[r1].money); end; close(file1); writeln('保存完毕!'); readln; end; end; procedure menu; begin repeat writeln('感谢使用本游戏,下面是菜单!'); writeln('1:保存状态'); writeln('2:返回游戏'); writeln('3:关于游戏'); writeln('4:联系我们'); writeln('5:退出游戏'); readln(j); if j=5 then exit; if j=1 then save; if j=3 then help2; if j=4 then about2; until j=2; end; procedure jisuan; begin for r1:=1 to n do begin for r2:=1 to 10 do men[r1].money:=men[r1].money-men[r1].s[r2]; men[r1].money:=men[r1].money+men[r1].s[zhu]*4; if zhu<4 then men[r1].money:=men[r1].money+men[r1].s[8]*9 div 5; if zhu>3 then men[r1].money:=men[r1].money+men[r1].s[7]*9 div 5; if zhu mod 2=0 then men[r1].money:=men[r1].money+men[r1].s[10]*9 div 5; if zhu mod 2=1 then men[r1].money:=men[r1].money+men[r1].s[9]*9 div 5; end; end; procedure shanchu; begin i:=1; while i<=n do if men[i].money<0 then begin for r1:=i to n-1 do men[r1].money:=men[r1+1].money; n:=n-1; end else i:=i+1; end; procedure play; begin repeat writeln('0:去菜单'); writeln('1:继续游戏'); readln(j); if j=0 then menu; for r1:=1 to n do for r2:=1 to 10 do men[r1].s[r2]:=0; for r1:=1 to n do begin writeln('现在是P',r1,' ',men[r1].nam,'下注:'); repeat writeln('下注吗?(y/n)'); readln(ch); if ch='y' then begin writeln('1:压1点 2:压2点 3:压3点 4:压4点 5:压5点 6:压6点'); writeln('7:压大 8:压小 9:压单 10:压双'); writeln('0:不压了'); readln(j); if j<>0 then begin writeln('下注多少?(10-1000)'); readln(mo); men[r1].s[j]:=mo; end; end; until ch='n'; end; writeln('要开注了!'); readln; randomize; zhu:=random(6)+1; writeln('点数是:',zhu); readln; jisuan; for r1:=1 to n do begin writeln('P',r1,' ',men[r1].nam,':现有',men[r1].money,'元'); if men[r1].money<0 then writeln('P',r1,'破产了!他退出了游戏!'); writeln; end; shanchu; readln; until n=1; writeln('恭喜',men[1].nam,'赢了!'); readln; end; procedure new; begin repeat writeln('有多少人参加?(2-10)'); readln(n); until (n>1)and(n<10); for r1:=1 to n do begin writeln('P',r1,'的名字?'); readln(men[r1].nam); men[r1].money:=1000; end; writeln('每人现有1000元'); readln; play;
2008年08月04日 13点08分 5
level 6
jiangyuzhou 楼主
end; procedure load; begin writeln('正在读档...'); assign(file1,'now.ini'); reset(file1); readln(file1,n); for r1:=1 to n do begin readln(file1,men[r1].nam); readln(file1,men[r1].money); end; close(file1); writeln('读档完毕,档案如下:'); for r1:=1 to n do begin writeln('P',r1,'的名字:',men[r1].nam); writeln(' 钱数:',men[r1].money); end; readln; writeln('以档案开始游戏吗?(y/n)'); readln(ch); if ch='n' then new else play; end; procedure welcome; begin repeat writeln('1:读取档案'); writeln('2:新游戏'); writeln('0:退出游戏'); readln(i); if i=1 then load; if i=2 then new; if i=0 then exit; until (i=1)or(i=2); end;
2008年08月04日 13点08分 6
level 6
jiangyuzhou 楼主
begin welcome;end;procedure play3;var s:stack; s2:stack2; a,e:string; t,i,x,y:integer; j,k:extended; w:char; cha:set of char; procedure push2(var s:stack2;x:char;var t:integer); begin if t=1000 then writeln('overflow') else begin t:=t+1; s2[t]:=x; end; end;
2008年08月04日 13点08分 7
level 6
jiangyuzhou 楼主
fun) a (ction pop2(var s:stack2;var t:integer):char;大家自己把括号去掉 begin if t=0 then writeln('underflow') else begin pop2:=s2[t]; t:=t-1; end; end;
2008年08月04日 13点08分 8
level 6
jiangyuzhou 楼主
fun) a (ction top2(s:stack2;t:integer):char; begin if t=0 then writeln('stack empty') else top2:=s2[t]; end; procedure push(var s:stack;x:extended;var t:integer); begin if t=1000 then writeln('overflow') else begin t:=t+1; s[t]:=x; end; end; fun) a (ction pop(var s:stack;var t:integer):extended; begin if t=0 then writeln('underflow') else begin pop:=s[t]; t:=t-1; end; end; fun) a (ction top(s:stack;t:integer):extended; begin if t=0 then writeln('stack empty') else top:=s[t]; end;begin read(e); a:='';i:=1;t:=0; cha:=['+','-','*','/','(',')','=']; while i<=length(e) do begin case e[i]of '0'..'9':begin while not(e[i] in cha)and(i<=length(e)) do begin a:=a+e[i]; i:=i+1; end; i:=i-1; a:=a+','; end; '(':push2(s2,'(',t); ')':begin w:=pop2(s2,t); while w<>'(' do begin a:=a+w; w:=pop2(s2,t); end; end; '+','-':begin if t<>0 then begin w:=top2(s2,t); while w<>'(' do begin a:=a+w; w:=pop2(s2,t); if t=0 then break else w:=top2(s2,t); end; end; push2(s2,e[i],t); end; '*','/':begin if t<>0 then begin w:=top2(s2,t); while (w='*')or(w='/')do begin a:=a+w; w:=pop2(s2,t); if t=0 then break else w:=top2(s2,t); end; end; push2(s2,e[i],t); end; end; i:=i+1; end; while t<>0 do a:=a+pop2(s2,t); a:=a+'@'; i:=1;t:=0; while A[i]<> '@' do begin case A[i] of '0'..'9','.': begin k:=0; repeat k:=10*k+ord(A[i])-ord('0'); i:=i+1; until (A[i]=',')or(a[i]='.'); x:=1;y:=0; if a[i]='.' then begin i:=i+1; while a[i] in ['0'..'9'] do begin x:=x*10; y:=y*10+ord(a[i])-ord('0'); i:=i+1; end; end; k:=k+y/x; push (s,k,t); end; '+':push(s,pop(s,t)+pop(s,t),t); '-':begin j:=pop(s,t); push(s,pop(s,t)-j,t); end; '*':push (s,pop(s,t)*pop(s,t),t); '/':begin j:=pop(s,t); push(s,pop(s,t)/j,t); end; end; i:=i+1; end; writeln(pop(s,t):0:7); readln; readln;end;procedure play4;var r,e:char; pn,pa,nam,pas,s:string; f:text; mi,i,j:integer; procedure about1; begin writeln('本程序拥有者:姜雨舟.'); writeln('姜雨舟工作室制作.'); writeln('Copyright (c) 2007-2008 [JYZ Office] All Rights Reserved.'); writeln('版本号:2.0.3.2'); writeln('编码:90000002,CE 授权'); writeln('感谢使用本程序!'); writeln('如果发现了bugs,请发e-mail给我.'); writeln('您可以发e-mail给我或登陆我的博客获取最新版本和信息.'); writeln; writeln('输入"Enter"键继续...'); readln; end;
2008年08月04日 13点08分 9
level 6
jiangyuzhou 楼主
procedure help1; begin writeln('本程序仅供测试及个体用户使用,若因此造成任何损失,本工作室不承担任何责任.'); writeln('本人是为需要本程序的人而开发此程序,请勿用于商业用途.'); writeln('请勿用此程序做违法之事,否则本工作室不承担任何法律责任!'); writeln('只需根据提示操作即可.'); writeln('由于本程序现为移植,故可能出现一些错误,请谅解,有错误请告诉我.'); writeln('我的博客:hi.baidu.com/jiangyuzhou'); writeln; writeln('输入"Enter"键继续...'); readln; end; procedure return; begin write('请输入密文:'); readln(s); write('请输入密钥:'); readln(mi); writeln('这是明文:'); i:=1; while i<=length(s) do begin j:=0; while s[i] in ['0'..'9'] do begin j:=j*10+ord(s[i])-48; i:=i+1; end; write(chr(j-mi)); i:=i+1; end; writeln; writeln('输入"Enter"键继续...'); readln; end; procedure turn; begin write('请输入明文:'); readln(s); write('请输入密钥:'); readln(mi); writeln('这是密文:'); for r1:=1 to length(s) do write(ord(s[r1])+mi,' '); writeln; writeln('输入"Enter"键继续...'); readln; end; procedure quit; begin writeln('感谢使用本程序!'); writeln; writeln('输入"Enter"键退出...'); readln; exit; end; procedure use; begin case r of 'q':quit; '1':turn; '2':return; '5':help1; '6':about1; else sorry(4); end; end; procedure welcome; begin writeln('以下是可用功能:'); writeln('|------|--------|--------------------------------|'); writeln('| 数字 | 名称 | 功能 |'); writeln('+------+--------+--------------------------------+'); writeln('| 1 | 输入 | 明文转密文 |'); writeln('+------+--------+--------------------------------+'); writeln('| 2 | 输出 | 密文转明文 |'); writeln('+------+--------+--------------------------------+'); writeln('| 5 | 帮助 | 帮助(如何使用本程序) |'); writeln('+------+--------+--------------------------------+'); writeln('| 6 | 关于 | 关于(开发者及忠告) |'); writeln('+------+--------+--------------------------------+'); writeln; writeln('请输入需要功能,或者"q"离开.'); readln(r); end;begin r:=' '; while r<>'q' do begin welcome; use; end;end;procedure play1;var i,m,sjs,rsx,gsx,pd,qk,dqgj,dqfy,jnxz,rys:integer; role:player; bao:bag; ms:array[1..100] of monster; dqgw:monster; ml:string; jn:array [1..100] of gjfs; bb:pet; fff:boolean; procedure js; begin role.level:= 1; role.gjl:=26; role.fyl:=20; role.maxxue:=100; role.xue:=100; role.map:=0; bao.red:=2; end; procedure gw; begin ms[1].gj:=21; ms[1].fy:=0; ms[1].xt:=100; ms[1].jyz:=12; ms[2].gj:=25; ms[2].fy:=10; ms[2].xt:=80; ms[2].jyz:=15; ms[3].gj:=45; ms[3].fy:=0; ms[3].xt:=250; ms[3].jyz:=45; ms[4].gj:=65; ms[4].fy:=20; ms[4].xt:=230; ms[4].jyz:=50; ms[5].gj:=250; ms[5].fy:=75; ms[5].xt:=500; ms[5].jyz:=90; ms[6].gj:=320; ms[6].fy:=83; ms[6].xt:=450; ms[6].jyz:=93; ms[7].gj:=1000; ms[7].fy:=400; ms[7].xt:=5000; ms[7].jyz:=120; ms[8].gj:=1000; ms[8].fy:=800; ms[8].xt:=8000; ms[8].jyz:=150; ms[9].gj:=10; ms[9].fy:=10; ms[9].xt:=5000; ms[9].jyz:=50; end; procedure skill; begin jn[1].gj:=0; jn[1].fy:=0; jn[1].bx:=0; jn[1].jb:=1; jn[2].gj:=10; jn[2].fy:=-5; jn[2].bx:=0; jn[2].jb:=1; jn[3].gj:=0; jn[3].fy:=0; jn[3].bx:=0; jn[3].jb:=1; jn[4].gj:=0; jn[4].fy:=0; jn[4].bx:=0; jn[4].jb:=1; end; procedure baobao; begin bb.gj:=3; bb.jx:=15; bb.live:=1; bb.nm:='红尘猪'; bb.level:=1; end; procedure cwgj; begin sjs:=random(10); if sjs=0 then begin if role.xue+bb.jx>role.maxxue then role.xue:=role.maxxue else role.xue:=role.xue+bb.jx; writeln('你的宠物 ', bb.nm ,' 为你加血',bb.jx,'点'); end else begin rys:=bb.gj+random(3)-1; dqgw.xt:=dqgw.xt-rys; writeln('你的宠物 ', bb.nm ,' 攻击怪物',rys,'点血'); end; end; procedure sj; begin role.level:= role.level+1; role.gjl:= role.gjl+10; role.fyl:= role.fyl+5; role.maxxue:=role.maxxue+25; role.xue:=role.maxxue; end; procedure hqwp; begin sjs:=random(20)+1; case sjs of 1: begin bao.red:=bao.red+1; writeln('获得金创药1个'); end; 6: begin role.xue:=role.maxxue; writeln('获得神佑,生命值回复到最大'); end; 7: begin role.gjl:=role.gjl+1; writeln('获得神佑,攻击力+1'); end; 8: begin role.fyl:=role.fyl+1; writeln('获得神佑,防御力+1'); end; 3: begin role.money:=role.money+sjs*10; writeln('获得金币',sjs*10); end; 9: begin role.money:=role.money+sjs*10; writeln('获得金币',sjs*10); end; 12: begin role.money:=role.money+sjs*10; writeln('获得金币',sjs*10); end; 13: begin bao.ttl:=bao.ttl+1; writeln('获得饕餮料1块'); end; 14: begin bao.ttl:=bao.ttl+1; writeln('获得饕餮料1块'); end; 15: begin bao.ttl:=bao.ttl+1; writeln('获得饕餮料1块'); end; 16: begin bao.ttl:=bao.ttl+1; writeln('获得饕餮料1块'); end; end; writeln; end;
2008年08月04日 14点08分 10
level 6
jiangyuzhou 楼主
procedure jypd; begin if role.jy>=role.level*role.level*50 then begin role.jy:=role.jy-role.level; sj; writeln('恭喜你升级! 剩余生命力:',role.xue,'/',role.maxxue,' 剩余金创药个数:',bao.red);end else writeln('升级剩余经验:',role.level*role.level*50-role.jy,' 剩余生命力:',role.xue,'/',role.maxxue,' 剩余金创药个数:',bao.red); end; procedure bxjc; begin if bao.red>0 then if role.xue+100>role.maxxue then begin role.xue:=role.maxxue; bao.red:=bao.red-1; writeln('生命力:',role.xue,'/',role.maxxue,' 剩余金创药个数:',bao.red); end else begin role.xue:=role.xue+100; bao.red:=bao.red-1; writeln('生命力:',role.xue,'/',role.maxxue,' 剩余金创药个数:',bao.red); end else writeln('没有足够的金创药!'); end; procedure beforehuihe; begin writeln('请选择技能:'); if jn[1].jb=1 then write('1 普通攻击 '); if jn[2].jb=1 then write('2 豪龙破 '); if jn[3].jb=1 then write('3 狂龙乱舞 '); if jn[4].jb=1 then write('4 一斩封神 '); write('5 使用红药 '); writeln('6 使用卷轴逃跑'); readln(jnxz); for r1:=1 to 4 do if (jnxz=r1) and (jn[r1].jb=1) then begin dqgj:=role.gjl+jn[r1].gj; dqfy:=role.fyl+jn[r1].fy; role.xue:=role.xue+jn[r1].bx; end; if jnxz=5 then begin dqgj:=role.gjl; dqfy:=role.fyl; bxjc; end; if jnxz=6 then begin writeln('回城卷轴功能未开放!'); beforehuihe; end; end; procedure gwpd; begin sjs:=random(10)+1; case role.map of 1 :if sjs<8 then begin dqgw.gj:=ms[1].gj; dqgw.fy:=ms[1].fy; dqgw.xt:=ms[1].xt; dqgw.jyz:=ms[1].jyz; writeln('遭遇怪物绿草球!'); end else begin dqgw.gj:=ms[2].gj; dqgw.fy:=ms[2].fy; dqgw.xt:=ms[2].xt; dqgw.jyz:=ms[2].jyz; writeln('头盔鸭袭来!'); end; 2 :if sjs <10 then if sjs<7 then begin dqgw.gj:=ms[3].gj; dqgw.fy:=ms[3].fy; dqgw.xt:=ms[3].xt; dqgw.jyz:=ms[3].jyz; writeln('遭遇怪物爱磨牙的小猫!'); end else begin dqgw.gj:=ms[4].gj; dqgw.fy:=ms[4].fy; dqgw.xt:=ms[4].xt; dqgw.jyz:=ms[4].jyz; writeln('红角小魔羊袭来!'); end else begin dqgw.gj:=ms[9].gj; dqgw.fy:=ms[9].fy; dqgw.xt:=ms[9].xt; dqgw.jyz:=ms[9].jyz; writeln('玩偶小子!'); end; 3 :if sjs<8 then begin dqgw.gj:=ms[5].gj; dqgw.fy:=ms[5].fy; dqgw.xt:=ms[5].xt; dqgw.jyz:=ms[5].jyz; writeln('遭遇怪物尖耳弥狼!'); end else begin dqgw.gj:=ms[6].gj; dqgw.fy:=ms[6].fy; dqgw.xt:=ms[6].xt; dqgw.jyz:=ms[6].jyz; writeln('冰狼将军袭来!'); end; 4 :if sjs<8 then begin dqgw.gj:=ms[7].gj; dqgw.fy:=ms[7].fy; dqgw.xt:=ms[7].xt; dqgw.jyz:=ms[7].jyz; writeln('遭遇怪物海蜇!'); end else begin dqgw.gj:=ms[8].gj; dqgw.fy:=ms[8].fy; dqgw.xt:=ms[8].xt; dqgw.jyz:=ms[8].jyz; writeln('大白鲨袭来!'); end; end; end; procedure duringhuihe; begin gsx:=dqgj-dqgw.fy+random(11)-5; dqgw.xt:=dqgw.xt-gsx; rsx:=dqgw.gj-dqfy+random(11)-5; if rsx>0 then role.xue:=role.xue-rsx; if gsx>=0 then write('怪物被你攻击掉',gsx,'点血 ') else write('怪物反噬你',0-gsx,'点血 '); if dqgw.xt>=0 then writeln('怪物剩余生命力:',dqgw.xt) else writeln('怪物剩余生命力:0'); if rsx>0 then write('你被怪物攻击掉',rsx,'点血 ') else write('防守成功! Miss! '); if role.xue>=0 then writeln('你的生命力:',role.xue,'/',role.maxxue) else writeln('在阎王爷面前晃了一圈!生命力:0'); end;
2008年08月04日 14点08分 11
level 6
jiangyuzhou 楼主
procedure death; begin writeln('游戏结束,输入『end』退出游戏'); readln(ml); while ml<>'end' do begin writeln('死人是不能操作滴!'); readln(ml); end; fff:=false; exit; end; procedure daguai; begin gwpd; writeln('战斗开始'); repeat beforehuihe; duringhuihe; if bb.live=1 then cwgj; until (dqgw.xt<=0) or (role.xue<=0); if dqgw.xt<=0 then begin writeln; writeln('战斗结束!'); writeln('怪物死亡,获得',dqgw.jyz,'点经验!'); role.jy:=role.jy+dqgw.jyz; end; if role.xue<=0 then begin writeln('胜败乃兵家常事,待我卷土重来!'); death; exit; end; hqwp; jypd; end; procedure daguai2; begin gwpd; writeln('战斗开始'); repeat gsx:=role.gjl-dqgw.fy+random(11)-5; dqgw.xt:=dqgw.xt-gsx; rsx:=dqgw.gj-role.fyl+random(11)-5; if rsx>0 then role.xue:=role.xue-rsx; if gsx>=0 then writeln('怪物被你攻击掉',gsx,'点血') else writeln('怪物反噬你',0-gsx,'点血'); if rsx>0 then writeln('你被怪物攻击掉',rsx,'点血') else writeln('防守成功! Miss!'); if bb.live=1 then cwgj; until (dqgw.xt<=0) or (role.xue<=0); if dqgw.xt<=0 then begin writeln('战斗结束!'); writeln('怪物死亡,获得',dqgw.jyz,'点经验!'); writeln; role.jy:=role.jy+dqgw.jyz; end; if role.xue<=0 then begin writeln('胜败乃兵家常事,待我卷土重来!'); death; exit; end; hqwp; jypd; end; procedure whichmap; begin case role.map of 0: writeln('当前地图:新手村!'); 1: writeln('当前地图:蓬莱岛!'); 2: writeln('当前地图:长安城!'); 3: writeln('当前地图:碗子山!'); 4: writeln('当前地图:东海龙宫!'); end; end; procedure yidongl1; begin if (ml='go') and (role.map<=3) then begin role.map:=role.map+1; whichmap; end else writeln('已在最后一层地图!'); end; procedure yidongl2; begin if (ml='back') and (role.map>=1) then begin role.map:=role.map-1; whichmap; end else writeln('已在第一层地图!'); end; procedure beforedg; begin if ml='k2' then if (ml='k2') and (role.map<>0) then daguai else writeln('该地图无怪!'); if ml='k1' then if (ml='k1') and (role.map<>0) then daguai2 else writeln('该地图无怪!'); end; procedure buy; begin if role.map=0 then if role.money>500 then begin role.money:=role.money-500; bao.red:=bao.red+1; end else writeln('没有足够的金钱!') else writeln('该地图不能购买药品,请返回新手村购买!'); end; procedure rwsx; begin whichmap; writeln('人物属性:'); write('角色等级:',role.level,' '); write('攻击力:',role.gjl,' '); write('防御力:',role.fyl,' '); write('剩余金创药个数: ',bao.red,' '); write('金钱:',role.money); writeln; write('生命力:',role.xue,'/',role.maxxue,' '); write('当前经验:',role.jy,' '); write('升级剩余经验:',role.level*role.level*50-role.jy,' '); writeln; writeln('宠物属性:'); if bb.live=1 then begin write('宠物名称:',bb.nm,' '); write('宠物等级:',bb.level,' '); write('宠物攻击力:',bb.gj,' '); writeln('宠物补血:',bb.jx); end else writeln('你还没有领养宠物!'); end;
2008年08月04日 14点08分 12
level 6
jiangyuzhou 楼主
procedure baby; begin writeln('该功能尚未开放!'); end; procedure baoguo; begin if bao.red>0 then write('金创药,数量:',bao.red,' '); if bao.back>0 then write('回城卷,数量:',bao.back,' '); if bao.sl>0 then write('宠物食料,数量:',bao.sl,' '); if bao.ttl>0 then write('饕餮料,数量:',bao.ttl,' '); writeln; end;begin fff:=true; randomize; writeln('快乐西游PASCAL 1.0无图测试版'); writeln('操作说明: '); writeln('go-进入下一张地图 back-退回前一张地图 i-察看当前角色属性 获得宠物-获取助战宠物 宠物升级-宠物提升等级 k1-自动攻击 k2-手动攻击 exit-退出游戏 usered-使用金创药 buy-购买药品 包裹-查看包裹'); writeln; writeln('更新说明:1.1版更新了作战方式,可由玩家输入k1 k2以选择自动(动手)攻击'); writeln('1.2版前瞻:1.2版将引入全新的宠物助战系统,及部分剧情任务,游戏可玩性将大大增强!'); writeln('当前宠物为不死宠物,宠物约有1/10的几率在战斗时为主人加血,在得到宝物『饕餮料』后输入命令 宠物升级 后宠物升级,升级所增加的属性点不确定!'); writeln('部分功能尚未实现,已测无bug!'); js; gw; skill; baobao; whichmap; writeln; readln(ml); repeat if ml='go' then yidongl1; if ml='back' then yidongl2; if (ml='k2') or (ml='k1') then beforedg; if ml='i' then rwsx; if ml='usered' then bxjc; if ml='buy' then buy; if ml='获得宠物' then baby; if ml='包裹' then baoguo; readln(ml); until (ml='exit')or(not fff);end;procedure play2;var mdx,name,dname,cz,shenj,ddname,csd,dcsd,jrw:string; wq,zy,shen,fylz,wx,wy,dx,dy,x,y,m,n:longint; hp,wbs,dbs,gjl,fyl,dgjl,dfyl,dj,fl,ddj,dfl,jq,djq,dr,exp,jgjl,jfyl,jwbs:longint; jm,zdx,zdm,jzdx,jzdm,dwq,jfl,jx,money,gjjl,ksx,ksy,dksx,dksy,jl,hh,ddz:longint; dg:boolean; wp,xx,rw:array[1..100]of integer; procedure t(xx,yy,dxx,dyy:integer); var ii,jj:integer; begin write(' '); for ii:=1 to 20 do write(ii:3); writeln; for ii:=1 to 20 do begin write(ii:3); for jj:=1 to 20 do if (ii=xx)and(jj=yy) then if (ii=dxx)and(jj=dyy) then write(name[1],'P',dname[1]) else write(name[1]+name[2]+name[3]) else if (ii=dxx)and(jj=dyy) then write(dname[1]+dname[2]+dname[3]) else write(' + '); writeln; end; writeln('你的 HP:',x,'/',zdx,' , 你的 MP:',m,'/',zdm); writeln('敌人 HP:',y,' , 敌人 MP:',n); end;begin writeln('开始!'); writeln('控制方法:<攻:[a]>,<上:[^]>,<下:[v]>,<左[<]>,<右[>]>!'); writeln('看状态:ZT,看技能:JN,看物品:WP,商店:shop,看任务:Q,采集:CJ,查看帮助:help,从敌人一级重新打:CD'); writeln('输入 "LG" 可以去打老鬼'); write('你叫什么名字?:'); readln(name); write('你的职业(1=战士,2=法师,3=熊医,4=弓箭手,5=骑士,6=刺客):'); readln(zy); write('敌人叫什么名字?:'); readln(dname); ddname:=dname; wx:=ord(name[1]) mod 20+1;wy:=ord(name[2]) mod 20+1; ksx:=wx;ksy:=wy; csd:=name[1]; csd:=csd+'の'; csd:=csd+name[2]; csd:=csd+'城'; x:=500; wbs:=10; m:=500; if zy=1 then begin x:=500; m:=500; wbs:=10; gjl:=10; fyl:=1; dj:=1; fl:=50; jx:=5; jm:=10; jwbs:=1; jgjl:=1; jfyl:=3; jfl:=1; wq:=10; zdx:=500; zdm:=500; jzdx:=50; jzdm:=40; gjjl:=1; end; if zy=2 then begin x:=100; m:=2500; wbs:=10; gjl:=5; fyl:=0; dj:=1; fl:=75; jx:=1; jm:=50; jwbs:=1; jgjl:=1; jfyl:=4; jfl:=5; wq:=10; zdx:=100; zdm:=2500; jzdx:=20; jzdm:=100; gjjl:=2; end;
2008年08月04日 14点08分 13
level 6
jiangyuzhou 楼主
if zy=3 then begin x:=2000; m:=500; wbs:=5; gjl:=2; fyl:=0; dj:=1; fl:=100; jx:=20; jm:=5; jwbs:=1; jgjl:=1; jfyl:=6; jfl:=1; wq:=10; zdx:=2000; zdm:=500; jzdx:=100; jzdm:=20; gjjl:=1; end; if zy=4 then begin x:=250; m:=500; wbs:=10; gjl:=5; fyl:=1; dj:=1; fl:=25; jx:=3; jm:=8; jwbs:=1; jgjl:=1; jfyl:=5; jfl:=1; wq:=15; zdx:=250; zdm:=500; jzdx:=25; jzdm:=40; gjjl:=3; end; if zy=5 then begin x:=250; m:=250; wbs:=10; gjl:=5; fyl:=1; dj:=1; fl:=25; jx:=4; jm:=5; jwbs:=1; jgjl:=1; jfyl:=2; jfl:=1; wq:=15; zdx:=250; zdm:=250; jzdx:=20; jzdm:=20; gjjl:=1; end; if zy=6 then begin x:=100; m:=500; wbs:=15; gjl:=30; fyl:=0; dj:=1; fl:=50; jx:=1; jm:=10; jwbs:=1; jgjl:=3; jfyl:=10; jfl:=1; wq:=20; zdx:=100; zdm:=500; jzdx:=15; jzdm:=40; gjjl:=1; end; wp[1]:=5; wp[2]:=5; wp[3]:=2; money:=500; dname:='%%'; writeln(ddname,' 的小兵 NO.',0,' 出现了!'); dr:=1; y:=101-dr*10; n:=dr*2; dbs:=dr; dx:=ord(ddname[1])mod 20+1;dy:=ord(ddname[2]) mod 20+1; dksx:=dx;dksy:=dy; dcsd:=ddname[1]; dcsd:=dcsd+'血'; dcsd:=dcsd+ddname[2]; dcsd:=dcsd+'庄'; dgjl:=2;dfyl:=dbs div 10;ddj:=1;dfl:=n div 10; write('请按回车键'); readln; while cz<>'exit' do begin while y>0 do begin hh:=hh+1; t(wx,wy,dx,dy); cz:=''; if (wx=ksx) and (wy=ksy) then writeln('这里是你的家:',csd); if (wx=dksx) and (wy=dksy) then writeln('这里是敌人的地盘:',dcsd); if (wx=ksx) and (wy=ksy) and (rw[1]=0) then begin jrw:=''; write('这里有个农民要找人帮他送萝卜到 ',dcsd,' 去,送吗(Y/N)?:'); readln(jrw); if jrw='Y' then begin writeln('接下了 [萝卜任务]'); ddz:=ddz+1; rw[1]:=1; writeln('输入 "Q" 可以看任务'); end; if (dx+dy+wx+wy*dgjl*hh+dx+dy+hh) mod 4=0 then begin writeln('运气真好!离开时捡到 ',(dgjl*gjl*hh+dx+dy) mod wbs,' 元!'); money:=money+(dgjl*gjl*hh+dx+dy) mod wbs+1; end; end; if (wx=dksx)and(wy=dksy) then begin jrw:=''; write('这里有人在叫:"收萝卜拉!"过去看看吗?(Y/N):'); readln(jrw); if jrw='Y' then begin if rw[1]=0 then begin writeln('他说:"你小子!没有萝卜也来!滚回去!"滚的时候掉了',dj+9,'元.'); money:=money-dj-9; end else begin jl:=0; if ksx>dksx then jl:=jl+(ksx-dksx) else jl:=jl+(dksx-ksx); if ksy>dksy then jl:=jl+(ksy-dksy) else jl:=jl+(dksy-ksy); writeln('你给他萝卜,他说:"太感谢你了!给你 ',jl+dj,' 元!"'); writeln('完成了 [萝卜任务]'); ddz:=ddz+1; money:=money+jl+dj; rw[1]:=0; end; if (dx+dy+wx+wy*dgjl*hh+dx+dy+hh) mod 4=0 then begin writeln('运气真好!离开时捡到',(dgjl*gjl*hh+dx+dy) mod wbs,'元!'); money:=money+(dgjl*gjl*hh+dx+dy) mod wbs+1; end; end; end;
2008年08月04日 14点08分 14
level 6
jiangyuzhou 楼主
write('出招:'); readln(cz); if cz='CD' then begin writeln('chong xin da!'); ddj:=-1;dr:=-1; y:=0; end; if cz='CJ'then begin if (x+y+dx+dy+m+n+wx+wy+hh)*(dx+hh) mod 10=0 then begin writeln('捡到青菜!'); wp[1]:=wp[1]+1; end; if (x+y+dx+dy+m+n+wx+wy+hh)*(dx+hh) mod 7=0 then begin writeln('捡到面皮!'); wp[2]:=wp[2]+1; end; if (x+y+dx+dy+m+n+wx+wy+hh)*(dx+hh) mod 13=0 then begin writeln('捡到压缩干粮!'); wp[3]:=wp[3]+1; end; if (x+y+dx+dy+m+n+wx+wy+hh)*(dx+hh) mod 6=0 then begin writeln('捡到一个鬼!'); x:=x-(10+dj*2); end; if (x+y+dx+dy+m+n+wx+wy+hh)*(dx+hh) mod 21=0 then begin jrw:=''; write('挖到武器!攻击力是:',((dx*2)*(dy*2)+wx+wy) mod (dj*2),',你的武器攻击力:',wq,',拿么?(Y/N):'); readln(jrw); if jrw='Y' then wq:=((dx*2)*(dy*2)+wx+wy) mod (dj*2) end; end; if cz='help' then begin writeln('上面的那个有很多"+"号的东西是世界地图,那个%%和<>是敌人,你的名字就是你,想让你的人物动的话,就输入'); writeln('^,v,<,>来控制方向,a是攻击,JN是看技能,ZT是看状态,shop是商店,看物品是WP,采集是CJ,打老鬼是LG'); writeln('从敌人一级重新打:CD,世界地图下面的字意思是:HP=生命值,MP=魔法值,你的生命值为0就输了!争取不死吧!'); writeln('暂时就这么多,请稍后再看.'); end; if cz='Q' then begin writeln('任务:'); if rw[1]=1 then writeln('帮',csd,'的菜农送菜到位于x:',dksx,' y:',dksy,' 的',dcsd); end; if cz='exit' then exit; if cz='LG' then begin writeln('敌人的老鬼出现了!'); dname:=ddname; y:=1000*ddj;n:=2000; dbs:=150; dgjl:=50+5*ddj; dfyl:=100; ddj:=100; dfl:=300; dx:=dksx; dy:=dksy; ddj:=ddj*10; end; if (cz='shop') then begin mdx:=''; while mdx<>'exit' do begin writeln('你的钱:',money); write('买什么?(1=青菜<',dj+50,'G>,2=面皮<',dj+50,'G>,3=压缩干粮<',dj*2+100,'G>,'); writeln('4=加满血<',(zdx-x) div 2,'G>,exit=退出):'); readln(mdx); if mdx='1' then begin if money
5) and ((zy=6)or(zy=4)) and (xx[5]=0) then xx[5]:=1; if (cz='ZT') then begin writeln('你的状态:'); writeln('攻击力:',gjl); writeln('防御力:',fyl); writeln('等级:',dj); writeln('法力:',fl); writeln('内功:',wbs); writeln('经验值:',exp,'/',dj*12+1); writeln('金钱(G):',money); writeln('道德值:约',ddz div 10*10); end;
2008年08月04日 14点08分 15
level 6
jiangyuzhou 楼主
if (cz='JN') then begin writeln('你的技能:'); writeln('火眼金睛:1 (MP -1)'); if dj>5 then writeln('爆破拳:2 (MP-500)'); if (dj>2) and (zy=2) then writeln('火焰弹:3 (MP-200)'); if (dj>5) and ((zy=6)or(zy=4)) then writeln('闪之术:<<,>>,^^,vv (MP-100)'); if (dj>5) and (zy=1) then writeln('横扫千军:3 (MP-100,HP-200)'); if (dj>5) and (zy=3) then writeln('治疗术:3 (MP-200)'); if (dj>5) and (zy=5) then writeln('招兵买马:3 (钱-500,MP-1000)'); if (dj>10) and ((zy=1)or(zy=5)) then writeln('内力疗伤:4 (MP-',wbs+20,')(内力低可能伤元气)'); if (dj>10) and (zy=2) then writeln('水魔波:4 (MP-400)'); if (dj>10) and (zy=3) then writeln('麻辣毒:4 (MP-250)(敌人HP越多,攻击力越高)'); if (dj>10) and (zy=4) then writeln('万里插鞭箭:4 (MP-300)(射程很远,有几率射不中)'); if (dj>10) and (zy=6) then writeln('低级暗杀:4 (MP-500)(成功率较低)'); end; if cz='WP' then begin writeln('名字 功能 gesh 指令'); if wp[1]<>0 then writeln('青菜 (HP+100) ',wp[1],' F1'); if wp[2]<>0 then writeln('面皮 (MP+200) ',wp[2],' F2'); if wp[3]<>0 then writeln('压缩干粮 (HP+150,MP+150) ',wp[3],' F3'); end; if (cz='1') then begin writeln('超级火眼金睛!敌人状态:'); writeln('攻击力:',dgjl); writeln('防御力:',dfyl); writeln('等级:',ddj); writeln('法力:',dfl); writeln('内功:',dbs); m:=m-1; end; IF (cz='2')and(m>=500)and(dj>5)and (dx<=wx+gjjl) and (dy<=wy+gjjl) and (dx>=wx-gjjl) and (dy>=wy-gjjl) then begin writeln('爆破拳!'); y:=y-(gjl div 20*wbs+fl); writeln('敌人 HP-',gjl div 20*wbs+fl); m:=m-500; end; IF (zy=2)and(cz='3')and(m>=200)and(dj>2)and(dx<=wx+gjjl+1)and(dy<=wy+gjjl+1)and(dx>=wx-gjjl+1)and(dy>=wy-gjjl+1)then begin writeln('火焰弹!'); y:=y-fl; writeln('敌人 HP-',fl); m:=m-200; end; if (cz='3') and (zy=1) and (m>=100) and (x>=200) and (dj>=5) then begin if (dx<=wx+gjjl)and(dy<=wy+gjjl)and(dx>=wx-gjjl)and(dy>=wy-gjjl) then begin if (gjl div 10*10+wq)*3-dfyl>0 then begin writeln('横扫千军!敌人HP-',(gjl div 10*10+wq)*3-dfyl); y:=y-((gjl div 10*10+wq)*3-dfyl); m:=m-500; end else writeln('敌人防御力太高,无法攻击!'); end else writeln('太远了,打不到!'); end; if (cz='3') and (zy=3) and (m>=200) and (dj>=5) then begin writeln('使用治疗术!HP+',fl+dj); x:=x+fl+dj; m:=m-200; end; if (cz='3') and (zy=5) and (m>=1000) and (money>=500) and (dj>=5) then begin writeln('招兵买马!攻击力+',5,',防御力+',5,',内力+',5,',敌人 HP-',gjl); gjl:=gjl+5; fyl:=fyl+5; wbs:=wbs+5; y:=y-gjl; m:=m-1000;money:=money-500; end; if (cz='4') and ((zy=1)or(zy=5)) and (m>=wbs+20) and (dj>=10) then begin writeln('内力疗伤!HP+',wbs*2+10); x:=x+wbs*2+10; m:=m-wbs-20; if (x+y+dx+dy+m+n+wx+wy+hh)*(dx+hh) mod wbs=0 then begin writeln('啊!伤了元气!'); x:=x-wbs-20; m:=m-wbs-50; wbs:=wbs-wbs div 10; end; end; IF (zy=2)and(cz='4')and(m>=400)and(dj>=10)and(dx<=wx+gjjl+2)and(dy<=wy+gjjl+2)and(dx>=wx-gjjl+2) and (dy>=wy-gjjl+2)then begin writeln('水魔波!'); y:=y-fl*12 div 5; writeln('敌人 HP-',fl*12 div 5); m:=m-400; end; IF (zy=3)and(cz='4')and(m>=250)and(dj>=10)and(dx<=wx+gjjl+1)and(dy<=wy+gjjl+1)and(dx>=wx-gjjl+1)and(dy>=wy-gjjl+1)then begin writeln('麻辣毒!'); y:=y-y div 20; writeln('敌人 HP-',y div 20); m:=m-250; end;
2008年08月04日 14点08分 16
level 6
jiangyuzhou 楼主
IF (zy=4)and(cz='4')and(m>=300)and(dj>=10)and(dx<=wx+gjjl+5)and(dy<=wy+gjjl+5)and(dx>=wx-gjjl+5)and(dy>=wy-gjjl+5)then begin if (x+y+dx+dy+m+n+wx+wy+hh)*(dx+hh) mod (wbs div 4)<>0 then begin writeln('万里插鞭箭!'); y:=y-(gjl*2+wbs); writeln('敌人 HP-',gjl*2+wbs); m:=m-300; end else writeln('没射中!'); end; IF (zy=6)and(cz='4')and(m>=500)and(dj>=10)and(dx<=wx+gjjl)and(dy<=wy+gjjl)and(dx>=wx-gjjl)and(dy>=wy-gjjl)then begin if (x+y+dx+dy+m+n+wx+wy+hh)*(dx+hh) mod (wbs div 3)<>0 then begin writeln('低级暗杀成功!'); y:=y-(gjl*5+wbs*2); writeln('敌人 HP-',gjl*5+wbs*2); m:=m-500; end else begin writeln('暗杀未成功!被敌人发现暴揍了一顿!'); x:=x-dgjl; m:=m-100; end; end; if (cz='F1') then begin if wp[1]=0 then writeln('你没有青菜') else begin if x+2*wbs+50<=zdx then begin writeln('使用青菜!HP+',2*wbs+50,'!'); x:=x+2*wbs+50; end else begin writeln('使用青菜!HP+',zdx-x,'!'); x:=zdx; end; wp[1]:=wp[1]-1; end; end; if (cz='F2') then begin if wp[2]=0 then writeln('你没有面皮') else begin if m+4*wbs+100<=zdx then begin writeln('使用面皮!MP+',100+4*wbs,'!'); m:=m+4*wbs+100; wp[2]:=wp[2]-1; end else begin writeln('使用面皮!MP+',zdm-m,'!'); m:=zdm; wp[2]:=wp[2]-1; end; end; end; if (cz='F3') then begin if wp[3]=0 then writeln('你没有压缩干粮') else begin if m+2*wbs+100<=zdx then begin writeln('使用压缩干粮!MP+',100+2*wbs,'!'); m:=m+2*wbs+100; end else begin writeln('使用压缩干粮!MP+',zdm-m,'!'); m:=zdm; end; if x+2*wbs+100<=zdx then begin writeln('HP+',2*wbs+100,'!'); x:=x+11*wbs; end else begin writeln('HP+',zdx-x,'!'); x:=zdx; end; wp[3]:=wp[3]-1; end; end; if (cz='^')and(wx>1)then begin writeln('向上走1步'); wx:=wx-1; end; if (cz='v')and(wx<20)then begin writeln('向下走1步'); wx:=wx+1; end; if (cz='<')and(wy>1)then begin writeln('向左走1步'); wy:=wy-1; end; if (cz='>')and(wy<20)then begin writeln('向右走1步'); wy:=wy+1; end; if (cz='^^')and(wx>1+xx[5])and (dj>5) and ((zy=6)or(zy=4))then begin writeln('向上闪!!'); wx:=wx-xx[5]-1; m:=m-100; end; if (cz='vv')and(wx<20-xx[5])and (dj>5) and ((zy=6)or(zy=4))then begin writeln('向下闪!!'); wx:=wx+xx[5]+1; m:=m-100; end; if (cz='<<')and(wy>1+xx[5])and (dj>5) and ((zy=6)or(zy=4))then begin writeln('向左闪!!'); wy:=wy-xx[5]-1; m:=m-100; end; if (cz='>>')and(wy<20-xx[5])and (dj>5) and ((zy=6)or(zy=4))then begin writeln('向右闪!!'); wy:=wy+xx[5]+1; m:=m-100; end;
2008年08月04日 14点08分 17
level 6
jiangyuzhou 楼主
if cz='a' then begin if (dx<=wx+gjjl)and(dy<=wy+gjjl)and(dx>=wx-gjjl)and(dy>=wy-gjjl)and((wx=dx)and(wy=dy))=false then begin if gjl div 10*10+wq-dfyl>0 then begin writeln('攻击!敌人HP-',gjl div 10*10+wq-dfyl); y:=y-(gjl div 10*10+wq-dfyl); end else writeln('敌人防御力太高,无法攻击!你走近点再攻击试试'); end else if (wx<>dx) and (wy<>dy) then writeln('太远了,打不到!'); if (wx=dx) and (wy=dy) then begin if gjl div 10*15+wq-dfyl>0 then begin writeln('攻击!敌人HP-',gjl div 10*15+wq-dfyl); y:=y-(gjl div 10*15+wq-dfyl); end else writeln('敌人防御力太高,无法攻击!'); end; end; if x+1<=zdx then x:=x+1; if m+10<=zdm then m:=m+10 else m:=zdm; if y<=0 then begin dg:=true; end; begin if (((wx+1=dx)or(wx-1=dx))and (wy+0=dy))or(((wy+1=dy)or(wy-1=dy))and (wx+0=dx)) and (dg=false)then begin if dgjl div 10*10+dwq-fyl>0 then begin writeln('敌人攻击!HP-',dgjl div 10*10+dwq-fyl); x:=x-(dgjl div 10*10+dwq-fyl); dg:=true; end; end; if (wx=dx) and (wy=dy) then if dgjl div 10*15+dwq-fyl>0 then begin writeln('敌人攻击!HP-',dgjl div 10*15+dwq-fyl); x:=x-(dgjl div 10*15+dwq-fyl); dg:=true; end; end; if hh mod 2=0 then begin if (wx
dx)and(dg=false)then begin writeln('敌人 向下走1步'); dx:=dx+1; dg:=true; end; if (wy
dy)and(dg=false)then begin writeln('敌人 向右走1步'); dy:=dy+1; dg:=true; end; end else begin if (wy>dy)and(dg=false)then begin writeln('敌人 向右走1步'); dy:=dy+1; dg:=true; end; if (wy
dx)and(dg=false)then begin writeln('敌人 向下走1步'); dx:=dx+1; dg:=true; end; if (wx
2008年08月04日 14点08分 18
level 6
jiangyuzhou 楼主
dg:=false; if x<=0 then begin write('你被打死了!退出'); exit; end; write('请按回车键'); readln; end; if y<=0 then begin writeln('你打死了敌人!经验加',10+ddj); writeln('获得钱:',10+ddj*2); exp:=ddj+10+exp; money:=money+10+ddj*2; while exp>=dj*12+1 do begin writeln('升级了!'); exp:=exp-(dj*12+1); dj:=dj+1; zdx:=zdx+jzdx; x:=x+jx*10; zdm:=zdm+jzdm; m:=m+jm*10; wbs:=wbs+jwbs; gjl:=gjl+wbs div 10+jgjl;fylz:=fylz+1;fl:=fl+wbs div 10*3+jfl*2; writeln('获得2点属性点'); writeln('加点方法:输入 (1=攻击力),(2=防御力),(3=内力),(4=法力),(5=HP)'); shen:=0; while shen<2 do begin write('第 ',shen,' 个属性点:'); readln(shenj); if shenj='1' then gjl:=gjl+wbs div 10+jgjl*2; if shenj='2' then fylz:=fylz+2; if shenj='3' then wbs:=wbs+2*jwbs; if shenj='4' then fl:=fl+wbs div 10*3+jfl*4; if shenj='5' then begin x:=x+10*jx; zdx:=zdx+jzdx div 2; end; if (shenj<>'1')and(shenj<>'2')and(shenj<>'3')and(shenj<>'4')and(shenj<>'5') then begin writeln('输入错误,重新输入!'); shen:=shen-1; end; if fylz>jfyl then begin fyl:=fyl+1; fylz:=0; end; shen:=shen+1; end; end; writeln(dname,' 的小兵 NO.',dr,' 出来了!'); if dname=ddname then dj:=dj div 10; dname:='<>'; y:=ddj*18+30; n:=dr*5; dbs:=dr+5; dx:=y mod 20+1;dy:=(y+100)mod 20+1; dgjl:=dbs;dfyl:=dbs div 10;ddj:=ddj+1;dfl:=n div 10;dwq:=ddj; dr:=dr+1; write('请按回车键'); readln; end; end;end;procedure save;begin assign(f1,'stp.dox'); rewrite(f1); writeln(f1,nu); for i:=1 to nu do begin writeln(f1,num[i].na); writeln(f1,num[i].pa); writeln(f1,num[i].le); writeln(f1,num[i].ne); writeln(f1,num[i].y1); writeln(f1,num[i].m1); writeln(f1,num[i].d1); end; close(f1); assign(f1,'say.dox'); rewrite(f1); for i:=1 to nu do for k:=1 to 10 do writeln(f1,sl[i][k]); close(f1); assign(f1,'vbw.dox'); rewrite(f1); for i:=1 to nu do for k:=1 to 10 do writeln(f1,bw[i][k]); close(f1); assign(f1,'ggl.dox'); rewrite(f1); for i:=1 to 20 do writeln(f1,gg[i]); close(f1);end;procedure play(k:integer);var f,f_:boolean;begin f:=false; f_:=false; case k of 1 :begin writeln('请输入新用户名:'); readln(nam2); for i:=1 to nu do if num[i].na=nam2 then f:=true; if f then sorry(1) else begin num[j].na:=nam2; writeln('系统提示:用户名更改成功!'); nam:=nam2; end; save; end;
2008年08月04日 14点08分 19
level 6
jiangyuzhou 楼主
2 :begin writeln('请输入密码:'); readln(word); writeln('请再输入一遍:'); readln(word2); if word<>word2 then f_:=true; if f_ then sorry(3) else writeln('系统提示:密码更改成功!'); save; end; 3 :begin for i:=1 to nu do begin writeln('姓名:',num[i].na); writeln(num[i].le,'级用户'); readln; end; end; 4 :begin sorry(6); end; 5 :begin repeat st:=sl[j][1]; i:=1; while st<>'0' do begin i:=i+1; writeln(st); st:=sl[j][i]; end; writeln; writeln('共',i-1,'条'); num[j].ne:=0; writeln('1:删除 2:返回'); readln(r1); if r1=1 then begin writeln('请输入要删除的留言序号'); readln(r2); for k:=r2 to 19 do sl[j][i]:=sl[j][i+1]; if i<>1 then sl[j][i-1]:='0'; save; end; until r1=2; end; 6 :begin repeat st:=bw[j][1]; i:=1; while st<>'0' do begin i:=i+1; writeln(st); st:=bw[j][i]; end; writeln; writeln('共',i-1,'条'); writeln('1:删除 2:新添 3:返回'); readln(r1); if r1=1 then begin writeln('请输入要删除的备忘录序号'); readln(r2); for k:=r2 to 19 do bw[j][i]:=bw[j][i+1]; if i<>1 then bw[j][i-1]:='0'; save; end; if r1=2 then begin writeln('请输入要新添的备忘录'); readln(st); bw[j][i]:=st; save; end; until r1=3; end; 7 :begin repeat st:=gg[1]; i:=1; while st<>'0' do begin i:=i+1; writeln(st); st:=gg[i]; end; writeln; writeln('共',i-1,'条'); writeln('1:删除(需要管理员权限) 2:新添 3:返回'); readln(r1); if r1=1 then begin if num[j].le<>3 then sorry(5) else begin writeln('请输入要删除的公告序号'); readln(r2); for k:=r2 to 19 do gg[i]:=gg[i+1]; if i<>1 then gg[i-1]:='0'; save; end; end; if r1=2 then begin writeln('请输入要新添的公告'); readln(st); gg[i]:=st; save; end; until r1=3; end; 8 :help; 9 :about;
2008年08月04日 14点08分 20
level 6
jiangyuzhou 楼主
10:begin save; halt; end; 11:begin writeln('1:西游无图版'); writeln('2:战斗地图版'); writeln('3:计算器'); writeln('0:退出'); readln(k); case k of 1:play1; 2:play2; 3:play3; 0:exit; else sorry(4); end; readln; end; 12:begin sorry(6); end; 13:begin writeln('1:cipher(加密解密程序)'); writeln('2:赌博'); writeln('0:退出'); readln(k); case k of 1:play4; 2:play5; 0:exit; else sorry(4); end; readln; end; 14:begin for i:=1 to nu do writeln(num[i].na,'是',num[i].le,'级会员'); writeln('请输入要删除的用户名:'); readln(st); for i:=1 to nu do if st=num[i].na then k:=i; for i:=k+1 to nu do begin num[i-1].na:=num[i].na; num[i-1].pa:=num[i].pa; num[i-1].le:=num[i].le; num[i-1].ne:=num[i].ne; end; nu:=nu-1; save; writeln('是否将此用户名禁掉?(1:是 2:不要了)'); readln(r1); if r1=1 then begin assign(f1,'jr.dox'); reset(f1); readln(r2); for i:=1 to r2 do readln(jr[i]); jr[r2+1]:=st; close(f1); assign(f1,'jr.dox'); rewrite(f1); writeln(f1,r2+1); for i:=1 to r2+1 do writeln(f1,jr[i]); close(f1); end; end; 15:begin for i:=1 to nu do writeln(num[i].na,'是',num[i].le,'级会员'); writeln('请输入要更改等级的用户名:'); readln(st); for i:=1 to nu do if st=num[i].na then k:=i; writeln('请输入要修改成几级?'); readln(r1); num[k].le:=r1; save; end; 16:begin sorry(6); end; end;end;procedure run;begin yy:=num[j].y1; mm:=num[j].m1; dd:=num[j].d1; getdate(num[j].y1,num[j].m1,num[j].d1,cc); save; repeat writeln('欢迎',num[j].na,'来到本程序!'); writeln('您是',num[j].le,'级用户!上次登陆时间:',yy,' ',mm,' ',dd); writeln('您现有',num[j].ne,'条新留言'); writeln('请选择功能:'); writeln('一级用户可用功能:'); writeln('1:更改用户名'); writeln('2:更改密码'); writeln('3:查看当前用户'); writeln('4:给他人留言'); writeln('5:查看自己的留言簿'); writeln('6:备忘录'); writeln('7:公告栏'); writeln('8:帮助'); writeln('9:关于'); writeln('10:退出'); if num[j].le>1 then begin writeln('二级用户可用功能:'); writeln('11:小程序'); writeln('12:查看一级用户帐户'); end; if num[j].le>2 then begin writeln('三级用户可用功能:'); writeln('13:大程序'); writeln('14:删除他人帐户'); writeln('15:修改他人帐户'); writeln('16:查看他人帐户'); end; readln(t); if (t>16)or(t<0)then sorry(4) else if (t>10)and(num[j].le=1)then sorry(5) else if (t>12)and(num[j].le<3)then sorry(5) else play(t); until false;end;
2008年08月04日 14点08分 21
1 2 3 4 尾页