Java 方法:“;getMap";及;“地图”;不';行不通

Java 方法:“;getMap";及;“地图”;不';行不通,java,android,android-studio,youtube,android-studio-2.2,Java,Android,Android Studio,Youtube,Android Studio 2.2,我是一个非常初级的程序员,所以我遵循youtube教程,该教程向我展示了如何构建一个简单的snake应用程序。youtube教程上的男人比我得到的版本更旧。他使用的是AndroidStudioversion2.1.2,我使用的是AndroidStudioversion2.2和java语言 我的问题是,他使用命令getMap和map,并且它可以工作。当我这样做时,它不起作用。我的问题是我必须在>方法“getMap”和“map”中替换的问题 我所关注的youtube教程: 12:00他第一次使用这个

我是一个非常初级的程序员,所以我遵循youtube教程,该教程向我展示了如何构建一个简单的snake应用程序。youtube教程上的男人比我得到的版本更旧。他使用的是
AndroidStudio
version2.1.2,我使用的是
AndroidStudio
version2.2和java语言

我的问题是,他使用命令
getMap
map
,并且它可以工作。当我这样做时,它不起作用。我的问题是我必须在>方法“getMap”和“map”中替换的问题

我所关注的youtube教程: 12:00他第一次使用这个命令

游戏引擎


代码的问题在于,您使用的是圆括号
()
,而它必须使用方括号
[]
,因为您要声明二维数组。替换它们,如:

public TileType[][] getMap() {
    TileType[][] map = new TileType[GameWidth][Gameheight];

    for (int x = 0; x < GameWidth; x++) {
        for (int y = 0; y < Gameheight; y++) {
            map[x][y] = TileType.Nothing;
        }
    }

    for (Coordinate wall: walls) {
        map[wall.getX()][wall.getY()] = TileType.Wall;
    }

    return map;


 }
public TileType[]getMap(){
TileType[]map=新TileType[GameWidth][Gameheight];
对于(intx=0;x

PS:你真的需要从基础开始。

发布你拥有的任何代码。对不起,链接可能是重复的是,我不知道如何发布代码。当你发送电子邮件时,我会将其发送给你,只需编辑你的问题并复制粘贴你在android studio中编写的代码。简单的
public void setSnakeViewMap(TileType[][]map)[this.snakeViewMap=map;]
我的代码中的所有内容都有效,除了这个public void您必须替换
private TileType snakeViewMap()带有
私有TileType snakeViewMap[]也是。
`package pelgrom.laurens.snake101.views;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.View;

import pelgrom.laurens.snake101.enums.TileType;

/**
 * Created by Laptop on 23-1-2017.
 */

public class SnakeView extends View {
    private Paint mPaint = new Paint();
    private TileType snakeViewMap()();

    public SnakeView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public void setSnakeViewMap(TileType()() map )( this.snakeViewMap = map; )

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);

        if( snakeViewMap != null ){
            float tileSizeX = canvas.getWidth() / snakeViewMap.length;
            float tileSizeY = canvas.getHeight() / snakeViewMap.length;

            float circleSize = Math.min(tileSizeX, tileSizeY) / 2;

            for (int x = 0; x < snakeViewMap.lenght; x++) {
                for (int y = 0; y < snakeViewMap(x). lenght; y++) {
                    switch (snakeViewMap(x)) {

                        case Nothing:
                            mPaint.setColor(Color.WHITE);
                            break;
                        case Wall:
                            mPaint.setColor(Color.GREEN);
                            break;
                        case SnakeHead:
                            mPaint.setColor(Color.RED);
                            break;
                        case SnakeTail:
                            mPaint.setColor(Color.GREEN);
                            break;
                        case Apple:
                            mPaint.setColor(Color.RED);
                            break;

                    }

                    canvas.drawCircle(x * tileSizeX + tileSizeX / 2f + circleSize / 2, y * tileSizeY + tileSizeY / 2f + circleSize / 2, circleSize, mPaint);
                }
            }
        }
    }
 }
`
`package pelgrom.laurens.snake101;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

import pelgrom.laurens.snake101.engine.GameEngine;
import pelgrom.laurens.snake101.views.SnakeView;

public class Activity extends AppCompatActivity {

    private GameEngine gameEngine;
    private SnakeView snakeView;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.layout);

        gameEngine = new GameEngine();
        gameEngine.initGame();

        snakeView = (SnakeView)findViewById(R.id.snakeView);
        snakeView.setSnakeViewMap(gameEngine.getMapAsync());
        snakeView.invalidate();
    }
}
`
public TileType[][] getMap() {
    TileType[][] map = new TileType[GameWidth][Gameheight];

    for (int x = 0; x < GameWidth; x++) {
        for (int y = 0; y < Gameheight; y++) {
            map[x][y] = TileType.Nothing;
        }
    }

    for (Coordinate wall: walls) {
        map[wall.getX()][wall.getY()] = TileType.Wall;
    }

    return map;


 }