存档

‘编程’ 分类的存档

开源战棋

2009年3月26日 没有评论

开源的意思是开放源代码,就是你可以修改任何一样的东西。

战棋的意思就是类似于象棋,敌我双方对阵。

昨天df推荐了一个不错的战棋开源项目,http://www.wesnoth.org/,大小200M,下载下来一看,非常不错,简体中文(其实不止,支持的语言貌似高达两位数,这就是开源的好处;后面的感谢列表里面有大概8、9位简体中文的汉化人员,繁体中文只有一位)。

游戏机制和以前玩的《三国英杰传》或者《炎龙骑士团》有点不一样。有点类似于魔兽世界的阿拉西战场。通过占领资源点,获得金钱,通过金钱来招募军队,资源点同时可以回血,加上地形和兵种相克的等因素,很是有趣。目标是击倒对方将军。回合制。

刚刚试了一下教学任务,所以不知道有没有其他模式。号称有超过200多种的兵种。自带设计好的不少战役(在感谢列表里面可以看到有超过两位数的关卡设计人员)。

比较遗憾的源代码是C++而不是Java,不是我的专业。不过说实话,以我的能力,即使是Java的源码,我也做不了什么贡献。

这个系统完全可以用于复刻《三国英杰传》或者《炎龙骑士团》,也可以用来模拟欧美DND桌面战棋。

我曾经在J2ME上试图写一个手机版本的战棋游戏,不过中途放弃;如果才智超人或者毅力超人都可以完成;我两者都有,但两者都不够。

顺便在SourceForge上搜索了一下“Java Game”,翻过超过3位数的返回结果。

原创的话痨如需转载请注明来源:http://blog.chenyi1976.com/blog/9992;转载的文章我会力所能及地注明来源如有疏漏请留言指正。

文章的脚注信息由WordPress的wp-posturl插件自动生成

分类: 编程 标签:

J2EE

2007年4月15日 没有评论

这几天为了找工作,开始学习J2EE。

早上搜索了一些资料,看完以后,觉得J2EE其实是个很简单的东西。但是为什么在我的印象中它是一个非常难弄非常累赘的东西呢。以前在华为的时候,曾经用SUN的J2EE弄过一些东西,因为缺少网络的资源,所以很多东西只能半懂不懂地连蒙带猜,学了点皮毛后就放弃了。在华为学东西太累了,什么软件都要刻成光盘才能带进公司,很多东西都没有办法搞到,临时遇到问题也不能去上网查。这种情况下,我就留下了一个J2EE怎么这么烂的感觉。离开华为以后,我接触到的是LAMP这种轻量级的架构,更是加深了我的J2EE的误解,看看LAMP什么都不用配置,更新方便,跑起来比J2EE还快。因此虽然有了好的网络条件,但是一直没有尝试玩玩J2EE。

直到今天。

重新接触J2EE,才发现,其实J2EE还是挺不错的。努力学习中。

其实人真的需要改变,如果不是我现在急着找一份工作,而J2EE的工作机会又是那么的多,我恐怕很难再去碰J2EE了,特别是对J2EE已经形成了一种成见的情况下。

目前安装JBOSS中,好多东西要学习啊,JBOSS工具的使用,Hibernate+Spring+Struts框架,还要背一些J2EE的面试题(没有实际经验的情况下只好背书骗人了)

原创的话痨如需转载请注明来源:http://blog.chenyi1976.com/blog/9423;转载的文章我会力所能及地注明来源如有疏漏请留言指正。

文章的脚注信息由WordPress的wp-posturl插件自动生成

分类: 编程 标签:

自制DS软件:DSQuiz

2006年8月8日 没有评论

花了点功夫。做了一个纯文本的心理测验小程序。

ROM和源码放在这里:

http://www.ndsbbs.com/read.php?tid=67284

原创的话痨如需转载请注明来源:http://blog.chenyi1976.com/blog/9285;转载的文章我会力所能及地注明来源如有疏漏请留言指正。

文章的脚注信息由WordPress的wp-posturl插件自动生成

分类: 编程 标签:

用FreeMind整理了DS创意和DS开发出路。

2006年8月4日 2 条评论
看图片吧。
原创的话痨如需转载请注明来源:http://blog.chenyi1976.com/blog/9284;转载的文章我会力所能及地注明来源如有疏漏请留言指正。

文章的脚注信息由WordPress的wp-posturl插件自动生成

分类: 编程 标签:

NDS开发Wiki翻译:第六天:设备相关的运算(2)

2006年6月29日 1 条评论

使用重力(实现跳跃等效果)


请务必已经读过定点数教学部分。。。代码很简单,你可以用于任何类型的游戏。。。你必须懂得一些定点数的运算,否则可能看不懂下面的东东。

"重力"的代码非常不错,因为它可以用在很多的游戏中,特别是类似于超级马里奥那种。。。它有一个基本原则:你的精灵(或马里奥或玩家或任何东西)有垂直速度的时候,"重力"代码能够给予这个速度以加速度。下面有3件事情:

  • 每次转身,速度根据它的加速度进行变化
  • 每次转身,精灵的位置根据它的速度而变化
  • 任何时候,如果你的精灵碰到地面(或在地面以下),它应该放到地面上来,并且速度应该归零。。。。

因为速度和加速度有很多值,我们也不希望给它们增加限制,我们将使用定点数。。。这就是你为什么要使用移位操作的原因(«8和»8这种操作 )。这个例子是演示一个小飞船上升,下降。你能够改变重力和启动力(相当于跳跃)来看看飞船的不同效果。

#define FLOOR (160<<8) // Floor y level

int main(void){

PA_Init(); //PAlib inits
PA_InitVBL();

PA_InitText(1, 0);

PA_OutputText(1, 2, 4, "Press A to take off !");
PA_OutputText(1, 2, 5, "Gravity change : Left/Right");
PA_OutputText(1, 2, 7, "Takeoff Speed change : Up/Down");

PA_LoadSpritePal(0, 0, (void*)sprite0_Pal)

PA_CreateSprite(0, 0, (void*)vaisseau_Sprite, OBJ_SIZE_32X32, 1, 0, 50, 50);

s32 gravity = 32; // change the gravity and check the result :)
s32 velocity_y = 0;
s32 spritey = FLOOR; // at the bottom
s32 takeoffspeed = 1000; // Takeoff speed…

while(1) // Infinite loops
{

takeoffspeed += (Pad.Held.Up – Pad.Held.Down)*8; // Change takeoff speed…
gravity += (Pad.Held.Right – Pad.Held.Left)*2; // Change gravity speed…

PA_OutputText(1, 4, 8, "Takeoff speed : %d ", takeoffspeed);
PA_OutputText(1, 4, 6, "Gravity : %d ", gravity);

if((spritey <= FLOOR) && Pad.Newpress.A) { // You can jump if not in the air…
velocity_y = -takeoffspeed; // Change the base speed to see the result…
}

// Moves all the time…
velocity_y += gravity; // Gravity…
spritey += velocity_y; // Speed…

if(spritey >= FLOOR) // Gets to the floor !
{
velocity_y = 0;
spritey = FLOOR;
}

PA_OutputText(1, 0, 0, "Y : %d \nVY : %d ", spritey, velocity_y);

if (spritey>>8 > -32) PA_SetSpriteY(0, 0, spritey>>8); // show if on screen
else PA_SetSpriteY(0, 0, 192);

PA_WaitForVBL();
}

return 0;
}

下面解释一下:

  • #define FLOOR (160«8)

原创的话痨如需转载请注明来源:http://blog.chenyi1976.com/blog/9266;转载的文章我会力所能及地注明来源如有疏漏请留言指正。

文章的脚注信息由WordPress的wp-posturl插件自动生成

分类: 编程 标签: ,