Ich lerne gerade Programmieren mit Kotlin und versuche ein Schach zu Programmieren. Jetzt habe ich ein Problem. Hier der Fehlercode.
Out-projected type 'Array<out Any>' prohibits the use of 'public final operator fun set(index: Int, value: T): Unit defined in kotlin.Array'
und hier mein code;
Code: Alles auswählen
fun main() {
val zeile0 = arrayOf(" ", 1, 2, 3, 4, 5, 6, 7, 8)
val zeile1 = arrayOf("1", "t", "s", "l", "k", "d", "l", "s", "t")
val zeile2 = arrayOf(2, "b", "b", "b", "b", "b", "b", "b", "b")
val zeile3 = arrayOf(3, 0, 0, 0, 0, 0, 0, 0, 0)
val zeile4 = arrayOf(4, 0, 0, 0, 0, 0, 0, 0, 0)
val zeile5 = arrayOf(5, 0, 0, 0, 0, 0, 0, 0, 0)
val zeile6 = arrayOf(6, 0, 0, 0, 0, 0, 0, 0, 0)
val zeile7 = arrayOf(7, "b", "b", "b", "b", "b", "b", "b", "b")
val zeile8 = arrayOf(8, "t", "s", "l", "k", "d", "l", "s", "t")
val sfeld = arrayOf(zeile0, zeile1, zeile2, zeile3, zeile4, zeile5, zeile6, zeile7, zeile8)
var zeilestand = 0
var spaltestand = 0
var figur = "0"
for (zeile in sfeld) {
for (feld in zeile) {
print(feld)
print(" ")
}
print("\n")
}
zeilestand = Integer.valueOf(readLine())
spaltestand = Integer.valueOf(readLine())
figur = sfeld[zeilestand][spaltestand].toString()
if (figur == "t") {
var richtung = readLine()
if (richtung == "s") {
var felder = readLine()
if (felder == "1"){
}
if (felder == "2"){
sfeld[zeilestand] [spaltestand] = 0
sfeld[zeilestand + 2] [spaltestand] = figur
}
if (felder == "3"){
}
if (felder == "4"){
}
if (felder == "5"){
}
if (felder == "6"){
}
if (felder == "7"){
}
if (felder == "8"){
}
}
if (richtung == "w") {
}
if (richtung == "o") {
}
if (richtung == "n") {
}
}
if (figur == "k") {
}
if (figur == "d") {
}
if (figur == "s") {
}
if (figur == "l") {
}
if (figur == "b") {
}
}