За последние 24 часа нас посетил 16551 программист и 1298 роботов. Сейчас ищут 1002 программиста ...

Скрипт шахматной доски

Тема в разделе "Решения, алгоритмы", создана пользователем Dremax, 17 янв 2023.

  1. Dremax

    Dremax Активный пользователь

    С нами с:
    13 фев 2015
    Сообщения:
    154
    Симпатии:
    4
    Продам скрипт шахматной доски на php 5.2-5.4
    Первичные правила прописаны:

    1.Ходить пустой клеткой нельзя
    2.Свои фигуры убивать нельзя
    3.Ходы записываются и выводятся
    4.Есть кнопка "Новая игра"
    5.Можно играть за черных,и доска переворачивается
    6.Можно менять стиль и расцветку
    7.Вам выдается уникальный логин,с расставленными фигурами,и персональная доска

    Загрузить скриншоты на форум не получилось,поэтому ссылки:
    http://gallery.liozenda.ru/data/doska4.jpg
    http://gallery.liozenda.ru/data/doska6.jpg
    http://gallery.liozenda.ru/data/doska11.jpg

    Это не 1 маленький файл,это 10 настроенных файлов
    Папка studiere/ ,оттуда идет вся работа

    Протестировать игру онлайн http://esex.liozenda.ru/studiere/dosa.php

    Если купите эту программу,то скачаю эту папку и отправлю Вам,поддержку и настройку на Вашем сайте гарантирую
     
  2. Dremax

    Dremax Активный пользователь

    С нами с:
    13 фев 2015
    Сообщения:
    154
    Симпатии:
    4
    Зашел на страницу с телевизора,на яндекс браузере,и видна была ошибка
    Просто выводились все поля от А1 до H8
    Просто закомментировал это:
    Код (Text):
    1. if($polya_bukv>'0' && $nomerex>'0') {
    2. //echo '<font size=3>'.$findella[$polya_bukv].$nomerex.'</font>'; // здесь заложены все игровые цифры и буквы
    3.                               }
    Если вы видели эту ошибку - то это исправлено
     
  3. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.850
    Симпатии:
    745
    Адрес:
    Татарстан
    Ипать копать.... Скрипт под 5 php, да ещё с выводом игрового поля через echo,..
    Страшно смотреть че там внутри...

    Да даже бесплатно не нужно...
     
  4. Dremax

    Dremax Активный пользователь

    С нами с:
    13 фев 2015
    Сообщения:
    154
    Симпатии:
    4
    Этот скрипт для новичков,для студентов и курсовых работ
    В будущем будут тысячи запросов в интернете,как написать шахматную доску
    Я предоставляю решение для курсовых

    А если ты старожил с 2007 года - то сам себе напишешь 3D шахматы за неделю
    --- Добавлено ---
    Вот код самой доски,написан через for.На посмотри на код в страхе,и покритикуй,найди маленькую лазейку,чтобы зачмырить мою работу

    Код (Text):
    1.  
    2. <?
    3.  
    4. //if(!$storona) { $storona='1'; }
    5.  
    6. if($storona=='1') {
    7.  
    8. echo '<center><table width='.$width_variant2_doska.'>';
    9.  
    10. ?>
    11. <?
    12.  
    13. for($b=0;$b<9;$b++) {
    14.  
    15. echo '<tr>';
    16.  
    17. for($a=0;$a<9;$a++) {
    18.  
    19. //if($s<$max_figure) {
    20.  
    21. if($f=='0' && $kletki_cvet=='1') { $color_r=$bg_dark; $class='cell dark';  }
    22. if($f=='0' && $kletki_cvet=='0') { $color_r=$bg_dark;  $class='cell dark'; }
    23. if($f=='1' && $kletki_cvet=='0') { $color_r=$bg_licht;   $class='cell'; }
    24. if($f=='1' && $kletki_cvet=='1') { $color_r=$bg_licht;   $class='cell'; }
    25.  
    26. //}
    27.  
    28. if($polya_bukv=='0') { $class=''; $width_td=$width_index_bukvy; } else $width_td=$td_width_variant2_doska;
    29. if($s>$max_figure) { $class='cell dark'; $td_height_variant2_doska='20';}
    30. if($s>$max_figure-'1') {  $td_height_variant2_doska=$height_index_bukvy;}
    31.  
    32.  
    33. include('../studiere/figure_config.php');
    34.  
    35. echo '<td class=" '.$class.' " bgcolor='.$color_r.' width='.$width_td.' height='.$td_height_variant2_doska.'>';
    36.  
    37. if($polya_bukv>'0' && $s<$max_figure) {
    38.  
    39. echo '<a  id='.$findella[$polya_bukv].$nomerex.'  onclick="fe(this)" href=#><img src=../'.$arImages[$fexo[$s]].' width='.$width_picture.' /></a> ';
    40.  
    41. } else
    42.  
    43.  
    44. if($polya_bukv=='0') { echo $nomerex; }
    45.  
    46. if($polya_bukv<'9' && $s>$max_figure-'1') { echo '<font size=2>'.$findella[$polya_bukv].'</font>'; }
    47.  
    48. if($polya_bukv>'0' && $nomerex>'0') {
    49. //echo '<font size=3>'.$findella[$polya_bukv].$nomerex.'</font>'; // здесь заложены все игровые цифры и буквы
    50.                               }
    51.  
    52. //echo $nomerex.'-'.$polya_bukv.'-';
    53.  
    54. echo '</td>';
    55.  
    56. if($polya_bukv>'0') { $s=$s+1; }
    57. $f=$f+'1';
    58. if($f>'1') { $f='0'; }
    59. $polya_bukv=$polya_bukv+'1';
    60. if($polya_bukv>'8') { $polya_bukv='0'; }
    61. unset($color_r);
    62.  
    63. }  // конец первого for
    64.  
    65. $nomerex=$nomerex-'1';
    66. $kletki_cvet=$kletki_cvet+'1';
    67. if($kletki_cvet>'1') { $kletki_cvet='0'; }
    68. echo '</tr>';
    69.  
    70. } // конец второго for
    71.  
    72. echo '</table></center>';
    73.  
    74. } //конец if $d==2
    75.  
    76. ?>
    Код вроде легкий,если знаешь метод написания проще - то показывай,а не извергай ненависть к чужом коду
     
  5. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.787
    Симпатии:
    1.328
    Адрес:
    Лень
    А можно мне бесплатно 10 настроенных файлов ?
     
  6. Dremax

    Dremax Активный пользователь

    С нами с:
    13 фев 2015
    Сообщения:
    154
    Симпатии:
    4
    У тебя на форуме 7000 сообщений,ты не новичок и сам напишешь такой скрипт шахмат
     
  7. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.787
    Симпатии:
    1.328
    Адрес:
    Лень
    Да я набиваю посты, ты шо! :eek:
     
  8. Dremax

    Dremax Активный пользователь

    С нами с:
    13 фев 2015
    Сообщения:
    154
    Симпатии:
    4
    Программа обновлена
    Поставил старые матрицы с варианта #2

    Боюсь будет перегружаться сервер - поставил цикл for($t=0;$t<440;$t+) {
    и там перебираются ходы на рандоме

    В цикл for включил 9 файлов include - обработчики правильности ходов,и вроде компьютер стал играть как второклассник

    Ходы белыми тоже проходят теперь через матрицы - как попало не пойдешь

    Черные ( компьютер ) бывает лажают,то фрзь скаканет через пешку,то слон улетает не по правилам.Настрою

    Че скажете? цикл for на 440 повторений нагрухит сервер?? Чувствуется как страница зависает на 3 секунды,при ходе компа
    --- Добавлено ---
    Мой алгоритм игры компа не соображает куда ходит,и чем ходит.Он не убьет коня,если будет возможность
    Поставьте компьютеру шах - и это прописано - будут перебиратся ходы на рандоме,пока ход не закроет шах
     
  9. Dremax

    Dremax Активный пользователь

    С нами с:
    13 фев 2015
    Сообщения:
    154
    Симпатии:
    4
    Поиграл с компом,потестировал,на уровне 5 класса играет...Но шах мой компьютер пока не поставит

    Увидел пока что пешки ходят назад,надо настроить это:
    Код (Text):
    1. if($sh[$hod_one]=='1' | $sh[$hod_one]=='11')  {   // если ходит пешка,если первый ход,даю ход на 2 клетки
    2.  
    3. //if($sh[$hod_two]=='40' | $sh[$hod_two]=='81' | $sh[$hod_two]<'24') {
    4. if($sh[$hod_two]=='40') {
    5.    
    6.     if($hod_one>'7' & $hod_one<'16' | $hod_one>'47' & $hod_one<'56') {
    7. if($prov!='8' & $prov!='-8' &
    8. $prov!='16' & $prov!='-16') { echo '<br>Не допустим первый ход пешки  = ['.$prov.']'; $hod_one='1000'; $hod_two='1000'; }
    9.  
    10.                                                                     } else
    11.                                                                    
    12.     if($prov!='8' & $prov!='-8') { echo '<br>Не допустим ход пешки  = ['.$prov.']'; $hod_one='1000'; $hod_two='1000'; }
    13.  
    14.                                                                    }  else                                          
    15.  
    16.                                 if($sh[$hod_two]!='40') {
    17.    if($prov!='7' & $prov!='-7' & $prov!='9' & $prov!='-9') {  echo '<br>Так бьет пешка,недопустимо  = ['.$prov.']'; $hod_one='1000'; $hod_two='1000'; }
    18.  
    19.                                             }
    20.     if($sh[$hod_one]=='1') { if($prov=='16') { if($sh[$hod_one+8]!='40') {  echo '<br>Пешка перепрыгивает через  = ['.$prov.']'; $hod_one='1000'; $hod_two='1000';   }  } }
    21.     if($sh[$hod_one]=='11') { if($prov=='-16') { if($sh[$hod_one-8]!='40') {  echo '<br>Пешка перепрыгивает через  = ['.$prov.']'; $hod_one='1000'; $hod_two='1000';   }  } }
    22.    
    23.    
    24. }
    25.                      //                       }
    Это обработка пешки
    Черная пешка под индексом 1,белая пешка под индексом 11,легко прописывать условия IF
     
  10. Dremax

    Dremax Активный пользователь

    С нами с:
    13 фев 2015
    Сообщения:
    154
    Симпатии:
    4
    Сервер загрузился до 40 процессорных минут - ставил цикл for($a=0;$a<800;$a++) {
    У меня тариф до 60 процессорных минут

    Протестировал,так сказать,теперь поиск ходов поставил на минимум
     
  11. don.bidon

    don.bidon Активный пользователь

    С нами с:
    28 мар 2021
    Сообщения:
    911
    Симпатии:
    143
    @Dremax, твоё поделие никому не нужно, хочешь заработать на чужой жажде наживы -- смотри в сторону казино/игровых автоматов/ставок, там всё ещё дебилов достаточно болтается.
     
  12. Dremax

    Dremax Активный пользователь

    С нами с:
    13 фев 2015
    Сообщения:
    154
    Симпатии:
    4
    Я не хочу заработать,я занимаюсь любимым занятием - программированием
    Занимаюсь этим шахматным сайтом 7 лет
    Если в течении 5 лет студентам понадобится мой исходник - я дам его им

    Вы же не можете даже просто посоветовать,чем дополнить код или функционал
     
  13. don.bidon

    don.bidon Активный пользователь

    С нами с:
    28 мар 2021
    Сообщения:
    911
    Симпатии:
    143
    Я Вам что-то должен за просто уй?
     
  14. Dremax

    Dremax Активный пользователь

    С нами с:
    13 фев 2015
    Сообщения:
    154
    Симпатии:
    4
    У меня куча планов,в голове раскидал 4 этапа в дальнейшем программировании матриц - ИИ у компьютера
    Это будет 40 файлов include со сплошными IF
    Самый сложный 4 этап,когда компьютер будет ходить в атаку

    Приложил файл "первичных правил",это самое простое,что надо прописывать в программе шахматной доски

    Вопрос остается - это нормально ,писать цикл for($a=0;$a<800;$a++) и туда подключать 40 файлов include??
    Может так не пишут программы
    --- Добавлено ---
    Еще будут тысячи запросов в интернете "как написать шахматную доску" ,моя тема им поможет
     

    Вложения:

  15. Dremax

    Dremax Активный пользователь

    С нами с:
    13 фев 2015
    Сообщения:
    154
    Симпатии:
    4
    Это будет выгодно выложить,для всех:

    Новичкам и студентам,как прописать "рандом ходы":
    Код (Text):
    1. $a=rand(1,8);
    2. $b=rand(1,8);
    3.  
    4. if($a=='1') { $kox='A'; }
    5. if($a=='2') { $kox='B'; }
    6. if($a=='3') { $kox='C'; }
    7. if($a=='4') { $kox='D'; }
    8. if($a=='5') { $kox='E'; }
    9. if($a=='6') { $kox='F'; }
    10. if($a=='7') { $kox='G'; }
    11. if($a=='8') { $kox='H'; }
    12.  
    13. $hod_start=$kox.$b;
    14.  
    15.  
    16. $a2=rand(1,8);
    17. $b2=rand(1,8);
    18.  
    19. if($a2=='1') { $kox2='A'; }
    20. if($a2=='2') { $kox2='B'; }
    21. if($a2=='3') { $kox2='C'; }
    22. if($a2=='4') { $kox2='D'; }
    23. if($a2=='5') { $kox2='E'; }
    24. if($a2=='6') { $kox2='F'; }
    25. if($a2=='7') { $kox2='G'; }
    26. if($a2=='8') { $kox2='H'; }
    27.  
    28. $hod_finish=$kox2.$b2;
    Получается на выходе рандом ход С4-G1

    Их надо обработать в "матрице":
    Код (Text):
    1.  
    2. include ('../studiere/matrix/pravila/class_matrix2.php');                              
    3. include ('../studiere/matrix/pravila/class_matrix_tura2.php');                                
    4. include ('../studiere/matrix/pravila/class_matrix_ferz2.php');                              
    5. include ('../studiere/matrix/pravila/class_matrix_slon2.php');                              
    6. include ('../studiere/matrix/shah/class_shah_kon8.php');                              
    7. include ('../studiere/matrix/shah/class_shah_tura8.php');                              
    8. include ('../studiere/matrix/shah/class_shah_slon8.php');                                
    9. include ('../studiere/matrix/shah/class_shah_ferz8.php');                              
    10. include ('../studiere/matrix/shah/class_otkrytie_shaha8.php');
    Она проверяет корректность хода,чтобы ход был по правилам

    Нигде в интернете такого не написано,даже по запросу "шахматная матрица" ничего нет
     
  16. Dremax

    Dremax Активный пользователь

    С нами с:
    13 фев 2015
    Сообщения:
    154
    Симпатии:
    4
    2.jpg

    Программа "жрёт" всё,что отдаю
    Расчет на окружающие 8 клеток
    С 12 попытки удалось,сначала абра-кадабра получилась,с такой абра-кадаброй пришлось бы писать условия IF на 3156 блоков )
     

    Вложения:

  17. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.787
    Симпатии:
    1.328
    Адрес:
    Лень
    @don.bidon, чувак со своим ИИ пытается сам себя налимонить. Не мешай ему двигаться в успешном направлении говнокодинга.
     
    don.bidon нравится это.
  18. Dremax

    Dremax Активный пользователь

    С нами с:
    13 фев 2015
    Сообщения:
    154
    Симпатии:
    4
    Какой позор,какая чушь,ты не стесняешься такую чушь писать в интернете? Эта тема будет висеть на форуме годами,тебя прочитают сотни людей,и что они о тебе подумают
     
  19. don.bidon

    don.bidon Активный пользователь

    С нами с:
    28 мар 2021
    Сообщения:
    911
    Симпатии:
    143
    Первую "И" увидел, вторую "И" не увидел, если ходы рандомно делаются. Шахматы, если память не изменяет, иначе пишутся. К коду придираться даже не буду.

    Из своих ИИ могу вспомнить пару stealth-вирусов под MSX, один подставлял из ПЗУ стандартный boot-сектор, пряча себя, второй выкусывался из исполняемых файлов, если их загружали в популярный тогда отладчик, а не на исполнение. Ещё один раз участвовал в проекте по написанию преферанса на prolog, но команда состояла из школьников и задача состояла в том, чтобы за 2 недели как-то изучить язык и что-то навоять, распасы научили играть худо-бедно, остальное не успели )
     
  20. Dremax

    Dremax Активный пользователь

    С нами с:
    13 фев 2015
    Сообщения:
    154
    Симпатии:
    4
    Уже не совсем рандом

    В одном потоке идут 5 поисков: 1.Просто рандомные ходы А1-H8
    2.Перебор каждой черной фигуры и поиск кого убить на передние 3 клетки
    3.Перебор каждой черной фигуры и поиск кого убить на задние 3 клетки
    4.Перебор каждой черной фигуры и поиск кого убить на 1 клетку влево и 1 клетку вправо
    5.Отменяются ходы под удар на окружающие 8 клеток

    В общем написание на "окружающие 8 клеток" готово
    Тестирую,играю с программой и отдаю фигуры - пожирает нормально

    Но дописывать то надо будет с анализом на потенциально "окружающие 64 клетки",я это уже не осилю,математика будет сложная,запутаюсь в переменных

    Сейчас тестирую,чтобы моего слона сразу же жрал - бывает путит, настраиваю
     
  21. Dremax

    Dremax Активный пользователь

    С нами с:
    13 фев 2015
    Сообщения:
    154
    Симпатии:
    4
    hthhth.jpg

    Прикол #3 )
    Как программа будет ходить?? ахаха
     
  22. don.bidon

    don.bidon Активный пользователь

    С нами с:
    28 мар 2021
    Сообщения:
    911
    Симпатии:
    143
    Не знаешь, чем ходить -- ходи конём.
     
  23. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.828
    Симпатии:
    651
    И нахуа эта хрень? Лучше совершенствованием ИИ займитесь. А то в демке какой-то тупой соперник-компьютер. Помню, в школе или в институте была небольшая программа, с которой было реально интересно играть, а у вас осн. фигуры, например конь или король, выходят со своих нач. позиций, а потом на них возвращаются :D
    --- Добавлено ---
    Пользовательские ходы тоже «зависают» (я сначала даже не понял как ходить). Сделайте быстрые тупые ходы на клиенте, а потом уже обсчитывайте их корректность на сервере. Поддержка ходов перетаскиванием фигуры тоже бы не помешала.
     
  24. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.828
    Симпатии:
    651
    Нихуа себе у вас шахматы. Слон с крыльями, летающий, как ладья :D
     

    Вложения:

    • chess.png
      chess.png
      Размер файла:
      112,4 КБ
      Просмотров:
      5
    MouseZver нравится это.
  25. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.787
    Симпатии:
    1.328
    Адрес:
    Лень
    Пусть читают меня целые легионы !!!!