ИИ в шахматах,компьютер играет черными как 3 классник Ходы делает по правилам,уходит из под шаха,снимает шах,видит шах Анализирует вокруг на 1 клетку Жрет фигуры в пределах 1 клетки,видит угрозу вокруг на 1 клетку Чтобы дописать до конца с анализом 8 клеток вокруг - то придертся писать десятки метров кода Папка zip с исходником https://chess-rmx.net/studiere.zip ,вроде все наладил,стили внутри,ссылки на папку studiere Пойдет для детей до 12 лет,чтобы обучаться и прикалываться Метод поиска хода придумал как умел,всё прописал через IF Знаю от вас никаких советов не будет,тема будет пустая пол года,придется дальше самому придумывать дополнения ( можно высвечивать шах красным цветом,но кому это надо?? )
Сударь, почитайте уже, как пишутся такие игры, особой тайны нет. Максимум, в написании чего сам принимал участие -- преферанс, но мы его на Прологе ваяли, там не на столько классический подход был.
Это называется не ИИ, а говнокод. Стал искать то заветное место которое ты якобы называешь ИИ. Я нашел https://onlinephp.io/c/02ed3 Судя по стилю кода, этот класс единственный нормально оформленный, был просто слизан с форума. Чекер координат и вывод координат. Браво - это ИИ нет --- Добавлено --- Большой вопрос назревает, ты в белом Windows блокноте кодишь ?
Я классы никогда не программировал,код на скриншотах считаю нормальным кодом. Класс взят от SimpleChess со старой переписки 2016 года.С этим мужиком профессионалом и переписываюсь по почте,сайт va-soft.ru В программе я просто манипулирую цифрами,1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18,19 Все достигнуто за счет самообразования,институтов не заканчивал,дипломов не имею Файл include_voral.php это непонятная каша,я там сделал дополнения про новые фигуры Он изначально не учитывал рокировку и была ошибка про пешки
Думал 30 минут над последним замечанием... Я не представляю как переписать мою самодельную матрицу ,чтобы код был в 3 строчки Вывод: переделать код профи Александра Воробьева: SampleChess/chess.php at master · Voral/SampleChess · GitHub Вы можете изменить пару строчек внизу,чтобы эта матрица проверяла "перепрыгивания фигуры"? Например со стартовой позиции,чтобы не перепрыгивала ладья через пешку? Код (Text): public static function checkMove($from,$to,$figure,$isBlack) { $posFrom = self::getPosition($from); if ($posFrom === false) return false; $posTo = self::getPosition($to); if ($posTo === false) return false; $deltaX = $posTo['x'] - $posFrom['x']; $deltaY = $posTo['y'] - $posFrom['y']; $matrixX = ($isBlack) ? 7 + $deltaX : 7 - $deltaX; $matrixY = ($isBlack) ? 7 + $deltaY : 7 - $deltaY; return (self::$matrix[$figure][$matrixX][$matrixY] == 1); } /** * Преобразование координат в цифровые и проверка на границы доски * @param string $coord координаты ячейки в формате буква+цифра (например "a2") * @return mixed Если координата валидная array('x'=>...,'y'=>...); иначе false */ private static function getPosition($coord) { if (strlen($coord) != 2) return false; $y=$coord[0]; $x=intval($coord[1]) - 1; if (!array_key_exists($y,self::$proxy) || $x < 0 || $x > 7) return false; return array('x' => $x, 'y' => self::$proxy[$y]); } Это очень профессиональный код,я попытался поменять цифры для доски 10х8 и 12х8,не сработало Этот VORAL оказался единственным вменяемым в 2016 году,кто мне реально помог на форуме Теперь он пишет на почте,что гигански занят работой и не может отвлечься на этот код,даже на письмо некогда ответить Прошу помощи,могу выделить 2000р за эту работу.Voral пишет что его работа стоит 2000р в час
Кайф,уже 236 просмотров Я сейчас исправлю легкую ошибку про мертвую ладью А8,эта клетка =0,поэтому она не ходит И обновлю папку zip
статистику по загрузке кода считать надо, а лучше внутри стукачка установить, чтобы вести подсчёт запусков кода )
Поставил на первое открытие страницы ,письмо на почту будет приходить 1 раз от каждого человека Можно поставить стукача на каждый сделанный ход,но не хочу борзеть Более сложного стукача тоже не хочу делать,это будет нагло с моей стороны Код (Text): <html><head><title>ИИ в шахматах</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <? if(!isset($_COOKIE['style_s'])) { echo '<link rel="stylesheet" type="text/css" href="../studiere/style/style4.css">' ; $style_s='4'; setcookie ("style_s", $style_s, time() + 3600*24*7); mail("unlater2@mail.ru", "Запущен исходник ИИ", "EXFOR"); } else if(isset($_COOKIE['style_s'])) { $style=$style_run; if($style_s=='4') { echo '<link rel="stylesheet" type="text/css" href="../studiere/style/style4.css">' ; } if($style_s=='6') { echo '<link rel="stylesheet" type="text/css" href="../studiere/style/style6.css">' ; } if($style_s=='11') { echo '<link rel="stylesheet" type="text/css" href="../studiere/style/style11.css">' ; } if($style_s=='12') { echo '<link rel="stylesheet" type="text/css" href="../studiere/style/style12.css">' ; } if($style_s=='16') { echo '<link rel="stylesheet" type="text/css" href="../studiere/style/style16.css">' ; } } //echo '='.$style_run; ?>
Подумал 20 минут ... Можно записывать файл .txt с двумя цифрами: 12 - количество нажатий "Новая игра" 6 - количество сделанных ходов человеком И при каждом изменении отправлять email,прикольно будет
Мне сейчас один умник написал,что ИИ пишут тысячи людей,и пишут годами большими компаниями Я зацепился за 1 фразу: Мой компьютер обрабатывает за 1 заход 6000 ходов,и через умную фильтрацию одобряется только 1 ход Так вот,анализ в 6000 ходов это нормально или мало?? Слышал на днях по радио,что компьютер от ученых обрабатывал 3 млн ходов Тогда в моей программе цикл for поставить 2000 и комп будет в 5 раз сильнее
Подскажите ,подключил новый файл include в цикле,и всё обломалось: Код (Text): for($r=0;$r<400;$r++) { include ('variant2/matrix/ataka_nomer.php'); include ('variant2/matrix/hod_pod_udar/pod_udar_chernye.php'); include ('variant2/matrix/uhod_s_udara/uhod_s_udara_8_kletok.php'); include ('variant2/matrix/uhod_s_udara/uhod_s_udara.php'); include ('variant2/matrix/udar/udar_chernye.php'); // include ('variant2/matrix/class_voral.php'); include ('variant2/matrix/pravila/class_matrix2.php'); include ('variant2/matrix/pravila/class_matrix_tura2.php'); include ('variant2/matrix/pravila/class_matrix_ferz2.php'); include ('variant2/matrix/pravila/class_matrix_slon2.php'); include ('variant2/matrix/shah/class_shah_kon8.php'); include ('variant2/matrix/shah/class_shah_tura8.php'); include ('variant2/matrix/shah/class_shah_ferz8.php'); include ('variant2/matrix/shah/class_shah_slon8.php'); include ('variant2/matrix/shah/class_otkrytie_shaha8.php'); } echo 'end'; В конце слово end не пишется,файл\цикл просто обрывается Это из-за большого кода в include?? Временно отключил этот файл,и вся логика ИИ опять восстановилась