Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » FAR Manager (часть 6)

Модерирует : gyra, Maz

Maz (26-09-2022 12:52): FAR Manager (часть 7)  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
#include <stdint.h>
#include <stdio.h>
 
int8_t a,b;
int8_t x,y; // номер текущего хода, последний (текущий) вектор, координаты текущей клетки
uint32_t buf_size=0x80000; // размер кэширующего буфера в памяти для последующей записи лога на диск
uint32_t n;
uint8_t res;
int main(int argc, char *argv[])
{
  unsigned char ibuf[buf_size];
  FILE *f_in;
  f_in=fopen("Z:\\TEMP\\ChessKnight.log","rb");
  if(f_in==NULL)
  {
    printf("No ChessKnight.log\n");
    return 1; // exit
  }
  uint32_t j=0; // начальная позиция - конь вне доски
  printf("\nHelp: first - start, last - finish square, other - changing the finish square / ret off\n");
  for(;;)
  {
    n=fread(ibuf,1,sizeof(ibuf),f_in);
    if(n==0){break;}
    for(uint32_t i=0; i<n; i++)
    {
      x = ibuf[i]>>4;
      y = ibuf[i]%16;
      res = a!=0 && b!=0 && ((x==a+2 && y==b+1) || (x==a+2 && y==b-1) || (x==a-2 && y==b+1) || (x==a-2 && y==b-1) || (x==a+1 && y==b+2) || (x==a+1 && y==b-2) || (x==a-1 && y==b+2) || (x==a-1 && y==b-2));
      if(res==0)
      {
        printf("\nMove: ");
        printf(a==0 && b==0 ? "  " : "%d%d", a, b);
        printf(" %d%d  Offset: %08xh", x, y, j==0 && i==0 ? 0 : buf_size*j+i-1);
      }
      a=x; b=y;
    }
    j++;
  }
  printf("\nMove: %d%d     Finish: last byte\n", a, b);
  fclose(f_in);
  return 0; // exit
}

Всего записей: 3470 | Зарегистр. 16-06-2007 | Отправлено: 20:37 11-08-2021 | Исправлено: Alexyz21, 20:45 11-08-2021
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Программы » FAR Manager (часть 6)
Maz (26-09-2022 12:52): FAR Manager (часть 7)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru