CodinGame-Tron Battle

存储架构 2016-06-23

在viz的叙说下玩了一下,写了一段烂代码,但是还是有点用途的,至少不会马上就挂啊!!

Tron Battle,需要Player编写一段程序来移动,有点类似于贪吃蛇,不可以碰墙,也不可以碰自己,只能往空位的地方走,最大的不同在于Player是自己编写程序来进行移动,并且每次都有判断时限哦(100ms=0.1s),否则就TimeOut了,我这代码也会TimeOut,具体的有的地方还可以改进!这游戏如果可以的话应该是可以进行攻击以及防御的,根据对方的路线限制其行动。这样说来这其实应该和AI(人工智能)能扯上关系,有兴趣的可以去玩玩哦。

地址:www.codingame.com

上不去的可以试下翻墙!

下面贴上自己的Java版代码,写的不好,判断什么都是最简单的,实在没有时间想复杂的了!

import java.util.*;
import java.io.*;
import java.math.*;

class Player {
int[][] board;
public void initBoard(){
board=new int[30][20];
for(int i=0;i<30;i++){
for(int j=0;j<20;j++){
board[i][j]=0;
}
}
}
public void add(int x,int y){
board[x][y]=1;
}
public boolean isEmpty(int x,int y){
if(x>=29||x<0||y>=19||y<0){
return false;
}
if(board[x][y]==0){
return true;
}
return false;
}

public static void main(String args[]) {

// Read init information from standard input, if any
Scanner in = new Scanner(System.in);
Player player=new Player();
player.initBoard();
Random rand=new Random();

int sum=0;
while (true) {
int mX=0,mY=0;
// Read information from standard input
int N = in.nextInt();
int P= in.nextInt();
// Compute logic here
for(int i=1;i<=N;i++){
int x1=in.nextInt(),y1=in.nextInt(),x2=in.nextInt(),y2=in.nextInt();
player.add(x1, y1);
player.add(x2, y2);
if(P==i-1){
mX=x2;mY=y2;
}
}

if(player.isEmpty(mX+1, mY)){
System.out.println("RIGHT");
continue;
}
if(player.isEmpty(mX-1, mY)){
System.out.println("LEFT");
continue;
}

if(player.isEmpty(mX, mY-1)){
System.out.println("UP");
continue;
}
if(player.isEmpty(mX+1, mY+1)){
System.out.println("DOWN");
continue;
}

// System.err.println("Debug messages...");

// Write action to standard output

}
}
}

责编内容by:LOCEZ (源链)。感谢您的支持!

您可能感兴趣的

Java基础之方法- 1.方法详解 2.方法所属性 3.方法参数传递机制 4.方法多变参数 方法详解 方法是类或对象的行为特征的抽象,方法是类或对象最重要的组成部分。但从功能上来看,方法完全类似于传统结构化程序设计里的函数。值得指出的是,Java里的方法不能独立存在,所有的方法都必须定...
Sr Engineer to join the NATS team – remote a... Apcera, founded in 2012 by industry veteran Derek Collison, is redefining the container management platform space with the only technology that enable...
【Java】泛型学习笔记 我的博客即将入驻“云栖社区”,诚邀技术同仁一同入驻。 参考书籍 《Java核心技术:卷1》 泛型, 先睹为快 先通过一个简单的例子说明下Java中泛型的用法: 泛型的基本形式类似于模板, 通过一个类型参数T, 你可以"私人定制"一个类 ,具体定制的范围包括 实例变量的...
java 序列化 原理解析 序列化相关文章: Java 序列化 之 Serializable Java 序列化之 Externalizable Java 序列化 之 单例模式 。 阅读本文章之前,务必要阅读上面的三篇文章。 这篇文章是围绕上面三篇文章的原理进行剖析的。 因为...
民谣与2017年终总结 东风摇众木,即有看花期。 之所以写这个标题,是因为我最近觉得,在生活中,我们一定要积极向上的面向阳光面向正能量的姿态对待明天。 作为一个伪文青,其实很早就知道《米店》,真正被感染是老狼在《歌手》上的演绎。在一群的嘶吼、高音和炫技之中,老狼像个诗人吟唱着,张玮玮的手风琴悠然依旧,伴奏手鼓声音铿...