Форум программистов, компьютерный форум CyberForum.ru

Написал тетрис. Прокомментируйте код пожалуйста ) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Перевод сантиметров в метры http://www.cyberforum.ru/cpp-beginners/thread440562.html
Здравствуйте, недавно начал заниматься С, очень тяжело идет, помогите пожалуйста с задачками. #1 Арифметика:Z=cos^2α+cos^4α Задание: Составить программу, в которой вводится значение сантиметров. Найти и вывести число полных метров. #2 a) С клавиатуры вводится 2 скорости. Одна в км/ч, другая в м/с. Найти и вывести на экран большую скорость.
C++ и снова С++ помогите записать програмку которая сможет написать минимальное количество простых присваиваний, содержащих по одному умножению (без использования других арифметических операций), для вычисления следующих значений (где х - действительное число, ** - возведение в степень). Использовать минимум вспомогательных переменных. х**8. http://www.cyberforum.ru/cpp-beginners/thread440558.html
Как замерить длительность выполнения кода? C++
Нужно замерить длительность выполнения кода. Как?
C++ Как вставить в двумерный массив "1" случайным образом?
В двумерный массив определенного диапазона (рандомная формула не проблема) нужно вставить число 1, причем случайным образом. Есть ли какая-то специальная формула, или после создания массива, таким же образом "влепить" в него 1 ? Что-то не могу понять..... Пы.сы. под формулой имеется ввиду rand()%(min-max+1)+min...
C++ Опpеделить значения вещественного массива по правилу http://www.cyberforum.ru/cpp-beginners/thread440546.html
Даны вещественные массивы A, B. Опpеделить значения вещественного массива C по правилу: C = сумме i-й строки массива A при B>0 C=0 B=0 C=A+A B<0 Значение переменной i изменяется от 0 до 4.
C++ Функции.Перебор с возвратом Доброго времени суток Вам, уважаемые форумчане. Не получается решить универскую задачку повышенного уровня :( Подскажите, пожалуйста. Необходимо написать функцию для решения вот этой задачи: Найти расстановку пяти ферзей на шахматной доске, при которой каждое поле будет находиться под ударом одного из них. Спасибо! подробнее

Показать сообщение отдельно
AnyOne697
 Аватар для AnyOne697
134 / 106 / 5
Регистрация: 22.05.2010
Сообщений: 532
05.02.2012, 04:33     Написал тетрис. Прокомментируйте код пожалуйста )
Ужасно!

KeyGen, молодец. У меня бы нехватило духу на 3 тыс. строк. можно как-то оптимизировать напр. это:
C++
1
2
3
4
5
6
7
8
9
10
   
        temp[13][8] = 'П';
        temp[13][9] = 'О';
        temp[13][10] = 'Б';
        temp[13][11] = 'Е';
        temp[13][12] = 'Д';
        temp[13][13] = 'А';
        temp[13][14] = '!';
        temp[13][15] = '!';
        temp[13][16] = '!';
вместо этого это.
Вместо этого
Цитата Сообщение от KeyGen Посмотреть сообщение
switch(accidentally)
* * * * * * * * {
* * * * * * * * case 1:
* * * * * * * * * * * * tetris.Show_kub();
* * * * * * * * * * * * break;
* * * * * * * * case 2:
* * * * * * * * * * * * tetris.Show_zig_a();
* * * * * * * * * * * * break;
* * * * * * * * case 3:
* * * * * * * * * * * * tetris.Show_zig_b();
* * * * * * * * * * * * break;
* * * * * * * * case 4:
* * * * * * * * * * * * tetris.Show_pulka();
* * * * * * * * * * * * break;
* * * * * * * * case 5:
* * * * * * * * * * * * tetris.Show_ugoll();
* * * * * * * * * * * * break;
* * * * * * * * case 6:
* * * * * * * * * * * * tetris.Show_ugolp();
* * * * * * * * * * * * break;
* * * * * * * * case 7:
* * * * * * * * * * * * tetris.Show_polkrest();
* * * * * * * * * * * * break;
* * * * * * * * }
это.
Ещё много китайского кода встретил, пока просматривал.

По логике ничего сказать не могу, ибо не вникал. Тем более, у самого с ней проблемы =(

Точно могу сказать, что 3k кода здесь это скорее позор, чем достижение. Китайский код, это как варить по картошине, а не всё сразу!
Видел змейку на Pascal over 1000 строк! Там была жуткая логика, но зато там были:
+ конструктор уровней. Простенький, но зато был.
+ реализация второго буфера, чтобы не моргал при перерисовке, надо заметить, работал он убого (ужасно тормозил программу, если проц < 2000 Гигагрец на ядре - начинал задумываться), но зато не было морганий!
+ достаточно логичный и понятный код, если не считать немного спаггети кода. Впрочем, он был в общем-то оправдан =) Но понять зачем он там нужен был с первой попытки не смог.

Полностью поддерживаю DU. Реализация на первый взгляд показалась насыщена магическими числами. Не знаю, так ли это, но это очень не удобно и совсем не правильно! Дальнейшая поддержка кода -> 0. Варианты такие:
1) Вы студент/школьник и препод долго негодует рассматривая код, но в конце ставит отлично за понимание и работоспособность, или хорошо только за работоспособность.
2) Вы работаете в конторе (размер не важен) и Вас увольняют за непонимание.
3) Вы тимлидер своего проекта (может сами этого не осознаёте =) и через день/неделю/месяц/год Вы бросите нафиг этот тетрис, если ничего не исправите/перепишете!

Добавлено через 4 минуты
2Evg
Цитата Сообщение от Evg Посмотреть сообщение
Programmers do not die, they just gosub without return
Программная ошибка Матрицы?
 
Текущее время: 17:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru