Size: a a a

2020 November 16

S

Sergei in learn.java
Arnold Ants
public static int sqr (int n)
{
   int x = Math.sqrt(n);
   return x;
}


//Output

tester.java:5: error: incompatible types: possible lossy conversion from double to int
   int x = Math.sqrt(n);


Please help. I want to write a simple code to calculate the square root but the error pops up.
источник

SS

Slava S in learn.java
Шурок Петров
Доброй ночи.
Помогите советом. Пишу шахматы, у меня проблема с королем, а именно:
Как мне проверить, что ход фигуры подставит своего короля.
Моя проблема - как мне проверить, что если эта фигура передвинется то я получу мат?
Расскажите дизайн кода
источник

ШП

Шурок Петров... in learn.java
Slava S
Расскажите дизайн кода
Классы:
Стол, Координаты, Фигуры.
Стол:
Имеет поле двухмерного массива.
По методам:
Ставит фигуру в клетку по координатам, достает фигуру с клетки по координатам, проверяет клетку на пустоту по координатам, сравнивает цвет фигуры с другой фигурой по координатам.
Также имеет метод движения фигуры, где сначала проводятся все проверки, и в случае успеха происходит сдвиг фигуры по нужным координатам.


Фигуры имеют 2 поля -цвет и имя и два метода.
1. Метод проверяет возможен ли ход для этой фигуры.
2. Метод проверяет есть ли на пути "преграды".


Координаты... просто х,у
источник

ШП

Шурок Петров... in learn.java
Единственное что я придумал, для решения своего вопроса:
После сдвига фигуры, я проверяю проверку на мат. Если мат возможен (методом перебора всего стола), то я возвращаю фигуру/ы на свои места
источник

G

Galiia in learn.java
Шурок Петров
Единственное что я придумал, для решения своего вопроса:
После сдвига фигуры, я проверяю проверку на мат. Если мат возможен (методом перебора всего стола), то я возвращаю фигуру/ы на свои места
А почему именно на мат? При шахе тоже нельзя передвигать
источник

ШП

Шурок Петров... in learn.java
А это я буду думать когда наконец-то посплю :D
источник

G

Galiia in learn.java
Шурок Петров
А это я буду думать когда наконец-то посплю :D
Разумно 😅
источник

ШП

Шурок Петров... in learn.java
Да и с шахом вроде выглядит попроще решения - мне всего лишь посредине проверки нужно будет впихнуть еще 1.
источник

SS

Slava S in learn.java
Шурок Петров
Единственное что я придумал, для решения своего вопроса:
После сдвига фигуры, я проверяю проверку на мат. Если мат возможен (методом перебора всего стола), то я возвращаю фигуру/ы на свои места
а каким образом у вас выполняется  проверка при ходе? что например нельзя сходить фигурой, потому что она будет под шахом?
источник

ШП

Шурок Петров... in learn.java
Примерно так:
  if (isCellEmpty(from)) return false;
       if (!fromFigure.isMovePossible(from, to, this)) return false;
       if (!isCellEmpty(to) && isSameColour(fromFigure, to)) return false;
       if (!fromFigure.isWayClean(from, to, this)) return false;
       return true;
источник

ШП

Шурок Петров... in learn.java
Это основная провера
источник

SS

Slava S in learn.java
я бы наверное сделал несколько по другому
Есть массив 8х8
в массиве хранится ссылка на поле, поел это цвет, есть или нет фигура, и может быть массив атаки, т.е. список тех фигур, которые могут атаковать это поле. в самой же фигуре зашит алгоритм того как она ходит. и фигура выдает условно все возможные ходы.
потом когда человек двигает, то в зависимости от фигуры, выполняется пересчет состояний клеток на поле и каждый раз проеряется нет ли шаха королю, или это мат/пат
источник

SS

Slava S in learn.java
смысл в том, чтобы были скажем так различные "калькуляторы" правил для шахмат, которые можно легко добавлять
источник

SS

Slava S in learn.java
потому что там еще есть много правил, нельзя делать рокировку через битое поле, взятие пешки на проходе
источник

N

Nonverbis in learn.java
Есть желающие сейчас расшарить экран и позаниматься спрингом? Идея такая: созвон, выбираем тематику, подбираем либо тьюториал, либо просто из головы формулируем задачу на ходу. И поехали ее реализовывать. Либо каждый сам + обсуждение. Либо как-то вместе. В общем, берем и проходим интересную обоим тему. Займет часа два. Уровень - начальный. Т.е. по спрингу что-то читал, но к практическому программированию еще не перешел.
источник

VB

Vitaly Belenky in learn.java
Nonverbis
Есть желающие сейчас расшарить экран и позаниматься спрингом? Идея такая: созвон, выбираем тематику, подбираем либо тьюториал, либо просто из головы формулируем задачу на ходу. И поехали ее реализовывать. Либо каждый сам + обсуждение. Либо как-то вместе. В общем, берем и проходим интересную обоим тему. Займет часа два. Уровень - начальный. Т.е. по спрингу что-то читал, но к практическому программированию еще не перешел.
мне интересно, но могу вечером \ в выходные

прохожу курс на udemy, в самом начале - Di\IoT\конфигурация. но есть опыт php \ yii2
источник

N

Nonverbis in learn.java
Vitaly Belenky
мне интересно, но могу вечером \ в выходные

прохожу курс на udemy, в самом начале - Di\IoT\конфигурация. но есть опыт php \ yii2
Напишите мне, пожалуйста, в личку. И давайте сегодня вечером позанимаемся.
источник

AP

Andrii Pyrih in learn.java
Как вариант тоже могу.
Если будет желание, то можем обсудить
источник

SS

Slava S in learn.java
Nonverbis
Напишите мне, пожалуйста, в личку. И давайте сегодня вечером позанимаемся.
закиньте код в гитхаб или еще куда-нить я бы вместе писать не стал - времени нет, а вот код бы глянул
источник

N

Nonverbis in learn.java
Slava S
закиньте код в гитхаб или еще куда-нить я бы вместе писать не стал - времени нет, а вот код бы глянул
я не предлагал писать ничего вместе. я предлагал изучать. это разные вещи. писать код вместе - нет, не мое.
источник