用java写星际争霸的ai

一直有这个想法很久了。以前也知道可以用BWAPI这个API写星际争霸的ai。但是直接用那个的话一直没调试好,各种版本都搭配不好然后导致星际崩溃,C++又不是很懂只得作罢。

幸好最近发现了这个网站:http://www.sscaitournament.com 里面提供可以用java很方便写的java bot。于是决定开始写。按照网站上的tutorial装好之后,我们可以看一下他给的例子。这个例子可以造农民,采矿,造房子,但没有造兵和科技的功能。我们先来看一下。我是菜鸟,大家海涵,主要是为了学习java,ai


我们第一个可以写的地方就是做动作act()之前的这一块,用来读取对阵双方种族,地图信息,并用游戏中的“发言”打印在屏幕上。

		bwapi.printText("This is Kai's bot");
		bwapi.printText("This map is called "+bwapi.getMap().getName());
		bwapi.printText("My race ID: "+String.valueOf(bwapi.getSelf().getRaceID()));		        // Z=0,T=1,P=2
		bwapi.printText("Enemy race ID: "+String.valueOf(bwapi.getEnemies().get(0).getRaceID()));	// Z=0,T=1,P=2

其中我们可以把第三行改成

		switch(bwapi.getSelf().getRaceID()){
		case 0:
			bwapi.printText("I am Zerg");
			break;
		case 1:
			bwapi.printText("I am Terran");
			break;
		case 2:
			bwapi.printText("I am Protoss");
			break;
		default:
			bwapi.printText("I am Random");
			break;
		}

这样更直观一点。


之后是造农民,采矿,还有造房子。我们下一篇中看一下怎么让他造兵营。

 


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值