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

Обещаный консольный графический Тетрис (исходники и релиз) - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 36, средняя оценка - 4.81
IFree Host
Заблокирован
13.02.2012, 02:03     Обещаный консольный графический Тетрис (исходники и релиз) #1
Вот обещал людям консольный графический тетрис
Выкладываю все с исходниками

Извеняйте, что названия все на родном. Но кому надо разберется.
Написано очень просто.
Score отсутствует. Можете сами что-нибудь такое пристроить.

Надеюсь, что достаточно качественно протестировал. Багов вроде нет.
Будте осторожны с I_Figur, так как там вращение немного хитро функционирует.

Управление как обычно стрелками. Для дебага введена пауза по пробелу.
Когда стакан полный по ESC можно выйти, по любой другой клавише начать заново.
Дебаговые таблицы можно отключить. Найдете в классе CTetrisFiguren.

Класс CBrett больше для других игор предназначен, где клеточная разметка нужна.
Но здесь тоже немного сгодился.

Найдете ошибки, пишите. Буду премного благодарен.
Миниатюры
Обещаный консольный графический Тетрис (исходники и релиз)  
Вложения
Тип файла: rar Tetris.rar (9.8 Кб, 643 просмотров)
Тип файла: rar Tetris_Release.rar (7.5 Кб, 426 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.02.2012, 02:03     Обещаный консольный графический Тетрис (исходники и релиз)
Посмотрите здесь:

Релиз C++
C++ Помогите скомпилировать релиз
C++ Различия дебаг, релиз
Релиз не компилируется C++
C++ Тетрис на C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
murderer
3175 / 1398 / 69
Регистрация: 06.10.2010
Сообщений: 3,017
13.02.2012, 08:29     Обещаный консольный графический Тетрис (исходники и релиз) #2
Неплохо. Отладочная инфа слева прикольно смотрится. Только в стандартном тетрисе игровое поле 10x20 должно быть если верить википедии.
Будте осторожны с I_Figur, так как там вращение немного хитро функционирует.
Очень хитро сделано здесь.
4 строчки на асме. Удивительно, но это работает.
Assembler
1
2
3
4
5
R:         ; ax=8000h, CF=0
rcl  cx,13 ;ax = cx rotated 90 degress ccw around [1;1]
rcr  ax,1
jnc  R
xchg ah,al
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
13.02.2012, 09:21     Обещаный консольный графический Тетрис (исходники и релиз) #3
IFree Host, Запускать не запускал - смотрю код.

1)
C++
1
2
CBrett(void);
~CBrett(void);
void в параметрах абсолютно не имеет смысла для С++.
2)
C++
1
CConsolenGrafik BrettScreen;
Определен в глобальной видимости. Почему бы не сделать статической переменной класса?
3)
C++
1
2
3
4
        for (char j=0, y = 1+y_location; j<10 , y < y_location+21 ; j++, y=y+2 )
        {
            BrettScreen.Farben(x_location,x_location,y,y+1,0,4);
        }
Слишком много магических чисел. Исходник ими так и пестрит.
4) Файл SpielFeld.cpp - дофига свитчей + опять же две переменные объявлены в глобале, хотя можно сделать статик полями класса. TetrisFiguren - та же фигня.
5)
C++
1
void main()
А вот за такое человека пишущего на С++ надо убивать.

Вообщем - везде функции, не принимающие параметров зачем-то обозначены принимающими void. Магические числа. Неиспользование статических членов класса там, где это явно нужно.
Абсолютное отсутствие константных функций. void main(). Не зачтено.
IFree Host
Заблокирован
13.02.2012, 12:04  [ТС]     Обещаный консольный графический Тетрис (исходники и релиз) #4
ForEveR, Да оптимизировать еще придется. Замечания учту. За советы большое спасибо. Но все-таки, ты придира. Я между прочим только один семестр на C програмирую. И то, из них 3 месяца на чистом С. И один месяц на С++. Так что, у меня все еще впереди. :dance3:

murderer, Спасибо за оценку и за линк.
ForEveR
13.02.2012, 12:25
  #5

Не по теме:

IFree Host, Не придира. Советую как сделать лучше. По-моему вполне конструктивная критика.

IFree Host
13.02.2012, 12:30  [ТС]
  #6

Не по теме:

Извени если обидно прозвучало, я хотел по-дружески, шутя.
Конечно, критика конструктивная. Полностью согласен. Я обязательно поработаю надо всеми замечаниями.

KeyGen
 Аватар для KeyGen
333 / 289 / 6
Регистрация: 07.08.2011
Сообщений: 789
Записей в блоге: 1
14.02.2012, 01:03     Обещаный консольный графический Тетрис (исходники и релиз) #7
Мне понрвавилось. Но код без каментариев и много подключаемых файлов надо разбираться... думаю надо как то по проще. А вобще круто).

Не по теме:

Я OpenGL учу буду везуализировать свой...

IFree Host
Заблокирован
14.02.2012, 01:08  [ТС]     Обещаный консольный графический Тетрис (исходники и релиз) #8
KeyGen, Спасибо за оценку моего творчества
balolam
23 / 16 / 4
Регистрация: 05.12.2013
Сообщений: 70
07.02.2014, 14:51     Обещаный консольный графический Тетрис (исходники и релиз) #9
Я нашел баг, у тебя фигура на фигуру западает
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11818 / 6797 / 769
Регистрация: 27.09.2012
Сообщений: 16,870
Записей в блоге: 2
Завершенные тесты: 1
07.02.2014, 14:55     Обещаный консольный графический Тетрис (исходники и релиз) #10
Цитата Сообщение от balolam Посмотреть сообщение
Я нашел баг, у тебя фигура на фигуру западает
вот лучше бы подробнее расписать, может кто поправит
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5548 / 2562 / 233
Регистрация: 01.11.2011
Сообщений: 6,330
Завершенные тесты: 1
07.02.2014, 14:56     Обещаный консольный графический Тетрис (исходники и релиз) #11
Цитата Сообщение от balolam Посмотреть сообщение
Я нашел баг, у тебя фигура на фигуру западает
Опишите пожалуйста конкретнее что куда и при каких обстоятельствах западает. Лучше сделайте скриншот. А-то как-то это прозвучало неуверенно.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.02.2014, 16:41     Обещаный консольный графический Тетрис (исходники и релиз)
Еще ссылки по теме:

Релиз и дебаг C++
Тетрис на c++ C++
C++ Релиз

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
balolam
23 / 16 / 4
Регистрация: 05.12.2013
Сообщений: 70
07.02.2014, 16:41     Обещаный консольный графический Тетрис (исходники и релиз) #12
Обещаный консольный графический Тетрис (исходники и релиз)Обещаный консольный графический Тетрис (исходники и релиз)
Это можно заметить, нажав сдвиг фигуры в бок когда она падает бок-о-бок с другой фигурой....Она почему-то на неё заползает.
Yandex
Объявления
07.02.2014, 16:41     Обещаный консольный графический Тетрис (исходники и релиз)
Ответ Создать тему
Опции темы

Текущее время: 12:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru