IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> взаимодействие программ
compiler
сообщение 9.04.2007 16:56
Сообщение #1


Человек
*****

Группа: Пользователи
Сообщений: 1 050
Пол: Мужской
Реальное имя: Станислав

Репутация: -  3  +


Добрый день!
есть программа она предлагает другим какоето
не так
представьте игру в 21 очко...
как реализовать взаимодействие между программами.. (при этом изначально главная программа не знает количество игроков...)
наверно надо как-то через внешний файл...
Заранее благодарен!


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 9.04.2007 17:00
Сообщение #2


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


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


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
compiler
сообщение 9.04.2007 17:05
Сообщение #3


Человек
*****

Группа: Пользователи
Сообщений: 1 050
Пол: Мужской
Реальное имя: Станислав

Репутация: -  3  +


игра не совсем эта, это для примера...
Есть прога которая сдаёт карты.. А есть прога/проги которые играют
Все программы могут быть написанные разными людьми и здорово было бы если они и компилировались отдельно... а взаимодействовали при самом выполнении..


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 9.04.2007 17:09
Сообщение #4


Гость






Механизм Unit-ов для этого и разрабатывался, чтобы компилировать отдельно разные части программы, возможно, создаваемые разными людьми...

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

Сообщение отредактировано: volvo - 9.04.2007 17:11
 К началу страницы 
+ Ответить 
compiler
сообщение 9.04.2007 17:23
Сообщение #5


Человек
*****

Группа: Пользователи
Сообщений: 1 050
Пол: Мужской
Реальное имя: Станислав

Репутация: -  3  +


Цитата(volvo @ 9.04.2007 17:09) *

Механизм Unit-ов для этого и разрабатывался, чтобы компилировать отдельно разные части программы, возможно, создаваемые разными людьми...

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

а где можно посмотреть наглядный пример...
я не совсем понял причем тут Unit-ы... как с ними работать(механизм для этой программы)

может как-то через файл... одна программа пишет другая читает...
в общем вот моя главная программа Прикрепленный файл  GAME0.0.5.PAS ( 1.63 килобайт ) Кол-во скачиваний: 381
и мои 2 "игрока"Прикрепленный файл  pl0.0.1.pas ( 471 байт ) Кол-во скачиваний: 382
Прикрепленный файл  2pl0.01.pas ( 428 байт ) Кол-во скачиваний: 390


Сообщение отредактировано: compiler - 9.04.2007 17:23


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 9.04.2007 22:03
Сообщение #6


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(мисс_граффити @ 9.04.2007 18:00) *

а где здесь две программы умещаются? В чем функции каждой из них?

Допустим, несколько человек разрабатывают каждый свою программу, играющую в эту игру с применением ИИ. После этого нужно устроить турнир между этими программами и посмотреть, чья выиграет. При этом надо организовать взаимодействие этих программ от хода к ходу..
compiler, я правильно понял вопрос?
Цитата(compiler @ 9.04.2007 18:23) *

может как-то через файл... одна программа пишет другая читает...
Да, через файл, если речь идет о ТР. Только надо все продумать. Можно, чтоб каждая прога писала в свой файл: одна использует файл f1.dat, другая в f2.dat, третья в f3.dat и т.д. Каждая программа ждет появления файла предыдущего игрока. Как только он появляется - это значит, ее ход. Она его читает и стирает. Обрабатывает данные, ходит (то есть записывает данные в свой файл). Следующая видит, что эта сходила, и т.д.
32-битные компиляторы могут предоставить другие средства - сокеты, например.. Также есть механизм семафоров.. Но тебе пока будет достаточно обмена через файлы, мне кажется.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 9.04.2007 22:46
Сообщение #7


Гость






compiler,
что именно должна возвращать программа? Через код возврата можно вернуть целое число 0 .. 255, если этого тебе достаточно, то можно организовать последовательный запуск программ через Exec, и последующий анализ DosExitCode (туда пишется значение n, которое программа возвращает через Halt(n))...

Хотя все-таки было бы проще ИИ каждого игрока скомпилировать в TPU файл и присоединить их все к программе-тестеру...

Сообщение отредактировано: volvo - 9.04.2007 22:47
 К началу страницы 
+ Ответить 
compiler
сообщение 14.04.2007 18:38
Сообщение #8


Человек
*****

Группа: Пользователи
Сообщений: 1 050
Пол: Мужской
Реальное имя: Станислав

Репутация: -  3  +


Добрый день
Lapp понял правильно...
Из новых предложеных вариантов я ничего не понял sad.gif //возращать значение до 255 не то...

где можно посмотреть пример реализации предложеной Lapp-ом и/или обьяснение к другим вариантам..


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 18.07.2025 1:43
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"