Курсы создания компьютерных игр на C/C++ ( Часть 6 )

Для самых-самых начинающих программистов :] Часть 5.5 - http://pikabu.ru/story/_3453747
Курсы создания компьютерных игр на C/C++ ( Часть 6 ) Для самых-самых начинающих программистов :]  Часть 5.5 - <a href="http://pikabu.ru/story/kursyi_sozdaniya_kompyuternyikh_igr_na_cc__chast_55__3453747">http://pikabu.ru/story/_3453747</a>
Вы смотрите срез комментариев. Показать все
Автор поста оценил этот комментарий

Стока ошибок я наделал пока набирал код... С некоторыми справился, а вот с этой не пойму что происходит:

WeaponType.h:14:13: error: two or more data types in declaration of 'WeaponName_None'

const char* WeaponName_None = "None";

раскрыть ветку (18)
Автор поста оценил этот комментарий

А можно посмотреть блок кода пять строк вверх над это строкой и пять строк вниз под этой строкой? :)

раскрыть ветку (17)
Автор поста оценил этот комментарий

да вот он весь:


#pragma once

#include "level.h"

enum WeaponType {

WeaponType_None,

WeaponType_Fist,

WeaponType_Stick,

WeaponType_Club,

WeaponType_Spear,

WeaponType_Saber,

}

//имена оружия

const char* WeaponName_None = "None";

const char* WeaponName_Fist = "Fist";

const char* WeaponName_Stick = "Stick";

const char* WeaponName_Club = "Club";

const char* WeaponName_Spear = "Spear";

const char* WeaponName_Saber = "Saber";

//возвращает название оружия

const char* GetWeaponName(WeaponType Weapon){

switch(WeaponType){

case WeaponType_Fist: return WeaponName_Fist;

case WeaponType_Stick: return WeaponName_Stick;

case WeaponType_Club: return WeaponName_Club;

case WeaponType_Spear: return WeaponName_Spear;

case WeaponType_Saber: return WeaponName_Saber;

}

return WeaponName_None;

}

//вернет цыфру какая штука сколько бьет

int GetWeaponDamage(WeaponType Weapon){

switch(WeaponType){

case WeaponType_Fist: return 2;

case WeaponType_Stick: return 16;

case WeaponType_Club: return 24;

case WeaponType_Spear: return 32;

case WeaponType_Saber: return 40;

}

return 0;

}

//вернет тип оружия в зависимости от символа

WeaponType GetWeaponTypeFromCell(unsigned char CellSymbol){

switch( CellSymbol ){

case CellSymbol_Stick: return WeaponType_Stick;

case CellSymbol_Club: return WeaponType_Club;

case CellSymbol_Spear: return WeaponType_Spear;

case CellSymbol_Saber: return WeaponType_Saber;

}

return WeaponType_None;

}

раскрыть ветку (16)
Автор поста оценил этот комментарий
Точки с запятой после закрывающей скобки енама:

WeaponType_Saber,

};

//имена оружия

раскрыть ветку (15)
Автор поста оценил этот комментарий

оу. Спасибо. 

Автор поста оценил этот комментарий

Скомпилировалось, но не запускается, типа не может запуститься на 64-разрядной системе (((

Иллюстрация к комментарию
раскрыть ветку (13)
Автор поста оценил этот комментарий

16-разрядное приложение? О_о А предыдущие уроки собирались нормально?

раскрыть ветку (1)
Автор поста оценил этот комментарий

Запускались предыдущие проекты... Но я не делал там раскрашивание теста. Может в консольных штуках дело?

Автор поста оценил этот комментарий

У вас приложение почему то получилось 16-ти разрядным, чего не должно быть, если создавали проект по инструкции из предыдущих статей. Перепроверьте порядок создания проекта, может где-то чего-то пропустили или выбрали не тот тип проекта.

раскрыть ветку (10)
Автор поста оценил этот комментарий

Запускались предыдущие проекты... Но я не делал там раскрашивание теста. Может в консольных штуках дело? работаю в Notepad++. Не помню там настройки проекта или чего-то подобного. 

раскрыть ветку (9)
4
Автор поста оценил этот комментарий
Иллюстрация к комментарию
Автор поста оценил этот комментарий

Если в нотепаде работаешь то как компилируешь? Просто вызываешь компилятор (cl) напрямую? Так тоже не должно быть проблем, он по умолчанию создает 32-х разрядный экзешничек, который совместим с 64 битной системой.


Расскажи подробнее как у тебя происходит весь процесс разработки и билда, скорее всего ты что-то лишнего делаешь.

раскрыть ветку (6)
Автор поста оценил этот комментарий

Там есть плагин, который связывается с компилятором (у меня он G++). Зовется плагин NPPexec

Может в компиляторе дело. Он у меня кириллицу не внемлет, например... 

раскрыть ветку (5)
1
Автор поста оценил этот комментарий

Если тебе по какой-то причине не нравится вижуал студия, ты можешь скачать её компилятор отдельно без самой студии.

https://www.microsoft.com/en-us/download/details.aspx?id=827... - ставь галочки на Visual C++ Compilers и Windows Headers and Libraries, остальные элементы не обязательны.


С этим компилятором работать придется из командной строки, например как я делал ниже в комментариях.

Автор поста оценил этот комментарий

G++ под винду откуда брал? Всмысле, в какой среде выполняется? Cygwin?


И покажи команду с котрой запускается G++ из nppexec.

Автор поста оценил этот комментарий

Я кажется понял в чем дело. Ты наверное запускаешь g++ из файла weaponType.h так не будет работать. G++ надо натравливать на cpp файл. Попробуй перейти на файл main.cpp и оттуда запустить g++.

раскрыть ветку (2)
Автор поста оценил этот комментарий

я компилирую из main. Зачем мне компилировать подключаемые файлы? Блин. Сложная история какая-то (( 

раскрыть ветку (1)
Автор поста оценил этот комментарий

Я на всякий случай попробовал у себя скомпилировать код игры из командной строки, строится и запускается без проблем.

Иллюстрация к комментарию
Иллюстрация к комментарию
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку