-
Автор темы
- #1
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Как я говорил в первом гайде:"Я расскажу вам как изменить Английский язык на Русский и как поменять цвет текста".
Открываем наш проект.Перед нами код.
Приступим к изменению цвета текста.Мы вписываем данную часть кода перед #include:
#include <Windows.h> включает функции WinAPI sleep(), beep() и т.д
HANDLE hConsole;
HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE); получение хєндла консоли.
using namespace std; пространство имен, используется для того, чтобы ограничить видимость переменных.
enum ConsoleColor Задает константы, которые определяют основной цвет и цвет фона консоли.
SetConsoleTextAttribute(hStdOut, (WORD)((background << 4) | text)); этим мы задаём атрибуты для шрифта консоли, можем и покрасить его.
void SetColor(ConsoleColor text, ConsoleColor background) устанавливаем цвет текста,заднего плана.Пример:
В данном примере вы увидели значение SetColor(Yellow,Black);1-ый цвет означает цвет текста,а 2-ой цвет означает "цвет фона"
В моём случае я поставил значения цвета (Red,White).
Изменению цвета текста мы научились, далее изменения языка.
В изменение языка нам поможет код setlocale(LC_ALL, "Russian");
Теперь вам остается вставить его перед std::cout <<
На этом я заканчиваю гайд. Всем спасибо.
Открываем наш проект.Перед нами код.
Код:
#include <iostream>
#include <string>
char board[9] = {};
void clearscreen()
{
for (int i = 0; i<100; i++)
{
std::cout << std::endl;
}
}
void clearboard()
{
for (int i = 0; i<9; i++)
{
board[i] = '-';
}
}
bool has_wonQ(char player)
{
int wins[][3] = { { 0,1,2 },{ 3,4,5 },{ 6,7,8 },{ 0,3,6 },{ 1,4,7 },
{ 2,5,8 },{ 0,4,8 },{ 2,4,6 }
};
for (int i = 0; i<8; i++)
{
int count = 0; ]
for (int j = 0; j<3; j++)
{
if (board[wins[i][j]] == player)
count++;
}
if (count == 3)
{
return true;
}
}
return false;
void print_board(std::string indent)
{
std::cout << "Game board\n";
std::cout << indent << "-" << board[6] << "-|-" << board[7] << "-|-" << board[8] << "- \n";
std::cout << indent << "-" << board[3] << "-|-" << board[4] << "-|-" << board[5] << "- \n";
std::cout << indent << "-" << board[0] << "-|-" << board[1] << "-|-" << board[2] << "- \n";
}
int get_move()
{
std::cout << "\nMenu hodov: \n";
std::cout << "-7-|-8-|-9-" << std::endl;
std::cout << "-4-|-5-|-6-" << std::endl;
std::cout << "-1-|-2-|-3-" << std::endl;
std::cout << "\n";
print_board("");
std::cout << "\nVvod chisla: ";
int move;
std::cin >> move;
while (move > 9 || move < 1 || board[move - 1] != '-')
{
std::cout << "Vvedite chislo ot (1 do 9):\n";
std::cin >> move;
}
return move;
}
char play_and_get_winner()
{
int turn = 1;
while (!has_wonQ('X') && !has_wonQ('0'))
{
clearscreen();
int move = get_move();
clearscreen();
if (turn % 2 == 1)
{
board[move - 1] = 'X';
if (has_wonQ('X'))
{
std::cout << "X,Pozdravlyau vi vuigrali!\n";
return 'X';
}
}
else
{
board[move - 1] = '0';
if (has_wonQ('0'))
{
std::cout << "O,Pozdravlyau vi vuigrali!\n";
return '0';
}
}
turn++;
if (turn == 10)
{
std::cout << "nechya\n";
return 'D';
}
}
}
while (reply == "y")
{
clearboard();
char winner = play_and_get_winner();
print_board("\t ");
switch (winner)
{
case 'X':
x_wins++;
break;
case '0':
o_wins++;
break;
case 'D':
ties++;
break;
}
std::cout << "\n\t*Winer statistic*\nPlayer X: " << x_wins
<< ", Player 0: " << o_wins << " and Ties: " << ties << "\n\n";
std::cout << "\n would you like to play again? (y/n): ";
std::cin >> reply;
while (reply != "y" && reply != "n") //цикл while(пока значениеreply(ответ) !=не равно "y" или&& пока значениеreply(ответ) !=не равно "n") то цикл бесконечен
{
std::cout << "please inter a valid reply (y/n):";
std::cin >> reply;
}
}
Код:
#include <iostream>
#include <Windows.h>
#include <string>
HANDLE hConsole;
//HANDLE hStdout, hStdin;
HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
char board[9] = {};
using namespace std;
enum ConsoleColor
{
Black = 0,
Blue = 1,
Green = 2,
Cyan = 3,
Red = 4,
Magenta = 5,
Brown = 6,
LightGray = 7,
DarkGray = 8,
LightBlue = 9,
LightGreen = 10,
LightCyan = 11,
LightRed = 12,
LightMagenta = 13,
Yellow = 14,
White = 15
};
void SetColor(ConsoleColor text, ConsoleColor background)
{
SetConsoleTextAttribute(hStdOut, (WORD)((background << 4) | text));
}
HANDLE hConsole;
HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE); получение хєндла консоли.
using namespace std; пространство имен, используется для того, чтобы ограничить видимость переменных.
enum ConsoleColor Задает константы, которые определяют основной цвет и цвет фона консоли.
SetConsoleTextAttribute(hStdOut, (WORD)((background << 4) | text)); этим мы задаём атрибуты для шрифта консоли, можем и покрасить его.
void SetColor(ConsoleColor text, ConsoleColor background) устанавливаем цвет текста,заднего плана.Пример:
Код:
void print_board(std::string indent) //функция void print_board(){ … } которая будит выводить доску на экран[/COLOR]
[COLOR=rgb(166, 255, 77)]{
SetColor(Yellow, Black);
std::cout << "свой текст\n"; //Выводится на экран заголовок Game board
std::cout << indent << "-" << board[6] << "-|-" << board[7] << "-|-" << board[8] << "- \n";//Выводится пустая доска с заголовком “Game board” (игровое поле)
std::cout << indent << "-" << board[3] << "-|-" << board[4] << "-|-" << board[5] << "- \n";// в которой и будут отображаться X или О
std::cout << indent << "-" << board[0] << "-|-" << board[1] << "-|-" << board[2] << "- \n";//Заменяется переменная стринг (-) на переменную board[] с номером клетки, т.к. переменные начинаются с нуля, то вместо 1 пишется 0, вместо 2 пишется 1 и т.д.
}
Изменению цвета текста мы научились, далее изменения языка.
В изменение языка нам поможет код setlocale(LC_ALL, "Russian");
Теперь вам остается вставить его перед std::cout <<
void print_board(std::string indent) //функция void print_board(){ … } которая будит выводить доску на экран
{
SetColor(LightRed,White);
setlocale(LC_ALL, "Russian");
std::cout << "Ваш текст"; //Выводится на экран заголовок Game board
std::cout << indent << "-" << board[6] << "-|-" << board[7] << "-|-" << board[8] << "- \n";//Выводится пустая доска с заголовком “Game board” (игровое поле)
std::cout << indent << "-" << board[3] << "-|-" << board[4] << "-|-" << board[5] << "- \n";// в которой и будут отображаться X или О
std::cout << indent << "-" << board[0] << "-|-" << board[1] << "-|-" << board[2] << "- \n";//Заменяется переменная стринг (-) на переменную board[] с номером клетки, т.к. переменные начинаются с нуля, то вместо 1 пишется 0, вместо 2 пишется 1 и т.д.
}
{
SetColor(LightRed,White);
setlocale(LC_ALL, "Russian");
std::cout << "Ваш текст"; //Выводится на экран заголовок Game board
std::cout << indent << "-" << board[6] << "-|-" << board[7] << "-|-" << board[8] << "- \n";//Выводится пустая доска с заголовком “Game board” (игровое поле)
std::cout << indent << "-" << board[3] << "-|-" << board[4] << "-|-" << board[5] << "- \n";// в которой и будут отображаться X или О
std::cout << indent << "-" << board[0] << "-|-" << board[1] << "-|-" << board[2] << "- \n";//Заменяется переменная стринг (-) на переменную board[] с номером клетки, т.к. переменные начинаются с нуля, то вместо 1 пишется 0, вместо 2 пишется 1 и т.д.
}
На этом я заканчиваю гайд. Всем спасибо.
Последнее редактирование модератором: