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

2 страниц V  1 2 >  
 Ответить  Открыть новую тему 
> Игруха! (нужна модификация), нужна помощь!
сообщение
Сообщение #1


Пионер
**

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

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


Игра: c верхней части экрана падают шары. Управляя ловушкой, игрок должен собрать как можно больше шаров за одну минуту. С течением времени плотность падения шаров уменьшиться, а скорость увеличивается. По истечении времени (1 мин.) на экран выводиться колво пойманных шаров.10 лучших храняться в файле и выводятся на экран по запросу пользователя.

вот она сделанная! тока без объектов!!!

помогите переписать! что надо
сделать модуль где будут храниться объекты (необходимо наследование)...
хелп!!!!
и очень хороше бы использовать глючный модуль граф...

игра ниже!


Прикрепленные файлы
Прикрепленный файл  trap.rar ( 22.34 килобайт ) Кол-во скачиваний: 297


--------------------
ЗДЕСЬ МОГЛА БЫТЬ ВАША РЕКЛАМА!!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Знаток
****

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

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


пока писал столкнулся с одной проблемой ,если делать метод виртуальным ,то при исполнении прога вылетает с ошибкой NTVDM ,из-за чего и как все-таки реализовать виртуальные методы?

ЗЫ
смотрите файл в аттаче.

ЗЫ2
все ясно из-за чего.

Сообщение отредактировано: virt -


Прикрепленные файлы
Прикрепленный файл  objOrient.rar ( 3.75 килобайт ) Кол-во скачиваний: 216


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Цитата(virt @ 10.06.05 21:36)
если делать метод виртуальным ,то при исполнении прога вылетает с ошибкой NTVDM ,из-за чего и как все-таки реализовать виртуальные методы?

blink.gif А конструкторы где?
Читай здесь: FAQ: Виртуальные методы - Конструкторы и деструкторы
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Пионер
**

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

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


unsure.gif выручайте!!! горит!!!


--------------------
ЗДЕСЬ МОГЛА БЫТЬ ВАША РЕКЛАМА!!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






Цитата(punkska @ 10.06.05 16:45)
Игра: c верхней части экрана падают шары. Управляя ловушкой, игрок должен собрать как можно больше шаров за одну минуту. С течением времени плотность падения шаров уменьшиться, а скорость увеличивается. По истечении времени (1 мин.) на экран выводиться колво пойманных шаров. 10 лучших храняться в файле и выводятся на экран по запросу пользователя.


Вот она же, только немного с другим оформлением, и с объектами...


Прикрепленные файлы
Прикрепленный файл  trap.rar ( 27.78 килобайт ) Кол-во скачиваний: 222
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Пионер
**

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

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


Огромное спасибо!!!!! :rose:

Вот посмотрите эту же игру...
помогите в ней создать наследование... что-то не как не получаеться=(((


Прикрепленные файлы
Прикрепленный файл  CreateTableOfChampions.PAS ( 569 байт ) Кол-во скачиваний: 291


--------------------
ЗДЕСЬ МОГЛА БЫТЬ ВАША РЕКЛАМА!!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гость






blink.gif Дык... А какое же там наследование? В программе 33 строки, зачем тебе здесь наследование понадобилось? По-моему, это будет просто искусственное нагромождение конструкций.

Наследование и ООП вообще, конечно, мощная штука, но пользоваться ей бездумно не стОит... Это же просто "из пушки по воробьям" получается.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Пионер
**

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

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


я не то отправил!!!


Прикрепленные файлы
Прикрепленный файл  Program.PAS ( 10.87 килобайт ) Кол-во скачиваний: 279


--------------------
ЗДЕСЬ МОГЛА БЫТЬ ВАША РЕКЛАМА!!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Бывалый
***

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

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


lol.gif lol.gif lol.gif lol.gif lol.gif

Цитата
помогите в ней создать наследование...


Думаю, что здесь и вправду лишнее нагромождение проги(я про Program.pas), НО если усовершенствовать игру, например, добавить шары разного типа- с бомбой(взрывающие все остальные шары), добавляющие жизнь,с ловушкой(при поимке забираются очки) и т.д., то можно использовать наследование. Т.е. если игрок поймал шар, то вызывается метод PlayerCatch, который реагирует по-разному в зависимости от типа шара. Тогда объект TBall будет иметь виртуальный метод PlayerCatch и все разновидности мяча будут наследниками этого объекта.


--------------------
Доброго времени суток.
:nnn:
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Пионер
**

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

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


Может ловушку попытаться сделать ОбъетоМ ..тока что наследовать ловушке от шарика я хз=) помогите в этом не лёгком вопросе!


--------------------
ЗДЕСЬ МОГЛА БЫТЬ ВАША РЕКЛАМА!!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Бывалый
***

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

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


Цитата
..тока что наследовать ловушке от шарика

Да, нечего наследовать. Но и шарик и ловушка могут иметь одного общего родителя, например, TGameObj, котрый хранит координату на экране и умеет ею манипулировать, внешний вид(в любом виде- цвет, тип формы, спрайт или даже 3D модель, если хочешь), активность(существует ли в данный момент шар или с ним ничего не нужно делать) и т.д.


--------------------
Доброго времени суток.
:nnn:
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Гость






punkska, ты мою программу вообще смотрел, или ты думаешь, что я просто так ее делал, чтобы только на форум выложить? :no: Там же наследование один к одному, как Дож говорит ...

Исходники я для чего дал? Для красоты?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Пионер
**

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

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


модуль objs не могу скомпилировать
пишит ошибка 116 must in 8087 mode to compile this.
Procedure TBox.Recalc;
Begin
Inc(pos_y, Trunc(v_speed * box_mult ) ); (ЧТО-ТО В ЭТОЙ СТРОЧКЕ ПАСКАЛЮ НЕ НРАВИТЬСЯ)
out_of_game := out_of_game or (pos_y > GetMaxY)
End;


что я не так делаю? как скомпелировать ?


--------------------
ЗДЕСЬ МОГЛА БЫТЬ ВАША РЕКЛАМА!!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


Гость






Добавь
{$N+, E+}
самой первой строкой основной программы и перекомпилируй всё (Build All) ...

Ну или menu -> Options -> Compiler -> оба пункта в "Numeric processing" должны быть отмечены...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #15


Пионер
**

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

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


С П А С И Б О!!!
а модуль Litt что это за модуль? unsure.gif


--------------------
ЗДЕСЬ МОГЛА БЫТЬ ВАША РЕКЛАМА!!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #16


Бывалый
***

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

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


Ассемблерная процедура для установки BGI шрифта.


--------------------
Доброго времени суток.
:nnn:
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #17


Гость






Дож,
давай ты будешь отвечать, ТОЛЬКО когда на 100% уверен в том, что ты отвечаешь правильно !!! angry.gif Какая
Цитата
Ассемблерная процедура для установки BGI шрифта
? Это простой LITT.CHR, для удобства (чтобы не таскать за собой постоянно лишний CHR-файл) переконвертированный в OBJ-файл и прилинкованный к программе. Точно так же, кстати, как и EGAVGA.BGI переконвертирован в OBJ...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #18


Бывалый
***

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

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


Цитата
Это простой LITT.CHR, для удобства (чтобы не таскать за собой постоянно лишний CHR-файл)


Инересно, а какая разница между тем, что таскть- *.bgi или *.obj?


--------------------
Доброго времени суток.
:nnn:
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #19


Пионер
**

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

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


что то совсем непонятно для чего и что это за файлик.. =(


--------------------
ЗДЕСЬ МОГЛА БЫТЬ ВАША РЕКЛАМА!!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #20


Гость






Цитата(Дож @ 14.09.05 17:21)
Инересно, а какая разница между тем, что таскть- *.bgi или *.obj?

Нет, Дож, ты не понял... Во время компиляции OBJ-файл линкуется к EXE и тебе не надо его таскать за собой, он уже внутри EXE-шника. А попробуй сделать программу, использующую EGAVGA.BGI, откомпилировать ее у себя, а запустить EXE-шник на компе, где файла EGAVGA.BGI нету. Что будет? Можешь не пытаться, я тебе и так скажу:
Цитата
Graph Error (-2): Driver not found


punkska
Цитата
что то совсем непонятно для чего и что это за файлик

Еще раз: LITT.OBJ - это файл LITT.CHR (файл, содержащий мелкий шрифт - smallFont), только переконвертированный в LITT.OBJ вот такой командой:
Цитата
binobj LITT.CHR LITT.OBJ LittFontProc
, и присоединенный к исполнимому файлу, как внешняя процедура:
{$L LITT.OBJ}
Procedure LittFontProc; External;


С EGAVGA.OBJ - то же самое: берем EGAVGA.BGI, и ...
Цитата
binobj EGAVGA.BGI EGAVGA.OBJ EGAVGADriverProc
, и присоединяем к EXE-шнику:
{$L EGAVGA.OBJ}
Procedure EGAVGADriverProc; External;
Теперь (после компиляции) можно не заботиться о том, чтобы на компьютере, где будет запускаться игра, обязательно присутствовали эти 2 файла, они уже есть внутри EXE... То есть преимущество: ты передаешь получателю 1 файл вместо 3-х, а чем меньше файлов - тем меньше вероятность сбоя программы...
 К началу страницы 
+ Ответить 

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

 





- Текстовая версия 27.04.2024 13:52
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name