中易网

pascal语言可以编写小游戏吗

答案:5  悬赏:0  
解决时间 2021-01-22 05:59
pascal语言可以编写小游戏吗
最佳答案
答案是肯定的,但没有这样做过。
比如可以编写贪吃蛇之类,
制作当然需要PASCAL编程软件,不需要其他的,到时编译成可执行的文件就可以了。
全部回答
可以,要调用Pascal的单元,给个Pascal编的小游戏吧:
最好用turbo Pascal,free Pascal 也可以;
program wxtw;
uses crt;
type
zbdy=record
x,y:integer; end;
var n,i,x,y,t,sjs,js,gx,gy,sf:integer; ml:char;
zb: array [1..13] of zbdy;
begin
randomize;
zb[1].x:=15; zb[1].y:=15;
clrscr;
gotoxy(zb[1].x,zb[1].y);
write('☆');
delay(100);
zb[2].x:=1; zb[2].y:=20;
gotoxy(zb[2].x,zb[2].y);
write('◎');
zb[10].x:=18; zb[10].y:=20;
gotoxy(zb[10].x,zb[10].y);
write('◎');
zb[11].x:=36; zb[11].y:=20;
gotoxy(zb[11].x,zb[11].y);
write('◎');
zb[12].x:=53; zb[12].y:=20;
gotoxy(zb[12].x,zb[12].y);
write('◎');
zb[3].x:=1; zb[3].y:=5;
gotoxy(zb[3].x,zb[3].y);
write('◎');
zb[4].x:=18; zb[4].y:=5;
gotoxy(zb[4].x,zb[4].y);
write('◎');
zb[5].x:=36; zb[5].y:=5;
gotoxy(zb[5].x,zb[5].y);
write('◎');
zb[6].x:=53; zb[6].y:=5;
gotoxy(zb[6].x,zb[6].y);
write('◎');
zb[7].x:=1; zb[7].y:=9;
gotoxy(zb[7].x,zb[7].y);
write('△');
zb[8].x:=7; zb[8].y:=23;
gotoxy(zb[8].x,zb[8].y);
write('△');
zb[9].x:=16; zb[9].y:=4;
gotoxy(zb[9].x,zb[9].y);
write('△');
zb[13].x:=24; zb[13].y:=11;
gotoxy(zb[13].x,zb[13].y);
write('△');
gotoxy(zb[1].x+8,zb[1].y-2);
write('五星大逃亡1.0版');
gotoxy(zb[1].x+3,zb[1].y-1);
write('回车键开始游戏 作者:千觞醉红尘 QQ:364182027');
gotoxy(zb[1].x+3,zb[1].y);
write('操作 上:I 下:K 左:J 右:L 退出:Q ');
gotoxy(zb[1].x+3,zb[1].y+1);
write('注意:碰到边框程序会自动退出,因为时间原因来不及修复!');
readln;
repeat
if keypressed=true then begin
ml:=readkey;
case ml of
'i': begin
zb[1].y:=zb[1].y-1;
clrscr;
gotoxy(zb[1].x,zb[1].y);write('☆');
end;
'k': begin
zb[1].y:=zb[1].y+1;
clrscr;
gotoxy(zb[1].x,zb[1].y);
write('☆');
end;
'j' :begin
zb[1].x:=zb[1].x-1;
clrscr;
gotoxy(zb[1].x,zb[1].y);
write('☆');
end;
'l' :begin
zb[1].x:=zb[1].x+1;
clrscr;
gotoxy(zb[1].x,zb[1].y);
write('☆');
end; end; end else begin
clrscr;
if zb[2].x<=70 then
zb[2].x:=zb[2].x+1 else zb[2].x:=1;
gotoxy(zb[2].x,zb[2].y);
write('◎');
if zb[3].x<=70 then
zb[3].x:=zb[3].x+1 else zb[3].x:=1;
gotoxy(zb[3].x,zb[3].y);
write('◎');
if zb[4].x<=70 then
zb[4].x:=zb[4].x+1 else zb[4].x:=1;
gotoxy(zb[4].x,zb[4].y);
write('◎');
if zb[5].x<=70 then
zb[5].x:=zb[5].x+1 else zb[5].x:=1;
gotoxy(zb[5].x,zb[5].y);
write('◎');
if zb[6].x<=70 then
zb[6].x:=zb[6].x+1 else zb[6].x:=1;
gotoxy(zb[6].x,zb[6].y);
write('◎');
if zb[10].x<=70 then
zb[10].x:=zb[10].x+1 else zb[10].x:=1;
gotoxy(zb[10].x,zb[10].y);
write('◎');
if zb[11].x<=70 then
zb[11].x:=zb[11].x+1 else zb[11].x:=1;
gotoxy(zb[11].x,zb[11].y);
write('◎');
if zb[12].x<=70 then
zb[12].x:=zb[12].x+1 else zb[12].x:=1;
gotoxy(zb[12].x,zb[12].y);
write('◎');
gotoxy(zb[1].x,zb[1].y);
write('☆');
sjs:=random(11); if sjs=2 then begin
if zb[7].x<zb[1].x then zb[7].x:=zb[7].x+1;
if zb[7].x>zb[1].x then zb[7].x:=zb[7].x-1;
if zb[7].y<zb[1].y then zb[7].y:=zb[7].y+1;
if zb[7].y>zb[1].y then zb[7].y:=zb[7].y-1;
gotoxy(zb[7].x,zb[7].y);
if ((zb[8].x=zb[7].x)) and ((zb[8].y=zb[7].y)) or ((zb[9].x=zb[8].x) and (zb[9].y=zb[8].y)) or ((zb[7].x=zb[9].x) and (zb[7].y=zb[9].y))
then gotoxy(zb[7].x-1,zb[7].y-1);
write('△'); end else begin gotoxy(zb[7].x,zb[7].y);
write('△'); end;
sjs:=random(11); if sjs=0 then begin
if zb[8].x<zb[1].x then zb[8].x:=zb[8].x+1;
if zb[8].x>zb[1].x then zb[8].x:=zb[8].x-1;
if zb[8].y<zb[1].y then zb[8].y:=zb[8].y+1;
if zb[8].y>zb[1].y then zb[8].y:=zb[8].y-1;
gotoxy(zb[8].x,zb[8].y);
if ((zb[8].x=zb[7].x)) and ((zb[8].y=zb[7].y)) or ((zb[9].x=zb[8].x) and (zb[9].y=zb[8].y)) or ((zb[7].x=zb[9].x) and (zb[7].y=zb[9].y))
then gotoxy(zb[8].x-1,zb[8].y-1);
write('△'); end else begin gotoxy(zb[8].x,zb[8].y);
write('△'); end;
sjs:=random(11); if sjs=5 then begin
if zb[9].x<zb[1].x then zb[9].x:=zb[9].x+1;
if zb[9].x>zb[1].x then zb[9].x:=zb[9].x-1;
if zb[9].y<zb[1].y then zb[9].y:=zb[9].y+1;
if zb[9].y>zb[1].y then zb[9].y:=zb[9].y-1;
gotoxy(zb[9].x,zb[9].y);
if ((zb[8].x=zb[7].x)) and ((zb[8].y=zb[7].y)) or ((zb[9].x=zb[8].x) and (zb[9].y=zb[8].y)) or ((zb[7].x=zb[9].x) and (zb[7].y=zb[9].y))
then gotoxy(zb[9].x-1,zb[9].y-1);
write('△'); end else begin gotoxy(zb[9].x,zb[9].y);
write('△'); end;
sjs:=random(18); if sjs=5 then begin
if zb[13].x<zb[1].x then zb[13].x:=zb[13].x+1;
if zb[13].x>zb[1].x then zb[13].x:=zb[13].x-1;
if zb[13].y<zb[1].y then zb[13].y:=zb[13].y+1;
if zb[13].y>zb[1].y then zb[13].y:=zb[13].y-1;
gotoxy(zb[13].x,zb[13].y);
if ((zb[8].x=zb[7].x)) and ((zb[8].y=zb[7].y)) or ((zb[9].x=zb[8].x) and (zb[9].y=zb[8].y)) or ((zb[7].x=zb[9].x) and (zb[7].y=zb[9].y))
then gotoxy(zb[13].x-1,zb[13].y-1);
write('△'); end else begin gotoxy(zb[13].x,zb[13].y);
write('△'); end;
js:=js+1;
if js<1000 then begin
gotoxy(1,25); write('离过关神符出现还有',1000-js); end else begin
gotoxy(1,25); write(' 过关神符已出现'); end;
if js=1000 then begin
gx:=random(10)+1; gy:=random(10)+1;
gotoxy(gx,gy);
write('关'); sf:=2; end;
if sf=2 then begin gotoxy(gx,gy);
write('关'); end;
for i:=2 to 13 do if (zb[1].x=zb[i].x) and (zb[1].y=zb[i].y) then begin
clrscr;
writeln('逃亡失败!回车键退出');
readln;
halt; end;
if (zb[1].x=gx) and (zb[1].y=gy) then begin
clrscr;
writeln('逃亡成功!回车键退出');
readln;
halt; end;
delay(20); end;
until ml='q';
end.
当然可以,只不过不容易调Dos
可以!但是要用基于PASCAL语言的delphi软件,、
这款软件可以设计窗口,参数,引入控件等一系列你想要的功能
只是没有官方的汉化版,不管怎样,这都是个不错的选择
可以
以前写过最简单的石头剪刀布,猜数
有人用 tp写过一些
有需要请留下邮箱
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
通过车次号能查到长途汽车的车牌号吗
地暖的优缺点有哪些,如何选择地暖?
房产继承权公证费用需要多少,需要什么材料?
德市是那个省
求问最新英国房产税是多少?海外置业划算吗
为什么没有100%的黄金?
宝宝 屁股上长了好多红点点,有什么方法能好
[image]20 手机有没有办让让魅蓝2手机降级.手
有谁知道住房公积金提取计算方法?
五个月婴儿怎么抽搐,当时年龄:宝宝1个月
整体橱柜在什么时候安装比较好?
多吃米饭对身体有什么好处呢?
28个月女宝宝我说什么她听不明白话正常吗?
儿童烫伤夜间如何护理?
哪位亲知道宜昌小户型楼盘价格怎么样?
推荐资讯
职业调查:若是你,你如何选择
今世缘酒店(张家口蔚县)地址好找么,我有些事
电脑发明人是谁?
一共只有四层楼,按风水选几楼好
请问最适合年轻人的手机推荐哪些好?
gmod这是什么意思 该怎么办
什么人不适合吃芦笋
古方生发液怎么样用才好啊?
用互通有无造句
小孩子乘飞机机票打折吗?
外伤后脑脂肪栓塞 得了外伤后脑脂肪栓塞应该
红楼梦中“慧紫鹃辞情试莽玉”那回,贾母为什
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?