Не могу найти ошибку в коде, ошибка явно где то в функции TetrisUpDateData
И еще массив объявлен [21][10], в циклах он до 19, а в memset [20] ???Ошибка в логике работы программы,
Win7, TURBO C 3.2 for DOS...
Подскажите в какую сторону копать ?
Ты бы код выложил
> Ты бы код выложил
>> Ты бы код выложил
> 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).
Пока тока выяснил что вот эти блоки кода не задействованы ...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} /* S2.
for(I=0;I<=3;I++) {
gotoxy(X+BlkFormatX[(*Q).Form][(*Q).Move][I],Y+BlkFormatY[(*Q).Form][(*Q).Move][I]);
TextAttr(Attr);
putch(Chr);
TextAttr(7);
}
Сразу скажу почему именно ЭТОТ код, интересен, ...1. Он не большой )
2. Он почти работает
3. Да просто интересноСражу скажу скомпилировал вариант на Pascale
https://www.gladir.com/CODER/TPW/tetris.htmРаботает получше, сравниваю два варианта, уперся в memset ...
Но разгадки пока НЕТ ...)
как только увидел вот это #include <conio.h> желание помчь угасло насовсем.вендузятник видно издалека.
> как только увидел вот это #include <conio.h> желание помчь угасло насовсем.
> вендузятник видно издалека.https://github.com/nowres/conio-for-linux