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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 36, средняя оценка - 4.94
dimakozyr
157 / 24 / 1
Регистрация: 17.08.2013
Сообщений: 461
#1

Покритикуйте мою игру - C++

25.10.2013, 20:47. Просмотров 4639. Ответов 122
Метки нет (Все метки)

Выкладываю код своей первой игры. Она готова процентов на 90, но уже работает.
Интересно узнать мнение людей, что в ней можно улучшить, упростить и т.п,
т.к. на данный момент в моих глазах это идеал и верх совершенства и мне трудно судить

Скриншот


Cсылки на архивы для скачивания

Цитата Сообщение от dimakozyr Посмотреть сообщение
Кидаю с dll, если у кого не запускается из-за того, что dll не найдены
Beaver.7z

Цитата Сообщение от dimakozyr Посмотреть сообщение
А так вроде упрощать уже некуда
Beaver.7z


Миниатюры
Покритикуйте мою игру  
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.10.2013, 20:47     Покритикуйте мою игру
Посмотрите здесь:

Оцените мою 1 игру "21 card game" - C++
Вот решил я сделать свою 1 игру и залить сюда для "конструктивной критики". Правила игры: Выигрывает тот кто наберет больше очков но не...

Покритикуйте код - C++
Есть класс Студенты (реализован через односвязный список), хотел бы услышать критику по поводу его улучшения, если кому не лень разбираться...

Покритикуйте код - C++
Покритикуйте код, я точно знаю, что он нубовский но все же. Это моя первая программа на с++ которая делает , что то полезное и типо мой...

Покритикуйте пожалуйста программу - C++
Student.h#ifndef _STUDENT_H #define _STUDENT_H class Student { public: Student(); void del(); ...

Графы. Покритикуйте код - C++
Нужно помощь тех кто работает и пишет хороший и красивый код. У меня построено три матрицы, подскажите как улучшить код. Где можно...

Шифратор пароля. Покритикуйте пожалуйста. - C++
Это моя первая программка на С++, если кому не лень, натычте меня носом в ляпы. Чтобы не топтаться по граблям. :) #include...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
27.10.2013, 17:11     Покритикуйте мою игру #101
Цитата Сообщение от dimakozyr Посмотреть сообщение
История коммитов в гитхабе вам о чем-нибудь говорит?
Да, она говорит о том что вы вносили изменения. А слово fork вам о чем-нибудь говорит? Меня больше беспокоит вопрос: почему вы, написав эту игру, не можете найти элементарной ошибки?
dimakozyr
157 / 24 / 1
Регистрация: 17.08.2013
Сообщений: 461
27.10.2013, 17:14  [ТС]     Покритикуйте мою игру #102
Цитата Сообщение от castaway Посмотреть сообщение
Меня больше беспокоит вопрос: почему вы, написав эту игру, не можете найти элементарной ошибки?
Невнимательность к мелочам, которая свойственна каждому
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
27.10.2013, 17:15     Покритикуйте мою игру #103
Да не такая уж это и мелочь..
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
28.10.2013, 03:42     Покритикуйте мою игру #104
dimakozyr, если не трудно, в коде из 84 поста, в DrawScene.cpp, допишите, временно:
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream> 
void DrawScene::blittingImage(int xCoordinate,
             int yCoordinate,
             SDL_Surface* source,
             SDL_Surface* destination) const {
    std::cout << source << std::endl;
    SDL_Rect SDLRect_Blitting;
    SDLRect_Blitting.x = xCoordinate;
    SDLRect_Blitting.y = yCoordinate;
    SDL_BlitSurface(source, NULL, destination, &SDLRect_Blitting);
}
И запустите программу в консольном варианте. И, если можно, скрин того, что выведется на консоль при нажатии на play. Нужно мне эту загадку разрешить.
Миниатюры
Покритикуйте мою игру  
Max Dark
шКодер самоучка
1784 / 1585 / 576
Регистрация: 09.10.2013
Сообщений: 3,546
Записей в блоге: 6
Завершенные тесты: 2
28.10.2013, 04:23     Покритикуйте мою игру #105
alsav22, это происходит изза неинициализированых шрифтов
нужно раскоментировать строки с ttfInit() и ttfQuit() в функции GameCicle::callFunctionsForScene_2()
dimakozyr
157 / 24 / 1
Регистрация: 17.08.2013
Сообщений: 461
28.10.2013, 09:44  [ТС]     Покритикуйте мою игру #106
Цитата Сообщение от alsav22 Посмотреть сообщение
И запустите программу в консольном варианте
Дописал, но не пойму, как запустить в консольном варианте?
Или Cra3y уже ответил на вопрос?
SatanaXIII
Супер-модератор
Эксперт С++
5593 / 2627 / 240
Регистрация: 01.11.2011
Сообщений: 6,461
Завершенные тесты: 1
28.10.2013, 09:56     Покритикуйте мою игру #107
Цитата Сообщение от programina Посмотреть сообщение
Можно было скриншоты из игры приложить.
И фак.


dimakozyr, было бы неплохо, если б вы в первом посте еще б привели ссылки на темы с обсуждением тех или иных вопросов, возникавших в процессе написания игры.

Цитата Сообщение от MrGluck Посмотреть сообщение
Модеры, закрепите новый архив к шапке, иначе одни и те же сообщения о недостающих dll будут плодиться
Исполнено.
dimakozyr
157 / 24 / 1
Регистрация: 17.08.2013
Сообщений: 461
28.10.2013, 10:33  [ТС]     Покритикуйте мою игру #108
Цитата Сообщение от SatanaXIII Посмотреть сообщение
dimakozyr, было бы неплохо, если б вы в первом посте еще б привели ссылки на темы с обсуждением тех или иных вопросов, возникавших в процессе написания игры.
Вот, только не знаю, как в первом посте это закрепить
Ссылки на темы, которые создавались в процессе написания игры:

Настройка SDL в Visual Studio 2012

SDL - первый урок

Не исчезают сердца при потере жизни в игре

SDL - удаление загруженного изображения

Как изменить изображение для ярлыка?

Завершение бесконечного цикла через определенное время

Ошибка экземпляра класса: отсутствие ";" перед идентификатором "o_scenes_1"

Не определен базовый класс

SDL + C++ = Тормозит событие нажатия кнопки

Как сделать, чтобы пр нажатии на кнопку открывался сайт?

Подключение сторонних библиотек

Функция get() не возвращает значение

SDL ошибка на событии обработки нажатия кнопки мыши

Изменение цвета кнопки при многократных нажатиях

SDL Отображение текста на экране

При нажатии на бобра не увеличивается счет
SatanaXIII
Супер-модератор
Эксперт С++
5593 / 2627 / 240
Регистрация: 01.11.2011
Сообщений: 6,461
Завершенные тесты: 1
28.10.2013, 10:42     Покритикуйте мою игру #109
Цитата Сообщение от dimakozyr Посмотреть сообщение
Вот, только не знаю, как в первом посте это закрепить
Сейчас сделаем.

И да, кстати,
Цитата Сообщение от dimakozyr Посмотреть сообщение
Покритикуйте мою игру
Ая-яй-яй. Какая недостойная игра. Ужас-ужас. Глаза бобра за мышью не следят, общий счетчик мировой популяции бобров нигде не отображается, бобры не обучаются и не проводят групповые контратаки и вообще больше шести часов к ряду играть невозможно. Х) На самом деле забавная вещь, вы молодец.
dimakozyr
157 / 24 / 1
Регистрация: 17.08.2013
Сообщений: 461
28.10.2013, 10:44  [ТС]     Покритикуйте мою игру #110
Цитата Сообщение от SatanaXIII Посмотреть сообщение
больше шести часов к ряду играть невозможно
Это, конечно, мое упущение
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
28.10.2013, 14:24     Покритикуйте мою игру #111
Цитата Сообщение от Cra3y Посмотреть сообщение
alsav22, это происходит изза неинициализированых шрифтов
нужно раскоментировать строки с ttfInit() и ttfQuit() в функции GameCicle::callFunctionsForScene_2()
Я знаю из-за чего это происходит. ТС утверждает, что у него работает нормально код, который выложен (с закоментированной строкой), отчего и мой вопрос.

Добавлено через 3 минуты
Цитата Сообщение от dimakozyr Посмотреть сообщение
Или Cra3y уже ответил на вопрос?
Мне не ответ на вопрос нужен (я вопроса не задавал: почему у меня так происходит), а скрин работы у вас.
Цитата Сообщение от dimakozyr Посмотреть сообщение
Дописал, но не пойму, как запустить в консольном варианте?
В свойстах проекта, компоновщик - система - подсистема, выбрать консоль.
Max Dark
шКодер самоучка
1784 / 1585 / 576
Регистрация: 09.10.2013
Сообщений: 3,546
Записей в блоге: 6
Завершенные тесты: 2
28.10.2013, 14:49     Покритикуйте мою игру #112
У меня проскакивали нули в выводе
Но у меня происходит обнуление указателей в конструкторе и код с этими изменениями сюда кидал

Покритикуйте мою игру
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
28.10.2013, 15:25     Покритикуйте мою игру #113
Да, если принудительно занулить передаваемые указатели, то и у меня начинает работать нормально. Компиляторы разные? Какие-то компиляторы пустые указатели обнуляют, какие-то нет?
Max Dark
шКодер самоучка
1784 / 1585 / 576
Регистрация: 09.10.2013
Сообщений: 3,546
Записей в блоге: 6
Завершенные тесты: 2
28.10.2013, 15:38     Покритикуйте мою игру #114
Тестовый код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <string>
using namespace std;
 
int  main() {
    void* v;
    std::string* s;
    char* c;
    std::cout<<v<<std::endl
        <<(void*)s<<std::endl
        <<(void*)c<<std::endl;
    return 0;
}
Код
max@notebook:~/src/tests$ g++ c.cpp
max@notebook:~/src/tests$ ./a.out
0x400740
0x7fffb6c01de0
0
max@notebook:~/src/tests$ g++ --version
g++ (Ubuntu/Linaro 4.8.1-10ubuntu8) 4.8.1
Вывод: указатели надо инициализировать )
dimakozyr
157 / 24 / 1
Регистрация: 17.08.2013
Сообщений: 461
28.10.2013, 15:42  [ТС]     Покритикуйте мою игру #115
Вот что у меня вывело.
Первые 5 строк в коноли - до нажатия на Play, остальные - после
Миниатюры
Покритикуйте мою игру  
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
28.10.2013, 15:57     Покритикуйте мою игру #116
Понятно. У вас компилятор неинициализированные указатели обнуляет, у меня - нет (студии разные).
dimakozyr
157 / 24 / 1
Регистрация: 17.08.2013
Сообщений: 461
28.10.2013, 16:06  [ТС]     Покритикуйте мою игру #117
Цитата Сообщение от alsav22 Посмотреть сообщение
студии разные
У меня тринадцатая
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
28.10.2013, 16:07     Покритикуйте мою игру #118
Цитата Сообщение от dimakozyr Посмотреть сообщение
У меня тринадцатая
Я помню, что не 10 (как у меня). Но:
Цитата Сообщение от Cra3y Посмотреть сообщение
Вывод: указатели надо инициализировать )
dimakozyr
157 / 24 / 1
Регистрация: 17.08.2013
Сообщений: 461
28.10.2013, 16:13  [ТС]     Покритикуйте мою игру #119
Цитата Сообщение от alsav22 Посмотреть сообщение
Я помню, что не 10 (как у меня). Но:
Сообщение от Cra3y
Вывод: указатели надо инициализировать )
Или переходить на 13-ю студию
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.10.2013, 16:17     Покритикуйте мою игру
Еще ссылки по теме:

Покритикуйте код финкции нахождения интеграла - C++
typedef double(*tfunc)(double); double integral(double start, end, func f, double dx) { double left, right, result; for (x=start,...

Покритикуйте и помогите улучшить код моей игры - C++
Здравствуйте, недавно начал писать игру и собственно пишу потихоньку, но не в этом суть, просто я только сегодня понял, что мой код может...

испавте мою програму - C++
Здравствуйте форумчани =) Я написал программу она должна считать b=а+а, b=а+а, b=а+а. Можно сказать по формуле b=a+a но почему-то она...

Опишите пожалуйста мою программу - C++
Может кто рассказать что и как делает программа,и написать комментарии?\ Буду очень признателен #include&lt;iostream.h&gt; ...


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

Или воспользуйтесь поиском по форуму:
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
28.10.2013, 16:17     Покритикуйте мою игру #120
Цитата Сообщение от dimakozyr Посмотреть сообщение
Или переходить на 13-ю студию
Вы зря к этому несерьёзно относитесь. Это кривизна в коде, и хорошо, что 10 студия даёт возможнось это обнаружить.
Yandex
Объявления
28.10.2013, 16:17     Покритикуйте мою игру
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru