Помощь - Поиск - Пользователи - Календарь
Полная версия: Крестики 19х19
Форум «Всё о Паскале» > Pascal, Object Pascal > Написание игр
cooler
Извините за повтор.
Нужна прога крестики-нолики 19х19
Смотрел в теме Хрестики-нолики,
там нет нормальных прог (в одной не могу подключить Unit)
Помогите плз.
cooler
Вот 2 файла
В одном- модуль, в другом - программа.
1)Не подскажете как подключить модуль
Я делаю так:
сохраняю текст модуляс расширением .bas,
Компилирую.. бац - ошибка.
Что неправильно?
2)По программе:
по какому принципу она работает? (хотя бы в общих чертах)
Как проверяет выигрыш?
Lapp
Цитата(cooler @ 16.05.2007 10:33) *

сохраняю текст модуляс расширением .bas,
Компилирую.. бац - ошибка.
Что неправильно?

Почему .bas? Сохраняй с расширением .pas, и будет тебе счастье.
Я скомпилировал, и даже выиграл у этой проги.. smile.gif
На всякий случай: название модуля должно совпадать с названием файла (без раширения).

Как она проверяет выигрыш - это просто, да тут и не должно быть разнообразия. Проходит по всем направлениям и считает одинаковые фишки. Вот как она решает, куда ходить - это вопрос более интересный.. smile.gif
cooler
Ну тогда куда ходить? ( smile.gif )
cooler
Дубль два.

1) Сохраняю .pas
2)Жму ctrl+F9 (alt+F9)

Вылетает

Error 116: Must be in 8087 mode to compile this

Код
procedure inputsingle(var a:single);
    var rk : integer;
  begin {$I-}
    repeat
      readln(a);                     < ---------------- here
      rk:=IoResult;
      if rk<>0 then writeln('YOU ARE WRONG! REPEAT, PLEASE.');
    until rk=0
  end;


Отсюда вопрос : что же не так?!???!!!!???


На всякий случай: название модуля совпадает с названием файла (без раширения).
cooler
Что за режим 8087???!!!!!
Никто не знает ????!!
volvo
Надо подключить СОпроцессор, у тебя в установках Паскаля, как видно, он отключен...

Самой первой строкой программы добавляешь {$N+}, и наслаждаешься работающей программой...
cooler
Спасибо сейчас попробую.
cooler
Извините за тупой вопрос, эта прога написана в Object pascal или в простом?
Я просто некоторые строки вообще не понимаю, а объектнное программирование не знаю.
Могли бы вы пояснить хотя бы в общих чертах как проверяет компьютер куда ходить? И воообще некоторые процедуры.
cooler
Народ! Люди! АУ! Ну что вам стоит сказать хоть что-то?!
Помогите пожалуйста
Гость
Угарная прога я даже в нее пару раз сыграл .
А тока можна сделать чтоб играть на двоих без компа?
Я с братом хочу сыграть а как переделать не знаю.

Только нафиг тут модуль нужен.
Lapp
Цитата(cooler @ 20.05.2007 23:11) *

эта прога написана в Object pascal или в простом?
Я просто некоторые строки вообще не понимаю, а объектнное программирование не знаю.
Могли бы вы пояснить хотя бы в общих чертах как проверяет компьютер куда ходить? И воообще некоторые процедуры.

ooler, прога эта написана без применения объектов. Что именно тебе непонятно - спрашивай.
Но разбирать, как именно она выбирает, куда ходить - это задача, во-первых, непростая, а во-вторых, неблагодарная. Гораздо лучше либо найти алгоритм (не программу), либо самому его выдумать. Эта прога играет довольно слабо, хотя и без грубых ошибок, вроде (типа отрытые с двух сторон тройки закрывает). Вообще, ИИ (искусственный интеллект) - это очень непростая штука, даже в таких вот простых, на первый взгляд, играх, как рендзю.
Цитата(Гость @ 22.05.2007 0:04) *

Угарная прога я даже в нее пару раз сыграл .
А тока можна сделать чтоб играть на двоих без компа?
Я с братом хочу сыграть а как переделать не знаю.
Только нафиг тут модуль нужен.

Странное желание - интерфейс у этой проги крайне примитивный, просто никакой. Да еще и вертикали с горизонталями перепутаны smile.gif. Лучше и проще сделать с нуля свой собственный - или найти более красивую прогу (думаю, их должно быть немало).

Добавлено через 2 мин.
Да, забыл: а модуль там почти ненужен, верно. Ввод числа можно использовать самый обычный, и задержка до нажатия клавиши тоже реализуется одной строчкой..
cooler
ЕЩЕ 2 вопроса:
1)что делают function seach1 и 2 (из основной проги)
2)
procedure inputmass(var ma : array of real;mn :integer);
procedure inputmass2(var ma : tdarray;mn,mk :integer);
function findmin(ma : array of real;var mi:integer;mk:integer;mn:integer):real;
function findmax(ma : array of real;var mi:integer;mk:integer;mn:integer):real;
procedure showmass(ma : array of real;mn:integer);
procedure showmass2 (ma:tdarray;mn,mk:integer);
procedure showmass3 (ma:tshortdarray;mn,mk:integer);
procedure sortmass1(var ma : array of real;mn : integer);
procedure sortmass2(var ma : array of real;mn : integer);
procedure sortmass3(var ma:array of real;mn:integer;mk:integer);
procedure concmass(ma,mb:array of real;na,nb :integer;var mc:array of real);
function findinmass(ma : array of real;mn,mk:integer;mf:real):integer;

Что делают все эти процедуры, особенно непонятно imputmass (из модуля)
cooler
В этой проге оценочная ф-ия
пpимеpно такая(???): пpосматpиваем все непyстые отpезки
длины 5 и сyммиpyем оценки для них. В пpостейшем ваpианте пpосто пpиписываем
некотоpый вес каждой возможной комбинации кpестиков, ноликов и пyстых клеток в
отpезке (их всего 243, включая совсем пyстой).

Помогите пожалуйста.Просто у нас на экзамен нужно притащить прогу и в общих чертах (по процедурам)
объяснить что происходит. Мне достались эти ХО.(Хотя и выбор:хо или морской бой)

Я сам алгоритм на естественном языке понимаю. А в Паскале пока никак не могу расшифровать алгоритм.
Алгоритмов для этой игры можно целую кучу придумать.Какая здесь???
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.