Меню Рубрики

Как написать крестики игру нолики в паскале

Игра: Крестики-нолики

Игра крестики-нолики
Сталкиваюсь с этой проблемой не первый раз. Суть проблемы в том,что когда я пытаюсь прописать код.

Игра в Крестики-нолики с двумя игроками
Доброго времени суток! Требуется программа под названием крестики-нолики (3×3). Ввод происходит.

Игра крестики-нолики в графическом режиме
Крестики-нолики. Описание: Игра осуществляется по стандартным правилам для поля 3х3.

Игра крестики и нолики — найти ошибку в коде
Подскажите в чём ошибка. Когда запускаю программу первый раз «Х» пишется а потом нет. uses crt;.

Kordn, мне было так лень делать лаконичное обрабатывание клика) Ну чтож, спасибо!

Добавлено через 8 минут
И еще, в моей версии кто победил — тот ходит первым)

это на паскале точно?а не на делфи?

Добавлено через 4 минуты
ауууууууууууууууууууууууууууууууууу

Добавлено через 2 минуты
ответьте мне срочно(((((( Добавлено через 23 минуты

Добавлено через 5 минут
»/>

Добавлено через 11 секунд

точно точно точно?

Добавлено через 21 минуту
опять

Добавлено через 4 минуты
он в консоле будет ж работать?

Добавлено через 12 минут

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Крестики-нолики: плохо прорисовываются «нолики»
Я, наверное, всех уже достал своей игрой, но я опять напоролся на подводный камень. Игра -.

Крестики-Нолики
Программисты, помогите пожалуйста!:) Пытаюсь сделать крестики — нолики на PascalABC.NET, но.

Крестики и нолики
Ребят, нужно сделать чтобы крестики и нолики нажимались мышкой и в конце было кто победил и кто.

Крестики-нолики
помогите очень надо написал программу игры крестики нолики на 1 игрока с машиной

Источник статьи: http://www.cyberforum.ru/pascalabc-net/thread1081971.html

Как написать программу крестики-нолики на языке Pascal?

Всё — искусство, вопрос лишь в правильной подаче. Истинно ли это выражение?

Люблю вопросы о контексте. Каждый миллиметр человеческой цивилизации размечен контекстуальными нормами — от того как люди здороваются и прощаются, и до тысячелетних традиций международного права, время от времени решающих вопросы военной интервенции и геноцида — но именно искусство заставляют постоянно за них отчитываться.

И, эм, не то чтобы подробных отчётов не было. Существуют целые научные дисциплины, изучающие искусство как практику — антропология, социология, историография искусства, эволюционная и нейроэстетика, плюс подразделы оного в философии, плюс они все будут разными в зависимости от культуры, в которой человек это всё пишет.

Это чисто в академии. Если кто думает, что может постигнуть этот вопрос силой своего здравого смысла, то прошу вас заодно посмотреть переписку Ленина с Каутским, нам всем интересно, что вы о ней думаете.

Если говорить серьёзно, то расклад, по дисциплинам, примерно следующий:

Вопрос об онтологии (том-как-вещи-существуют) и эпистемологии (том-как-мы-о-них-знаем) не решен, и скорее всего не будет. Среди философов, занимающихся эстетикой, примерно две трети считает, что художественная ценность имеет объективный критерий — даже если мы никогда о нём не узнаем. Чсх, натуралисты составляют среди них меньшинство — то есть, большинство считает, что этот критерий не связан с работой мозга.

Антропологически, вопроса вообще не стоит, потому что антропологически искусство это поведение (Леви-Стросс, M.N. Haidle, С. Geertz). У поведения не может не быть контекста. Точно также как определение религии антропологически размыто до неузнаваемости (силой разнообразия религиозных практик), так и определение искусства будет значительно шире привычной европейской модели с гениями, музеями и бессмысленными дебатами в интернетах.

Что в свою очередь не подразумевает отсутствия определения, или того что искусство может быть чем угодно. У этноса, к примеру, тоже нет чёткого определения, однако если вы смуглый человек, пытающийся снять квартиру в Москве, окружающие не замедлят вам его приписать.

И к слову, даже сами художники-пропоненты «правильной подачи» говорили о ней в художественном контексте и в качестве художественного жеста. Что можно было списать на отвлеченное теоретизирование, если бы не исторический прецедент: причина, по которой «Фонтан» Дюшана, вопреки собственной интенции, стал художественной работой — именно в полноте искусства как практики, с позиции которой он был рассмотрен.

Иными словами — тот факт, что любое явление и любое действие можно рассматривать в контексте X, делает X контекстом первого порядка, и следовательно более чем конструктом. «Фонтан» может быть искусством, но не может быть вышиванием.

Именно поэтому оно всемирно. Именно поэтому искусство это один из критериев поведенческой современности у доисторических гоминидов, именно поэтому самые дальние и изолированные народы всегда имели своё искусство на момент их обнаружения.

Искусство сложно, Гиппий. За две с половиной тысяч лет можно было бы и привыкнуть.

Источник статьи: http://yandex.ru/q/question/computers/kak_napisat_programmu_krestiki_noliki_na_f626d263/

Программа крестики-нолики

Представляю вашему вниманию свою попытку разработать на Паскале искусственный интеллект для игры крестики-нолики.
Программа играет не идеально, но некоторое сопротивление оказать все же способна.

P.S. Управление осуществляется с помощью клавиатуры:

  • Стрелка вправо – движение вправо.
  • Стрелка влево – движение влево.
  • Стрелка вниз – движение вниз.
  • Стрелка вверх – движение вверх.
  • Пробел – поставить крестик.
  • Клавиша ESC – выход из программы.

Крестики-нолики
Создать программу, играющую с пользователем в «крестики-нолики» на поле 3×3. Программа должна.

Крестики-нолики NxN
Доброго времени суток! Друзья, написала программу крестиков-ноликов 3х3, преподаватель просит.

Крестики-нолики
Как сделать игру крестик и нолик в паскале

Крестики нолики
Здравствуйте, в данное программе нужно заменить символы «крестики и нолики» на картинку, чтобы было.

Касательно кода и синтаксиса.

Строки 7-78 преобразовать по образу

Строки 85, 269-340 выкинуть.

Добавлено через 24 минуты
Строки 210-224 эквивалентны

Во Free Pascal работать не захотела, даже с WinCRT.

bormant, оптимизировать можно до бесконечности.

В принципе, первый совет можно оптимизировать до использования циклов вместо жестко закодированных значений.

. а второй совет можно оптимизировать до:

Конечно, оптимизация — это важно, но гораздо важнее, чтобы программа работала, и чтобы вы получали бы удовольствие от игры.

Не только. Использование логической переменной для выхода из вложенных циклов — так себе решение, это, пожалуй, единственный случай, где вполне уместен GoTo.

Да и составными операторами злоупотреблять нет никакой нужды.

Добавлено через 1 минуту
Ах да, это пока никакая не оптимизация, просто использование средств языка к месту, дабы повысить читаемость и сопровождаемость программы, не более того.

нет.
тп никому не интересен, код убогий, комментариев 0, управление убогое

если уж создавать ИИ, то нужно понимать, что для того, чтоб выиграть в крестики нолики есть всего 8 комбинаций. пусть поле это массив клеток 0..7, тогда комбинации: 012,345,678;036;147;258;048,246. клетка 4 присутствует в 4 комбинациях значит у нее наивысший приоритет для хода. Если игрок походил в клетку 4, то ход в клетку 0 помешает игроку создать 3 комбинации и даст возможность компьютеру создать 2 комбинации, например ход в клетку 1 помешает создать только 2 комбинации и поможет создать 1 комбинацию. так же компутер должен определять какие комбинации можно создать в данный момент и насколько игрок близок к созданию комбинации и какой. вот и вся логика

vlisp, полностью согласен с вами, что если подумать как следует, то можно достаточно успешно реализовать логику для игры в крестики нолики.
Только у меня крестики-нолики «пять в ряд» и поле 15 на 15 клеток, а не 0..7. Мне кажется, в этих условиях количество комбинаций все же больше того, что вы подсчитали .

ValentinNemo, ваш чуть оптимизированный код работает у меня отлично, только объявление массива Li пришлось перенести из раздела объявления переменных в раздел объявления констант.
Посмотреть на вариацию моей программы в виде проекта на Lazarus мне было бы интересно. Если выложите, посмотрю с удовольствием.

Аксима,
В сети есть куча сайтов посвященных стратегиям игры «Х/О» и «GO». Стртегию ИИ, Вам можно взять там.

Аксима, спасибо что проверили. Буду теперь уверен и «сражаться» с Lazarus.
Тема ИИ применительно к играм и применительно к общим задачам по программированию сейчас очень актуальна. Я рекомендую кому интересно поискать книгу Сергей Соболенко. «Искусственный интеллект: начала MSM.» В ней все толково разъяснено и главное — приводится код ИИ на Pascal.
У кого есть терпение, могут этот код перенести из книги в файлы и предоставить публике работающий код.
Аксима, если вам интересна тема ИИ, то для вас это самое лучшее, что можно найти.

bormant, может быть вы мне не поверите, но мне набросать интерфейс ввода-вывода (в том числе и с компонентами графической информации ) в Lazarus в 2-3 раза проще, чем придумывать собственные интерфейсные велосипеды в консольных программах. Оценка конечно субъективная.

Источник статьи: http://www.cyberforum.ru/turbo-pascal/thread2486149.html

Крестики-Нолики

Программисты, помогите пожалуйста!
Пытаюсь сделать крестики — нолики на PascalABC.NET, но столкнулся с проблемой, что «бот» делает то, что ему запрещается делать. Звучит странно, но если запустить программу, то всё станет понятно, я думаю)
Имею двумерный массив и заполняю его 1,2 и 0, где 1-мой ход, 2-ход бота, 0-пустая клетка. Но получается, что «бот» порой заполняет те клетки, которые закрыты пользователем или им самим, хотя по коду, он так делать не должен или я что-то не понимаю в этой жизни)
Помогите, кто шарит.
Да, код страшный, но я учусь ток в 9 классе и на что-то более красивое пока не способен)
И да, программу доделал не до конца, поэтому в плане побед, проигрышей, ничьей и тд ещё не готово. Но вот эта проблема с «ботом» не даёт мне продвинуться дальше, так что не серчайте)
Заранее Спасибо за помощь!

Кодик чуток ниже

Крестики-нолики: плохо прорисовываются «нолики»
Я, наверное, всех уже достал своей игрой, но я опять напоролся на подводный камень. Игра -.

Крестики и нолики
Ребят, нужно сделать чтобы крестики и нолики нажимались мышкой и в конце было кто победил и кто.

Крестики-нолики
помогите очень надо написал программу игры крестики нолики на 1 игрока с машиной

Игра крестики-нолики
Сталкиваюсь с этой проблемой не первый раз. Суть проблемы в том,что когда я пытаюсь прописать код.

Решение

Во-первых, чтобы работал режим отладки, необходимо сначала писать программу без использования модуля crt.
Только после того, как простая версия (с использованием read и без украшений) будет работать на все 100, можно приступать к её воплощению в оконном режиме.

Во-вторых, использование goto вносит путаницу в читаемость кода.

В-третьих, у вас имеется глобальный массив zone. Так зачем же вы его заново в каждой процедуре задаёте?

В-четвёртых, вместо того, чтобы каждый раз в процедуре botcontrol использовать двойное условие „if (zone[3, 1] <> 1) and (zone[3, 1] <> 2) then begin“ можно было просто сравнить с нулём!

В-пятых, чтобы не использовать девять раз один и тот же код в операторе case (в процедурах control и botcontrol), эту часть кода можно вынести в процедуры и/или функции, в качестве параметров которым задавать координаты экрана и массива.
А ещё лучше эти координаты вынести в константный массив и брать от туда!

Самое главное:
Вы снова, как и в „Змейке“, пытаетесь написать программу не задумываясь о результатах.
Поступаете как говорил герой Витаргана в «Чародеях»: „Нужно видеть цель, верить в себя и не замечать препятствий!“

Добавлено через 1 час 52 минуты
Попробую написать игру:

Что нам может понадобиться?

Первое — это собственно массив, в котором будет храниться поле игры.
Ну и ещё, не плохо бы добавить счётчик шагов.

Еще в программе потребуется датчик случайных чисел. Поэтому сразу инициализируем его:

Если ячейка уже занята, то выводим «X» — крестик или «O» — нолик.
Ещё не занятые ячейки игрового поля выводятся соответствующими цифрами — это типа подсказка…

Добавлено через 4 минуты
Теперь нужно создать цикл, в котором будет происходить игра.
Для этого нам, наверное, понадобится переменная, которая будет определять чей сейчас ход.
Ну и создадим сразу заготовки функции проверки выигрышного состояния и процедур, которые будут отвечать за ход компьютера и человека:

Добавлено через 3 минуты
Это только заготовки.
Теперь их нужно наполнить.
Сначала посмотрим, как должен ходить компьютер.

Думаю, что для начала достаточно простого датчика случайных чисел.
Т.е. получим случайные координаты поля и, если они не заняты, то установим в него «Х».
Это легко:

Добавлено через 3 минуты
Остаётся запрограммировать ThereIsAWin — кто же выиграл?

Думаю, что циклы здесь не нужны.
Вполне можно обойтись простыми проверками: 2 диагонали + 3 горизонтали + 3 вертикали.

Добавлено через 2 минуты
Пусть тот, кто ходит первым, всегда ставит «Х», а второй — «O».
В дух местах программы вместо присвоения 1 и 2 соответственно, напишем так: „a[row, col] := (Step + 1) mod 2 + 1“

Добавлено через 2 минуты
Ну вот и готовая программа:

Добавлено через 19 минут
Осталось только научить бота закрывать человеку возможность выиграть.

Добавлено через 19 минут
Можно сильно не заморачиваться. Тупо проверить все возможные варианты:

Источник статьи: http://www.cyberforum.ru/pascalabc-net/thread2276994.html


0 0 голоса
Article Rating
Подписаться
Уведомить о
guest

0 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии