The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]



"Никак НЕ могу найти ошибку ...."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (C/C++)
Изначальное сообщение [ Отслеживать ]

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

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

Win7, TURBO C 3.2 for DOS...

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

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Никак НЕ могу найти ошибку ...."  +/
Сообщение от Деанон on 07-Апр-18, 11:33 
Ты бы код выложил
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

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

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

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

7. "Никак НЕ могу найти ошибку ...."  +/
Сообщение от PereresusNeVlezaetBuggy (ok) on 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).

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

3. "Никак НЕ могу найти ошибку ...."  +/
Сообщение от redd on 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);
  }

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

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

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

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

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

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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

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

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


Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

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

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

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема


  Закладки на сайте
  Проследить за страницей
Created 1996-2018 by Maxim Chirkov  
ДобавитьПоддержатьВебмастеруГИД  
Hosting by Ihor