Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用Kotlin为迷宫游戏创建2d阵列_Android_Arrays_Class_Matrix_Kotlin - Fatal编程技术网

Android 使用Kotlin为迷宫游戏创建2d阵列

Android 使用Kotlin为迷宫游戏创建2d阵列,android,arrays,class,matrix,kotlin,Android,Arrays,Class,Matrix,Kotlin,所以我有一个叫做Cell的类,我想创建一个对象矩阵Cell,但是我被卡住了,迷路了,这是我到目前为止得到的,它不起作用 我该怎么做才对呢?谢谢 class GameView(context: Context?, attrs: AttributeSet?) : View(context, attrs) { private val COLS:Int = 7 private val ROWS: Int = 10 fun createMaze(){ //this gives me an

所以我有一个叫做Cell的类,我想创建一个对象矩阵Cell,但是我被卡住了,迷路了,这是我到目前为止得到的,它不起作用

我该怎么做才对呢?谢谢

class GameView(context: Context?, attrs: AttributeSet?) : 
View(context, attrs) {

private val COLS:Int = 7
private val ROWS: Int = 10


fun createMaze(){

    //this gives me an error Type inference failed. Expected type 
    //mismatch: 
    //required:
    //Array<Array<Cell>>
    //found:
    //Array<IntArray>

    var cells: Array<Array<Cell>>  = Array(COLS, {IntArray(ROWS)})

    for(x in 0..COLS){
        for(y in 0..ROWS){
            cells[x][y] = Cell(x,y)
        }
    }

}

}

class Cell(var col:Int, var row: Int){
    var topWall = true
    var leftWall = true
    var bottomWall = true
    var rightWall = true

}
类游戏视图(上下文:context?,属性:AttributeSet?):
视图(上下文,属性){
私有值COLS:Int=7
私有val行:Int=10
乐趣创造迷宫(){
//这给了我一个错误类型推断失败。类型应为
//不匹配:
//所需:
//排列
//发现:
//排列
变量单元格:数组=数组(列,{IntArray(行)})
对于(x/0..COLS){
对于(0..行中的y){
单元[x][y]=单元(x,y)
}
}
}
}
类单元格(变量列:Int,变量行:Int){
var topWall=true
var leftWall=true
var bottomWall=真
var rightWall=true
}

您将单元格类型定义为
Array
,但初始化为
Array

我认为这只是一个小小的变化:

   class Cell(var col:Int=0, var row: Int=0){
        var topWall = true
        var leftWall = true
        var bottomWall = true
        var rightWall = true

    }
   var cells: Array<Array<Cell>>  = Array(COLS, {Array<Cell>(ROWS, {Cell()})})
类单元格(变量列:Int=0,变量行:Int=0){ var topWall=true var leftWall=true var bottomWall=真 var rightWall=true } 变量单元格:数组=数组(COLS,{Array(ROWS,{Cell()})})