Подскажите какую сетевую игру можно написать на паскале?
Наиболее распространненые игры и попроще в написании
Сетевая игра |
Сетевая игра |
Анна |
Сообщение
#1
|
Бывалая Группа: Пользователи Сообщений: 290 Пол: Женский Реальное имя: Анютка Репутация: 7 |
Подскажите какую сетевую игру можно написать на паскале?
Наиболее распространненые игры и попроще в написании |
Unconnected |
Сообщение
#2
|
mea culpa Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: 24 |
Ну, по-моему, паскалевский аналог "Танчиков" был бы интересен (сетевой). Только вот насчёт сложности его реализации не знаю, на паскале с сетью не работал.
-------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
TarasBer |
Сообщение
#3
|
Злостный любитель Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
Ну если на простом Паскале...
У меня многие знакомы делали дёшево и сердито. Соединяли компы в сеть, создавали сетевой диск, который виден с обоих компов. Естественно, паскалевская программа тоже имеет к нему доступ через банальные Assign(F, FileName). Вот и писалась игра таким образом - с обменом данных через сетевой диск. Правда скорость не очень. Но для пошаговых игр должно хватить. Вот тут правильно заметили про танчики (типа Worms). -------------------- |
amega |
Сообщение
#4
|
? Группа: Пользователи Сообщений: 283 Пол: Мужской Репутация: 4 |
опита не имею еще в написании игр, но как бы я зделал, допустим игра танчики:
на одном из кампов сделал сервер, а остальные клиенты, клиент отправлял бы свои координаты и сигнал что он тоже хочет поиграть. а сервер в свою очередь всем таким клиентам которые заявились отравлял бы дание через какойнить порт. прада на счет бистроты действие и синхронности незнаю что с этим будет(чесно говоря никогда не пробывал).. |
andriano |
Сообщение
#5
|
Гуру Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: 28 |
Если имется в виду BP for DOS, то использовал протокол IPX, при этом, правда, на обеих машинах был не "голый DOS", а DOS-сессия Win9x.
Если же имеется в виду какой-либо 32-разрядный компилятор под Win или Linux, то для динамических игрушек можно посоветовать UDP, а для логических (или походовых) - TCP. По поводу игр: Динамическая: какая-либо игра, где тем или иным образом соревнуются/сражаются 2 или несколько игроков. Игровое поле общее для всех и целиком помещается на экран (2D). Логическая: реализация какой-нибудь классической карточной игры, либо шахмат, шашек, etc. |
Анна |
Сообщение
#6
|
Бывалая Группа: Пользователи Сообщений: 290 Пол: Женский Реальное имя: Анютка Репутация: 7 |
А "крестики-нолики" на паскале или делфе есть примеры у кого?
|
amega |
Сообщение
#7
|
? Группа: Пользователи Сообщений: 283 Пол: Мужской Репутация: 4 |
крестики нолике по сети или так на одном кампекампе?
|
Анна |
Сообщение
#8
|
Бывалая Группа: Пользователи Сообщений: 290 Пол: Женский Реальное имя: Анютка Репутация: 7 |
Компьютер - Компьютер.
С использованием сокетов. |
Unconnected |
Сообщение
#9
|
mea culpa Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: 24 |
Крестики-нолики с полем 3 на 3?
-------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
Shuruper |
Сообщение
#10
|
Новичок Группа: Пользователи Сообщений: 48 Пол: Мужской Реальное имя: Антон Репутация: 0 |
Алгоритм для пошаговой очень прост. Во первых соединяемся с помощью assign с сетевым ресурсом.
Запоминаем некий файл game.txt Затем после каждого хода игроков вносим в этот файл необходимые изменения. На практике это выглядит так: Есть сетевой ресурс напр. ftp://mygame.net/ . На ресурсе лежит файл game.gm с неким число. Пользователь соединяется с файлом game.gm и проводит необходимые операции после чего файл game изменяется в зависемости от введенной информации. Когда цель игры осуществлена всем игрокам выводится файл с их именами и местами. Конечно я описал простейший случай но для начала такой способ самый оптимальный. -------------------- Я бы исправил мир, но Бог не дает мне исходников...
|
Анна |
Сообщение
#11
|
Бывалая Группа: Пользователи Сообщений: 290 Пол: Женский Реальное имя: Анютка Репутация: 7 |
Крестики-нолики с полем 3 на 3? да, самые обычные крестики-нолики для игры по сети между двумя компьютерами. Shuruper, мне не нужен доп. сервер. Нужен простой пример данной игры. Где есть поле 3 на 3. На обоих ПК запускается приложение, пользователи выбирают друг друга и играют. |
Unconnected |
Сообщение
#12
|
mea culpa Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: 24 |
Позднее уточнение:) Набросал тут крестики-нолики через сокеты на делфи, с задаваемым количеством клеток и длиной выигрышной линии. Игра сама реализована, только вот программа не показывает, когда складывается выигрышная линия. Если хочешь, доделай сама, я в любом случае приду попозже и сделаю.
Исходники в аттаче(не забудь проверить, установлены ли у тебя TClientSocket и TServerSocket). -------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
Анна |
Сообщение
#13
|
Бывалая Группа: Пользователи Сообщений: 290 Пол: Женский Реальное имя: Анютка Репутация: 7 |
Господа, такой вопрос: как сделать, чтобы при потере соединения вылазила ошибка, что соединение потеряно?
|
andriano |
Сообщение
#14
|
Гуру Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: 28 |
Ну, наверное, предусмотреть постоянный периодический обмен пакетами. Если в течение таймаута пакет не пришел, соединение потеряно.
|
Unconnected |
Сообщение
#15
|
mea culpa Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: 24 |
В моём варианте достаточно повесить на событие OnDisconnect сокетов вылет окошка с ошибкой.
{доделывать не стал, общался с Анной в ICQ, ей немного другое надо, а точнее целая курсовая} -------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
Анна |
Сообщение
#16
|
Бывалая Группа: Пользователи Сообщений: 290 Пол: Женский Реальное имя: Анютка Репутация: 7 |
Курсовая пишется уже мной Вот на этом пока встала.
|
Текстовая версия | 23.12.2024 20:18 |