Няша Я посмотрел твой код. Понял что я ещё зелёный нубас и тупо привинтил его к своему двужку) Надеюсь ты не против? Ах, да, пожелание: если в качестве дверей (при входе в комнату) будут двери (знак +) то это будет круто)
Люди в в правду считают что для создание игры нужна только "фантазия зашибись". Мои любимые лулзы от туда:
Цитата
Ну ладно ! Только буду работать на жанре стратегии, на них проще работать!
Цитата
Никита, так давай ты будешь с анми на своём конструкторе делать игры, мы сценарий сужет и спрайты предоставим, только ты в нашей команде работать будешь ок?
Цитата
Вадим, у меня фантазия зашибись сразу кидай в руководителей
хм а ведь при каждом нажатии, происходит 1 отрисовывание
Тем не менее ВИДНО что отрисовка идёт два раза. Вместо банальной отчистки юзай функцию
Код
void setcur(int x, int y)//установка курсора на позицию x y { COORD coord; coord.X = x; coord.Y = y; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord); };
Стираешь все обновления экрана и заместо них пишешь setcur(0,0) Мелькание будет еле заметно.
Разве? Главное ведь в играх такого типа - случайность и, соответственно, реиграбельность. Да и как их можно расставить программно, если мир игры генерируется случайно?
В с++: Хм... прогоняем в двойном цикле все элементы массива мап и если там нет стены с шансом 1/20 (подбирается) ставим рандомного монстра.
Цитата (forhl)
Как на генерируемой карте можно расставить заранее программно? Разве только что при столкновении с объектом объект удаляется. (например со стеной, чтобы они не оказывались в стенах). Или есть другой вариант?
См. выше. В гамаке можно завести 2д массив и по нему рисовать мапу, а можно... хм...
Цитата (forhl)
stalker5889, пробовал. Они оказываются за пределами карты. Может есть какой-нибудь пример хороший у тебя?
Попробую сделать, незнаю почему у тебя глючит, обычно рандом нормально работает.
это какая-то странная проблема. может быть, ты пробовал правильные алгоритмы, но реализовывал их с ошибкой
У гамака давольно случайный разброс рандомных значений. Скорее всего он накосячил в коде. forhl, можно программно расставлять монстров заранее (рандомно), можно заранее расставить (программно -кэп) несколько невидимых обьектов "спаунеров" которые каждые n секунд создают по монстру. Ко второму способу легче доработать разные фишки вроде: спавнер волков будет в хранилище мясца и проч. жрачки (что логично ибо они тоже жрать хотят. Всегда), спавнер "орков-стражников" в гостинной-первой комнате-специальной комнате для стражи и тд, вариантов куча.
Круто но есть пара минусов: 1. Раз юзаешь ООП то надо было разбить код на методы (функции-члены). Например move_up(), draw(x,y) и проч. Создать отдельный класс для мапы тоже было бы неплохо. Для ПЕРВОЙ игры это не критично 2. Метод отрисовки. У меня чуть глазаврыши не вытекли. Зачем в одном такте два раза обновлять экран?