Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.06.2008, 12:43   #1
DruiD88
 
Регистрация: 09.06.2008
Сообщений: 8
Печаль "Домино" на Turbo Pascal'е. Очень нужно!

Прошу помочь написать игру "Домино" на Turbo Pascal'е!!!
Через неделю курсач сдавать!! Плиииз!!
DruiD88 вне форума Ответить с цитированием
Старый 09.06.2008, 12:52   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Помочь в чем? Полностью готовый код или подсказать?
Если подсказать - то для начала научись отрисовывать доминошки.
Тут кто-то правильную мысль толкнул - рисовать псевдографикой, это для тебя ну очень удобно будет.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.06.2008, 16:15   #3
DruiD88
 
Регистрация: 09.06.2008
Сообщений: 8
По умолчанию

Если можно, то готовый. Со своей программой я уже месяц мучаюсь..

Доминошки у меня отрисовываются из готовых BMP-файлов, так как желательно быть в графическом режиме.

Описываются они у меня следующим образом:
Код:
type deck = record
      left: byte;  
      right: byte;
      status: byte; { 0 - на базаре, 1 - у него, 2 - у меня, 3 - выкинута}
    end;
var gd,gm: integer;
    ishodn: array[1..28] of deck;   {Исходный массив}
    ego, moi: array[1..7] of deck;  {Его и мои доминошки после раздачи}
    bazar: array [1..14] of deck;    {Базар}
С раздачей я разобрался.
Застрял я на процедуре, где доминошки выкидываются в центр на стол.
При этом всё осложняется тем, что при достижении края экрана нужно повернуть конец ленты.

З.Ы. Кроме того, необходима поддержка мыши.
DruiD88 вне форума Ответить с цитированием
Старый 09.06.2008, 16:22   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну с мышью тут все просто - ищи литератуту по прерыванию 33h. Если что подскажу.
А по поводу выкидывания поточнее обьясни
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.06.2008, 16:32   #5
DruiD88
 
Регистрация: 09.06.2008
Сообщений: 8
По умолчанию

С прерываниями незачем мучиться - есть готовый TPU-модуль для мыши.

Насчёт выкидывания: Нужно верно выложить фишку на поле. Не горизонтально и вертикально а в соответствии с предыдущей выкладкой т.е. с рассмотрением координат. Например после дубля следующая фишка ложиться ровно по центру от дубля. Или же при достиждении одного из хвостов фишек на столе к краю экрана необходимо завернуть их вверх или вниз. А затем в обратную сторону от привычной выкладки, что исключает возможность «выпадения» фишки из экрана.

Вот что у меня есть на данный момент:
Вложения
Тип файла: rar domino.rar (28.7 Кб, 51 просмотров)

Последний раз редактировалось Stilet; 02.06.2009 в 08:40.
DruiD88 вне форума Ответить с цитированием
Старый 10.06.2008, 13:20   #6
Olympian
Форумчанин
 
Аватар для Olympian
 
Регистрация: 06.06.2008
Сообщений: 105
По умолчанию

Так сделай такую вещь -
Доминошек всего 36 кажется...
Создаешь массив из 36 * 2 - 1 элементов - где указаны
1)Есть ли домино тут
2)координаты домино(заранее просчитанные - это для решения проблемы с поворотом ленты)
3)Какое домино можно класть слева(и можно ли)
4)Какое домино можно класть справа(и можно ли)
5)Какая тут доминошка лежит - для картинки

Хм..Вроде всё. И тогда при выбрасывании 1й домино - информация о ней пишется в центральный элемент. При выкладывании каждой следующей - определяем справа/слева и пишем соответсвующе в массив. И рисуем его
Olympian вне форума Ответить с цитированием
Старый 10.06.2008, 19:22   #7
DruiD88
 
Регистрация: 09.06.2008
Сообщений: 8
По умолчанию

Ну, во-первых доминошек 28..
А можно эти пукнкты поподробнее объяснить?
DruiD88 вне форума Ответить с цитированием
Старый 10.06.2008, 19:36   #8
Olympian
Форумчанин
 
Аватар для Olympian
 
Регистрация: 06.06.2008
Сообщений: 105
По умолчанию

ой, да..Забыл что 1-2 и 2-1 одно и тоже=)Но это не важно)

Можно - а что именно требует пояснения?
Olympian вне форума Ответить с цитированием
Старый 15.06.2008, 08:31   #9
DruiD88
 
Регистрация: 09.06.2008
Сообщений: 8
По умолчанию

Ну хотя бы - почему 28 * 2 - 1?
DruiD88 вне форума Ответить с цитированием
Старый 15.06.2008, 13:08   #10
Olympian
Форумчанин
 
Аватар для Olympian
 
Регистрация: 06.06.2008
Сообщений: 105
По умолчанию

у нас всего 28 домино.
первую - мы "кладем" в центр массива. Остается еще 27 домино, которые можно положить в каждую сторону. Итого 2 * 27 + 1 = 28 * 2 - 1
Olympian вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Очень интересный проект " The Battle For Middle-earth-3" Witch-Lord Gamedev - cоздание игр: Unity, OpenGL, DirectX 7 23.06.2009 00:00
если пользователь наберет какой-то другой символ не "y" или "n" и нажмет enter, программа проигнорирует skobets Общие вопросы C/C++ 2 03.06.2008 06:51
Excel файл открывается не "до конца" (странички "не показываются" только серое поле) Dorvir Microsoft Office Excel 2 28.03.2008 10:03
Нужно решить и объяснить задачу "В режиме точечной графики попиксельно вывести фразу" Eyeless Фриланс 3 10.01.2008 10:56