Оглавление:

FLAMES с использованием C ++: 8 шагов
FLAMES с использованием C ++: 8 шагов

Видео: FLAMES с использованием C ++: 8 шагов

Видео: FLAMES с использованием C ++: 8 шагов
Видео: OpenGL - Урок 10 - Первые шаги в 3D. Учимся осматриваться - управление камерой. 2024, Июль
Anonim
FLAMES с использованием C ++
FLAMES с использованием C ++
FLAMES с использованием C ++
FLAMES с использованием C ++

Здравствуйте, друзья! Все мы знаем об игре флейм. Лол, это одна из самых забавных игр, которая сделала наше детство более счастливым. В этом руководстве мы увидим, как написать программу flames с использованием языка C ++.

Шаг 1. Используемые концепции

Используемые концепции
Используемые концепции

Здесь я использовал Циркулярный двусвязный список.

Шаг 2: основная функция

int main ()

{

строка name1, name2;

int n1, n2; cout << "ВВЕДИТЕ ПЕРВОЕ ИМЯ:"; getline (cin, name1); cout << "ВВЕДИТЕ ВТОРОЕ ИМЯ:"; getline (cin, name2);

}

Во-первых, нам нужно получить два имени с пробелом, поэтому я использую функцию getline (), чтобы получить строку с пробелом.

Шаг 3: Как пропустить специальные символы?

void emit (строка & a)

{

для (int i = 0; a ! = '\ 0'; i ++)

{

if (a > = 'a' && a <= 'z') {}

иначе if (a > = 'A' && a <= 'Z') {}

еще

а [я] = '0';

}

}

Теперь нам нужно удалить специальные символы, такие как &, $, ''… и т. Д. Используя эту функцию, мы удалили все символы, кроме алфавитов. Здесь вместо удаления я заменяю его на «0».

Шаг 4: удаление одинаковых символов

for (i = 0; name1 ! = '\ 0'; i ++)

для (j = 0; name2 [j]! = '\ 0'; j ++)

если ((имя1 == имя2 [j] || имя1 == имя2 [j] +32))

{

имя1 [я] = '0';

имя2 [j] = '0';

перерыв;

}

Это первый шаг в игре с пламенем. Нам нужно удалить те же символы, которые присутствуют в двух именах. Этот фрагмент кода помогает нам заменить одни и те же символы на «0», и он также хорошо работает, даже если он содержит как верхний, так и нижний регистр. Оператор break помогает нам избежать удаления повторяющихся символов.

j = 0; for (i = 0; name1 ! = '\ 0'; i ++)

если (имя1 [я]! = '0')

j ++;

for (i = 0; name2 ! = '\ 0'; i ++)

если (имя2 [я]! = '0')

j ++;

if (j == 0) cout << "БЕЗ ПЛАМЕНИ";

Здесь мы удаляем все «0», которые присутствуют в обоих именах. Поэтому, наконец, все-таки символы убираются. Затем j увеличивается на единицу, так что это количество букв, которые присутствуют в обоих именах после удаления одних и тех же символов. Теперь нам нужно проверить, содержит ли он хотя бы один символ или нет. Чтобы код был эффективным, нам нужно сказать, что нельзя играть в игру с пламенем, если она не содержит уникальных символов.

Шаг 5: Создание кругового двусвязного списка

строка a = "пламя";

Сначала создайте глобальную строку, содержащую «пламя».

typedef struct node {

данные char;

узел * следующий, * предыдущий;

}узел;

узел * top = NULL, * temp;

Теперь создайте структуру, содержащую символьные данные, указатель следующего адреса и указатель предыдущего адреса.

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

node * ins (char a) {

узел * new1;

new1 = новый узел;

new1-> data = a;

new1-> next = NULL;

new1-> prev = NULL;

если (вверху == NULL)

{

top = new1;

temp = top;

}

еще

{

temp-> next = new1;

new1-> prev = temp;

temp = new1;

}

возврат сверху;

}

Затем вставьте строку «flames» в двусвязный список посимвольно.

недействительная проверка (int j) {

int count1, flag = 0;

для (int i = 0; a ! = '\ 0'; i ++)

сверху = ins (a );

}

Шаг 6: Код для игры в пламя

Код для игры в пламя
Код для игры в пламя

недействительная проверка (int j)

{

int count1, flag = 0;

для (int i = 0; a ! = '\ 0'; i ++)

сверху = ins (a );

узел * cur = top, * prev1;

темп-> следующий = верх;

верх-> пред = темп;

в то время как (1)

{

count1 = 1;

в то время как (count1 <j)

{

cur = cur-> следующий;

count1 ++;

}

узел * temp1 = cur;

пред1 = текущий-> пред;

текущая-> предыдущая-> следующая = текущая-> следующая;

текущая-> следующая-> предыдущая = текущая-> предыдущая;

temp1-> next = NULL;

бесплатно (temp1);

cur = пред1-> следующий;

узел * test = cur;

если (тест-> данные == тест-> следующий-> данные)

перерыв;

}

}

нам нужно запустить круговой список, который представляет собой строку «flames» в соответствии с количеством уникальных символов. Затем нам нужно удалить символ в «пламени», который совпадает со счетчиком. Мы должны реализовать использование двусвязного списка в этом фрагменте кода. Очень помогает удаление определенного персонажа. Удаляет постоянно. Пока не будет достигнуто условие, что одни и те же символы будут повторяться.

if (test-> data == test-> next-> data) break;

Шаг 7. Сообщите результат

переключатель (cur-> data)

{

case 'f': cout << "ДРУЗЬЯ &&";

перерыв;

case 'l': cout << "ЛЮБОВЬ <3";

перерыв;

case 'a': cout << "AFFECTION $";

перерыв;

case 'm': cout << "БРАК:)";

перерыв;

case 'e': cout << "ВРАГ:(";

перерыв;

case 's': cout << "SIBLING";

перерыв; }

Используйте этот оператор switch, чтобы сообщить окончательному результату, что последний символ остается после удаления всех остальных символов в соответствии с подсчетом.

Теперь вы можете легко играть в флейм, просто вводя имена, это забавно, правда. Играйте в эту игру, используя имена своих друзей, и рассердите их LOL. Спасибо.

Шаг 8: Code for Flames

Полный код для FLAMES доступен здесь, github.com/naveeen684/Flames-code-using-C-/tree/master