回合rpg源码
1. 求一个简单RPG游戏的代码,java编写的
packagecom.lxi;
importjava.io.BufferedReader;
importjava.io.InputStreamReader;
publicclassRpg{
@SuppressWarnings("unchecked")
publicstaticvoidmain(String[]args)throwsException{
System.out.println("在这里输入两个人物进行PK,以英文逗号分隔:[BM,DH,MK]");
BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));
Class<Person>c1;
Class<Person>c2;
try{
Stringtemp=br.readLine();
String[]str=temp.split(",");
if(str.length!=2){
thrownewException("输入格式有误,按默认PK");
}
c1=(Class<Person>)Class.forName("com.lxi."
+str[0].toUpperCase());
c2=(Class<Person>)Class.forName("com.lxi."
+str[1].toUpperCase());
}catch(Exceptione){
//TODOAuto-generatedcatchblock
c1=(Class<Person>)Class.forName("com.lxi.BM");
c2=(Class<Person>)Class.forName("com.lxi.DH");
}
try{
Personp1=c1.newInstance();
Personp2=c2.newInstance();
longtime=System.currentTimeMillis();
longnextTime1=(long)(time+p1.coldTime*1000);//
longnextTime2=(long)(time+p2.coldTime*1000);//发动攻击的时间
System.out.println("---游戏开始---");
while(true){
longcurrenTime=System.currentTimeMillis();
if(nextTime1<currenTime){//时间到则发动攻击
p1.hit(p2);
nextTime1+=p1.coldTime*1000+p1.waitTime*1000;//下次攻击时间=冷却时间+被晕眩时间
p1.waitTime=0;//回合结束,重置被晕眩时间为0
}
if(nextTime2<currenTime){
p2.hit(p1);
nextTime2+=p2.coldTime*1000+p2.waitTime*1000;
p2.waitTime=0;
}
}
}catch(ClassCastExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}catch(InstantiationExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}catch(IllegalAccessExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}catch(Exceptione){
e.printStackTrace();
}
}
}
packagecom.lxi;
importjava.util.Random;
classBMextendsPerson{
publicBM(){
val=650;
coldTime=1.5;
fight=40;
chanceHit=3;
chanceDefense=3;
waitTime=0;
}
intcount=0;//防御技能发动的次数
inttemp=40;//攻击力,值同fight
booleanhitFlag=false;
booleandefenseFlag=false;
Randomrand=newRandom();
publicvoidhit(Personp){
if(rand.nextInt(10)<chanceHit){
fight=fight*2;//发动双倍攻击
hitFlag=true;
}
inthurt=p.defense(this);
p.val=p.val-hurt;
fight=temp;//还原为单倍攻击
if(p.val<=0){
System.out.println(this.getClass().getSimpleName()+"胜出!");
System.exit(0);
}
System.out.println(this.getClass().getSimpleName()+"攻击"
+p.getClass().getSimpleName()+","
+this.getClass().getSimpleName()
+(this.hitFlag?"发动攻击技能":"未发动攻击技能")
+p.getClass().getSimpleName()
+(this.defenseFlag?"发动防御技能":"未发动防御技能")
+this.getClass().getSimpleName()+":"+this.val+","
+p.getClass().getSimpleName()+":"+p.val);
hitFlag=false;
defenseFlag=false;
}
publicintdefense(Personp){
if(rand.nextInt(10)<chanceDefense){
if(count!=0){
p.val=p.val-p.fight;
count++;
defenseFlag=true;
if(p.val<=0){
System.out.println(this.getClass().getSimpleName()+"胜出!");
System.exit(0);
}
}
}
returnp.fight;
}
}
classMKextendsPerson{
publicMK(){
val=700;
coldTime=2.5;
fight=50;
chanceDefense=6;
chanceHit=3;
waitTime=0;
}
booleanhitFlag=false;
booleandefenseFlag=false;
Randomrand=newRandom();
publicvoidhit(Personp){
if(rand.nextInt(10)<chanceHit){
p.waitTime=3;//使对方晕眩3s
hitFlag=true;
}
inthurt=p.defense(this);
p.val=p.val-hurt;
if(p.val<=0){
System.out.println(this.getClass().getSimpleName()+"胜出!");
System.exit(0);
}
System.out.println(this.getClass().getSimpleName()+"攻击"
+p.getClass().getSimpleName()+","
+this.getClass().getSimpleName()
+(this.hitFlag?"发动攻击技能":"未发动攻击技能")
+p.getClass().getSimpleName()
+(this.defenseFlag?"发动防御技能":"未发动防御技能")
+this.getClass().getSimpleName()+":"+this.val+","
+p.getClass().getSimpleName()+":"+p.val);
hitFlag=false;
defenseFlag=false;
}
publicintdefense(Personp){
if(rand.nextInt(10)<chanceDefense){
defenseFlag=true;
returnp.fight/2;//防御技能发动,伤害减半
}
returnp.fight;
}
}
packagecom.lxi;
importjava.io.BufferedReader;
importjava.io.InputStreamReader;
importjava.util.Random;
//三个人物的基类
abstractclassPerson{
intval;//生命值
doublecoldTime;//冷却时间
intwaitTime;//晕眩时间
intfight;//攻击力
intchanceHit;//发起主动技能的概率
intchanceDefense;//发起防御技能的概率
abstractvoidhit(Personp);//攻击技能
abstractintdefense(Personp);//防御技能,返回被伤害点数
}
classDHextendsPerson{
publicDH(){
val=600;
coldTime=1.0;
fight=30;
chanceHit=3;//表示30%的概率
chanceDefense=3;
waitTime=0;
}
Randomrand=newRandom();
booleanhitFlag=false;//主动技能发动的标识
booleandefenseFlag=false;//防御技能发动的标识
publicvoidhit(Personp){
if(rand.nextInt(10)<chanceHit){//发动主动技能
inthurt=p.defense(this);
p.val=p.val-hurt;
if(p.val<=0){
System.out.println(this.getClass().getSimpleName()+"胜出!");
System.exit(0);
}
val=val+hurt;
if(val>600)
val=600;
hitFlag=true;//标记主动技能已经发动
}else{//进行普通攻击
inthurt=p.defense(this);
p.val=p.val-hurt;
if(p.val<=0){
System.out.println(this.getClass().getSimpleName()+"胜出!");
System.exit(0);
}
}
System.out.println(this.getClass().getSimpleName()+"攻击"
+p.getClass().getSimpleName()+","
+this.getClass().getSimpleName()
+(this.hitFlag?"发动攻击技能":"未发动攻击技能")
+p.getClass().getSimpleName()
+(this.defenseFlag?"发动防御技能":"未发动防御技能")
+this.getClass().getSimpleName()+":"+this.val+","
+p.getClass().getSimpleName()+":"+p.val);
hitFlag=false;//
defenseFlag=false;//重置标记,下次重用
}
publicintdefense(Personp){
if(rand.nextInt(10)<chanceDefense){
defenseFlag=true;//标记防御技能已经发动
return0;
}else{
returnp.fight;
}
}
}
2. 请问下载到的rpg游戏C++源码怎么使用
要看你下载的游戏是用什么结构开发的了。如果缺少的是d开头的头文件,一般是用DirectX框架开发的游戏。目前大部分的C++ rpg都是用这个开发的。比如ddraw,dmusic这样的头文件,都是属于directx的。如果你缺少的是这些的话,去下载DirectX_SDK_library_include,一般一些提供源码资源的网站会有,下载回来的压缩包中会有许多.h文件和lib文件。把这些文件解压出来,分别复制到你的VC目录下的Lib和include文件夹中。这时候再编译你的游戏dsw工程文件,应该就可以了。
另外,VS2008中会缺少一些VC6有的library和.h文件,如果你要在VS下运行,就需要从VC6的include和library中找到并复制到VS的相应目录下。个人认为你可以把所有的VC6的这些文件移动过去,以防止以后不时出现的问题。
如果你的头文件都没有包含在里面,可能用到了其他开发框架,建议你用头文件的名字搜索一下,下载到头文件包含到VC或VS的安装目录中去。
希望能帮到你。
3. 求rpg maker xp游戏源码
1234来鹏鸟……你太无耻了吧……
4. 请问下载到的rpg游戏C++源码怎么使用
编译的话,用VC或VS打开源代码所在目录的dsw文件,这个文件是工程文件。如果是VC,直接从Source目录随便选择一个cpp编译即可。如果是VS,那么你打开这个工程文件之后,直接点击菜单栏的启动调试就可以了。
找不到头文件可能是没安装相应的Library和include。如果缺少d开头的头文件,一般是用DirectX框架开发的游戏。目前大部分的C++ rpg都是用这个开发的。比如ddraw,dmusic这样的头文件,都是属于directx的。如果你缺少的是这些的话,去下载DirectX_SDK_library_include,一般一些提供源码资源的网站会有,下载回来的压缩包中会有许多.h文件和lib文件。把这些文件解压出来,分别复制到你的VC目录下的Lib和include文件夹中。这时候再编译你的游戏dsw工程文件,应该就可以了。
另外,VS2008中会缺少一些VC6有的library和.h文件,如果你要在VS下运行,就需要从VC6的include和library中找到并复制到VS的相应目录下。个人认为你可以把所有的VC6的这些文件移动过去,以防止以后不时出现的问题。
如果你的头文件都没有包含在里面,可能用到了其他开发框架,建议你用头文件的名字搜索一下,下载到头文件包含到VC或VS的安装目录中去。
Link错误就比较多了,要看具体情况。
希望能帮到你。
5. 什么是J2me的RPG类的小游戏呢
J2me是JAVA语言的一部分,它针对于无线小型机器(例如手机,寻呼机,机顶盒等)软件的开发,由于这些机器的内存处理器等性能的限制J2ME是功能也相对比较小,因此它还被称为微型版JAVA。RPG类游戏也是角色扮演类游戏。所以J2me的RPG类的小游戏也就是用J2ME语言开发的角色扮演类游戏。要学习J2ME的游戏开发首先要学java基础,也就是J2SE部分的内容,这部分的内容的书最多,比如《java轻松入门》等书。学完了基础就开始学习J2ME了,首先学一下环境的配置,不配置环境肯定不能进行相关的开发,然后学一下低级绘制部分,也就是通过画笔绘制的东西,然后是按键响应,然后是线程(游戏动起来靠它),然后学一下精灵(Sprite)和地图(TiledLayer)这样基本上就可以进行游戏的开发了。
另外你可以在网上下载好多的J2ME开发教程视频,对你的学习会很有帮助。
我也是J2ME的一名教师,对于J2ME的授教也有些经验。听我的没错。
6. 哪位大神给个2d rpg斜角网络游戏的源代码,谢谢!
《问道外传》是2011年伊始,《问道》原班人马耗巨资倾力打造的回合制大作。本游戏是以封神修真为背景,除了关注玩家体验及保留了《问道》的出色玩法外,更注重画面绚丽感,并增加了很多《问道》中所没有的特色系统。
7. 请求iOs与Android中Quiz RPG游戏的源代码
我表示安卓无能为力~IOS的话倒是可以找找~是cocos2d框架麽?
8. 推荐一些好玩的回合制RPG游戏,最少3个,流程最好比较长的,类似《东方年代记》,要中文的,谢了。
一.轩辕剑系列
轩辕剑外传—枫之舞
枫之舞是轩辕剑系列中的经典之作,尽管年因为年代原因,接触过它的人并不多。
游戏引入了“机关人”的概念,这在当时来说是十分经典的,看着一个不会说话,傻傻的,还要凭特殊法术才能加血的角色确实别有一番风味(最后更直接将壶中仙的头移植了上去)。同时,游戏将时间定在了战国初期,将历史与游戏结合起来,使得大量的历史人物都出现在了游戏中,而这一点也成为了轩辕剑的特色,除了轩辕剑5以外,每一代都与历史挂钩。
游戏的画面在当时来说是十分出色的,维美的水墨山水画刻画出了一个旌旗飘扬的战国时代。而延续了很多代的炼妖壶系统也在枫之舞中进一步完善。最后,不管是疾鹏大王,还是DOMO工作室的出色,都为游戏增添了很多乐趣。
可以说,枫之舞是一款优秀的国产RPG,只可惜在这一年,出现了一个比它更优秀的游戏,完全掩盖了枫之舞的光芒。
轩辕剑3—云和山的彼端
云和山,真的很出色,要不是最后在剧情上的一些瑕疵,它的成就一定比天之痕更出色。
游戏的画面在当时来说相当不错,虽然战斗没有采用斜45度的战斗画面,但极剧魄力的战斗画面依然让人热血沸腾。而充满地方特色的背景也让人耳目一新。
游戏的音乐自不必说,轩辕剑系列从没有在音乐上让我失望过。同时,游戏中设立了大量的支线剧情,比如DOMO签名版的收集,两大隐藏BOSS蚩尤和牛魔王的出现方式,都大大增添了游戏的乐趣。
轩辕剑3的剧情是以赛特寻找战争不败之法开始的,历经威尼斯,阿拉伯,最后来到了中国,可以说是相当的大气,其中不乏很多感人的场面(比如说慧彦大师的死),但我认为游戏最后在大唐刻画的笔墨明显少了些,给人一种虎头蛇尾的感觉。
不管怎么说,云和山的完成度都是相当高的,不过有介于轩辕剑系列一向外传强于正传的“传统”,它的影响力还是比不上天之痕。
轩辕剑3外传—天之痕
天之痕之后,再无天之痕
无可否认,作为轩辕剑历史上最为出色的作品(至少在大多数人眼中都是如此)。它无愧于国产RPG历史上的里程碑。
相比于云和山,游戏的画面并没有什么太大的变化,甚至很多怪物,场景和法术的画面都与正传是重复的,但这依然改变不了它的经典地位,因为它那极其出色的剧情和音乐。
一款RPG,若要出色,好的音乐必不可少,结合着故事情节的发展,或紧或抒的音乐将气氛渲染的十分到家,而最后的“如忆玉儿曲”,更是将这一点发挥到了极至。
而游戏最为出色的,便是它那极其出色的剧情。无论是玉儿为信守诺言而毁容,还是宇文太师和独孤君主在剧情末端的正邪互换,都让人印象深刻,同时,游戏还设定了上古十大神器的世界观。比剧情更出色的,是游戏的人物刻画,小雪,玉儿,独孤宁珂,宇文师太这等一系列出色的人物塑造正是天之痕出色的地方。
有别于一般RPG的“后宫”结局和“完美”结局,天之痕的两个结局中,没有一个是完美的。无论是小雪重新变回为女娲石,还是玉儿牺牲自己的转世阳寿来向陈靖仇道别,都让人心痛不以。相对来说,我觉得玉儿结局还不算太残,毕竟陈靖仇最后还记得小雪,而小雪结局,因为失却之阵的影响,陈完全忘记了玉儿,而玉儿的每次转世,也只能获得短盏的生命时光,我觉得,对于双方来说,都太残酷了些。
天之痕的隐藏因素同样丰富,3大隐藏BOSS的设定,寻找DOMO成员的任务,都增添了游戏的可玩性。
天之痕,无愧于国产RPG的经典之作。
轩辕剑4
DOMO在轩辕剑4身上,做了很多尝试,尽管其中的有些尝试,并没有获得玩家的认可。
作为双剑系列的第一款3D游戏,轩4的画面在当时引起了极大的争议。毕竟,大宇当时的3D技术还很不成熟,还显得很稚嫩。放弃自己出色的2D引擎,而尝试用3D技术,特别是在轩辕剑这种大作中尝试,很多玩家都认为是不明智的。
同时,游戏中彻底取消了炼妖壶系统,而改用了天书系统。至少我认为,天书系统比炼妖壶系统来得更出色,毕竟能自己建造房子,自己锻炼武器,防具比单纯的炼妖更有可玩性。
关于游戏的剧情,可以说是仁者见仁,智者见智了。至少我认为这次的剧情对于玩过枫之舞的我来说还是很有共鸣的。不过,游戏在人物刻画方面还是有些不足的,特别是张良这个角色,给我的印象不深。
轩4,总的来说,还是不错的。
轩辕剑外传—苍之涛
相比与轩辕剑4正传,苍之涛无论是在各个方面都比轩4正传强上了许多。
首先是游戏的画面,虽然游戏的引擎每变,但800*600的画面无疑使游戏的画面强上了许多,而在游戏的动画方面,除了制作精良的开场动画,游戏的过场动画也相当不错,可看性不错。不过,游戏的背景显得比较单调,特别是在云梦大泽这一场景上,体现的更为明显。
在系统上,苍之涛除了保持了天书系统以外,还加入了木甲术的设定,使得云狐拥有自己独特的木甲机关方式和升级系统,让人耳目一新。
苍之涛最大的亮点便是它的剧情。这一次的剧情,不仅非常出色,更是极其复杂。游戏讲述了一个跨越千年的时空轮回的故事,因为时空穿越改变了历史规律从而引出了两个并行的时空,虽然说穿越时空的剧情在RPG中屡见不鲜,不过像苍之涛那样“多组人马穿越到同一个时代”的剧情还是很少见的,而且游戏的伏笔埋的非常出色,只有在游戏的末期才能明白整个故事情节。
在人物刻画上,苍之涛在几个主要角色上花了相当大的笔墨。特别是恒远之,刻画的相当出色,虽然他最后为了能让自己的国家在淝水之战时战胜秦国而在太一之轮前杀害了车芸,但他的一生,其实都是在夹缝中生存,而他最后为杀害车芸所付出的代价,也让人无法痛恨这个角色。
总之,我对苍之涛的评价,还是相当高的。
轩辕剑5
说实在的,我并不太喜欢轩辕剑5,虽然说游戏的3D画面有了很大的提高,但游戏的某些设定却并不十分和我的口味。
首先游戏的人物太多,但很多人物的个性都不鲜明,有些队友都没有什么台词。我一直觉得,RPG不是战旗,游戏中的人物不应太多,因为在RPG的战场上,能上场的人物并不多,除非像空之轨迹或群侠传这样以战旗为战斗方式的RPG游戏,或者像新绝代双骄3这种双线并进的游戏方式,纯RPG中的人物不应太多。
游戏的剧情相比于前几代逊色不少,以山海界为背景感觉明显比以历史为背景少了一份沧桑感,虽然说总体来说不错,但对于轩辕剑系列来说明显是不合格的。
天书系统的取消也让游戏失色不少,好在游戏的隐藏要素不少,28颗星耀石的收集或多或少增加了游戏的可玩性,毕竟普通结局感觉太一般了。
轩5,总的感觉,不太好。
轩辕剑外传—汉之云
而汉之云给我的感觉,明显比轩5好了许多,游戏背景设定在三国是一个原因,另一方面,游戏本身确实做了比较大的改动,
炼妖壶又回来了,同时还增加了锻造的功能,虽然说我更喜欢天书系统。
战斗系统相比于5代有了一定的改善,虽然能加入的人物还是很多,但在个性的塑造上明显比5代好上许多,不像5代那样很多人都没有什么个性。
剧情方面,这次以三国为背景是一个很大的尝试,对孔明的塑造更是十分大胆,不过按照三国志正史来说也不为过。
过场动画的全程语音我觉得是一个败笔,总觉得听上去怪怪的,个人感觉没有语音会更好些。
游戏的支线也设计的不错,毕竟这一直是轩辕剑系列的特点。
总的来说,汉之云,还是不错的。
二.仙剑系列
1.仙剑奇侠传1
如果说仙剑1是国产RPG中的里程碑,我相信,没有多少人会反对。
游戏的画面在当时来说是异常出色的,特别是战斗画面,不仅拥有出色的施法画面,斜45度角的战斗方式影响了后来的很多RPG游戏,可谓意义深远。
仙剑最成功的,便是游戏的音乐和剧情。在音乐上。一曲“蝶恋”不知让多少人为之痴狂。而剧情上,无论是彩依为换刘晋元十年生命而牺牲自己的千年道行,还是月如舍身营救逍遥和灵儿,都让人难以忘怀。游戏的最后,赵林儿为拯救天下苍生而与水魔兽和拜月的合体同归于尽,更是国产RPG历史上的经典画面。
有人说,仙剑的成功,时代占了很大的因素,确实,在那个电脑游戏刚刚普及的年代,仙剑让人们意识到了什么才是真正的武侠RPG.,但是,如果没有那么极其优秀的品质,它也成为不了经典。
仙剑的大获成功,可以说让狂徒自己也为之惊讶。因此,在接下来的几年里,仙剑1推出了很多复刻之作,比如说着名的98柔情篇和新仙剑奇侠传系列,但玩家真正期待的,还是仙剑的续作。
2.仙剑奇侠传2
作一款成功游戏的续作是十分困难的,而作仙剑这种异常成功的游戏的续作,更是难上加难。
8年了,玩家们等待了太长的时间。因此当仙剑2一发售,立刻引起了够买狂潮。作为第一批拿到仙剑2的玩家,当时我的心情是十分高兴的,可这种心情没过多久,便被第一个难关给难住了—防拷。
我记得当时有很多人和我一样,买了正版却死活也进不去,后来虽然在官方给的序列好的情况下成功进入了游戏,但无疑游戏的心情已经被破坏了。
短,是仙剑2给我的第一个印象,支线剧情不够丰富,主线剧情草草了事,很多可以大做文章的地方却点到为止。同时,对于重要角色的刻画上也不突出。
游戏在系统上,提供了虎煞、御灵、阵术、喂毒四大系统。其中,虎煞和喂毒在实际战斗中作用并不是很大,完全无法与御灵和阵术相比。
游戏的画面在当时也不出色,战斗时的施法画面也显得不够火爆,好在游戏的音乐还是十分出色的。
仙剑2,带来的更多的是一种遗憾。
3.仙剑奇侠传三&外传问情篇
相比于仙剑2,仙剑3还是相当出色的,虽然与仙剑1相比,还是有不少差距的。
首先,在仙剑3中,提到了“六界”的系列,这也为仙剑系列第一次树立了自己的世界观。同时,魔剑养成这一系统也十分出色,虽然说最后培养出来的魔剑各种数值并不出色,但却增添了不少乐趣。
仙剑3最大的改变在于画面和战斗系统上。全3D的游戏画面相比轩辕剑4有了很大的提高。而在战斗系统上,仙3可谓独数一格,操作好的话,还可以使怪物的攻击砍空。
剧情方面,虽然没达到1代的高度,但总体来说还是不错的,也塑造了重楼等一系列人气化的角色,可谓不过不失。
至于问情篇给人的感觉更像是一款资料片,虽然说游戏的剧情不错。但音乐,音效和一些细节方面并没有太大的改变等,倒是迷宫强化了不少,也因此有人将问情篇戏称为“问路篇”
4.仙剑奇侠传4
仙剑的各个续作中,我认为,仙剑4最出色。
仙剑4刚一出来时,由于防拷系统的原因,很多人运行游戏的速度奇慢无比,好在大宇马上发布了一个补丁解决了这个问题,才没有在玩家中引起进一波的争论。
抛开这个因素不谈,游戏整体的品质相当出色,其中给我最深刻的,还是它的剧情以及主要角色的人物刻画,其中有些对白润色的相当出色。比如云天青所说的“死生在手,变化由心,天不能埋,地不能煞,此之为我命在我也……”这句话就显得相当具有哲理。而送弓的那段剧情,更是让人难以忘怀。
游戏的画面可以说并不出彩,各种法术的施法画面也并不出色,不过以上海软星这么点资金来说,能做到这样已经相当不错了。
仙4的一大创新,就是在战斗中加入了战斗评价这一要素,若能在BOSS战中拿到特等评价,不仅可以获得大量的经验值,也能得到不少稀有的道具。
可惜的是,虽然游戏品质相当出色,可制作公司上海软星却在游戏出品后不久宣布解散,不得不让人为之叹息。
三.天地劫系列
1.幽城幻剑录
如果要说我心中剧情最出色的国产RPG,我肯定会选择幽城幻剑录(没有之一)。
自从炎龙骑士团2开始,我便迷上了汉堂的游戏。虽然说汉堂出品的游戏难度很高,但大量的隐藏要素,出色的剧情设计却让人乐此不彼,而幽城更是将这一点发挥到了及至。
幽城的难度,真的很难。第一便玩时,手上没有攻略,我硬是硬着头皮打出了bad end。其中高昌地底迷宫和七耀之门的迷题给我留下了深刻的印象。后来在攻略的帮助下我打出了true end。不过,恶梦并没有结束,当我好不容易安装了资料片上了罗喉城,快要面对罗喉神的时候,那个封印天动仪的迷题真的让我崩溃了,要不是后来上网知道了解决迷题的方法,我真的想要砸电脑了。
尽管如此,幽城在各方面都相当出色。首先在画面上,游戏的战斗画面可谓魄力十足,初级绝招就有十分出色的画面,而当学会了终极绝招后,那种画面更不是用震撼两字可以形容的。可以说,游戏的战斗画面,完全超出了同时期的其它国产RPG。而在非战斗画面上,西域的场景也显得别有一番风味。
幽城在系统上,改进了神魔的五蕴和炼化两大系统。以前在神魔中,如果五蕴分配不合理,即使99级也有可能学不到本身20级就能学会的技能。而在幽城中,即使五蕴分配未达到要求,只要达到游戏所设定的最高等级,一样可以学会,虽然说越高级的绝招这个最高等级越高,但总解决了神魔中应分配不合理而造成的高等级用普通攻击的尴尬,而在炼化上,不仅大部分终极武器的获取需要炼化才能得到,达成真结局所需要的七色缨络也必须经过炼化这一道路。
幽城真正出色的是它的剧情。玩通幽城的人,没有一个不被它的剧情所感动。在这里要点名批评一下那3个连名字也没有的时轮尊者(弥尔兰巴还是算了),要不是你们的胆怯,冰漓不会成为罗喉的凭体,一切悲剧也都不会发生。
因为难度和宣传的原因,幽城在国内的影响力无法与仙剑和轩辕剑相比,尽管如此,它仍然称的上国产RPG中的巅峰之作。如果你热爱RPG,你一定要玩幽城。
2.寰神结
汉堂在制作寰神结时,很明显,心思已经放到网游上面去了。因此,寰神结带给我的,更多的是一种失望。
重复的法术,重复的场景,熟悉的敌人。这些我都可以接受,因为对于一款外传性质的游戏来说,并不要在这方面改动太多,真正让我不满的,是游戏的隐藏要素和剧情。
相比于汉堂其它游戏丰富的隐藏要素,寰神结的隐藏要素少的可怜,除了200块帝国以外就没有别的隐藏要素了。在天地劫前两部中起重要作用的七色缨络到了寰神结中也只是一个普通的物品,不免让人失望。
而游戏的剧情到了寰神九山后便嘎然而止,赶工的迹象明显,周崇,朱浩如何杀胧夜的剧情也没有进一步交代。
其实寰神结能作的很好,只是汉堂的重心已经不在单机上了……
四.新绝代双骄系列
1.新绝代双骄1和2
第一次接触宇峻的游戏,是从超时空英雄传说开始的,而新绝代双骄系列,则让我真正喜欢上了这个公司,
游戏的画面在当时可以说是华丽至极,其中流动的水、燃烧的火焰等动态物件给我留下了深刻的印象。游戏的战斗画面也相当华丽,绝招使用起来魄力十足。
从新绝代双骄开始,凡宇峻出品的RPG,都会有精元点数这一设计。在战斗取得胜利后,除了能获得相应的经验值,还能得到一定的精元点数,这些点数可以加在各种绝招上增强绝招的威力。这一系统影响了宇峻后来的许多RPG游戏,一直到幻想三国志3才完全去除。
由于1,2的剧情改编于古龙名着,所以说是否宗实于原着便是一大问题,在这一点上新绝代双骄1和2总的来说还算可以,只是2代为增加可玩性创造了多结局的设定,而其中像花无缺与怜星这样的结局无疑让人狂汗不已。
2. 新绝代双骄3
由于1,2已经将古龙原版的剧情讲述完毕,所以说3代的剧情,自然而然的就走起了自创剧情的套路,事实证明,这部棋走的相当不错。
由于采用了双线同时进行的方式,因此尽管在游戏最后会有大量的人物加入队伍中来,但每个人的性格都在各自的线中花了不少笔墨来刻画,并不存在因人物太多而产生的刻画不鲜明的缺点。
有别于新绝代双骄1,2,3在战斗画面上第一次采用了斜45度角的战斗方式,而这种方式明显使得游戏的绝招施展起来更具观赏性。因此,这一战斗方式也被宇峻所采纳,沿用至今。
游戏在系统上也有自己的特点,比如宠物的培养系统、拜师系统等,增加了游戏的可玩性。
可惜的是,多年后的新绝代双骄前传我由于各种原因没有玩到,因此,绝3成为了我对这一系列的最后的回忆了。
五.幻想三国志系列
宇峻自新绝代双骄3取得成功后,变走上了原创剧情的道路,幻想三国志系列便因此产生。
幻想三国志的首代,给我留下最深的是它首创的大规模战斗系统,一般的RPG当中,敌人的人数不会超过6个,而在幻想三国志中,由于游戏方式的改变,大规模的军团战 首次在RPG中成为了可能,也因此,游戏中加入了阵型的要素,一个好的阵型,往往在军团战和BOSS战中,能起到至关重要的作用。
幻想三国志首代的剧情虽然不错,但并没有给我留下太过深刻的印象,真正让我感动的,是2代与4代的剧情。
2代让我感动的是其中的爱情,其中海棠在黄泉路上喝下孟婆汤的场景更是游戏中最为经典的画面,让人久久难以忘怀。
4代让我感动的是其中的友情和亲情。刘绪这一角色我开始是十分讨厌的,可他最后为保全紫丞所作出的抉择实在是令人感动不已。而楼澈这一角色刻画的更加成功,友情这两字,在他与紫丞两人间得到了升华。
而3代的剧情却没给我留下太多的印象,也许是因为我只玩了男主角剧情的关系吧。不过3代的战斗隐藏任务让人印象深刻,虽然说因为卡的原因或多或少的破坏了游戏的乐趣,但这非常具有可玩性的系统却是3代为数不多的亮点之一,并在4代当中发扬光大。
六.群侠传系列
1.金庸群侠传
金庸群侠传是一款很特别的游戏,因此有必要把它单独列出来。
金庸群侠传最大的特点,便是其及高的自由度。刚开始游戏时,我甚至都不会玩,因为游戏的自由度实在是太高了!游戏没有固定的主线,不仅在14天书的收集上没有任何顺序,在武功的学习和伙伴的选择上,除了特殊的几个有些要求外,其它的一点限制也没有,你想怎么玩就怎么玩。
游戏的战斗方式十分独特,在当时国产RPG清一色效仿仙剑斜45度角的战斗方式的时候,金庸群侠传却采用了一种战旗游戏的战斗方式,另辟新径,结果大受好评。
不过,游戏的缺点也十分明显。首先是游戏的画面,即使在当时的眼光来看画面也不甚理想。其次,高自由度可以说是一把双刃剑,虽然极大的增加了游戏的可玩性,却使得游戏的剧情比较散乱,没有一个轴心骨。
不管怎样,金庸群侠传都是十分出色的,也正是因为它的出色,才诞生了更为出色的武林群侠传。
2.武林群侠传
武林群侠传,一个复杂的游戏,也正是因为游戏的复杂,才造就了它的出色。
当第一眼看到角色的属性的时候,我便吓了一大跳,游戏中主角的属性主要分为武学及技艺两部分,其中武学包括了心法、身法、剑法、刀法、棍法、拳掌、指法、腿法、暗器、奇门兵器10种;技艺则包括了音乐、下棋、书法、绘画、医术、毒术、铁匠、鉴定、钓鱼、打猎、花卉、茶道、饮酒、厨艺14种;在我玩过的RPG中,这么复杂的设定还是第一次。
相比于金庸群侠传,武林群侠传的自由度更是有过之而无不及。一开始的洛阳城里,便可按照自己的喜好来自由行动,而随着剧情的发展,游戏的类型也发生了改变,逍遥谷医治的那段使得游戏变成了类似养成游戏的类型,最后拜无瑕子为师后,更是将养成与角色扮演游戏相结合。这么大胆的设定,在我玩过的武侠RPG中,除了武林群侠传,找不出第二个。
综上,武林群侠传是一款耐玩度和重玩性及高的游戏,每一遍游戏都会给你带来不一样的感受。
3.三国群侠传
也许是武林群侠传太出色了,因此我对这游戏的期望值很高。虽然游戏没有达到我所期待的那个高度,但大量的支线剧情,精致的画面等因素使得该作并没有丢群侠传系列的脸面。总体来说制作精良。
七.风云系列
当我第一眼看到“风云之天下会”的价格的时候,我简直不敢相信自己的眼睛。在当时,盗版片都要卖10块一张的时候,和软件与光盘捆绑销售的风云之天下会居然只要买25元,实在是令人惊讶。
游戏的品质属于上乘之作,特别是游戏的战斗画面,放在当时显得相当出色。不过,游戏的迷宫就显得比较变态了,特别是那个百人杀阵,印象太深刻了!
多年后的风云2之七武器由于换了制作公司而使得经典不在,糟糕的游戏系统令人无法承受,完全毁掉了一代创下的牌子,让我感觉很失望。
八.剑侠情缘系列
作为一款经典的国产武侠RPG系列,剑侠情缘的成功,更多的是靠作为ARPG的二代和其外传月影传说,当然,作为纯RPG的一代,也有着自己的亮点。
虽然说游戏的画面和剧情算不上出色,但游戏的音乐却十分出色,让人听后难以忘怀。同时,游戏还采用了多结局的设置,这在当时是十分少见的。
九.剑灵系列
剑灵1的广告,可以说做的十分出色,当时买的每本游戏杂志,都会有它的身影。可真正玩起来,那又是另一回事了。
虽然游戏的画面不错,可游戏的BUG实在是太多,让人一边玩一边恼火,虽然说最后还是玩通了,但已经积攒了一肚子的火气。
至于剑灵2,不提也罢。
十.不成系列的经典
1.天河传说
天河传说真的是一款好游戏,特别是游戏的剧情,在国产RPG中绝对可以排上前几名,可惜游戏的宣传力度不够,致使这么出色的一个游戏被埋没了。
2.天龙八部(2002年版)
在智观出品的众多RPG中,天龙八部算是相当出色的一个。高自由度,多结局等都是游戏的特色,只可惜游戏对于练级的要求过高,特别是一开始的场景,不升几级的话会很惨。
3.浣花洗剑录
浣花洗剑录的出色,在于它的战斗系统。
浣花洗剑录中的绝招,每一招都上,中,下三个环节,而在出招的时候,比如你出招是上中,他出的是下中,那么上克下,你刚好克掉他的招,就可以出招了,因为这一点,使得游戏的战斗系统,即不枯燥,又非常好玩。
4.新蜀山剑侠传
十分具有想法的游戏,它的战斗方式很新颖,采用的是一种“御剑”的方式,只可惜那年比它优秀的武侠RPG太多了
如果满意的话,求采纳,求悬赏,谢谢。
9. 求java rpg小游戏源代码 最好是文字rpg 不需要很复杂 只是交作业用
连连看的小源码
package Lianliankan;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class lianliankan implements ActionListener
{
JFrame mainFrame; //主面板
Container thisContainer;
JPanel centerPanel,southPanel,northPanel; //子面板
JButton diamondsButton[][] = new JButton[6][5];//游戏按钮数组
JButton exitButton,resetButton,newlyButton; //退出,重列,重新开始按钮
JLabel fractionLable=new JLabel("0"); //分数标签
JButton firstButton,secondButton; //分别记录两次被选中的按钮
int grid[][] = new int[8][7];//储存游戏按钮位置
static boolean pressInformation=false; //判断是否有按钮被选中
int x0=0,y0=0,x=0,y=0,fristMsg=0,secondMsg=0,validateLV; //游戏按钮的位置坐标
int i,j,k,n;//消除方法控制
public void init(){
mainFrame=new JFrame("JKJ连连看");
thisContainer = mainFrame.getContentPane();
thisContainer.setLayout(new BorderLayout());
centerPanel=new JPanel();
southPanel=new JPanel();
northPanel=new JPanel();
thisContainer.add(centerPanel,"Center");
thisContainer.add(southPanel,"South");
thisContainer.add(northPanel,"North");
centerPanel.setLayout(new GridLayout(6,5));
for(int cols = 0;cols < 6;cols++){
for(int rows = 0;rows < 5;rows++ ){
diamondsButton[cols][rows]=new JButton(String.valueOf(grid[cols+1][rows+1]));
diamondsButton[cols][rows].addActionListener(this);
centerPanel.add(diamondsButton[cols][rows]);
}
}
exitButton=new JButton("退出");
exitButton.addActionListener(this);
resetButton=new JButton("重列");
resetButton.addActionListener(this);
newlyButton=new JButton("再来一局");
newlyButton.addActionListener(this);
southPanel.add(exitButton);
southPanel.add(resetButton);
southPanel.add(newlyButton);
fractionLable.setText(String.valueOf(Integer.parseInt(fractionLable.getText())));
northPanel.add(fractionLable);
mainFrame.setBounds(280,100,500,450);
mainFrame.setVisible(true);
}
public void randomBuild() {
int randoms,cols,rows;
for(int twins=1;twins<=15;twins++) {
randoms=(int)(Math.random()*25+1);
for(int alike=1;alike<=2;alike++) {
cols=(int)(Math.random()*6+1);
rows=(int)(Math.random()*5+1);
while(grid[cols][rows]!=0) {
cols=(int)(Math.random()*6+1);
rows=(int)(Math.random()*5+1);
}
this.grid[cols][rows]=randoms;
}
}
}
public void fraction(){
fractionLable.setText(String.valueOf(Integer.parseInt(fractionLable.getText())+100));
}
public void reload() {
int save[] = new int[30];
int n=0,cols,rows;
int grid[][]= new int[8][7];
for(int i=0;i<=6;i++) {
for(int j=0;j<=5;j++) {
if(this.grid[i][j]!=0) {
save[n]=this.grid[i][j];
n++;
}
}
}
n=n-1;
this.grid=grid;
while(n>=0) {
cols=(int)(Math.random()*6+1);
rows=(int)(Math.random()*5+1);
while(grid[cols][rows]!=0) {
cols=(int)(Math.random()*6+1);
rows=(int)(Math.random()*5+1);
}
this.grid[cols][rows]=save[n];
n--;
}
mainFrame.setVisible(false);
pressInformation=false; //这里一定要将按钮点击信息归为初始
init();
for(int i = 0;i < 6;i++){
for(int j = 0;j < 5;j++ ){
if(grid[i+1][j+1]==0)
diamondsButton[i][j].setVisible(false);
}
}
}
public void estimateEven(int placeX,int placeY,JButton bz) {
if(pressInformation==false) {
x=placeX;
y=placeY;
secondMsg=grid[x][y];
secondButton=bz;
pressInformation=true;
}
else {
x0=x;
y0=y;
fristMsg=secondMsg;
firstButton=secondButton;
x=placeX;
y=placeY;
secondMsg=grid[x][y];
secondButton=bz;
if(fristMsg==secondMsg && secondButton!=firstButton){
xiao();
}
}
}
public void xiao() { //相同的情况下能不能消去。仔细分析,不一条条注释
if((x0==x &&(y0==y+1||y0==y-1)) || ((x0==x+1||x0==x-1)&&(y0==y))){ //判断是否相邻
remove();
}
else{
for (j=0;j<7;j++ ) {
if (grid[x0][j]==0){ //判断第一个按钮同行哪个按钮为空
if (y>j) { //如果第二个按钮的Y坐标大于空按钮的Y坐标说明第一按钮在第二按钮左边
for (i=y-1;i>=j;i-- ){ //判断第二按钮左侧直到第一按钮中间有没有按钮
if (grid[x][i]!=0) {
k=0;
break;
}
else{ k=1; } //K=1说明通过了第一次验证
}
if (k==1) {
linePassOne();
}
}
if (y<j){ //如果第二个按钮的Y坐标小于空按钮的Y坐标说明第一按钮在第二按钮右边
for (i=y+1;i<=j ;i++ ){ //判断第二按钮左侧直到第一按钮中间有没有按钮
if (grid[x][i]!=0){
k=0;
break;
}
else { k=1; }
}
if (k==1){
linePassOne();
}
}
if (y==j ) {
linePassOne();
}
}
if (k==2) {
if (x0==x) {
remove();
}
if (x0<x) {
for (n=x0;n<=x-1;n++ ) {
if (grid[n][j]!=0) {
k=0;
break;
}
if(grid[n][j]==0 && n==x-1) {
remove();
}
}
}
if (x0>x) {
for (n=x0;n>=x+1 ;n-- ) {
if (grid[n][j]!=0) {
k=0;
break;
}
if(grid[n][j]==0 && n==x+1) {
remove();
}
}
}
}
}
for (i=0;i<8;i++ ) { //列
if (grid[i][y0]==0) {
if (x>i) {
for (j=x-1;j>=i ;j-- ) {
if (grid[j][y]!=0) {
k=0;
break;
}
else { k=1; }
}
if (k==1) {
rowPassOne();
}
}
if (x<i) {
for (j=x+1;j<=i;j++ ) {
if (grid[j][y]!=0) {
k=0;
break;
}
else { k=1; }
}
if (k==1) {
rowPassOne();
}
}
if (x==i) {
rowPassOne();
}
}
if (k==2){
if (y0==y) {
remove();
}
if (y0<y) {
for (n=y0;n<=y-1 ;n++ ) {
if (grid[i][n]!=0) {
k=0;
break;
}
if(grid[i][n]==0 && n==y-1) {
remove();
}
}
}
if (y0>y) {
for (n=y0;n>=y+1 ;n--) {
if (grid[i][n]!=0) {
k=0;
break;
}
if(grid[i][n]==0 && n==y+1) {
remove();
}
}
}
}
}
}
}
public void linePassOne(){
if (y0>j){ //第一按钮同行空按钮在左边
for (i=y0-1;i>=j ;i-- ){ //判断第一按钮同左侧空按钮之间有没按钮
if (grid[x0][i]!=0) {
k=0;
break;
}
else { k=2; } //K=2说明通过了第二次验证
}
}
if (y0<j){ //第一按钮同行空按钮在与第二按钮之间
for (i=y0+1;i<=j ;i++){
if (grid[x0][i]!=0) {
k=0;
break;
}
else{ k=2; }
}
}
}
public void rowPassOne(){
if (x0>i) {
for (j=x0-1;j>=i ;j-- ) {
if (grid[j][y0]!=0) {
k=0;
break;
}
else { k=2; }
}
}
if (x0<i) {
for (j=x0+1;j<=i ;j++ ) {
if (grid[j][y0]!=0) {
k=0;
break;
}
else { k=2; }
}
}
}
public void remove(){
firstButton.setVisible(false);
secondButton.setVisible(false);
fraction();
pressInformation=false;
k=0;
grid[x0][y0]=0;
grid[x][y]=0;
}
public void actionPerformed(ActionEvent e) {
if(e.getSource()==newlyButton){
int grid[][] = new int[8][7];
this.grid = grid;
randomBuild();
mainFrame.setVisible(false);
pressInformation=false;
init();
}
if(e.getSource()==exitButton)
System.exit(0);
if(e.getSource()==resetButton)
reload();
for(int cols = 0;cols < 6;cols++){
for(int rows = 0;rows < 5;rows++ ){
if(e.getSource()==diamondsButton[cols][rows])
estimateEven(cols+1,rows+1,diamondsButton[cols][rows]);
}
}
}
public static void main(String[] args) {
lianliankan llk = new lianliankan();
llk.randomBuild();
llk.init();
}
}
//old 998 lines
//new 318 lines
10. 回合制RPG的简介
世界上最早的RPG是纸上RPG,也称桌上RPG(TRPG:Table-top Role Playing Game )。完全没有概念的新手,可以想想《DQ》或者《FF》等游戏里,所有玩者都将自己当作是一名想象世界中的虚构角色。比如说,你知道在真实世界中你是谁,你知道你的名字,而你可能是一位高中生、或是中年上班族、或是N个小孩的母亲。但在RPG的世界中,你摆脱了这些平凡的身份,成位一名不那么普通的角色。你可能想尝试担任救世英雄,或者是成屠龙的武士;你可能想当一名对黑暗知识运用熟练的法师,或是一个梦想美女的野兽。在电脑或电视RPG中,你控制一些人物在屏幕上走来走去,你被动的一句他们所遇到的状况和反应做些无聊的固定单选题。而在TRPG的世界中,因为你的限制变少,所以角色扮演的成分变得更重。其实,TRPG中的角色扮演可以说很像是在演戏。