Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Java > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 26.09.2018, 20:05   #1
lampel
 
Регистрация: 23.09.2018
Сообщений: 3
По умолчанию нужно найти совпадения Х и О и определить победителя

Всем привет! Задали написать игру крестики-нолики с выводом на панель на языке котлин. Саму панель я оформила. Теперь остается написать суть игры т.е. нам нужно найти совпадения Х и О и определить победителя. Я понимаю что нужно поиск делать через условия if и else, сперва по горизонтали и вертикали, потом по диагонали и выводить победителя. Но что то совсем не получается правильно написать, все время ошибки. Кому не сложно помогите, может кто писал такое уже и может дать. Заранее спасибо! Прикладываю код который есть.

Код:
import java.awt.Button
import java.awt.Label
import java.awt.event.ActionEvent
import javax.swing.*

fun click(it: ActionEvent) {
    (it.source as JButton).text = currentchar
    if (currentchar == "X"){
     currentchar="O"
    }
   else currentchar="X"
    }
 
var currentchar="X"

fun main(args: Array<String>){
    var x = "X"
    var gameFinished = false
    val frame = JFrame("Игра") //заголовок
    frame.isVisible = true
    frame.setSize(200,200) //размеры окна

    val panel = JPanel()
    panel.layout = BoxLayout(panel, BoxLayout.Y_AXIS)
    frame.add(panel)
    val firstLine = JPanel()
    val label = Label("Крестики - Нолики")
    firstLine.add(label)
    panel.add(firstLine)

    val secondLine = JPanel() //первая строка
    secondLine.layout = BoxLayout(secondLine,BoxLayout.X_AXIS)
    val button1 = JButton()
    button1.text = "0"
    //button1.addActionListener{ label.text =  "0" }
    button1.addActionListener{click(it)}
    val button2 = JButton()
    button2.text = "1"
    //button2.addActionListener{ label.text =  "1" }
    button2.addActionListener{click(it)}
    val button3 = JButton()
    button3.text = "2"
    //button3.addActionListener{ label.text =  "2" }
    button3.addActionListener{click(it)}
    secondLine.add(button1)
    secondLine.add(button2)
    secondLine.add(button3)
    panel.add(secondLine)

    val secondLine1 = JPanel() // вторая строка
    secondLine1.layout = BoxLayout(secondLine1,BoxLayout.X_AXIS)
    val button4 = JButton()
    button4.text = "3"
    //button4.addActionListener{ label.text =  "3" }
    button4.addActionListener{click(it)}
    val button5 = JButton()
    button5.text = "4"
    //button5.addActionListener{ label.text =  "4" }
    button5.addActionListener{click(it)}
    val button6 = JButton()
    button6.text = "5"
    //button6.addActionListener{ label.text =  "5" }
    button6.addActionListener{click(it)}
    secondLine1.add(button4)
    secondLine1.add(button5)
    secondLine1.add(button6)
    panel.add(secondLine1)

    val secondLine2 = JPanel() // третья строка
    secondLine2.layout = BoxLayout(secondLine2,BoxLayout.X_AXIS)
    val button7 = JButton()
    button7.text = "6"
    //button7.addActionListener{ label.text =  "6" }
    button7.addActionListener{click(it)}
    val button8 = JButton()
    button8.text = "7"
    //button8.addActionListener{ label.text =  "7" }
    button8.addActionListener{click(it)}
    val button9 = JButton()
    button9.text = "8"
    //button9.addActionListener{ label.text =  "8" }
    button9.addActionListener{click(it)}
    secondLine2.add(button7)
    secondLine2.add(button8)
    secondLine2.add(button9)
    panel.add(secondLine2)

}
______________________
Используйте тег [CODE] (кнопка с решеткой # в форме сообщения) при вставке кода на форум.

Последний раз редактировалось Alex11223; 26.09.2018 в 20:13.
lampel вне форума Ответить с цитированием
Старый 26.09.2018, 20:15   #2
Alex11223
Заблокирован
 
Регистрация: 12.01.2011
Сообщений: 19,504
По умолчанию

Цитата:
Сообщение от lampel Посмотреть сообщение
может кто писал такое уже
да много кто же.
https://www.google.com/search?q=tictactoe+java
https://www.google.com/search?q=tictactoe+kotlin
Alex11223 вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как найти победителя который выбрал самое маленькое число? Unix процесс. Shell almazuulu Помощь студентам 0 04.06.2017 12:57
Не получается найти ошибку в коде нужно определить размеры дисков C++ Borland kolyok333 Помощь студентам 4 15.01.2012 14:53
Найти совпадения данных в 2ух таблицах.?? fifty50 Microsoft Office Excel 14 24.02.2010 17:46
stringgrid,сравнение двух столбцов на совпадения и не совпадения betirsolt БД в Delphi 7 19.01.2010 15:09


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS