Вторник, 07 Мая 2024, 16:12

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 13 из 13
  • «
  • 1
  • 2
  • 11
  • 12
  • 13
Форум игроделов » Записи участника » -l33t-h4xx- [260]
Результаты поиска
-l33t-h4xx-Дата: Вторник, 14 Января 2014, 13:53 | Сообщение # 241 | Тема: Вопрос-Ответ (C++)
участник
Сейчас нет на сайте
Цитата Destroy ()
как на С (не С++) сделать массив строк?

Ты что там, лабу сдать не можешь? Ай-ай-ай, лекции слушать надо было.

Тут штука тяжёлая: сперва следует выделить память под массив указателей (раз уж массив динамический), а потом каждому указателю выделить память под массив символов. Инициализировать строки придётся с помощью приблуд вроде strcpy.
Код

const int STR_NUM = 8;
const int STR_LEN = 32;

int i;
char **str;

str = (char**)malloc(sizeof(char*)*STR_NUM);

for (i = 0; i < STR_NUM; i++)
       str[i] = (char*)malloc(sizeof(char)*STR_LEN));


Как правильно задавать вопросы

Сообщение отредактировал -l33t-h4xx- - Вторник, 14 Января 2014, 13:56
-l33t-h4xx-Дата: Суббота, 11 Января 2014, 16:28 | Сообщение # 242 | Тема: ERROR
участник
Сейчас нет на сайте
Shevron_7, ты вообще-то выделил память под строку в три символа. В кейсе ты пытаешься присвоить целую строку переменной типа "символ". Не совсем ясно, что должен делать этот код, не хочешь объяснить?

Я так подумал, ты хотел что-то в этом роде:
Код
string mass[4] = {"iron", "gold", "silver", "titan"};


Как правильно задавать вопросы

Сообщение отредактировал -l33t-h4xx- - Суббота, 11 Января 2014, 16:40
-l33t-h4xx-Дата: Пятница, 10 Января 2014, 17:00 | Сообщение # 243 | Тема: [ООП] Создание и логика врагов
участник
Сейчас нет на сайте
Цитата Saitei ()
Вручную создавать не особо приятно..

А как они должны создаться? По божественному наитию? То, что ты интуитивно предполагаешь, неверно: вместо квадратных скобок прописываются имена объектов, которые создаются сразу после объявления класса. Вручную, именно так, как тебе не хочется (почему-то).
Цитата Saitei ()
виртуальный метод..

Виртуальный метод - это метод, реализация которого возлагается на унаследованный класс. То есть пустышка, которую унаследованный класс обязан заполнить чем-то своим.


Как правильно задавать вопросы

Сообщение отредактировал -l33t-h4xx- - Пятница, 10 Января 2014, 17:01
-l33t-h4xx-Дата: Пятница, 10 Января 2014, 16:51 | Сообщение # 244 | Тема: Мудрый миллион.
участник
Сейчас нет на сайте
81. Если предел функции в точке слева равен пределу функции в точке справа и равен значению функции в точке, то говорят, что функция непрерывна в этой точке.

Как правильно задавать вопросы
-l33t-h4xx-Дата: Пятница, 10 Января 2014, 06:19 | Сообщение # 245 | Тема: [ООП] Создание и логика врагов
участник
Сейчас нет на сайте
Если тебя пугает необходимость обновлять состояние каждого из игровых объектов, то не пугайся: в подавляющем большинстве случаев процессорного времени с лихвой хватает, чтобы обновить хоть сотню объектов между двумя перерисовками экрана.
Чтобы не обращаться к каждому отдельному объекту по имени, проще всего, как показал rozen777, занести их в контейнер.


Как правильно задавать вопросы
-l33t-h4xx-Дата: Четверг, 09 Января 2014, 10:38 | Сообщение # 246 | Тема: Вопрос-Ответ (C++)
участник
Сейчас нет на сайте
voodoo, вот, например, моя змейка на С. Она использует библиотеку curses, но это неважно, главное алгоритм.
Вся змейка хранится в виде массива структур, в которых записаны координаты Х и Y. После каждого хода, в зависимости от направления движения, массив смещается назад, а координаты хвоста помещаются на следующую после головы клетку.
Код
#include <curses.h>
#include <malloc.h>
#include <stdlib.h>

#define SIZE    128
#define LEFT    1
#define RIGHT    2
#define UP    3
#define DOWN    4

typedef struct
{
   int x;
   int y;
} COORD;

int main(int argc, char *argv[])
{
   COORD *snake, fruit;
   int length, i, gameover = 0, tempx, tempy, direction = RIGHT, score = 0;
   char key;

   initscr(); cbreak(); noecho(); halfdelay(2);
   keypad(stdscr, TRUE);
   srandom(time(NULL));

   snake = (COORD*)malloc(sizeof(COORD)*SIZE);

   // Инициализация змеи
   for (i = 0; i < SIZE; i++)
   {
    snake[i].x = -1;
    snake[i].y = -1;
   }

   snake[2].x = 0;
   snake[1].x = 1;
   snake[0].x = 2;
   snake[0].y = snake[1].y = snake[2].y = 0;
   length = 2;

   // Конец инициализации

   fruit.x = fruit.y = 5;

   while (!gameover)
   {
    key = getch();

    tempx = snake[0].x;
    tempy = snake[0].y;

    switch (key)
    {
    case 'a':    direction = LEFT; break;
    case 's':    direction = DOWN; break;
    case 'w':    direction = UP;   break;
    case 'd':    direction = RIGHT;break;
    }
    switch (direction)
    {
    case LEFT:
     tempx--;
     break;
    case RIGHT:
     tempx++;
     break;
    case DOWN:
     tempy++;
     break;
    case UP:
     tempy--;
     break;
    }

    for (i = length; i > 0; i--)
    {
     snake[i].x = snake[i-1].x;
     snake[i].y = snake[i-1].y;
    }

    snake[0].x = tempx;
    snake[0].y = tempy;

    if (snake[0].x == fruit.x && snake[0].y == fruit.y)
    {
     length++, score++;
     snake[length] = snake[length-1];
     fruit.x = random()%80;
     fruit.x = random()%60;
    }

    for (i = 1; i <= length; i++)
    {
     if (snake[0].x == snake[i].x &&
         snake[0].y == snake[i].y )
      gameover = 1;
    }

    clear();

    for (i = 0; i <= length; i++)
    {
     move(snake[i].y, snake[i].x);
     addch('#');
    }
    move(fruit.y, fruit.x);
    addch('O');
    move(0, 0);
    refresh();
   }

   return 0;
}


Как правильно задавать вопросы

Сообщение отредактировал -l33t-h4xx- - Четверг, 09 Января 2014, 10:38
-l33t-h4xx-Дата: Четверг, 09 Января 2014, 08:06 | Сообщение # 247 | Тема: Есть ли смысл?
участник
Сейчас нет на сайте
Едва ли почти не тестированный сетевой движок, написанный на коленке за месяц одним энтузиастом, возможно продать. Если только продавать по символической цене, но какой это заработок?

Как правильно задавать вопросы
-l33t-h4xx-Дата: Среда, 08 Января 2014, 09:34 | Сообщение # 248 | Тема: Продам ключ Arma 2 OA
участник
Сейчас нет на сайте
Цитата shubniggurath ()
От квартиры где деньги лежат?

Сегодня такой юмор уже не в моде.


Как правильно задавать вопросы
-l33t-h4xx-Дата: Вторник, 07 Января 2014, 13:19 | Сообщение # 249 | Тема: Подскажите двиг для начинающего с hge проблема
участник
Сейчас нет на сайте
Своих настроек, увы, нет, студией не пользуюсь. От себя могу предложить только сочувствите, потому что подключать библиотеки в Visual Studio действительно не так просто.

Как правильно задавать вопросы
-l33t-h4xx-Дата: Вторник, 07 Января 2014, 13:08 | Сообщение # 250 | Тема: Подскажите двиг для начинающего с hge проблема
участник
Сейчас нет на сайте
Ты должен к ним добавить ещё и (путь к hge)/lib/vc. И приписать hge.lib и hgehelp.lib к списку подключаемых библиотек. Где они в Visual Studio приписываются - понятия не имею, да это ещё и от версии зависит. Руководство лучше всё-таки почитай.

Как правильно задавать вопросы

Сообщение отредактировал -l33t-h4xx- - Вторник, 07 Января 2014, 13:09
-l33t-h4xx-Дата: Вторник, 07 Января 2014, 12:49 | Сообщение # 251 | Тема: Подскажите двиг для начинающего с hge проблема
участник
Сейчас нет на сайте
Ты библиотеки не подключил.
Здесь написано, как правильно линковать библиотеки HGE под Visual Studio.


Как правильно задавать вопросы
-l33t-h4xx-Дата: Воскресенье, 05 Января 2014, 12:13 | Сообщение # 252 | Тема: Проблема с паками. Как ими пользоваться?
участник
Сейчас нет на сайте
Цитата Drop_Dead_Fred ()
В инструкции написано

В какой интсрукции? Дай нам почитать.


Как правильно задавать вопросы
-l33t-h4xx-Дата: Суббота, 04 Января 2014, 10:41 | Сообщение # 253 | Тема: Вот в общем то прочитал статью и задумался
участник
Сейчас нет на сайте
Цитата wcpt ()
prostosdelayetoiuspokoisya(VOID*)

Так даже лучше.


Как правильно задавать вопросы
-l33t-h4xx-Дата: Суббота, 04 Января 2014, 10:32 | Сообщение # 254 | Тема: GameMaker патчи
участник
Сейчас нет на сайте
У тебя какие-то баги или ты принципиально ставишь все патчи, которые находишь?

Как правильно задавать вопросы
-l33t-h4xx-Дата: Четверг, 02 Января 2014, 09:58 | Сообщение # 255 | Тема: Интерактивные книги
участник
Сейчас нет на сайте
Я думал, тут будет интерактивный роман, а это просто читалка со звуками. Название обещает больше, чем даёт.

Как правильно задавать вопросы
-l33t-h4xx-Дата: Среда, 01 Января 2014, 13:19 | Сообщение # 256 | Тема: Идеальная игра для вас?
участник
Сейчас нет на сайте
Цитата stalker5889 ()
То просто симулятор полёта, а я хочу летать на космолете по галактике, торговать, грабить корованы, захватывать корабли

В этом году Elite: Dangerous выйдет. Баз там, скорее всего, не будет, но торговля, грабли и полёты гарантированы.


Как правильно задавать вопросы
-l33t-h4xx-Дата: Среда, 01 Января 2014, 13:03 | Сообщение # 257 | Тема: Расшифровка CRC32 возможна ли?
участник
Сейчас нет на сайте
Это контрольная сумма, а не шифрование. Как md5, если ты слышал о таком. Проверив контрольную сумму, ты можешь проверить, например, передался ли файл по сети с искажениями или без них.
Расшифровать исходные данные по CRC-коду едва ли возможно, но он и не для этого создаётся.


Как правильно задавать вопросы

Сообщение отредактировал -l33t-h4xx- - Среда, 01 Января 2014, 13:04
-l33t-h4xx-Дата: Понедельник, 30 Декабря 2013, 14:43 | Сообщение # 258 | Тема: Вот в общем то прочитал статью и задумался
участник
Сейчас нет на сайте
Цитата vasua99 ()
Или сама концепция ООП. против самой концепции я не имею ничего против.

Цитата vasua99 ()
Я хочу сказать, что по сути ООП большой костыль, которые придумали обкуренные люди

Противоречие. Или ты не понимаешь, о чём говоришь, или ты лицемер, разжигающий срачи.
Ни то, ни другое не заслуживает уважения.


Как правильно задавать вопросы
-l33t-h4xx-Дата: Понедельник, 30 Декабря 2013, 13:07 | Сообщение # 259 | Тема: Вот в общем то прочитал статью и задумался
участник
Сейчас нет на сайте
Большинство больших программ на С спроектированы с применением понятия объекта в том или ином виде. Посмотрите сами: в любой не-ООП библиотеке вам предлагаются структуры данных и функции для их обработки. Всё это в совокупности - в некотором роде расчленённые объекты, просто без инкапсуляции, полиморфизма и прочих наследований.

То есть, само по себе рассуждение в терминах объектов - идея хорошая, её постоянно применяют и получают хорошие результаты даже процедурники. И это не совсем костыль - говорить так, значит считать, что страховка у альпиниста - тоже костыль, и он может без неё обойтись. Разумеется может, но без страховки лезть в высокие горы опасно.


Как правильно задавать вопросы
-l33t-h4xx-Дата: Воскресенье, 29 Декабря 2013, 14:16 | Сообщение # 260 | Тема: Panda3D
участник
Сейчас нет на сайте
Я пробовал и Panda3D, и Unity3D, но по-настоящему масштабных сцен ни там, ни там не создавал, так что сравнивать их в отношении производительности не могу. С другой стороны известно, что:

1. Unity3D, всё-таки, серьёзный коммерческий продукт, и его разработчики гораздо внимательнее подходят к вопросам оптимизации.
2. Python, в отличие от C#, тратит некоторую часть машинного времени на трансляцию исходного текста в байткод. В большом проекте, в котором за один игровой цикл выполняется очень много кода, это может вызвать понижение производительности. Да и .NET-код всё равно исполняется быстрее.

К тому же Unity лучше уже тем, что предлагает готовые шаблонные решения для различных игровых функций, так что их не приходится реализовывать заново. Panda3D тоже имеет некоторые полезные заготовки, но с нуля написать на нём игру - весьма тяжёлое занятие.


Как правильно задавать вопросы
Форум игроделов » Записи участника » -l33t-h4xx- [260]
  • Страница 13 из 13
  • «
  • 1
  • 2
  • 11
  • 12
  • 13
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг