大家好,我马上就要到保定职业技术学院的软件技术系念书,我举行这个典礼向小伟辞行!这里,我要给小伟一个礼物就是附件里的内容,已经传到小伟的邮箱里,附件是供大家下载的,开始的时候和游戏过程中还有离开游戏都会出现错误,但是不影响游戏的运行!不过我语言表达能力不好,请你们根据下面的程序并亲子游玩给小伟写一个游戏说明!
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Image1: TImage;
Image2: TImage;
Image3: TImage;
Label1: TLabel;
Label2: TLabel;
Button5: TButton;
Button6: TButton;
Edit1: TEdit;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
procedure FormCreate(Sender: TObject);
procedure Image1Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
Characters:TStringList;//主人公列表
CharactersIndex:integer; //读取主人公数据
actorhp:array of integer;//保存主人公hp
Chinese:TStringList;//单词列表
WordIndex:integer;//读取单词数据
English:array of string;//保存英文释义
public
{ Public declarations }
end;
var
IHP:integer=600;//我的命值
AttackScore:integer=900;
SaveScore:integer=60;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
Image3.Picture.LoadFromFile('title.bmp');
Image2.Picture.LoadFromFile('JP.bmp');
Label6.Caption:=IntToStr(IHP);
Label4.Caption:=IntToStr(AttackScore);
Label5.Caption:=IntToStr(SaveScore);
Characters:=TStringList.Create;//设定主人公
Characters.Add('楚王');
Characters.Add('楚后');
Characters.Add('江平');
Characters.Add('江茹');
Setlength(actorhp,7);//限定血值长度
actorhp[0]:=4390 ;
actorhp[1]:=4300 ;
actorhp[2]:=4700 ;
actorhp[3]:=5400 ;
CharactersIndex:=-1;
Chinese:=TStringList.Create;//设定汉语词库
Chinese.Add('旷工');
Chinese.Add('财务支持');
Chinese.Add('计算机教辅设计');
Chinese.Add('借方');
Chinese.Add('股东利益');
Chinese.Add('用于生产的设备');
Chinese.Add('缺口');
Chinese.Add('经营');
Chinese.Add('冲击');
Chinese.Add('联合的');
Chinese.Add('专门技术');
Chinese.Add('新产品的推出');
Chinese.Add('邮购');
Chinese.Add('谈判');
Chinese.Add('目标');
Chinese.Add('专利');
Chinese.Add('胜任');
Chinese.Add('彻底的');
Chinese.Add('解雇');
Chinese.Add('战术');
Chinese.Add('升级');
Chinese.Add('空缺');
Chinese.Add('仓库');
Chinese.Add('有效产量');
Chinese.Add('摘要');
Chinese.Add('贿赂');
Chinese.Add('战役');
Chinese.Add('扣除');
Chinese.Add('夸张');
Chinese.Add('反馈');
Chinese.Add('配称');
Chinese.Add('冒险');
Chinese.Add('实施');
Chinese.Add('管辖权');
Chinese.Add('工厂的布局');
Setlength(English,30);//限定单词长度
English[0]:='absenteeism';
English[1]:='backing';
English[2]:='CAD';
English[3]:='debit';
English[4]:='equity';
English[5]:='facilities';
English[6]:='gap';
English[7]:='handle';
English[8]:='impact';
English[9]:='joint';
English[10]:='know-how';
English[11]:='launch';
English[12]:='mailshot';
English[13]:='negotiate';
English[14]:='objective';
English[15]:='patent';
English[16]:='qualify';
English[17]:='radically';
English[18]:='sack';
English[19]:='tactic';
English[20]:='upgrade';
English[21]:='vacancy';
English[22]:='warehouse';
English[23]:='yield';
English[24]:='abstract';
English[25]:='backhander';
English[26]:='compaign';
English[27]:='deduct';
English[28]:='exaggerate';
English[29]:='feedback';
English[30]:='gearing';
English[31]:='harzard';
English[32]:='implement';
English[33]:='jurisdiction';
English[34]:='layout';
WordIndex:=-1;
end;
procedure TForm1.Image1Click(Sender: TObject);
begin
Randomize;//初始化随机数
CharactersIndex:=Random(4);
Label1.Caption:=Characters.strings[CharactersIndex];
Label2.Caption:=IntToStr(actorhp[CharactersIndex]);//显示角色命值
case CharactersIndex of
0:Image1.Picture.LoadFromFile('emporerChu.bmp');
1:Image1.Picture.LoadFromFile('emporessChu.bmp');
2:Image1.Picture.LoadFromFile('Ping.bmp');
3:Image1.Picture.LoadFromFile('Rong.bmp');
end;
Image1.Enabled:=false;
Button1.Enabled:=true;
Button5.Enabled:=true;
Button6.Enabled:=true;
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
Randomize;//初始化随机数
WordIndex:=Random(35);
Edit1.SetFocus;
Label3.Caption:=English[WordIndex];
IHP:=IHP-AttackScore div 100;
actorhp[CharactersIndex]:=actorhp[CharactersIndex]-AttackScore;
Label6.Caption:=IntToStr(IHP);
Label2.Caption:=IntToStr(actorhp[CharactersIndex]);
if (actorhp[CharactersIndex]<=0) then
if (IHP>0) then
begin
actorhp[CharactersIndex]:=actorhp[CharactersIndex]+5*AttackScore;
Image1.Picture.LoadFromFile('enemyfailure.bmp');
Button2.Enabled:=true;
Button1.Enabled:=false;
Button5.Enabled:=false;
Button6.Enabled:=false;
end
else
begin
Image2.Picture.LoadFromFile('IFAIL.bmp');
Button3.Enabled:=true;
Button1.Enabled:=false;
Button5.Enabled:=false;
Button6.Enabled:=false;
end;
if (IHP<=0) then
begin
Image2.Picture.LoadFromFile('IFAIL.bmp');
Button3.Enabled:=true;
Button1.Enabled:=false;
Button5.Enabled:=false;
Button6.Enabled:=false;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if (Edit1.Text=English[WordIndex]) then
begin
AttackScore:=AttackScore+100;
SaveScore:=SaveScore+10;
end
else
begin
AttackScore:=AttackScore-50;
SaveScore:=SaveScore-5;
end;
Label4.Caption:=IntToStr(AttackScore);
Label5.Caption:=IntToStr(SaveScore);
Edit1.Clear;//清空文本框
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
Edit1.Clear;
Randomize;
WordIndex:=Random(20);
Label3.Caption:=English[WordIndex];
IHP:=IHP+SaveScore;
Label6.Caption:=IntToStr(IHP);
end;
procedure TForm1.Edit1Change(Sender: TObject);
begin
Label3.Caption:=Chinese.Strings[WordIndex];
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Image1.Enabled:=true;
Button2.Enabled:=false;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
Image2.Picture.LoadFromFile('JP.bmp');
Button3.Enabled:=false;
Image1.Enabled:=true;
IHP:=IHP+5*SaveScore;
Label6.Caption:=IntToStr(IHP);
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
close;
end;
end.
典礼细则:
有意见不要到这里闹,你上站务管理去提议我管不了你!先前你在这说些不中听的,我忍忍就过去,可是今天的活动,你最好当成比开国大典还隆重,要是扫了我和亲亲可爱小伟伟其中一人的兴致,二话没有,投诉完了再删帖!
大家满腹热情,我十分感谢大家,上传的附件“系统编写2”的Delphi游戏写法在
http://sl.iciba.com/circle-1535-1.shtml希望圈内的弟子们在看的同时也能在回复区跟师傅说说自己的心里话!至于这个帖子,要进行接下来的活动,就是讨论一个争议性问题,是否恢复RPG游戏的命值和真气值的不设上限的传统?
曾经有一种游戏叫棋盘类RPG,那种RPG游戏不设生命上限,可是玩起来缺少主动性,后来才出现了生命值用上限制约,这样就要增加补血机会,把金钱限制改为真气限制。但是随着近些年RPG游戏的发展,出现了风色幻想这种每回合都增加攻击的游戏,这样,我找到了RPG游戏再度不设上限的原因。我认为如果无论敌我的攻击力随着回合数的增加而增加,无论敌我命值和真气值都不设上限,这样给制作人减轻了负担,我分析过了,对玩家不造成影响。他们的目的无非是快点打败敌人,不会说一直补血补到比敌人还高就敢打了!我心里也有些矛盾这样做到底正确不正确,还听大家是否赞同开发这种RPG游戏?反正玩过系统编写1.2中的工程的就会知道我这种游戏不设血值上限有他们不同于古典棋盘类RPG和现代角色扮演类都有不同,观摩后,请给与宝贵的意见:
是否认同RPG游戏的血值不设上限?为什么?
最后由 xeon 于 2008-09-02 19:37:47编辑附件:
系统编写.rar附件:
系统编写2.rar