URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 10210
[ Назад ]

Исходное сообщение
"Никак НЕ могу найти ошибку ...."

Отправлено redd , 07-Апр-18 11:29 
Не могу найти ошибку в коде, ошибка явно где то в функции TetrisUpDateData
И еще массив объявлен [21][10], в циклах он до 19, а в memset [20] ???

Ошибка в логике работы программы,

Win7, TURBO C 3.2 for DOS...

Подскажите в какую сторону копать ?


Содержание

Сообщения в этом обсуждении
"Никак НЕ могу найти ошибку ...."
Отправлено Деанон , 07-Апр-18 11:33 
Ты бы код выложил

"Никак НЕ могу найти ошибку ...."
Отправлено redd , 07-Апр-18 11:55 
> Ты бы код выложил

https://www.gladir.com/CODER/TURBOC/tetris.htm


"Никак НЕ могу найти ошибку ...."
Отправлено PereresusNeVlezaetBuggy , 13-Апр-18 15:53 
>> Ты бы код выложил
> https://www.gladir.com/CODER/TURBOC/tetris.htm

Код... своеобразный, мягко говоря. Судя по всему, он обходит какие-то приколы компилятора TurboC конкретной версии. Учиться программировать по этому коду я бы точно не советовал.

Далее. «Не могу найти ошибку» — в чём она проявляется? Где нормальное описание бага?

Далее, про memset ­— как я понял, имеется в виду следующее:

memset(&(*Q).Tbl,FALSE,sizeof((*Q).Tbl));
memset(&(*Q).Tbl[20],TRUE,sizeof((*Q).Tbl[20]));

В первой строчке зануляется весь двумерный массив. Во второй — устанавливается в 1 последняя строчка (Tbl[20] будет последней строчкой для массива из 21 строки, т.к. индексация начинается с 0).


"Никак НЕ могу найти ошибку ...."
Отправлено redd , 07-Апр-18 18:07 
Пока тока выяснил что вот эти блоки кода не задействованы ...

1.
  char BlkHeight[7][4]  = {
  {4,1,4,1}, /* Barre */
  {2,2,2,2}, /* Boîte */
  {3,2,3,2}, /* V */
  {3,2,3,2}, /* L gauche */
  {3,2,3,2}, /*/ L droite */
  {3,2,3,2}, /* Serpent romain */
  {3,2,3,2}  /* S

2.
for(I=0;I<=3;I++) {
   gotoxy(X+BlkFormatX[(*Q).Form][(*Q).Move],Y+BlkFormatY[(*Q).Form][(*Q).Move]);
   TextAttr(Attr);
   putch(Chr);
   TextAttr(7);
  }


"Никак НЕ могу найти ошибку ...."
Отправлено redd , 07-Апр-18 18:13 
Сразу скажу почему именно ЭТОТ код, интересен, ...

1. Он не большой )
2. Он почти работает
3. Да просто интересно

Сражу скажу скомпилировал вариант на Pascale
https://www.gladir.com/CODER/TPW/tetris.htm

Работает получше, сравниваю два варианта, уперся в memset ...

Но разгадки пока НЕТ ...)


"Никак НЕ могу найти ошибку ...."
Отправлено Аноним , 08-Апр-18 09:11 
как только увидел вот это #include <conio.h> желание помчь угасло насовсем.

вендузятник видно издалека.



"Никак НЕ могу найти ошибку ...."
Отправлено redd , 09-Апр-18 07:06 
> как только увидел вот это #include <conio.h> желание помчь угасло насовсем.
> вендузятник видно издалека.

https://github.com/nowres/conio-for-linux