LINUX.ORG.RU

История изменений

Исправление peregrine, (текущая версия) :

Ну я даже не знаю, давай прокомментирую что-ли всё что мне не понравилось

float personage_X=-5.0f, personage_Y=-5.0f;//почему оно к персонажу прибито? Что это за графическая абстракция такая?
float distance_X=10.0, distance_Y=0.0; //snake case+camel case
float dX, dY; //camel case
double DELTA_T = 0.01667; //среднее значение delta_T даваемое программой (КАПС + snake case)
                            //(по сути это 1000/60=16.6(6) мс/кадр)
double last_T_move;
double duration_T;//что тут T означает? time?
int duration_tick;//а тут-то чего не T?
bool bmoveLeft  = false;//bmove - я даже не знаю что тут опять с codestyle
bool bmoveRight = false;



moveRight
{
   bmoveRight = true; // начинаю движение
   duration_T = 0.9;   // длительность в сек
   duration_tick = (int) (duration_T/DELTA_T); // кол-во тиков(кадров) для перемещения а куда округлять полтора землекопа?
   dX = distance_X/duration_tick;                   // шаг перемещения
   last_T_move = get_time();
}

update
{
  printf("update()\n");
  if (bmoveRight)
  {
      personage_X += dX;
      printf("now_T - last_T_move = %5.7f\n", now_T - last_T_move);
      if (now_T - last_T_move >= duration_T )
      {
         bmoveRight = false; // остановить движение
      }
    }
}

idle
{
  const double now_T = get_time();
  const double delta_T = now_T - last_T;
  last_T = now_T;
  printf("delta_T = %5.5f\n", delta_T);

  update(now_T);

  redisplay();//даже индусы так функции по перерисовке не называют, ну оно и понятно, у индусов английский вовсю используется redraw там или repaint я бы понял, но redisplay или там какая-то особая концепция display используется вокруг которой либа построена?
}

display//а почему не render/draw? Работы с дисплеем я тут не вижу
{
  printf("display()\n");
  render_personage();

  swap_buffers();
}
Исходя из неоднородности кода и кривоватых абстракций код написан студентом или любителем. Ладно бы одна две строки странные были бы, но тут больше половины странного.

Исправление peregrine, :

Ну я даже не знаю, давай прокомментирую что-ли всё что мне не понравилось

float personage_X=-5.0f, personage_Y=-5.0f;//почему оно к персонажу прибито? Что это за графическая абстракция такая?
float distance_X=10.0, distance_Y=0.0; //snake case+camel case
float dX, dY; //camel case
double DELTA_T = 0.01667; //среднее значение delta_T даваемое программой (КАПС + snake case)
                            //(по сути это 1000/60=16.6(6) мс/кадр)
double last_T_move;
double duration_T;//что тут T означает? time?
int duration_tick;//а тут-то чего не T?
bool bmoveLeft  = false;//bmove - я даже не знаю что тут опять с codestyle
bool bmoveRight = false;



moveRight
{
   bmoveRight = true; // начинаю движение
   duration_T = 0.9;   // длительность в сек
   duration_tick = (int) (duration_T/DELTA_T); // кол-во тиков(кадров) для перемещения а куда округлять полтора землекопа?
   dX = distance_X/duration_tick;                   // шаг перемещения
   last_T_move = get_time();
}

update
{
  printf("update()\n");
  if (bmoveRight)
  {
      personage_X += dX;
      printf("now_T - last_T_move = %5.7f\n", now_T - last_T_move);
      if (now_T - last_T_move >= duration_T )
      {
         bmoveRight = false; // остановить движение
      }
    }
}

idle
{
  const double now_T = get_time();
  const double delta_T = now_T - last_T;
  last_T = now_T;
  printf("delta_T = %5.5f\n", delta_T);

  update(now_T);

  redisplay();//даже индусы так функции по перерисовке не называют, ну оно и понятно, у индусов английский вовсю используется redraw там или repaint я бы понял, но redisplay или там какая-то особая концепция display используется вокруг которой либа построена?
}

display//а почему не render/draw? Работы с дисплеем я тут не вижу
{
  printf("display()\n");
  render_personage();

  swap_buffers();
}
Исходя из неоднородности кода и кривоватых абстракций код написан студентом или любителем.

Исходная версия peregrine, :

Ну я даже не знаю, давай прокомментирую что-ли всё что мне не понравилось

float personage_X=-5.0f, personage_Y=-5.0f;//почему оно к персонажу прибито? Что это за графическая абстракция такая?
float distance_X=10.0, distance_Y=0.0; //snake case+camel case
float dX, dY; //camel case
double DELTA_T = 0.01667; //среднее значение delta_T даваемое программой (КАПС + snake case)
                            //(по сути это 1000/60=16.6(6) мс/кадр)
double last_T_move;
double duration_T;//что тут T означает? time?
int duration_tick;//а тут-то чего не T?
bool bmoveLeft  = false;//bmove - я даже не знаю что тут опять с codestyle
bool bmoveRight = false;



moveRight
{
   bmoveRight = true; // начинаю движение
   duration_T = 0.9;   // длительность в сек
   duration_tick = (int) (duration_T/DELTA_T); // кол-во тиков(кадров) для перемещения а куда округлять полтора землекопа?
   dX = distance_X/duration_tick;                   // шаг перемещения
   last_T_move = get_time();
}

update
{
  printf("update()\n");
  if (bmoveRight)
  {
      personage_X += dX;
      printf("now_T - last_T_move = %5.7f\n", now_T - last_T_move);
      if (now_T - last_T_move >= duration_T )
      {
         bmoveRight = false; // остановить движение
      }
    }
}

idle
{
  const double now_T = get_time();
  const double delta_T = now_T - last_T;
  last_T = now_T;
  printf("delta_T = %5.5f\n", delta_T);

  update(now_T);

  redisplay();//даже индусы так функции по перерисовке не называют, ну оно и понятно, у индусов английский вовсю используется redraw там или repaint я бы понял, но redisplay или там какая-то особая концепция display используется вокруг которой либа построена?
}

display//а почему не render/draw? Работы с дисплеем я тут не вижу
{
  printf("display()\n");
  render_personage();

  swap_buffers();
}