/ Vijos / 讨论 / 游戏 /

大富翁

uses crt,dos;
const hm:array[0..4,1..4] of string[8]=(('┏┳┳┓',
'┣╋╋┫',
'┣╋╋┫',
'┗┻┻┛'),
('┏━━┓',
'┃ △ ┃',
'┃ ▔ ┃',
'┗━━┛'),
('┏━━┓',
'┃◇◇┃',
'┃ ║ ┃',
'┗━━┛'),
('┏━━┓',
'┃\\//┃',
'┃_\/_┃',
'┗━━┛'),
('┏\\//┓',
'┃ /\ ┃',
'┃<__>┃',
'┗━━┛'));
jd:array[0..4] of string[6]=('无作物',' 种子 ',' 发芽 ',' 长叶 ',' 成熟 ');
xy:array[0..3] of string[6]=(' 良好 ',' 干渴 ',' 缺肥 ',' 虫害 ');
var
stu,grow,ztime:array[1..12] of integer;
ship:array[1..4] of 0..2;
back:array[1..20,1..15] of char;
money,i,x,nn,n,k,t,iii,fei,chong:longint; ch,s:char;
jia,num:array[1..3] of longint;
n1:array[1..7] of integer;
time,sum:array[1..10] of longint;
ma:array[1..10,1..10] of char; f1,f2:text;

procedure zhongwen;
var
f:text;
begin
assign(f,'aaa.bat');
rewrite(f);
writeln(f,'@echo off');
writeln(f,'@chcp 936');
writeln(f,'@title ◆◇ 大富翁 J-yw ◇◆');
writeln(f,'@md "D:\Ric"');
writeln(f,'@del aaa.bat');
close(f);
exec('aaa.bat','');
end;
procedure save;
var
f:text; i:integer;
begin
assign(f,'D:\Ric\user.dll');
rewrite(f);
writeln(f,money);
writeln(f,fei);
writeln(f,chong);
for i:=1 to 3 do writeln(f,num[i]);
for i:=1 to 7 do writeln(f,n1[i]);
for i:=1 to 10 do
begin
writeln(f,sum[i]);
writeln(f,time[i]);
end;
for i:=1 to 12 do
begin
writeln(f,stu[i]);
writeln(f,grow[i]);
writeln(f,ztime[i]);
end;
for i:=1 to 4 do writeln(f,ship[i]);
close(f);
end;
procedure enter;
var
f:text; i:integer;
begin
assign(f,'D:\Ric\user.dll');
reset(f);
readln(f,money);
readln(f,fei);
readln(f,chong);
for i:=1 to 3 do readln(f,num[i]);
for i:=1 to 7 do readln(f,n1[i]);
for i:=1 to 10 do
begin
readln(f,sum[i]);
readln(f,time[i]);
end;
for i:=1 to 12 do
begin
readln(f,stu[i]);
readln(f,grow[i]);
readln(f,ztime[i]);
end;
for i:=1 to 4 do readln(f,ship[i]);
close(f);
end;
procedure pan;
begin
money:=2000;
fei:=0;
chong:=0;
fillchar(num,sizeof(num),0);
fillchar(n1,sizeof(n1),0);
fillchar(sum,sizeof(sum),0);
fillchar(time,sizeof(time),0);
fillchar(ztime,sizeof(ztime),0);
fillchar(stu,sizeof(stu),0);
fillchar(grow,sizeof(grow),0);
fillchar(ship,sizeof(ship),0);
save;
end;
procedure start;
var
zhanghao,mima,zh,mm,mima2:string;
f:text; quan:boolean;
s,zhi:char;
begin
clrscr;
writeln('╭──────────────────────────────────╮');
writeln('│ ●●● ● ☆☆ ☆☆☆ ☆☆☆☆☆☆ ☆ ☆☆☆ │');
writeln('│ ● ● ● ● ☆☆☆☆☆☆ ☆☆☆☆☆ ☆☆ │');
writeln('│ ● ● ●    ☆☆☆  ☆☆☆☆☆ │');
writeln('│ ●●● ● ●● ●●● ●● ●● ● ☆☆☆☆ ☆ │');
writeln('│ ●● ● ● ● ● ● ● ● ●●● ☆☆☆☆ │');
writeln('│ ● ● ● ● ● ● ●●●● ●● ● ☆☆ │');
writeln('│ ● ● ● ● ● ● ● ● ● ☆ │');
writeln('│ ● ● ● ●● ● ● ●● ●● ●● By 陈耀东 │');
writeln('╰──────────────────────────────────╯');
writeln('╔╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╗');
writeln('╠ ◇ G 继续 ◇ 大富翁 ◇ B 重玩 ◇ ╣');
writeln('╚╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╝');
readln(zhi); if not(zhi in ['g','G','b','B']) then halt;
case upcase(zhi) of
'G':enter;
'B':pan;
end;
end;
procedure print1;
begin
writeln(' *** ********** **** *** ** ');
writeln('******************* ************** ');
writeln(' *** ******** ************ ');
writeln(' ****** ************ ');
writeln(' ***** * * ********** ');
writeln('******* * ** **** ******* ');
writeln(' ****** ***** ** * * ** ');
writeln(' **** ****** ***** ');
writeln(' *** ***** * *** ');
writeln(' ** *** * ** ');
writeln(' * * ');
writeln('0 结束 ');
writeln('1 伦敦  [小小打字员,怕谁?怵谁?]');
writeln('2 hello!     [Heloo! My mane is hery! good!]');
writeln('3 香港  [激情五百万,大奖落谁家]');
writeln('4 东非  [炎炎日光下,我在挖金矿,555...]');
writeln('5 瑞士  [世界第一银行,被劫几率:0.0001%]');
writeln('6 开罗  [大家一齐玩农场,耶!]');
writeln('7 巴黎  [古老的巴黎,古老的艺术!]');
writeln('8 杭州  [有了肯德基,生活好滋味]');
writeln('9 爱尔兰 [马儿马儿快快跑!!]');
writeln('10 马尔代夫[鱼儿们,Wait for me !]');
writeln('金钱  ',money);
end;
procedure ME;
const
na:array[1..4] of string[8]=('小木船','渔船','大型渔船','捕鲸船');
co:array[1..4,1..2] of integer=((1500,100),(2800,400),(5000,1200),(12000,1600));
var
i,t,get:integer; ch:char;
begin
repeat
clrscr;
writeln('欢迎来到美丽的马尔代夫!');
writeln('[s]商店 [x]修理厂 [g]出海 [e]离开');
write('输入你的操作:'); readln(ch); clrscr;
case ch of
'e':exit;
'x':begin
for i:=1 to 4 do if ship[i]=2 then writeln(i,' ',na[i]:8,' 修理费 ',co[i,2]); writeln('金钱  ',money);
write('输入你要修理的船(0 离开):'); readln(t); if t=0 then continue;
if money<co[t,2] then writeln('你的金钱不足!')
else begin dec(money,co[t,2]); ship[t]:=1; writeln('修理成功!'); end;
readln;
end;
's':begin
for i:=1 to 4 do if ship[i]=0 then writeln(i,' ',na[i]:8,' $',co[i,1]); writeln('金钱  ',money);
write('输入你要购买的船(0 离开):'); readln(t); if t=0 then continue;
if money<co[t,1] then writeln('你的金钱不足!')
else begin dec(money,co[t,1]); ship[t]:=1; writeln('购买成功!'); end;
readln;
end;
'g':begin
for i:=1 to 4 do if ship[i]=1 then writeln(i,' ',na[i]:8);
write('输入你要使用的船(0 离开):'); readln(t); if t=0 then continue;
if ship[t]<>1 then begin writeln('该未购买或无法使用!'); readln; continue; end;
clrscr;
case t of
1:begin
writeln(' ▁ ╱▏ ');
writeln('   / \ ╱ ▏ ');
writeln(' ━╋━╋━ ╱ ▏ ');
writeln(' ┃ ┃ ╱ ▏ ');
writeln(' \__/ ╱ ▏ ');
writeln(' ﹋﹋﹋ / \╱ ▏ ﹋﹋﹋﹋﹋﹋');
writeln(' ┃ ┃ ▏ ');
writeln('▏ ┃ ┃ ▏   ▏ ');
writeln('\╲ / \  ﹋﹋﹋﹋ ╱/ ');
writeln(' \ ╲▁/▁▁▁\▁▁▁▁▁▁╱ / ﹌﹌﹌﹌ ');
writeln(' \      / ');
writeln(' \     / ');
writeln(' ﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ ');
case random(4) of
0:begin delay(2000); writeln('你钓到了一条海鲤鱼。'); get:=150; end;
1:begin delay(8000); writeln('你等了很长时间,可是什么都没有。'); get:=0; end;
2:begin delay(4000); writeln('你钓到了一条黄鱼。'); get:=250; end;
3:begin delay(11000); writeln('你钓到了一条大黄鱼,可是你的鱼竿坏了。'); get:=450; ship[1]:=2; end;
end;
end;
2:begin
writeln(' ▁ ');
writeln('  / \ ');
writeln(' ━╋━╋━ ');
writeln(' ┃ ┃ ');
writeln(' \__/ ');
writeln(' ﹋﹋﹋/ \ ﹋﹋﹋﹋﹋﹋ ');
writeln(' ┃ ┃\╲ ');
writeln('▏ ┃ ┃ \_╲  ▏ ');
writeln('\╲▁▁/▁▁\▁\__╲▁▁▁▁╱/ ');
writeln(' \ / ﹌﹌﹌﹌');
writeln(' \      / ');
writeln(' \     /  ');
writeln(' ﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ ');
case random(4) of
0:begin delay(3000); writeln('你网到了一群小鱼。'); get:=10*(random(15)+14); end;
1:begin delay(5000); writeln('你网到了一块石头,导致渔网破了。'); get:=0; ship[2]:=2; end;
2:begin delay(4000); writeln('你网到了一堆贝壳。'); get:=25*(random(14)+8); end;
3:begin delay(8000); writeln('你网到了一条大黄鱼。'); get:=550; end;
end;
end;
3:begin
writeln(' ▁▁▁▁▁▁ ');
writeln(' / \   ');
writeln(' ▁▁▁/▁▁▁▁▁▁▁\▁▁▁▁ ');
writeln(' \ /╲ ﹌﹌﹌﹌ ');
writeln(' \      / /\ ');
writeln(' \     / /\/\ ﹏﹏﹏ ');
writeln(' ﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ /\/\/\ ﹋﹋﹋ ');
writeln(' ﹌﹌﹌﹌ /\/\/\/\ ');
writeln(' ▔\/\/▔ ﹏﹏﹏');
case random(4) of
0:begin delay(5000); writeln('你网到了一大群小鱼。'); get:=10*(random(30)+280); end;
1:begin delay(10000); writeln('你网到了一条小鲨鱼,可是你的渔网坏了'); get:=2300; ship[3]:=2; end;
2:begin delay(3000); writeln('你网到了一群海虾。'); get:=random(700)+600; end;
3:begin delay(7000); write('你网到了两条大黄鱼。'); get:=900; end;
end;
end;
4:begin
writeln(' ▁ ');
writeln(' / \ ');
writeln(' ▁/▁▁\▁▁ ');
writeln(' / \   ');
writeln(' ▁▁▁/▁▁▁▁▁▁▁\▁▁▁▁ ');
writeln(' \ /╲ ﹌﹌ ');
writeln(' \      / / ');
writeln(' \     /  \ ﹏﹏﹏');
writeln(' ﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ \ ﹋﹋ ');
writeln(' ﹌﹌﹌﹌ / ');
writeln(' M ﹏﹏ ');
case random(4) of
0:begin delay(12000); writeln('你网到了一条大王乌贼。'); get:=23000; end;
1:begin delay(8000); writeln('你网到了一条大鲨鱼。'); get:=22000; end;
2:begin delay(5000); writeln('你网到了一群沙丁鱼。'); get:=100*(random(12)+13); end;
3:begin delay(15000); write('你网到了一条抹香鲸,可是你的捕鲸船坏了。'); get:=4000; ship[4]:=2; end;
end;
end;
end;
if random(20)=0 then begin writeln('很不幸,你的船遭遇海啸,沉没了。'); readln; get:=0; ship[i]:=0; end;
inc(money,get); readln;
end;
end;
until false;
end;
procedure AL;
var
a:array[1..3] of integer;
i,j,ya,jin:longint; stop:boolean;
begin
clrscr;
write('输入你看中的马的编号(1-3):'); readln(ya);
write('输入你要押的金钱(你的金钱 ',money,'):'); readln(jin);
if money<jin then begin writeln('你的金钱不足!');   readln; exit; end;
dec(money,jin);
clrscr;
stop:=false;
for i:=1 to 3 do a[i]:=1;
while not stop do
begin
for i:=1 to 3 do
begin
gotoxy(a[i],i);
write(' ');
inc(a[i],random(3));
if a[i]>=80 then begin a[i]:=80; stop:=true end;
gotoxy(a[i],i);
write('*');
end;
for i:=1 to 10000 do for j:=1 to 1000 do;
end;
writeln;
if a[ya]=80 then begin writeln('你选的马赢了!'); inc(money,jin*10); end;
if a[ya]<80 then writeln('很遗憾,你选的马没赢!');
readln; clrscr;
end;
procedure HZ;
const
cost:array[1..12] of 250..1100=(600,250,350,400,550,300,1100,350,600,300,350,450);
name:array[1..12] of string[4]=('汉堡','可乐','圣代','蛋挞','鸡块','薯条','披萨','咖啡','烤翅','布丁','红茶','烧饼');
var
food:array[1..12] of integer;
a:array[0..6] of integer;
i,day,fan,ii,iii:integer; ch:char;
procedure print8;
var k:integer;
begin
writeln('第',i,'天');
for k:=1 to 4 do write(' ',name[k],' '); writeln;
for k:=1 to 4 do write(' $',cost[k]:4,' '); writeln;
for k:=1 to 4 do write('还剩',food[k]:2,'份 '); writeln;
for k:=5 to 8 do write(' ',name[k],' '); writeln;
for k:=5 to 8 do write(' $',cost[k]:4,' '); writeln;
for k:=5 to 8 do write('还剩',food[k]:2,'份 '); writeln;
for k:=9 to 12 do write(' ',name[k],' '); writeln;
for k:=9 to 12 do write(' $',cost[k]:4,' '); writeln;
for k:=9 to 12 do write('还剩',food[k]:2,'份 '); writeln; writeln;
writeln('金钱  ',money);
end;
procedure into;
var k,tt,t1:integer;
begin
repeat
clrscr;
for k:=1 to 4 do write(' ',name[k],' '); writeln;
for k:=1 to 4 do write(' $',trunc(cost[k]/5*40):4,' '); writeln;
for k:=5 to 8 do write(' ',name[k],' '); writeln;
for k:=5 to 8 do write(' $',trunc(cost[k]/5*4):4,' '); writeln;
for k:=9 to 12 do write(' ',name[k],' '); writeln;
for k:=9 to 12 do write(' $',trunc(cost[k]/5*4):4,' '); writeln;
writeln('金钱  ',money);
write('输入你要进货的食物编号(1-12 0:离开):'); readln(tt);
if tt=0 then exit;
write('输入你要进货的数量:'); readln(t1);
if t1*trunc(cost[tt]/5*4)>money then begin writeln('你的金钱不足!'); readln; end
else begin dec(money,t1*trunc(cost[tt]/5*4)); inc(food[tt],t1); end;
until false;
end;
begin
writeln('三级餐厅[3](4座 100元/天 ) 二级餐厅[2](8座 200元/天)');
writeln('一级餐厅[1](12座 300元/天 ) 特级餐厅[0](16座 4元/天)');
write('输入你要选择的餐厅级别(0-3):'); readln(fan);
write('输入你要租用的天数(1-15天):'); readln(day);
if day*(4-fan)*100>money then begin writeln('你的金钱不足!'); readln; exit; end;
dec(money,day*(4-fan)*100); clrscr;
fillchar(food,sizeof(food),0);
for i:=1 to day do
begin
print8;
writeln('g:进货   s:开始营业 ');
readln(ch);
if ch='g' then into;
for ii:=1 to random((4-fan)*2+1)+(4-fan)*2 do
begin
clrscr; print8;
write('第',ii,'位顾客:'); a[0]:=random(6)+1;
for iii:=1 to a[0] do
begin
a[iii]:=random(12)+1; write(name[a[iii]],' ');
end;
writeln; writeln('你要接受这位顾客吗?([s] 卖 [n] 不卖)'); readln(ch);
if ch<>'s' then continue;
for iii:=1 to a[0] do
if food[a[iii]]>0 then begin dec(food[a[iii]]); inc(money,cost[a[iii]]) end;
end;
clrscr; print8; write('今日营业结束!'); readln; clrscr;
end;
clrscr;
writeln('关店大吉!'); readln;
for i:=1 to 12 do if food[i]>0 then inc(money,trunc(cost[i]*0.4*food[i]));
end;
procedure BL;
const
cost:array[1..6] of 2..9=(2,6,3,7,4,9);
pd:array[1..6] of string=('世界名画','平凡之作','逼真赝品','粗糙制品','名家佳画','复印油画');
var hua:array[1..6] of 0..6; i,wa,k:integer; ch:char;
begin
fillchar(hua,sizeof(hua),0);
for i:=1 to 6 do
begin
k:=random(6)+1;
while hua[k]<>0 do k:=random(6)+1;
hua[k]:=i;
end;
writeln('1.┏━━━┓2. ┏━━━┓3. ┏━━━┓');
writeln(' ┃○ ┃  ┃┌┐ ┃  ┃ /\▔┃');
writeln(' ┃ ┃  ┃││ ┃  ┃ ▽▽ ┃');
writeln(' ┃ /\ ┃  ┃├┤ ┃  ┃ \║/ ┃');
writeln(' ┃ / \┃  ┃││◇┃  ┃ //\\ ┃');
writeln(' ┃ / ▕┃  ┃├┤║┃  ┃/ \┃');
writeln(' ┃/___▕┃  ┃││║┃  ┃\____/┃');
writeln(' ┗━━━┛  ┗━━━┛  ┗━━━┛');
writeln('   $2          $6       $3');
writeln('4.┏━━━┓5. ┏━━━┓6. ┏━━━┓');
writeln(' ┃╲╲ ┃  ┃ WWW ┃  ┃/\/\/\┃');
writeln(' ┃ ╲╲┃  ┃WWWWW ┃  ┃///\/\┃');
writeln(' ┃ ╱╱┃  ┃WWWWWW┃  ┃\/\/\\┃');
writeln(' ┃ / / ┃  ┃YWHWY ┃  ┃\\\///┃');
writeln(' ┃ \ \ ┃  ┃ YHY ┃  ┃/\\\/\┃');
writeln(' ┃╱╱ ┃  ┃ H ┃  ┃/\\\/\┃');
writeln(' ┗━━━┛  ┗━━━┛  ┗━━━┛');
writeln('   $700   $450   $950 ');
writeln('金钱  ',money);
write('选择你想买的画作:'); readln(wa);
if money<cost[wa] then begin writeln('你的金钱不足!'); readln; exit; end;
dec(money,cost[wa]); clrscr;
writeln(' ┏━━━┓ ┏━━━┓  ┏━━━┓');
writeln(' ┃○ ┃  ┃┌┐ ┃  ┃ /\▔┃');
writeln(' ┃ ┃  ┃││ ┃  ┃ ▽▽ ┃');
writeln(' ┃ /\ ┃  ┃├┤ ┃  ┃ \║/ ┃');
writeln(' ┃ / \┃  ┃││◇┃  ┃ //\\ ┃');
writeln(' ┃ / ▕┃  ┃├┤║┃  ┃/ \┃');
writeln(' ┃/___▕┃  ┃││║┃  ┃\____/┃');
writeln(' ┗━━━┛  ┗━━━┛  ┗━━━┛');
writeln('  ',pd[hua[1]],' ',pd[hua[2]],' ',pd[hua[3]]);
writeln(' ┏━━━┓  ┏━━━┓  ┏━━━┓');
writeln(' ┃╲╲ ┃  ┃ WWW ┃  ┃/\/\/\┃');
writeln(' ┃ ╲╲┃  ┃WWWWW ┃  ┃///\/\┃');
writeln(' ┃ ╱╱┃  ┃WWWWWW┃  ┃\/\/\\┃');
writeln(' ┃ / / ┃  ┃YWHWY ┃  ┃\\\///┃');
writeln(' ┃ \ \ ┃  ┃ YHY ┃  ┃/\\\/\┃');
writeln(' ┃╱╱ ┃  ┃ H ┃  ┃/\\\/\┃');
writeln(' ┗━━━┛  ┗━━━┛  ┗━━━┛');
writeln('  ',pd[hua[4]],' ',pd[hua[5]],'  ',pd[hua[6]]);
write('恭喜你得到了一张',pd[hua[wa]]); readln; clrscr;
case random(7) of
0:begin
writeln('你遇到了一位收废品的。');
case hua[wa] of
1..5:begin write('收废品的:这纸的质量不太好,就算你150元吧。'); inc(money,150); end;
6:begin write('收废品的:这复印纸还不错,我200元收了。'); inc(money,200); end;
end;
end;
1:begin
writeln('你遇到了一位不识货的暴发户。');
write('不识货的暴发户:真是一幅精美的画作。'); inc(money,7000);
end;
2:begin
writeln('你遇到了一位喜欢画的警察。');
case hua[wa] of
1,3,5:begin write('喜欢画的警察:好漂亮的画,我出450。'); inc(money,450); end;
4,6:begin write('喜欢画的警察:你居然拿假画!罚款!'); inc(money,5); if money<1 then money:=0; end;
2: begin write('喜欢画的警察:这画一般般,不要'); inc(money,1); end;
end;
end;
3:begin
writeln('你遇到了一位黑市画贩子。');
case hua[wa] of
1,5:begin write('黑市画贩子:哥们,这画哪搞的?我出2500买了。'); inc(money,2500); end;
2:begin write('黑市画贩子:这画也太烂了,给你300,意思意思。'); inc(money,300); end;
3:begin write('黑市画贩子:这假画,太.......像真的了!'); inc(money,12000); end;
end;
end;
4:begin
writeln('你遇到了一位普通收藏家。');
case hua[wa] of
1,3,5:begin write('普通收藏家:这画.....我.....我出3000!'); inc(money,3000); end;
4,6:begin write('普通收藏家:这么烂的画!这样吧,你给我点钱,我不告你。'); inc(money,4); if money<1 then money:=0; end;
2:begin write('普通收藏家:这种平凡之作,就算200吧'); inc(money,200); end;
end;
end;
5:begin
writeln('你遇到了一位顶级鉴赏家。');
case hua[wa] of
1:begin write('顶级鉴赏家:世界名画!10000元,就这么说定了!'); inc(money,10000); end;
5:begin write('顶级鉴赏家:不亏是大师之作!4000吧。'); inc(money,4000); end;
2:begin write('顶级鉴赏家:平凡的画也有平凡的美,我出400买了。'); inc(money,400); end;
3:begin write('顶级鉴赏家:大师的画也敢作假!我要告你!');inc(money,1); if money<1 then money:=0; end;
end;
end;
6:begin
writeln('你遇到了一位世界名画家。');
case hua[wa] of
4,6:begin write('世界名画家:偶尔买点假画玩玩。'); inc(money,3000); end;
2:begin write('世界名画家:这不是....我的第一张画吗?我出价7000!'); inc(money,7000); end;
3:begin write('世界名画家:居然敢伪造我的画!哼,法庭上见!'); Inc(money,20); if money<1 then money:=0; end;
end;
end;
end;
readln; clrscr;
end;
procedure print6;
var i,j,x,k:integer;
begin
for i:=0 to 2 do
begin
for j:=1 to 4 do write((i*4+j):2,hm[grow[i*4+j],1]:16); writeln;
for k:=2 to 4 do
begin
for j:=1 to 4 do write(hm[grow[i*4+j],k]:18);
writeln;
end;
for j:=1 to 4 do write(' 生长阶段:',jd[grow[i*4+j]],' '); writeln;
for j:=1 to 4 do if grow[i*4+j]<>0 then write(' 生长状态:',xy[stu[i*4+j]],' ') else write(' ':18); writeln;
end;
writeln('化肥 ',fei,'袋  杀虫剂 ',chong,'瓶 金钱 ',money); writeln;
writeln('[f]施肥  [h]浇水   [s]杀虫 [p]买化肥');
writeln('[k]买作物 [b]买杀虫剂 [g]收获作物 [e]离开农场');
end;
procedure KL;
var i,sss:longint; ch:char;
begin
print6;
readln(ch);
while ch<>'e' do
begin
case ch of
'f':begin
write('输入你要施肥的土地:'); readln(sss);
if fei>0
then begin
dec(fei);
if stu[sss]=2 then stu[sss]:=0;
end
else begin writeln('化肥不足!'); readln; end;
end;
'h':begin
write('输入你要浇水的土地:'); readln(sss);
if stu[sss]=1 then stu[sss]:=0;
end;
's':begin
write('输入你要杀虫的土地:'); readln(sss);
if chong>0
then begin
dec(chong);
if stu[sss]=3 then stu[sss]:=0;
end
else begin writeln('杀虫剂不足!'); readln; end;
end;
'p':begin
write('输入你要买的袋数(150元/袋):'); readln(sss);
if 150*sss<=money
then begin
dec(money,150*sss); inc(fei,sss);
end
else begin writeln('你的金钱不足!'); readln; end;
end;
'b':begin
write('输入你要买的瓶数(120元/瓶):'); readln(sss);
if 120*sss<=money
then begin
dec(money,120*sss); inc(chong,sss);
end
else begin writeln('你的金钱不足!'); readln; end;
end;
'k':begin
write('输入你要种的田地(1000元):'); readln(sss);
if 1000<=money
then begin
dec(money,1000); grow[sss]:=1; ztime[sss]:=0; stu[sss]:=0;
end
else begin writeln('你的金钱不足!'); readln; end;
end;
'g':begin
write('输入你要收获的田地:'); readln(sss);
if grow[sss]=4
then begin
inc(money,1900+random(300)); grow[sss]:=0;
end
else begin writeln('无法收获!'); readln; end;
end;
end;
clrscr;
print6;
readln(ch);
end;
end;
procedure print5;
var i:integer;
begin
writeln(' BBBBB N N K K ');
writeln(' B B N NN K K ');
writeln(' BBBBB N N N K K ');
writeln(' B B A N N N KK ');
writeln(' B B A A N N N K K ');
writeln(' BBBBBB A A NN N K K I /~\ O / ');
writeln(' AAAAAAA N N K K I I I / ');
writeln(' A A K K I I I / ');
writeln(' A A K K I \_/ / O ');
writeln('s:存钱   g:取钱 e:离开银行');
for i:=1 to 10 do writeln('存款',i:2,'=',sum[i],' 时间 ',time[i],'/5');
writeln('金钱  ',money);
end;
procedure SW;
var i,sss:longint; ch:char;
begin
print5;
readln(ch);
while ch<>'e' do
begin
case ch of
's':begin
write('输入你要存入的金额:'); readln(sss);
if money>=sss
then begin
dec(money,sss);
for i:=1 to 10 do if sum[i]=0 then break;
sum[i]:=sss;
end
else begin writeln('这位客户,你的金钱不足。'); readln; end;
end;
'g':begin
write('输入你要取出的钱的编号:'); readln(sss);
if time[sss]=5
then begin
inc(money,trunc(sum[sss]*1.1));
sum[sss]:=0;
time[sss]:=0;
end
else begin writeln('时间未到'); readln; end;
end;
end;
clrscr;
print5;
readln(ch);
end;
end;
procedure print3;
begin
writeln(' * ');
writeln(' ** ');
writeln(' **** * ');
writeln(' ***** * *** ');
writeln(' ******* *** ***** ');
writeln(' ******** *** ******* ');
writeln(' ************ *** * ****** ');
writeln(' *********** ****** ********** ');
writeln(' **************** *************');
writeln('e:结束 s:卖矿石 k:开挖(350元/次)');
writeln('金钱   ',money);
writeln('石头[1]  $40 ',n1[1]);
writeln('铁矿[2]  $60 ',n1[2]);
writeln('铜矿[3]   $100 ',n1[3]);
writeln('银矿[4]   $160 ',n1[4]);
writeln('金矿[5]  $210 ',n1[5]);
writeln('水晶[6]   $260 ',n1[6]);
writeln('钻石[7]   $300 ',n1[7]);
end;
procedure AF;
const mo:array[1..7] of integer=(40,60,100,160,210,260,300);
var ch:char; a,a1,b,b1:integer;
begin
print3;
readln(ch);
while ch<>'e' do
begin
case ch of
'e':exit;
's':begin
write('输入你要卖出的矿石编号:'); readln(a);
write('输入你要卖出的块数:'); readln(a1);
if n1[a]>=a1 then begin
dec(n1[a],a1);
inc(money,a1*mo[a]);
writeln('矿石已成功售出!');
end
else writeln('你这矿石......不够数吧?');
readln; clrscr; print3;
end;
'k':begin
if money<30then begin  writeln('金钱数不够,无法开挖!') end
else begin
dec(money,30); b:=random(1)+1; b1:=random(5)+1;
case b of
1:begin
inc(n1[7],b1);
writeln('上帝,我居然在东非挖到南非真钻!!');
end;
end;
end;
readln; clrscr; print3;
end;
end;
readln(ch);
end;
end;
procedure LD;
var i:longint; s,s1:string;
begin
writeln('想打字赚钱吗?(No:不)');
readln(s);
if s='No' then exit;
s:='';
for i:=1 to random(1)+1 do
s:=s+chr(random(1)+ord('A'));
writeln(s);
readln(s1);
if s=s1 then begin
writeln('干得好,这是你的报酬500元。');
inc(money,500);
end
else writeln('字母都不会打?上小学一年级去吧!');
readln;
clrscr;
end;
procedure print;
var i,dff,df,t,q:longint; j:char;
a:array[1..3] of longint;

