2013-11-29 2 views
2

개체의 위치를 ​​처리하는 클래스 Tile이 있습니다. 컴파일러는 해당 클래스에 아무런 문제가 없습니다.MovableObject 자바 구문 오류

그러나 MovableObject에서 해당 클래스를 사용하려고하면 새 타일을 만들 때 메서드를 사용할 수 없습니다.

package game; 

public class Tile { 
    int posx; 
    int posy; 
    int indice; 
    Tile [] proximasSalidas; 
    //int fila; 
    //int columna; 
    public boolean esInterseccion; 
    boolean esPasillo; 
    boolean esL; 
    Tile [] adyacencias; 

    public Tile(){ 
     posx = 0; 
     posy = 0; 
     proximasSalidas = null; 
     esInterseccion = false; 
     esPasillo = false; 
     esL = false; 
     adyacencias = null; 
    } 

    public Tile(int posx,int posy,Tile [] adyacencias,Tile [] proximasSalidas,boolean esPasillo, boolean esInterseccion, boolean esL){ 
     this.posx = posx; 
     this.posy = posy; 
     this.proximasSalidas = proximasSalidas; 
     this.adyacencias = adyacencias; 
     this.esInterseccion = esInterseccion; 
     this.esPasillo = esPasillo; 
     this.esL = esL; 
    } 

    public void setValores(int posx,int posy,Tile [] adyacencias,Tile [] proximasSalidas,boolean esPasillo, boolean esInterseccion, boolean esL){ 
     this.posx = posx; 
     this.posy = posy; 
     this.proximasSalidas = proximasSalidas; 
     this.adyacencias = adyacencias; 
     this.esInterseccion = esInterseccion; 
     this.esPasillo = esPasillo; 
     this.esL = esL; 
    } 



} 

그리고 내 MovableObject 클래스 :

여기 내 코드입니다 위의 코드에서

package game; 

import java.awt.Graphics2D; 

import com.golden.gamedev.*; 
import com.golden.gamedev.*; 
import com.golden.gamedev.engine.*; 
import com.golden.gamedev.object.*; 
import com.golden.gamedev.object.sprite.*; 
import com.golden.gamedev.engine.BaseAudioRenderer; 

public class MovableObject { 

    public int columna; 
    public int fila; 
    public int pos_x; 
    public int pos_y; 
    private int moveSize; 
    public int direction; 
    public int[] availableDirections; 
    public int targetTile; 


    Tile t1 = new Tile(1,1,null,null,false,false,false);//no es pasillo 
    Tile t0 = new Tile(1,1,null,null,true,false,false);//es pasillo 



    //adyacencias,proximasSalidas,es pasillo,es interseccion,esL 

    Tile t3 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t4 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t6 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t7 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t10 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t11 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t13 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t14 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t16 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t17 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t18 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t19 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t20 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t21 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t23 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t25 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t27 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t29 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t31 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t33 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t34 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t35 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t36 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t38 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t41 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t43 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t44 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t46 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t48 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t50 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t52 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t53 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t54 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t55 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t57 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t58 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t60 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t61 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t63 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t64 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t66 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t67 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t68 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t69 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t70 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t71 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t72 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t73 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t74 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t75 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t77 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t78 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t80 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t82 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t83 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t85 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t86 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t88 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t90 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t91 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t93 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t94 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t95 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t96 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t97 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t98 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t100 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t101 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t103 = new Tile(1,1,null,null,true,false,false);//no es interseccion 
    Tile t104 = new Tile(1,1,null,null,true,false,false);//no es interseccion 



    Tile t2 = new Tile(1,1,new Tile[]{t3,t16},null,true,true,true);//es L 
    Tile t8 = new Tile(1,1,new Tile[]{t7,t18},null,true,true,true);//es L 
    Tile t9 = new Tile(1,1,new Tile[]{t19,t10},null,true,true,true);//es L 
    Tile t15 = new Tile(1,1,new Tile[]{t14,t21},null,true,true,true);//es L 
    Tile t37 = new Tile(1,1,new Tile[]{t34,t38},null,true,true,true);//es L 
    Tile t39 = new Tile(1,1,new Tile[]{t38,t43},null,true,true,true);//es L 
    Tile t40 = new Tile(1,1,new Tile[]{t44,t41},null,true,true,true);//es L 
    Tile t42 = new Tile(1,1,new Tile[]{t41,t35},null,true,true,true);//es L 
    Tile t45 = new Tile(1,1,new Tile[]{t46,t60},null,true,true,true);//es L 
    Tile t51 = new Tile(1,1,new Tile[]{t50,t61},null,true,true,true);//es L 
    Tile t99 = new Tile(1,1,new Tile[]{t96,t100},null,true,true,true);//es L 
    Tile t105 = new Tile(1,1,new Tile[]{t98,t104},null,true,true,true);//es L 

    Tile t56 = new Tile(); 



    t56.setValores(1,1,new Tile[]{t52,t57,t66},new Tile[]{t5,t59,t76},true,true,false);//es interseccion 


... 

, 컴파일러는 (MoveableObject의 하단에있는) setValores()을 인식하지 않습니다. 당신의 실행 코드가 클래스의 몸으로 떠 수 없기 때문에

+2

여기에 ** 많은 ** 코드가 있습니다. 수신중인 예외를 공유하고 제공 한 코드 샘플을 필요한 최소한으로 잘라내시겠습니까? – Makoto

+0

죄송합니다.하지만 모든 것을 공유하는 것이 좋을 것 같습니다. 편집하겠습니다. – aldominium

+0

컴파일러에서 얻는 정확한 오류에 대해 더 구체적으로 설명 할 수 있습니까? Java 컴파일러 메시지는 일반적으로 매우 유용합니다. – Krease

답변

1

이유는

이 있습니다.

다음 줄은 클래스 메서드에 위치해야합니다.

t56.setValores(1,1,new Tile[]{t52,t57,t66},new Tile[]{t5,t59,t76},true,true,false);//es interseccion 

설명 : 코드의 당신의 덩어리를 들어

, 그것은 그것은 당신이 왜 특정 이유, 그것은 약간의 실행 코드를 포함하고 단지 변수/속성 선언에 해당하지 않는 첫 번째 라인이고 이 특정 줄에 대한 컴파일 오류가 발생하고 다른 줄에는 컴파일 오류가 발생하지 않습니다. 당신이하는 방법으로이 특정 라인을 포함하면 반면에 당신의 접근 방식

소개

는 코드가 작동하지만이 방법은 당신이 할 척하는 어떤 코드를 효율적인 방법으로 보이지 않는다 .

+0

나는 당신이 그것을 지적하기 전까지는 눈치 채지 못했기 때문에 그냥 머리 맡으려고했고, 만약 내가 직접 컴파일하려했다면 ... – Krease