Программирование игр

Аватар пользователя
omega
Сообщений: 3776
Зарегистрирован: 21 апр 2010, 21:00

Программирование игр

Сообщение omega » 01 мар 2013, 03:40

Ну, ежели выделять ветку некому, придётся самой поработать
Ветка выделена из темы "История развития кибернетики".

Поскольку с сообщения Alexu007 не могу начать тему, начинаю со своего, следующего сразу за его сообщением:

omega писал(а):Source of the post
О-о-о! Раз пошла такая пьянка...

Предлагаю с сообщения Alexu007 начать новую тему - "Программирование игр" (примерное название).

Интереснейшая тема! Наверное, нет ни одного программиста, который не писал бы игровые программы.
Знаю, что есть очень много игровых программ у General'а.
На этом форуме (помню точно) он сообщал об одной своей компьютерной игре.
Он много занимается разработкой флеш-игр.
Я тут сообщала об одной из его последних игр - нетрадиционные шахматы.

Надеюсь, что он сам придёт в тему и расскажет нам о своих игровых программах.

О себе...
Я начинала писать игровые программы очень давно, ещё в 80-х годах прошлого века. У меня даже есть книжка "Играем сами, играем с компьютером". Увы, она не издана, но рукопись сохранилась.
Могу рассказать о своих игровых программах. Хотя программы старые (они писались не для компьютера, а для старых ЭВМ), но сути это не меняет.
Когда прибрела компьютер, попробовала модифицировать одну игровую программу - для игры "Калах". Получилось, программа работает, вполне приемлемо играет. Хотя, конечно, это не такая программа, которая должна быть (я не умею программировать ходы с помощью мышки).
Потом на одном форуме мне дали ссылку на современный вариант этой компьютерной игры. Я скачала её и очень часто играла. Классная игра!

Мой итальянский коллега по квадратам Стефано Тогнон не так давно писал мне, что принимает участие в конкурсе программирования игр. Он ссылку мне присылал. Если найду, выложу.
Я тогда General'у эту ссылку послала, он посмотрел, ответил, что крутые игры там.

Вот нашла ссылку Стефана:

[url=http://www.rgcd.co.uk/2012/04/c64-16kb-car...evelopment.html]http://www.rgcd.co.uk/2012/04/c64-16kb-car...evelopment.html[/url]

I'm Ice00 in that site and the game is "Little Sara Sister 2"

Я, конечно, не смотрела, т.к. ни фига не знаю языки.

General присылал мне ссылку на все свои игры, могу поискать в почте. Но лучше подождём его, он сам лучше расскажет.

Сейчас посмотрела свой сайт. Игра "Калах" в Карте сайта есть, но ссылка на неё битая (игра осталась на старом сайте, который давно сдох).
Хорошо, что страничка сохранилась у меня на диске.
Я её сейчас загрузила на сайт:
[url=http://www.natalimak1.narod.ru/kalah.htm]http://www.natalimak1.narod.ru/kalah.htm[/url]

На страничке вы найдёте подробное описание игры и мою программу. Программа написана на Бейсике.
Я тогда ещё пользовалась интерпретатором. Поэтому нет даже исполняемой программы. Надо попробовать сделать её (сейчас я работаю с компилятором).

На страничке и ссылка есть, которую мне дали на форуме, - на совсеменный вариант игры:
[url=http://www.takegame.com/logical/htm/kalahru.htm]http://www.takegame.com/logical/htm/kalahru.htm[/url]

Я посмотрела, ссылка действующая. Можете скачать игру.

Эх! На моём компьютере программа игры Калах не работает (сейчас скачала по данной выше ссылке). Как я поняла (по выданной ошибке), причина в том, что у меня Винда 64-bit. Как жаль! На старом компьютере прекрасно работала программа, я тогда часто играла в паузах. Новый компьютер купила год назад, вот уже целый год не играю в Калах


Сообщение Alexu007 тут.

Далее интересное сообщение General'а по теме:

[url=http://e-science.ru/forum/index.php?s=&...st&p=390575]http://e-science.ru/forum/index.php?s=&...st&p=390575[/url]

Теперь моё - не столь интересное - про "время оно", но, тем не менее, по теме:

omega писал(а):Source of the post
Я давно-давно писала программу для рэндзю. Нормально работала программа на старой ЭВМ (Электроника 100/25). Я в обеденный перерыв играла с машиной. В рэндзю, в калах, в реверси играла (по своим программам).
Надо извлечь рукопись книги "Играем сами, играем с компьютером", посмотреть, просто забыла уже всё.
Описание этой японской игры брала из журнала "Наука и жизнь".
Теорией игр никогда серьёзно не занималась. Что там надо просчитывать - без понятия.
Просто программировала ходы игроков в соответствии с правилами, ну, и за игрока-машину немножко "думала"
Немножко в том смысле, что глубина просмотра была всего 1 ход. И даже этот 1 ход не всегда делался оптимальным образом, так как варианты хода анализировались последовательно и результаты анализа не сопоставлялись.

Ещё игра у меня была запрограммирована "Крестики-нолики в трёхмерном пространстве" (в кубе 3х3х3).



И последнее моё сообщение по теме:

omega писал(а):Source of the post
Я вчера попробовала найти в Сети игру рэндзю, ну очень захотелось поиграть
Блин!
Страниц открывается море в поиске, да толку так и не добилась.
Вошла на одну - играть онлайн. Зашла там в комнату, сижу в комнате, жду, когда партнёр зайдёт. Дождалась кто-то вошёл, вроде начали играть. Я поставила крестик, жду... ничего больше не происходит, нолик на поле не появляется. Наверное, партнёр убежал
Второй раз вошла в комнату, никто больше туда не заходит.
Зашла по другой ссылке, чтобы скачать игру. Там нажала "Скачать". Мама дорогая!!! У меня такого наскачивалось, наверное на пару Гб. Пришлось вырубать комп, чтобы всё это безобразие прекратилось.

Такие вот дела. Я очень люблю играть. Жалко, что на странице General'а всё не по-русски и я ни черта там не понимаю

Да, так где можно нормальную программу для игры рэндзю скачать? Подскажите, пожалуйста.

Или я тогда рассержусь и свою программу сделаю :lool:
Она ведь есть у меня, только для старой ЭВМ написана.
Последний раз редактировалось omega 28 ноя 2019, 13:36, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
omega
Сообщений: 3776
Зарегистрирован: 21 апр 2010, 21:00

Программирование игр

Сообщение omega » 01 мар 2013, 04:24

Обещала рассказать о программировании лингвистических игр.
Кто этим занимался хоть чуть-чуть, знает, насколько благодатную почву для программирования дают лингвистические задачи.

Задача №1

Найти все анаграммы к заданному слову.

Определение: анаграммой к данному слову является новое слово, полученное перестановкой букв заданного слова.

Пример: автор - товар - отвар - рвота - тавро.

Задача поставлена.
Алгоритм простой: ищем все перестановки букв заданного слова, выбираем среди полученных перестановок осмысленные слова.

Для пятибуквенных слов задача решается элементарно, всего 120 вариантов. Получаем программно все перестановки. Не составляет труда просмотреть все варианты визуально и выбрать осмысленные слова.
Для слов большей длины задача усложняется. Например, для 13-буквенного слова будет 13!=6227020800 вариантов. Просмотреть такое количество вариантов визуально невозможно. Значит, надо поручать эту работу машине. А для этого надо дать машине словарь всех 13-буквенных слов (в игре, конечно, как во всех лингвистических играх, используются только имена существительные нарицательные в единственном числе). Ввести в компьютер такой словарь уже сложно (технически). Далее надо каждую перестановку проверить на принадлежность словарю. Задача, наверное, решается не очень быстро.
Оптимизации?

Не так давно разговор об анаграммах и их поиске был на dS

Там приведена ссылка на программу, которая ищет анаграммы онлайн:
[url=http://4maf.ru/anagram.php]http://4maf.ru/anagram.php[/url]

В-о-о-о-т! Значит, занимаются люди программированием лингвистических задач и в настоящее время, а не только во время оно занимались

Задачи
найти анаграммы к словам

ватерполистка (1 анаграмма)
парадокс (2 анаграммы)


В онлайн-программу не заглядывать

В моей книге "Лингвистические игры и упражнения" есть большой банк анаграмм к словам разной длины.
Фрагмент страницы книги - восьмибуквенные анаграммы:

Изображение

Книгу можно скачать тут:
Том 1
[url=http://narod.ru/disk/23081215000.f1c08f206...1_Book.rar.html]http://narod.ru/disk/23081215000.f1c08f206...1_Book.rar.html[/url]
Том 2
[url=http://narod.ru/disk/23081228000.62729d66a...pendix.rar.html]http://narod.ru/disk/23081228000.62729d66a...pendix.rar.html[/url]
Последний раз редактировалось omega 28 ноя 2019, 13:36, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
omega
Сообщений: 3776
Зарегистрирован: 21 апр 2010, 21:00

Программирование игр

Сообщение omega » 01 мар 2013, 07:37

Сейчас просматривала папку с рисунками. Нашла вот это:

Изображение

Игра Судоку. Сама не программировала, но играла. Это ж мне так близко - латинские квадраты

Интернетовская программа хорошо играет. Программ много в Сети.
Сейчас дам ссылку на ту программу, по которой я играла.

Вот сюда загляните
[url=http://www.natalimak1.narod.ru/otdyh.htm]http://www.natalimak1.narod.ru/otdyh.htm[/url]

На странице об этой игре написано...и не только...
Последний раз редактировалось omega 28 ноя 2019, 13:36, всего редактировалось 1 раз.
Причина: test

12d3
Сообщений: 3347
Зарегистрирован: 02 янв 2009, 21:00

Программирование игр

Сообщение 12d3 » 01 мар 2013, 08:11

omega писал(а):Source of the post
А для этого надо дать машине словарь всех 13-буквенных слов (в игре, конечно, как во всех лингвистических играх, используются только имена существительные нарицательные в единственном числе). Ввести в компьютер такой словарь уже сложно (технически). Далее надо каждую перестановку проверить на принадлежность словарю. Задача, наверное, решается не очень быстро.
Оптимизации?

Это делается не так. Все слова в словаре изменяются так, чтобы буквы в слове шли в одинаковом порядке. Потом ищем совпадающие измененные слова. Это и будут анаграммы. Пример - слова "товар" и "автор" оба преобразуются в "аворт". Еще можно соптимизировать отсев слов на этапе перестановки букв в алфавитном порядке. Например, если мы ищем анаграммы к слову "товар", то нам нужны только пятибуквенные слова. Притом, если в слове есть другие буквы, то оно гарантированно не подходит.
Хочу похвастаться, я как-то самостоятельно, без компьютера нашел анаграмму "австралопитек" - "ватерполистка". Долго сему событию радовался.)
Последний раз редактировалось 12d3 28 ноя 2019, 13:36, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
omega
Сообщений: 3776
Зарегистрирован: 21 апр 2010, 21:00

Программирование игр

Сообщение omega » 01 мар 2013, 08:18

Ого!
Только сейчас заметила, что на странице для нахождения анаграмм можно и поиграть:
[url=http://4maf.ru/anagrams.php]http://4maf.ru/anagrams.php[/url]
Здорово!

Изображение

Несколько заданий я разгадала с ходу, а на этом застряла:

еноитещр

Это что такое? Что-то пока нет версий у меня Там, конечно, можно ответ посмотреть, но я пока не смотрела
Последний раз редактировалось omega 28 ноя 2019, 13:36, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
kiv
Сообщений: 1012
Зарегистрирован: 02 дек 2011, 21:00

Программирование игр

Сообщение kiv » 01 мар 2013, 08:48

Это да, кто не писал игр...
У меня с игры начиналось (если не считать на Б3-34, где тоже крестики-нолики программировал - на ЕС'ке (1030 или как ее там дразнили? с полумегом памяти еще была...) впервые показали, дали в Тетрис поиграть. Понятно, что я тут же засыпался - никогда с персоналками дела не имел. На что мне с таким апломбом и пренебрежением ответствовали "Да, тут надо КОМПЬЮТЕРНОЕ МЫШЛЕНИЕ иметь", что я сам себе сказал - не успокоюсь, пока сам тетрис не напишу. Точно не помню, но что-то в районе года прошло - написал таки

Потом еще делал "Змейку" - ну, это уже в графике

А потом - почему-то как отрезало, неинтересно стало, что ли - не люблю GUI заниматься, куда интереснее то, что внутри... И хоть приходилось потом "Программирование игр для Windows" переводить, но так и осталось - на практике невостребованным.
Последний раз редактировалось kiv 28 ноя 2019, 13:36, всего редактировалось 1 раз.
Причина: test

Таланов
Сообщений: 21057
Зарегистрирован: 07 янв 2009, 21:00

Программирование игр

Сообщение Таланов » 01 мар 2013, 09:45

Если иметь специально подготовленный словарь, то для нахождения анаграмм комп не нужен.
Последний раз редактировалось Таланов 28 ноя 2019, 13:36, всего редактировалось 1 раз.
Причина: test

peregoudov
Сообщений: 1917
Зарегистрирован: 09 сен 2007, 21:00

Программирование игр

Сообщение peregoudov » 01 мар 2013, 10:07

Может, онаграмм?
Последний раз редактировалось peregoudov 28 ноя 2019, 13:36, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
omega
Сообщений: 3776
Зарегистрирован: 21 апр 2010, 21:00

Программирование игр

Сообщение omega » 01 мар 2013, 11:17

peregoudov писал(а):Source of the post
Может, онаграмм?


Анаграмма - слово или словосочетание, образованное перестановкой букв, составляющих другое слово.

(Словарь современного русского языка. Издание Академии Наук СССР, 1991 г.)

kiv писал(а):Source of the post
...не успокоюсь, пока сам тетрис не напишу. Точно не помню, но что-то в районе года прошло - написал таки

Не совсем поняла. Вы какой вариант игры тетрис делали?

Недавно конкурс программистов был по этой игре. Так там тоже программа приложена. Но эта программа делает только техническую часть, она НЕ ДУМАЕТ. То есть человек сам нажимает на ту область, которую хочет убрать; программа только убирает эту область и делает новую картинку, что после этого получилось.
Эта техническая часть, разумеется, представляет мало интереса.

Вот так это выглядит, когда действуешь этой программой:

Изображение
Последний раз редактировалось omega 28 ноя 2019, 13:36, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
omega
Сообщений: 3776
Зарегистрирован: 21 апр 2010, 21:00

Программирование игр

Сообщение omega » 01 мар 2013, 11:36

12d3 писал(а):Source of the post
Хочу похвастаться, я как-то самостоятельно, без компьютера нашел анаграмму "австралопитек" - "ватерполистка". Долго сему событию радовался.)

Тоже похвастаюсь
Когда я писала свою книгу, у меня не было компьютера. Весь банк анаграмм составлен в уме.
Делала это так: брала орфографический словарь Ожегова и смотрела подряд все слова-существительные. Каждое слово "вертела" в уме долго-долго. Так нашла все анаграммы, которые есть в моей книге.

Отвлекли меня тут... гости приезжали.
Так и не успела подумать, что такое

еноитещр

Думаю
У меня только одна версия: тенорище. Что-то не уверена в правильности...
Последний раз редактировалось omega 28 ноя 2019, 13:36, всего редактировалось 1 раз.
Причина: test


Вернуться в «Флейм»

Кто сейчас на форуме

Количество пользователей, которые сейчас просматривают этот форум: нет зарегистрированных пользователей и 2 гостей