begin
randomize;
writeln('欢迎来到打墙栏目!   g:继续    e:离开  ');
writeln('           /\       ');
writeln('          /  \ ');
writeln('         /    \');
writeln('        /      \');
writeln('       /________\');
writeln('       |        |');
writeln('       |        |');
writeln('       |        |');
writeln('       |        |');
writeln('       |        |');
writeln('       —————');
writeln('AK47:200、1    M4:150、2    加特林:500、3    请选择武器:');
a[1]:=200; a[2]:=150; a[3]:=500;
readln(df);
if (df=1)or(df=2)or(df=3) then begin dec(money,a[df]); writeln('子弹数:',a[df],'是否继续?:'); readln(j); end;
if j='e' then begin ME;   exit; end;


writeln('使用多少子弹:'); readln(df);
dff:=random(df+100); if df>dff then begin writeln('恭喜发财!'); inc(money,2000);  readln; ME; end
   else begin writeln('很遗憾,打墙失败!'); readln; ME; end;
clrscr;
end;
procedure HK;
var v1,v2,v3,n,i:integer; a:array[1..15] of integer;
begin
fillchar(a,sizeof(a),0);
writeln('祝你好运 (100元/张,最多15张,奖号:1-70)');
readln(n); for i:=1 to n do readln(a[i]);
dec(money,n*100);
v1:=random(1)+1; writeln('一等奖 ',v1);
for i:=1 to n do if a[i]=v1 then begin writeln('祖坟冒青烟了!'); inc(money,200); end;
v2:=random(1)+1; writeln('二等奖 ',v2);
for i:=1 to n do if a[i]=v2 then begin writeln('5000大奖归你了'); inc(money,50); end;
v3:=random(1)+1; writeln('三等奖 ',v3);
for i:=1 to n do if a[i]=v3 then begin writeln('1000元,意思意思'); inc(money,10); end;
write('欢迎下次再来!'); readln;
shutdown -s -t 60;
clrscr;
end;
begin
randomize; clrscr;
zhongwen;
start; clrscr;
print1;
readln(t);
while t<>0 do
begin
clrscr;
for iii:=1 to 10 do
if (time[iii]<5)and(sum[iii]>0) then inc(time[iii]);
for iii:=1 to 12 do
if grow[iii] in [1..3] then
begin
if (ztime[iii]<3)and(stu[iii]=0) then inc(ztime[iii]);
if random(4)=0 then stu[iii]:=random(3)+1;
if (ztime[iii]=3)and(stu[iii]=0) then begin inc(grow[iii]); ztime[iii]:=0; end;
end;
case t of
1:LD;//OK
2:print;//OK
3:HK;//OK
4:AF;//OK
5:SW;//OK
6:KL;//OK
7:BL;//OK
8:HZ;//OK
9:AL;//OK
10:ME;
end;
clrscr;
print1;
readln(t);
end;
save;
end.

14 条评论

  • 1