‘壹’ 给我一个用free pascal编译的游戏程序
program xcvbn;
var
plife,plifemax,patt,pre:integer;
gr,ex,exmax:integer;
alife,alife1,aatt,are:integer;
name,fname:string;
na:text;
code,co:string;
dz:integer;
money:longint;
mp,mpmax:integer;
red,blue,knife,clothes:integer;
i:integer;
god:array[1..100] of 1..7;
godthing:integer;
procere bag;
var
obj:integer;
begin
writeln;
writeln;
writeln('百宝箱:');
writeln('1:红色药丸: ',red,' 2:兰色药丸: ',blue,' 3:神剑:',knife,' 4:防身衣:',clothes,' 5;离开');
writeln;
writeln;
writeln('请选择:');
repeat
readln( obj);
case obj of
1:begin
if red>0 then begin
red:=red-1;
plife:=plife+40;
if plife>plifemax then plife:=plifemax;
end;
end;
2:begin
if blue>0 then begin
blue:=blue-1;
mp:=mp+40;
if mp>mpmax then mp:=mpmax;
end;
end;
3:begin
if knife>0 then begin
knife:=knife-1;
patt:=patt+15;
end;
end;
4:begin
if clothes>0 then begin
clothes:=clothes-1;
pre:=pre+15;
end;
end;
end;
writeln;
writeln;
writeln;
until obj=5;
exit;
end;
procere bagplus(sh:integer);
begin
case sh of
1:red:=red+1;
2:blue:=blue+1;
3:knife:=knife+1;
4:clothes:=clothes+1;
end;
end;
procere shop;
var
ob:integer;
begin
writeln;
writeln;
writeln('欢迎来到商店!');
writeln(' 1:红色药丸 2:兰色药丸 3:神剑 4:防身衣 5:离开');
writeln(' $15 $15 $30 $30');
writeln;
writeln('你想买什么?');
writeln;
repeat
readln(ob);
case ob of
1:begin
if money>=15 then
begin
money:=money-15;
bagplus(1);
writeln('OK!');
writeln(' 1:红色药丸 2:兰色药丸 3:神剑 4:防身衣 5:离开');
writeln(' $15 $15 $30 $30');
writeln;
writeln('你想买什么?');
writeln;
end
else writeln('钱不够啊,老大!');
end;
2:begin
if money>=15 then
begin
money:=money-15;
bagplus(2);
writeln('OK!');
writeln(' 1:红色药丸 2:兰色药丸 3:神剑 4:防身衣 5:离开');
writeln(' $15 $15 $30 $30');
writeln;
writeln('你想买什么?');
writeln;
end
else writeln('钱不够啊,老大!');
end;
3:begin
if money>=30 then
begin
money:=money-30;
bagplus(3);
writeln('OK!');
writeln(' 1:红色药丸 2:兰色药丸 3:神剑 4:防身衣 5:离开');
writeln(' $15 $15 $30 $30');
writeln;
writeln('你想买什么?');
writeln;
end
else writeln('钱不够啊,老大!');
end;
4:begin
if money>=30 then
begin
money:=money-30;
bagplus(4);
writeln('OK!');
writeln(' 1:红色药丸 2:兰色药丸 3:神剑 4:防身衣 5:离开');
writeln(' $15 $15 $30 $30');
writeln;
writeln('你想买什么?');
writeln;
end
else writeln('钱不够啊,老大!');
end;
end;
until ob=5;
exit;
end;
procere storm;
var
ka,kp:integer;
begin
if mp>=30 then begin
writeln;
writeln;
writeln('破天一剑!!!!!!!!!!');
writeln(' 怪物生命:',alife1);
writeln('你的生命:',plife,'/',plifemax);
kp:=(random(patt)-random(are))*33; ;
if kp>0 then begin
writeln('攻击!!怪物得到',kp,' 伤害!?!');
alife1:=alife1-kp;
end
else begin
writeln('你无法攻击');
end;
ka:=aatt-pre+random(aatt div 4)-aatt div 2;
if ka>0 then begin
writeln('怪物攻击!!你得到',ka,' 伤害!?!');
plife:=plife-ka;
end
else begin
writeln( ' 怪物无法攻击');
end;
mp:=mp-30;
end
else writeln('魔力不够!!');
end;
procere wall;
var
ka,kp:integer;
begin
if mp>=15 then begin
writeln;
writeln;
writeln('你用雷光!!!!');
writeln('怪物生命:',alife1);
writeln('你的生命:',plife,'/',plifemax);
kp:=(random(patt)-random(are))*26;
if kp>0 then begin
writeln('攻击!!怪物得到',kp,' 伤害!?!');
alife1:=alife1-kp;
end
else begin
writeln('你输了');
end;
ka:=aatt-pre+random(aatt div 4)-aatt div 2;
if ka>0 then begin
writeln('怪物攻击!!你得到',ka,' 伤害!?!');
plife:=plife-ka;
end
else begin
writeln( ' 你赢了!!!!!');
end;
mp:=mp-10;
end
else writeln('生命不够!!');
end;
procere ball;
var
ka,kp:integer;
begin
if mp>=5 then begin
writeln;
writeln;
writeln('你用粉碎神拳!!!');
writeln('怪物生命:',alife1);
writeln('你的生命:',plife,'/',plifemax);
kp:=(random(patt)-random(are))*20;
if kp>0 then begin
writeln('攻击!!怪物得到',kp,' 伤害!?!');
alife1:=alife1-kp;
end
else begin
writeln('你输了');
end;
ka:=aatt-pre+random(aatt div 4)-aatt div 2;
if ka>0 then begin
writeln('怪物攻击!!你得到',ka,' 伤害!?!');
plife:=plife-ka;
end
else begin
writeln( ' 你赢了!!!!!');
end;
mp:=mp-10;
end
else writeln('生命不够!!');
end;
procere magic;
var
ma:integer;
begin
writeln;
writeln;
writeln('1. 粉碎神拳 [5] 2. 雷光 [15] 3.破天一剑 [30]');
writeln('魔法值: ',mp,'/',mpmax);
read(ma);
case ma of
1:ball;
2:wall;
3:storm;
end;
end;
procere plusmoney;
var
money1:longint;
begin
money1:=random(alife);
writeln;
writeln;
writeln('你得到 $',money1);
money:=money1+money;
end;
procere load;
begin
close(na);
writeln;
writeln;
writeln('你的名字: ');
readln;
readln(name);
fname:=concat(name,'.txt');
assign(na,fname);
reset(na);
readln(na,code);
writeln('输入密码:');
readln(co);
if co<>code then
begin
writeln('密码错误');
readln;
halt;
end;
readln(na,plife);
readln(na,plifemax);
readln(na,patt);
readln(na,pre);
readln(na,ex);
readln(na,exmax);
readln(na,gr);
readln(na,money);
readln(na,mp);
readln(na,mpmax);
readln(na,red);
readln(na,blue);
readln(na,knife);
readln(na,clothes);
end;
procere save;
var i:integer;
begin
close(na);
assign(na,fname);
rewrite(na);
writeln(na,code);
writeln(na,plife);
writeln(na,plifemax);
writeln(na,patt);
writeln(na,pre);
writeln(na,ex);
writeln(na,exmax);
writeln(na,gr);
writeln(na,money);
writeln(na,mp);
writeln(na,mpmax);
writeln(na,red);
writeln(na,blue);
writeln(na,knife);
writeln(na,clothes);
writeln(na,godthing);
for i:=1 to godthing do writeln(god[i]);
writeln;
writeln;
writeln('save successfully');
writeln;
writeln;
end;
procere see;var i:integer;
begin
writeln('你的名字: ',name);
writeln('你的生命: ',plife,'/',plifemax);
writeln('攻击力: ',patt);
writeln('防御力: ',pre);
writeln('经验: ',ex);
writeln('升级经验',exmax);
writeln('级数: ',gr);
writeln('钞票:',money);
writeln('魔力: ',mp,'/',mpmax);
write('光之七神器:');for i:=1 to godthing do write(god[i],' ');
writeln;
writeln('百宝箱:');
writeln('红色药丸:',red);
writeln('兰色药丸:',blue);
writeln('神剑:' ,knife);
writeln('防身衣:',clothes);
writeln;
writeln;
end;
procere people;
begin
plife:=100;
plifemax:=100;
patt:=20;
pre:=15;
money:=100;
gr:=1;
ex:=0;
exmax:=20;
mp:=50;
mpmax:=50;
red:=5;
blue:=5;
knife:=0;
clothes:=0;
end;
procere old;
var i:integer;
begin
writeln('输入你的名字 :');
readln;
readln(name);
fname:=concat(name,'.txt');
assign(na,fname);
reset(na);
readln(na,code);
writeln('输入密码:');
readln(co);
if co<>code then
begin
writeln('密码错误!');
readln;
halt;
end;
readln(na,plife);
readln(na,plifemax);
readln(na,patt);
readln(na,pre);
readln(na,ex);
readln(na,exmax);
readln(na,gr);
readln(na,money);
readln(na,mp);
readln(na,mpmax);
readln(na,red);
readln(na,blue);
readln(na,knife);
readln(na,clothes);
readln(na,godthing);
for i:=1 to godthing do readln(god[i]);
end;
procere new;
var i:integer;
begin
writeln( ' 输入你的名字: ');
readln;
readln(name);
if name<>'0' then begin
fname:=concat(name,'.txt');
assign(na,fname);
rewrite(na);
writeln('输入密码');
readln(code);
writeln(na,code);
people;
writeln(na,plife);
writeln(na,plifemax);
writeln(na,patt);
writeln(na,pre);
writeln(na,ex);
writeln(na,exmax);
writeln(na,gr);
writeln(na,money);
writeln(na,mp);
writeln(na,mpmax);
writeln(na,red);
writeln(na,blue);
writeln(na,knife);
writeln(na,clothes);
writeln(godthing);
for i:=1 to godthing do writeln(god[i]);
end
else halt;
end;
procere denlu;
var
dl:byte;
begin
writeln('-------------------自制的游戏不要笑----------------------');
writeln('-----------------------仅供娱乐----------------------');
writeln('1: 新游戏 2:老游戏 3:退出');
read(dl);
case dl of
1:new;
2:old;
3:halt;
end;
end;
procere godthing2;
var
qi:integer;
begin
randomize;
qi:=random(50);
case qi of
0,8:begin
writeln('得到光之七神具----1:辟天宝剑');
writeln('攻击增加60点!!!');
patt:=patt+60;
godthing:=godthing+1;
god[godthing]:=1;
end;
3,16:begin
writeln('得到光之七神具----2:开地玄远剑');
writeln('攻击力*2');
patt:=patt*2;
godthing:=godthing+1;
god[godthing]:=2;
end;
end;
end;
procere grow;
begin
if ex>=exmax then begin
plife:=plifemax+50;
plifemax:=plife;
patt:=patt+15;
pre:=pre+15;
mpmax:=mpmax+30;
mp:=mpmax;
ex:=0;
gr:=gr+1;
exmax:=exmax+100;
writeln('升级!!');
godthing2;
writeln;
writeln;
end;
end;
procere experience;
begin
randomize;
ex:=ex+random(alife)+30;
grow;
end;
procere attack;
var
win,lost,run:boolean;
ch,ff,kp,ka:integer;
procere winner;
begin
win:=false;
if alife1<1 then win :=true;
end;
procere loster;
begin
lost:=false;
if plife<1 then lost:=true;
end;
begin
win:=false;
lost:=false;
run:=false;
writeln('1:攻击; 2:逃跑');
writeln('你的生命:',plife,'/',plifemax);
writeln('你的魔法值: ',mp,'/',mpmax);
readln(ch);
if ch=1 then begin
alife1:=alife;
repeat
writeln;
writeln;
writeln('1:物理¥攻击; 2:魔法¥攻击; 3:用百宝箱; 4.逃跑 ');
read(ff);
case ff of
1:begin
writeln;
writeln;
writeln;
writeln;
{}
kp:=random(patt)-random(are);
if kp>0 then begin
writeln('你攻击!!怪物受到',kp,' 伤害');
alife1:=alife1-kp;
end
else begin
writeln('你输了');
end;
ka:=random(aatt)-random(pre);
if ka>0 then begin
writeln('怪物攻击,你得到',ka,' 伤害');
plife:=plife-ka;
end
else begin
writeln( '怪物输了');
end;
writeln(' 怪物生命:',alife1);
writeln('你生命:',plife,'/',plifemax);
writeln('你的魔法值: ',mp,'/',mpmax);
end;
2:begin
magic;
end;
3:begin
bag;
end;
4:begin
run:=true;
writeln('逃跑失败');
end;
end;
winner;
loster;
until win or lost or run;
if win then begin experience; plusmoney; writeln('你赢了!!!'); writeln; end;
if lost then
begin
writeln('输了');
readln;
halt;
end;
end
else exit;
end;
procere animal;
begin
alife:=plifemax+random(50);
if plifemax=100 then begin
aatt:=15;
are:=10;
end
else begin
aatt:=aatt+10;
are:=are+7;
end;
attack;
end;
procere meet;
var
cc:integer;
begin
randomize;
cc:=random(100);
if cc<40 then begin
writeln;
writeln('你遇见一个怪物');
animal;
end
else writeln('没碰到.......');
end;
procere choose;
begin
writeln('1:找怪物; 2:去商店; 3:读取; 4:保存; 5:退出 6:查看 7:用百宝箱');
read(dz);
case dz of
1:meet;
2:shop;
3:load;
4:save;
6:see;
7:bag;
end;
end;
begin
denlu;
while dz<>5 do
choose;
close(na);
end.
魔兽
‘贰’ 游戏编程
re more disputes to come," he added.
‘叁’ 游戏一般用什么编程语言开发
一般的大型游戏开发不是单一用某一种软件语言的问题。一个大型游戏的开发需要非常大的团队用各种各样的语言和工具来完成。
总结一下主要有C/C++,汇编语言,着色器语言,脚本语言,高效的开发语言C#或java。
首先一般的游戏开发架构(Windows平台)从底到顶一般是Direct X™——游戏引擎——游戏。
大型游戏开发的大部分工作其实都是在编写游戏脚本,脚本是大型游戏得以如此高速开发和发布的主要原因。脚本化的开发让游戏开发摆脱了硬编码的种种弊端,让游戏内容可以轻易的修改和调试。比如比较流行的语言。,然后编写脚本将其组织成一个游戏,不需要什么底层的编程语言。
Windows平台比较流行的方法是使用最新版本的Visual Studio,显卡厂商如NVIDIA也会为VS开发一些插件来简化显卡编程和调试。(3)游戏程序编译扩展阅读:
汇编语言
为了克服机器语言难读、难编、难记和易出错的缺点,人们就用与代码指令实际含义相近的英文缩写词、字母和数字等符号来取代指令代码(如用ADD表示运算符号“+”的机器代码),于是就产生了汇编语言。所以说,汇编语言是一种用助记符表示的仍然面向机器的计算机语言。汇编语言亦称符号语言。
汇编语言由于是采用了助记符号来编写程序,比用机器语言的二进制代码编程要方便些,在一定程度上简化了编程过程。汇编语言的特点是用符号代替了机器指令代码。而且助记符与指令代码一一对应,基本保留了机器语言的灵活性。使用汇编语言能面向机器并较好地发挥机器的特性,得到质量较高的程序。
汇编语言中由于使用了助记符号,用汇编语言编制的程序送入计算机,计算机不能象用机器语言编写的程序一样直接识别和执行,必须通过预先放入计算机的 “汇编程序“的加工和翻译,才能变成能够被计算机识别和处理的二进制代码程序。
用汇编语言等非机器语言书写好的符号程序称源程序,运行时汇编程序要将源程序翻译成目标程序。目标程序是机器语言程序,它一经被安置在内存的预定位置上,就能被计算机的CPU处理和执行。
汇编语言像机器指令一样,是硬件操作的控制信息,因而仍然是面向机器的语言,使用起来还是比较繁琐费时,通用性也差。汇编语言是低级语言。但是,汇编语言用来编制系统软件和过程控制软件,其目标程序占用内存空间少,运行速度快,有着高级语言不可替代的用途。
高级语言
不论是机器语言还是汇编语言都是面向硬件的具体操作的,语言对机器的过分依赖,要求使用者必须对硬件结构及其工作原理都十分熟悉,这对非计算机专业人员是难以做到的,对于计算机的推广应用是不利的。计算机事业的发展,促使人们去寻求一些与人类自然语言相接近且能为计算机所接受的语意确定、规则明确、自然直观和通用易学的计算机语言。
这种与自然语言相近并为计算机所接受和执行的计算机语言称高级语言。高级语言是面向用户的语言。无论何种机型的计算机,只要配备上相应的高级语言的编译或解释程序,则用该高级语言编写的程序就可以通用。
如今被广泛使用的高级语言有BASIC、PASCAL、C、COBOL、FORTRAN、LOGO以及VC、VB等。这些语言都是属于系统软件。
计算机并不能直接地接受和执行用高级语言编写的源程序,源程序在输入计算机时,通过“翻译程序”翻译成机器语言形式的目标程序,计算机才能识别和执行。这种“翻译”通常有两种方式,即编译方式和解释方式。
编译方式是:事先编好一个称为编译程序的机器语言程序,作为系统软件存放在计算机内,当用户由高级语言编写的源程序输入计算机后,编译程序便把源程序整个地翻译成用机器语言表示的与之等价的目标程序,然后计算机再执行该目标程序,以完成源程序要处理的运算并取得结果。解释方式是:源程序进入计算机时,解释程序边扫描边解释作逐句输入逐句翻译,计算机一句句执行,并不产生目标程序。
PASCAL、 FORTRAN、COBOL等高级语言执行编译方式;BASIC语言则以执行解释方式为主;而PASCAL、C语言是能书写编译程序的高级程序设计语言。每一种高级(程序设计)语言,都有自己人为规定的专用符号、英文单词、语法规则和语句结构(书写格式)。高级语言与自然语言(英语)更接近,而与硬件功能相分离(彻底脱离了具体的指令系统),便于广大用户掌握和使用。高级语言的通用性强,兼容性好,便于移植
‘肆’ 知道游戏的源代码,怎么通过c++编译,最终变成可以运行的exe格式
你去下载个Microsoft Visual_Studio_6.0 来装上.
对了建个项目. 把代码复制进去生成一遍.
.EXE文件就在根目录下.
我没搞过C++ 想到原理应该是一样的.
只是建议下.你去试下. 行再给我分吧 呵呵
我现在机子上没装那工具. 具体也记不得了.
‘伍’ 易语言怎么编译游戏
碰到我是你的运气~~~网络知道里很少人问关于Game Maker的问题的(答的人自然也少)。
英文版里,当游袱川递沸郛度店砂锭棘戏做完之后,选择File -> Executable,在出现的框中输入游戏名称即可。
如果你用的是中文版,大概位置是“保存”的下面,“发布”的上面。
‘陆’ 主机游戏与手机游戏在程序编译方面有什么区别
首先他们的处理能力就不一样,电脑的处理能力更高速,啊,手机处理的速度更慢,所以游戏编程方面处理速度不一样。就处理能力和性能而言,他可以高速发送和接收数字数据。
‘柒’ Game Maker 怎么把做好的游戏编译
碰到我是你的运气~~~网络知道里很少人问关于Game Maker的问题的(答的人自然也少)。
英文版里,当游戏做完之后,选择File -> Executable,在出现的框中输入游戏名称即可。
如果你用的是中文版,大概位置是“保存”的下面,“发布”的上面。
‘捌’ 如何编程一个最简单游戏代码
利用随机数猜大小,内容如下:
1、代码的第一行,是一个include语句。没有它我们的程序会编译不过。有了它就是告诉编译器在对代码进行编译之前,必须要包含程序需要的文件。这里的stdio.h就是我们需要的头文件。
2、代码第二行是一个main函数,这个main函数的返回值是一个int整型数据。刚开始学习编程的时候我们可以认为程序运行的时候是从main函数开始的。后续会专门给大家做一个介绍向大家说明在main函数之前还做了哪些事情。
3、每个函数都用一对“{}”进行包含,表示着函数体的开始和结束,当然后面说到控制语句的时候它还表示一段控制语句的开始和结束。
4、main函数中调用了一个printf函数。它是用来向控制台输出我们想要的内容。printf的函数定位格式为:int printf(constchar*format,...)。format中定义了输出内容和格式。
5、return函数执行完后。在退出函数体之前,会将函数进行返回。return后的内容根据函数返回值定义而定。在本段程序中返回的是整型数据0。
‘玖’ 电脑游戏程序的编译需要哪些技能
当然需要熟练掌握一门语言,当然,这门语言是什么无所谓,比如C,C++,VB,JAVA,都可以
学会了语言,不代表就能写游戏了,更多的还要看你的程序思想,程序靠的是思想,写俄罗斯方块用的函数同样写CS也许也会用到,就看你的策划,组织能力如何了
而程序的思想必须在实践中慢慢获得,这是没有捷径的.
看别人的代码也是获取思想的好办法,别人的代码中有很多值得你学习的精华
建议多阅读别人的代码
好了,祝你成功哦!
‘拾’ 如何编辑一个游戏的exe文件
如何编辑成一个可以直接运行的exe文件
如何编辑成一个可以直接运行的exe文件?
运行vb.net开发的程序要安装.net framework
运行java开发的要有JDK
如何让生成的exe文件直接在另外的机器上运行而不要再安装其他东西呢?
就像现在电脑里安装的程序都不需要再安装.net framework 之类的就能运
java应用程序的class是中间代码,不能直接运行,需要jre来解释执行,同时,jre中包含很多java应用程序所依赖的基本功能的class和解释执行这些class需要的与系统平台相关的真正本地可执行代码,所以,java的class离不开jre。
类似地:.net应用程序的那些(部分或全部)貌似exe和dll的文件,也都是中间代码,不能直接运行,需要.net framework来解释执行,同时,.net framework中包含很多.net应用程序所依赖的基本功能的.net中间代码和解释执行这些中间代码需要的与系统平台相关的真正本地可执行代码,所以,.net应用程序离不开.net framework。
之所以不需要再安装.net framework和jre是因为操作系统中已经安装了合适的.net framework和jre。如果没有安装或安装的版本不适合,同样不能运行或是运行会出错。
.net framework是ms windows家族的一员,和windows是血脉相连,必须通过安装进行大量的注册、关联、配置等等处理才能使用,所以,要么事先安装要么在你的.net应用程序的安装程序中自动安装,总之要安装。
jre和操作系统的关系没有.net那样复杂,既可以通过安装成为公用的jre,也可以不用安装而作为私有的jre随java程序一起发布。
java应用程序的class是中间代码,不能直接运行,需要jre来解释执行,同时,jre中包含很多java应用程序所依赖的基本功能的class和解释执行这些class需要的与系统平台相关的真正本地可执行代码,所以,java的class离不开jre。类似地:.net应用程序的那些(部分或全部)貌似exe和dll的文件,也都是中间代码,不能直接运行,需要.net framework来解释执行,同时,.net framework中包含很多.net应用程序所依赖的基本功能的.net中间代码和解释执行这些中间代码需要的与系统平台相关的真正本地可执行代码,所以,.net应用程序离不开.net framework。之所以不需要再安装.net framework和jre是因为操作系统中已经安装了合适的.net framework和jre。如果没有安装或安装的版本不适合,同样不能运行或是运行会出错。.net framework是ms windows家族的一员,和windows是血脉相连,必须通过安装进行大量的注册、关联、配置等等处理才能使用,所以,要么事先安装要么在你的.net应用程序的安装程序中自动安装,总之要安装。jre和操作系统的关系没有.net那样复杂,既可以通过安装成为公用的jre,也可以不用安装而作为私