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

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

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

Всем привет! Задали написать игру крестики-нолики с выводом на панель на языке котлин. Саму панель я оформила. Теперь остается написать суть игры т.е. нам нужно найти совпадения Х и О и определить победителя. Я понимаю что нужно поиск делать через условия 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 в 21:13.
lampel вне форума   Ответить с цитированием
Старый 26.09.2018, 21:15   #2
Alex11223
Модератор
Заслуженный модератор
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,296
Репутация: 3739

icq: 512-765
skype: alexp.frl
По умолчанию

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


03:02.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.