Модераторы: Rickert

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Алгоритм игры Футбол на листочке, помогите придумать 
:(
    Опции темы
RinOSpro
Дата 26.10.2007, 14:04 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Кто еще не забыл школьные или студенческие годы вероятно помнят такую игру: Футбол на листочке. Я задумал написать эту игру. Вот только проблема не могу представить как это все реализовать. Подскажите с алгоримом, как можно это сделать.

Правила игры такие (хотя возможны вариации)

Поле 10 клеточек на 10 + ворота. см. рис. поля. Цель довести линию до ворот соперника, Начинают ход с центральной точки. Ходить можно во всех направлениях где еще не ходили см. рис. ходы. Можно Отскакивать от стен и от точек ходов см. рис. отскоки. Играют 2 игрока. Каждый стремиться таким образом довести линию до ворот противника. Тот кто умышленно или случайно попадает в тупик тот проиграл. Тупик - это ситуация при которой ход не возможен из за того что вокруг уже линии см. рис. тупик

Вот рисунки

Это сообщение отредактировал(а) RinOSpro - 26.10.2007, 14:08

Присоединённый файл ( Кол-во скачиваний: 107 )
Присоединённый файл  pole.gif 1,52 Kb
  Вверх
RinOSpro
Дата 26.10.2007, 14:09 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Вот еще

Присоединённый файл ( Кол-во скачиваний: 97 )
Присоединённый файл  hodi.gif 1,66 Kb
  Вверх
RinOSpro
Дата 26.10.2007, 14:09 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Вот еще


Присоединённый файл ( Кол-во скачиваний: 84 )
Присоединённый файл  otskok.gif 2,53 Kb
  Вверх
RinOSpro
Дата 26.10.2007, 14:09 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











вот еще

Присоединённый файл ( Кол-во скачиваний: 80 )
Присоединённый файл  tupik.gif 3,20 Kb
  Вверх
Mazzi
Дата 26.10.2007, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Правильный
**


Профиль
Группа: Комодератор
Сообщений: 825
Регистрация: 3.4.2003

Репутация: 4
Всего: 21



Готов тебе помочь. smile

Сначала давай определимся на чём будем писать.

Я предлагаю на С++ с использованием QT4.

Теперь об алгоритме. Сначала нужно задать двумерный массив каждый элемент которого соответствует пересечению линий поля. Содержимое элемента должно однозначно определять проходила ли линия через неё или нет, и если проходила , то какого цвета. Затем у нас должен быть так называемый курсор, который содержит координаты текущей точки и текущий цвет чернил. В вышеописанный в самом начале массив-поле записываются проделанные ходы.
После каждого изменения положения курсора программа проверяет не наступило ли одно из событий - гол 1-му игроку, гол 2-му игроку, тупик.

Выполнение программы:
1) Инициализация (очистка поля и т.д.)
2) Отрисовка поля
3) Ход игрока
4) Если игра не закончена перейти к п2.
5) Показать победителя
6)если хотим играть ещё, то перейти к п1.
7) покинуть программу.

Пиши, вместе мы её осилим!


--------------------
Мне нужны помощники.
PM MAIL WWW   Вверх
RinOSpro
Дата 26.10.2007, 19:12 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Mazzi - ты играл в эту игру? Правда очень интересная, стратегическая, мы по ней даже чемпионаты устраивали.
Цитата(Mazzi @  26.10.2007,  15:38 Найти цитируемый пост)
Сначала давай определимся на чём будем писать

Я больше в delphi пишу, но соглашусь с тобой что игры обычно пишуться на С++, только вопрос что такое QT4.

Вот еще размер массива, сколько на сколько? И как представить в массиве косые линии \   / ?
  Вверх
Ryoga
Дата 26.10.2007, 20:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 262
Регистрация: 20.9.2005

Репутация: 3
Всего: 6



Товарищи, тут где-то в теме была эта игра (или похожая), уж не помню с исходниками или нет - посмотрите...
PM MAIL   Вверх
RinOSpro
Дата 27.10.2007, 13:03 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Ryoga  если ты про это http://forum.vingrad.ru/topic-149470.html то это не то
  Вверх
Ryoga
Дата 27.10.2007, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 262
Регистрация: 20.9.2005

Репутация: 3
Всего: 6



нет, вот ссылка... http://forum.vingrad.ru/forum/topic-147045...игра-basic.html
Правда, автор так и не ответил...
PM MAIL   Вверх
RinOSpro
Дата 28.10.2007, 12:36 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Посмотрел оставил свое мнение. 
  Вверх
Mazzi
Дата 31.10.2007, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Правильный
**


Профиль
Группа: Комодератор
Сообщений: 825
Регистрация: 3.4.2003

Репутация: 4
Всего: 21



QT4 - это мультиплатформенная библилтека позволяющая компилировать программу под несколькими операционками. Разработана фирмой тролльтеч   http://www.trolltech.com/ 
Бесплатная для использования. Сильно облегчает жизнь программисту. Скачать можно с сайта.

В ней есть работа с графикой, со звуком, и прочее. Поддерживает OpenGL. Генерирует очень компактный и быстрый код.

Весьма рекомендую.

>> Вот еще размер массива, сколько на сколько? И как представить в массиве косые линии \   / ?

Я думаю что размер массива должен соответствовать размерам поля. А как иначе?
А косые линии хранить не нужно, нужно хранить точки через которые проходит линия, и цвет линии.


--------------------
Мне нужны помощники.
PM MAIL WWW   Вверх
RinOSpro
Дата 30.4.2008, 10:55 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











В общем что то накатал на delphi но попал в тупик... может я не прfвильно выбрал размер массива. Как вообще представить это поле... Помогите плиз
вот исходники:


Присоединённый файл ( Кол-во скачиваний: 27 )
Присоединённый файл  Football.rar 11,20 Kb
  Вверх
ksnk
Дата 15.5.2008, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 2
Всего: 386



Чего-то взялся игру писать ;-) smile  В качестве тестовой платформы взял JavaScript, чтобы алгоритм отладить. В последствии предполагалось перетащить расчетную часть на сервер или даже в cgi... Алгоритм - простейший полный перебор на X (сейчас 6) ходов. "Стоимость позиции" - близость мяча к воротам - от 0 до 1100 (с шагом 100). 

Лучше смотреть на FireFox или Opera, так как при таком переборе на моей машине "Genuine Intel [email protected] 1,50ГБ", просчет хода длится несколько секунд - успевает возникнуть окошко " Чего-то долго выполняется скрипт...".

Хочется, чтобы народ сказал - правила игры я правильно понял или чего-то не догнал? 

Так как возится с оформлением было лень - ворота синих - средние три кружочка верхней линии, ворота красных - нижние средние три. Чтобы начать новую игру надо перегрузить окно (Refresh). Окончание игры и затык никак не отображаются, просто ходить больше нельзя smile

http://ksnk.dpb.ru/football

Добавлено через 5 минут и 56 секунд
О! Совсем забыл. Кнопка X в панельке управления - расчитать свой собственный ход. Чекбокс, если отмечен, второй ход бедет делаться автоматически. И начинают игру красные... smile


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
DeMoNN
Дата 7.7.2008, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 179
Регистрация: 21.3.2008

Репутация: 1
Всего: 2



Попал в тупик и игра зависла(
PM MAIL ICQ   Вверх
Mazzi
Дата 7.7.2008, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Правильный
**


Профиль
Группа: Комодератор
Сообщений: 825
Регистрация: 3.4.2003

Репутация: 4
Всего: 21



ksnk,  круто сделал!


--------------------
Мне нужны помощники.
PM MAIL WWW   Вверх
ksnk
Дата 7.7.2008, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 2
Всего: 386



Цитата(DeMoNN @  7.7.2008,  14:52 Найти цитируемый пост)
Попал в тупик и игра зависла( 

Цитата(ksnk @  15.5.2008,  17:00 Найти цитируемый пост)
Окончание игры и затык никак не отображаются, просто ходить больше нельзя 

? Ежели интерес у народа будет, можно подукрасить игрушку...


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Mazzi
Дата 7.7.2008, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Правильный
**


Профиль
Группа: Комодератор
Сообщений: 825
Регистрация: 3.4.2003

Репутация: 4
Всего: 21



А исходники полностью можно посмотреть?



--------------------
Мне нужны помощники.
PM MAIL WWW   Вверх
ksnk
Дата 8.7.2008, 07:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 2
Всего: 386



Mazzi, Вообще-то это JavaScript smile В исходном коде страницы все написано.


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Qawra
Дата 18.7.2008, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 188
Регистрация: 6.3.2007

Репутация: 3
Всего: 4



Java и JavaScript это  одно и тоже ? У нас осенью будет проект по написанию игры на Java . Хочется  что-нибудь оригинальное и не агрессивное на нём изобразить . Насколько ограниченны в таком случае возможности графики для игр на Java ? Можно расчитывать только на геометрические фигуры ? 
PM MAIL   Вверх
Mazzi
Дата 18.7.2008, 15:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Правильный
**


Профиль
Группа: Комодератор
Сообщений: 825
Регистрация: 3.4.2003

Репутация: 4
Всего: 21



ksnk, я глянул исходник, там написано 
Код


....src="js/fixpng.js"


вот этот файлик я и хотел посмотреть.


--------------------
Мне нужны помощники.
PM MAIL WWW   Вверх
ksnk
Дата 18.7.2008, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 2
Всего: 386



Mazzi, Ну, дык, этта... Сделать "Сохранить как" -> html и все файлы будут видны... 
Вообще-то он не мой. smile В принципе, здесь где-то была тема про показывание полупрозрачных png'ов в Эксплорере и в этой теме была ссылка про этот файл...

Код

function fixPNG(element)
{
    try{
  if (/MSIE (5\.5|6).+Win/.test(navigator.userAgent))
  {
    var src;

    if (element.tagName=='IMG')
    {
      if (/\.png$/.test(element.src))
      {
        src = element.src;
        element.className='';
        element.src = "img/x1x1.gif";
        //alert(1);
      }
    }
    else
    {
      src = element.currentStyle.backgroundImage.match(/url\("(.+\.png)"\)/i);
      if (src)
      {
        src = src[1];
        element.runtimeStyle.backgroundImage="none";
      }
    }
    if (src) element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "',sizingMethod='scale')";
  }
  } catch(e){;}
}


Добавлено через 1 минуту и 3 секунды
Кстати, эта вставка появилась у меня совсем недавно. ;-)


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Mazzi
Дата 18.7.2008, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Правильный
**


Профиль
Группа: Комодератор
Сообщений: 825
Регистрация: 3.4.2003

Репутация: 4
Всего: 21



ksnk,  спасибо.

Добавлено через 4 минуты и 48 секунд
После сохранения нет там такого файла.


--------------------
Мне нужны помощники.
PM MAIL WWW   Вверх
RinOSpro
Дата 5.3.2009, 10:43 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Потрясающе ))) Молодец +1. Щас буду код смотреть, хотя в JavaScript не очень понимаю.
  Вверх
RinOSpro
Дата 5.3.2009, 11:22 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата(ksnk @  15.5.2008,  17:00 Найти цитируемый пост)
Хочется, чтобы народ сказал - правила игры я правильно понял или чего-то не догнал? 


Вроде все как надо.

Только нужна в центре линия отскока. 
Ворота нарисовать smile Что бы было понятнее куда забивать.
Сообщение о том кто выиграл.

Кстати тупик является самым плохим выходом из ситуации. Это проигрыш. Поэтому нужно научить ИИ боятся тупика smile
  Вверх
ksnk
Дата 5.3.2009, 15:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 2
Всего: 386



Дорисовал ворота и разделительную линию. правда Результаты игры объявляются не по голу, а по попытке сделать следующий ход... Поправлю, как-нибудь... Исправлено зависание в тупике.

В Хроме играет просто БЫСТРО!!! Я даже начал подумывать , а не детектировать ли время вычисления хода и определять силу игры (глубину перебора) автоматически...

А в принципе - поднимать старый проект как-то тяжело. Даже такой маленький... И способ сборки уже поменялся и  привычки...

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


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование игр, графики и искуственного интеллекта"
Rickert

НА ЗЛОБУ ДНЯ: Дорогие посетители, прошу обратить внимание что новые темы касающиеся новых вопросов создаются кнопкой "Новая тема" а не "Ответить"! Любые оффтопиковые вопросы, заданные в текущих тематических темах будут удалены а их авторы, при рецедиве, забанены.

  • Литературу, связанную с программированием графики, обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы связанные с программированием графики и мультимедии на языках С++ и Delphi
  • Вопросы по реализации алгоритмов рассматриваются здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rickert.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование игр, графики и искусственного интеллекта | Следующая тема »


 




[ Время генерации скрипта: 0.0677 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.