Game Maker - создание игр | HellRoom Games
Февраль 16, 2025, 16:13:07 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости:
 
   Начало   Game Maker Помощь Правила форума Поиск Календарь Войти Регистрация  
Страниц: [1] 2   Вниз
  Печать  
Автор Тема: условие  (Прочитано 6406 раз)
0 Пользователей и 1 Гость смотрят эту тему.
_KO_
Участник
****

Репутация: 9
Offline Offline

Пол: Мужской
API: 8.0 Pro
Сообщений: 187

Залипаю..


« : Январь 23, 2011, 18:12:44 »

у меня есть 6 объектов(объект1) разного типа и еще 6 объектов(объект2), каждый определенного типа. объект2 убивает объект1 только, если объект1 такого же типа. Ну и сам вопрос: допустим у меня осталось два объекта(объект1) и три объекта(объект2), но не у одного из них не совпадает тип. как в таком случае закончить игру?
Записан

Hummer
scio me nihil scire
GM Pro user
*

Репутация: 335
Offline Offline

Пол: Мужской
Награды:
2000 сообщений!За постоянность! [100 дней на форуме]За лояльность! [+300 репутации]Знаток Game Maker!За помощь новичкам!
API: Game Maker 8.0 Pro
Деятельность: GML, С++, OpenGL, Java. Бывший Директор бывшей школы GML
Сообщений: 2573


« Ответ #1 : Январь 23, 2011, 18:23:39 »

Если у тебя одинаковые объекты, то как могут быть разные типы
Записан

Есть вещи, которые нельзя объяснить. Для всего остального есть Справка
Рандом-рандом-рандомище (с)

C++ & OpenGL
_KO_
Участник
****

Репутация: 9
Offline Offline

Пол: Мужской
API: 8.0 Pro
Сообщений: 187

Залипаю..


« Ответ #2 : Январь 23, 2011, 18:26:38 »

объекты разные, каждый своего типа
Записан

DeatHSoul
GM Pro user
*

Репутация: 236
Offline Offline

Пол: Мужской
Награды:
За постоянность! [50 дней на форуме]FAQ для начинающих & Сленг и ТерминологияЗа лояльность! [+150 репутации]За помощь новичкам!Знаток Game Maker
API: GameMaker Studio Standard
Сообщений: 478


« Ответ #3 : Январь 23, 2011, 18:39:19 »

Опиши на примере, что-то не совсем понятно, что значит "закончить игру". Может, когда у объектов не осталось соперников - считать, что игра закончена?
Записан
_KO_
Участник
****

Репутация: 9
Offline Offline

Пол: Мужской
API: 8.0 Pro
Сообщений: 187

Залипаю..


« Ответ #4 : Январь 23, 2011, 19:24:36 »

ну типа объект2 должен убить объект1, но если объект 1 не кому убивать(тоесть по типу не похожи) и больше таких объектов(объект2) быть не может(объект2 появляется после уничтожения объекта1 одного того же типа), то игра заканчивается
Записан

S_Kleer
GM Pro user
*

Репутация: 567
Offline Offline

Награды:
За лояльность! [+500 репутации]3 место в Дичайшем джеме #82000 сообщений!За постоянность! [50 дней на форуме]Настоящий игродел!2 место на HellRoom Jam #5, Контраст...
API: GameMaker Studio 2
Сообщений: 2734


« Ответ #5 : Январь 23, 2011, 19:28:42 »

Тебе надо, чтобы объект 1 убивал все объекты 2 и игра закончится?
Записан

Коты - Мирители
_KO_
Участник
****

Репутация: 9
Offline Offline

Пол: Мужской
API: 8.0 Pro
Сообщений: 187

Залипаю..


« Ответ #6 : Январь 23, 2011, 19:52:41 »

как бы объяснить.. на примере смайликов) есть у меня вот эти объекты   :( ;) ;D, их могут убить объекты   :( ;) ;D соответственно. Сначала есть только этот объект   он убивает себе подобный   а из него выподает любой другой(допустим этот ) и так они размножаются и убивают оставшиеся объекты. но объекты, которые убивают, могут умереть, а объектов, которых нужно убить, ограниченное количество. допустим ситуация: кого нужно убить: :( ;), а убийцы есть только   ;D, все, это конец они друг другу не подходят! вот тут то и надо закончить игру
Записан

S_Kleer
GM Pro user
*

Репутация: 567
Offline Offline

Награды:
За лояльность! [+500 репутации]3 место в Дичайшем джеме #82000 сообщений!За постоянность! [50 дней на форуме]Настоящий игродел!2 место на HellRoom Jam #5, Контраст...
API: GameMaker Studio 2
Сообщений: 2734


« Ответ #7 : Январь 23, 2011, 19:54:29 »

Ооо. Сейчас подумаю, как это сделать.

Добавлено: Январь 23, 2011, 20:05:47

* Пример.gmk (10.19 Кб - загружено 352 раз.)
Записан

Коты - Мирители
_KO_
Участник
****

Репутация: 9
Offline Offline

Пол: Мужской
API: 8.0 Pro
Сообщений: 187

Залипаю..


« Ответ #8 : Январь 23, 2011, 20:11:13 »

убийцы не умирают при попадании в жертву, но после смерти жертвы появляется новый убийца,убийцы могут умереть упав(у меня именно так), а жертв ограниченное число, поэтому просто может не остаться пар

Добавлено: Январь 24, 2011, 17:00:07
наверно это можно сделать через переменные, но уж слишком много вариантов писать
помогите плиз, плюсану
Записан

Hummer
scio me nihil scire
GM Pro user
*

Репутация: 335
Offline Offline

Пол: Мужской
Награды:
2000 сообщений!За постоянность! [100 дней на форуме]За лояльность! [+300 репутации]Знаток Game Maker!За помощь новичкам!
API: Game Maker 8.0 Pro
Деятельность: GML, С++, OpenGL, Java. Бывший Директор бывшей школы GML
Сообщений: 2573


« Ответ #9 : Январь 24, 2011, 17:03:28 »

О! Меня осенило, можно же проверять количество объектов
Код:
if(instance_number(объект 1 типа)<2)
{
if(instance_number(объект 2 типа)<2)
{
if(instance_number(объект 3 типа)<2)
{
if(instance_number(объект 4 типа)<2)
{
if(instance_number(объект 5 типа)<2)
{
if(instance_number(объект 6 типа)<2)
{
game_end()
}
}
}
}
}
}
Записан

Есть вещи, которые нельзя объяснить. Для всего остального есть Справка
Рандом-рандом-рандомище (с)

C++ & OpenGL
Dva_Kota
Гл. Администратор
*

Репутация: 636
Offline Offline

Пол: Мужской
Награды:
3000 сообщений!За постоянность! [500 дней на форуме]За лояльность! [+500 репутации]Настоящий игродел!Тру Админ :D1 место за игру: Energy Wars (Конкурс Золотые Руки)...
API: GameMaker Studio Standard
Сообщений: 3245



« Ответ #10 : Январь 24, 2011, 17:08:00 »

Hummer, а если будут два объекта 1 типа, но оба во второй группе (хотя, возможно в этой игре такой вариант не может быть)? Нужно, наверное, каждому задавать переменную, определяющую его тип.
У тебя способ хороший. Я тут еще один написал,более запутанный и менее удобный, но, т.к. он уже написан тоже выкладываю.


Есть две группы: убийцы (объект1) и жертвы (объект2). В каждой группе по 6 разных объектов.
Для каждой группы есть по одному родительскому объекту (для первой группы будет объект1, для второй - объект2).
В событии "убийство" (в уничтожении или в столкновении)запускац для второй группы alarm[0]=1, а для самого объекта-родителя запускай аларм 1 на 2
Код:
with(объект2){alarm[0]=1;}
alarm[1]=2;
у каждого объекта второй группы есть событие alarm0
в нем код
Код:
if instance_exists(объект_соответствующий_данному_объекту)
{
global.no_obj=false;
}

у объекта Объект1 код в событии alarm1 код:
Код:
if (global.no_obj)
{
//Конец игры
}
global.no_obj=true;

Еще в событии старт комнаты задай переменную
Код:
global.no_obj=true;
Записан

_KO_
Участник
****

Репутация: 9
Offline Offline

Пол: Мужской
API: 8.0 Pro
Сообщений: 187

Залипаю..


« Ответ #11 : Январь 24, 2011, 17:45:11 »


Записан

Hummer
scio me nihil scire
GM Pro user
*

Репутация: 335
Offline Offline

Пол: Мужской
Награды:
2000 сообщений!За постоянность! [100 дней на форуме]За лояльность! [+300 репутации]Знаток Game Maker!За помощь новичкам!
API: Game Maker 8.0 Pro
Деятельность: GML, С++, OpenGL, Java. Бывший Директор бывшей школы GML
Сообщений: 2573


« Ответ #12 : Январь 24, 2011, 17:52:22 »

Цитировать
тут вообще с самого начала выкидывает, потому что жертвы появляются через определенное время(тайм лайн)[/spoiler]

А если через аларм попробовать? И проверять это после создания всех объектов
Записан

Есть вещи, которые нельзя объяснить. Для всего остального есть Справка
Рандом-рандом-рандомище (с)

C++ & OpenGL
_KO_
Участник
****

Репутация: 9
Offline Offline

Пол: Мужской
API: 8.0 Pro
Сообщений: 187

Залипаю..


« Ответ #13 : Январь 24, 2011, 18:06:08 »

Цитировать
тут вообще с самого начала выкидывает, потому что жертвы появляются через определенное время(тайм лайн)[/spoiler]

А если через аларм попробовать? И проверять это после создания всех объектов

теперь не вылетает, но всеравно ничего
сюда нужно вписывать жертву или убийцу? они у меня разные объекты(тип одинаковый)
Записан

Dva_Kota
Гл. Администратор
*

Репутация: 636
Offline Offline

Пол: Мужской
Награды:
3000 сообщений!За постоянность! [500 дней на форуме]За лояльность! [+500 репутации]Настоящий игродел!Тру Админ :D1 место за игру: Energy Wars (Конкурс Золотые Руки)...
API: GameMaker Studio Standard
Сообщений: 3245



« Ответ #14 : Январь 25, 2011, 09:28:16 »

Код
Код:
with(объект2){alarm[0]=1;}
alarm[1]=2;
нужно писать у родителя первой группы,

Вот этот код:
Код:
if instance_exists(объект_соответствующий_данному_объекту)
{
global.no_obj=false;
}
для каждого объекта второй группы (например если у тебя объект второй группы называется 02_a, и он должен уничтожать объект первой группы 01_a, то вместо объект_соответствующий_данному_объекту пиши 01_a

Остальное ты, вроде бы, правильно написал.
Записан

Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  

HellRoom Games © 2006-2012 All Rights Reserved
Powered by SMF 1.1.21 | SMF © 2013, Simple Machines
Страница сгенерирована за 0.097 секунд. Запросов: 30.