Изучаем С++ создавая игры в ue4 Уилльям Шериф Изучайте программирование С++ с интересным применением реально мира, что позволит вам создавать ваши собственные игры!



Pdf көрінісі
бет53/252
Дата06.01.2022
өлшемі12,25 Mb.
#11940
1   ...   49   50   51   52   53   54   55   56   ...   252
Больше о переменных 
Вы  можете  думать  о  переменных,  как  о  клетках  для  перевозки  животных.  Сумку-
переноску для кошки, можно использовать, чтобы переносить кошку, но не собаку. 
Таким же образом вы должны использовать переменную плавающего типа, чтобы 
переносить  значения  десятичных  дробей.  Если  вы  храните  значение  десятичной 
дроби внутри переменной int, то это не подойдёт: 
int x = 38.87f; 
cout << x << endl; // 
выводит 38, а не 38.87 
Что  на  самом  деле  происходит  здесь,  это  то,  что  С++  производит  автоматическое 
преобразование значения 38.87, таинственным образом превращая его  в целое 
число,  чтобы  оно  подходило  для  содержащего  его  контейнера  int.  Десятичная 
дробь 38.87 преобразуется в целочисленное значение 38.  
Так например, мы можем модифицировать код, чтобы включить применение трёх 
типов переменных, как показано в следующем коде: 
#include  
#include  // 
это необходимо для использования строковых переменных! 
using namespace std; 
int main() 

string name; 
int goldPieces; 
float hp; 
name = "William"; // 
Это моё имя 
goldPieces = 322; // 
начинаю с таким количеством золота 
hp = 75.5f;             // 
единицы здоровья выражены значением десятичной дроби 
cout << "Character " << name << " has " 
<< hp << " hp and " 
<< goldPieces << " gold."; 
}
 
На первых трёх строках, мы объявляем три ящика для хранения в них частей наших 
данных как показано здесь: 


38 | 
С т р а н и ц а
 
 
string name; 
int goldPieces; 
float hp; 
Эти  три  строки  занимают  три  места  в  памяти  (подобно  парковочным  местам).  А 
следующие три строки заполняют переменные значениями, которые мы хотим, как 
здесь: 
name = "William"; 
goldPieces = 322; 
hp = 75.5f;
 
В компьютерной памяти, это выглядит, как показано на следующем изображении: 
 
Вы  можете  менять  содержимое  переменной  в  любое  время.  Вы  можете  писать 
переменную, используя оператор назначения =, как здесь: 
golfdPieces 
= 522; // знак = называется “оператор назначения” 
Также  в любое  время  вы  можете  считывать  содержимое переменной.  Это  то,  что 
делают три следующие строки кода здесь: 
cout << "Character " << name << " has " 
<< hp << " hp and " 
<< goldPieces << " gold."; 
Взгляните на эту строку: 
cout << "I have " << hp << " hp." << endl; 
Есть  два  применения  hp  на  этой  строке.  Одно  между  двойных  кавычек,  а  другое 
нет. Слова между двойных кавычек всегда выводятся именно так, как вы их там и 
написали.    Когда  не  используются  двойные  кавычки  (например, 
<<  hp  <
), 
выполняется  просмотр  переменной.  Если  переменная  не  существует,  тогда  вы 
получите  ошибку  компилятора  (undeclared  identifier  –  необъявленный 
идентификатор).  
В  памяти есть  место для размещения имени – name, для того сколько золота есть 
у игрока – goldPieces, и для здоровья игрока – hp.  


39 | 
С т р а н и ц а
 
 
Совет  
В  целом,  вы  всегда  должны  стараться  хранить  соответствующий  тип  данных  в 
соответствующей  переменной.  Если  вы  случайно  сохраните  несоответствующий 
тип данных, то ваш код поведёт себя не верно. 


Достарыңызбен бөлісу:
1   ...   49   50   51   52   53   54   55   56   ...   252




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет