Mục lục:

FLAMES Sử dụng C ++: 8 bước
FLAMES Sử dụng C ++: 8 bước

Video: FLAMES Sử dụng C ++: 8 bước

Video: FLAMES Sử dụng C ++: 8 bước
Video: Hướng dẫn sử dụng VIM - Tool gõ code hack não lập trình viên | Vũ Nguyễn Coder 2024, Tháng bảy
Anonim
FLAMES sử dụng C ++
FLAMES sử dụng C ++
FLAMES sử dụng C ++
FLAMES sử dụng C ++

Xin chào các bạn, Tất cả chúng ta đều biết về trò chơi ngọn lửa. Lol, Đó là một trong những trò chơi vui nhộn nhất đã làm cho tuổi thơ của chúng ta hạnh phúc hơn. Trong hướng dẫn này, chúng ta sẽ xem cách viết mã một chương trình ngọn lửa bằng ngôn ngữ C ++.

Bước 1: Các khái niệm được sử dụng

Các khái niệm được sử dụng
Các khái niệm được sử dụng

Ở đây tôi đã sử dụng danh sách liên kết kép của Thông tư.

Bước 2: Chức năng chính

int main ()

{

string name1, name2;

int n1, n2; cout << "NHẬP TÊN:"; getline (cin, name1); cout << "NHẬP TÊN THỨ HAI:"; getline (cin, name2);

}

Đầu tiên, chúng ta cần lấy hai tên có dấu cách vì vậy tôi sử dụng hàm getline () để lấy chuỗi có dấu cách.

Bước 3: Làm thế nào để bỏ qua các ký tự đặc biệt?

void phát ra (chuỗi & a)

{

for (int i = 0; a ! = '\ 0'; i ++)

{

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

else if (a > = 'A' && a <= 'Z') {}

khác

a = '0';

}

}

Bây giờ, chúng ta cần xóa các ký tự đặc biệt như &, $, ''… vv. Bằng cách sử dụng chức năng này, chúng tôi đã loại bỏ tất cả các ký tự không phải là bảng chữ cái. Ở đây, thay vì loại bỏ, tôi thay thế nó bằng '0'.

Bước 4: Xóa các ký tự giống nhau

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

for (j = 0; name2 [j]! = '\ 0'; j ++)

if ((name1 == name2 [j] || name1 == name2 [j] +32))

{

name1 = '0';

name2 [j] = '0';

nghỉ;

}

Đây là bước đầu tiên của trò chơi ngọn lửa, đó là chúng ta cần loại bỏ các ký tự giống nhau có trong hai tên. Đoạn mã này giúp chúng tôi thay thế các ký tự giống nhau bằng '0' và nó cũng hoạt động tốt ngay cả khi nó chứa cả chữ hoa và chữ thường. Câu lệnh break giúp chúng ta tránh việc loại bỏ các ký tự lặp lại.

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

if (name1 ! = '0')

j ++;

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

if (name2 ! = '0')

j ++;

if (j == 0) cout << "NO FLAMES";

Ở đây, chúng tôi xóa tất cả các số '0 có trong cả hai tên. Do đó, cuối cùng, tất cả các ký tự giống nhau đều bị loại bỏ. Sau đó, j được tăng lên rằng nó là số lượng các chữ cái có trong cả hai tên sau khi loại bỏ các ký tự giống nhau. Bây giờ chúng ta cần kiểm tra xem nó có chứa ít nhất một ký tự hay không. Để làm cho mã hiệu quả, chúng ta cần nói rằng không có khả năng chơi trò chơi ngọn lửa nếu nó không chứa ký tự duy nhất.

Bước 5: Tạo danh sách liên kết đôi thông tư

string a = "ngọn lửa";

Đầu tiên, tạo một chuỗi toàn cầu có chứa "ngọn lửa".

nút cấu trúc typedef {

dữ liệu char;

nút * tiếp theo, * trước;

}nút;

nút * top = NULL, * temp;

Bây giờ, hãy tạo một cấu trúc chứa dữ liệu ký tự, con trỏ địa chỉ tiếp theo và con trỏ địa chỉ trước đó.

Sau đó, tạo một con trỏ trỏ đến đầu danh sách được liên kết.

nút * in (char a) {

nút * new1;

new1 = nút mới;

new1-> data = a;

new1-> next = NULL;

new1-> prev = NULL;

if (top == NULL)

{

top = new1;

temp = đầu;

}

khác

{

temp-> next = new1;

new1-> prev = temp;

temp = new1;

}

trở lại đầu trang;

}

Sau đó, chèn chuỗi "ngọn lửa" vào danh sách được liên kết đôi theo chiều ký tự.

kiểm tra void (int j) {

int count1, flag = 0;

for (int i = 0; a ! = '\ 0'; i ++)

top = ins (a );

}

Bước 6: Mã để chơi ngọn lửa

Mã để chơi ngọn lửa
Mã để chơi ngọn lửa

kiểm tra void (int j)

{

int count1, flag = 0;

for (int i = 0; a ! = '\ 0'; i ++)

top = ins (a );

nút * cur = top, * prev1;

temp-> next = top;

top-> pres = temp;

trong khi (1)

{

đếm1 = 1;

while (count1 <j)

{

cur = cur-> tiếp theo;

đếm1 ++;

}

nút * temp1 = cur;

prev1 = cur-> prev;

cur-> prev-> next = cur-> next;

cur-> next-> prev = cur-> prev;

temp1-> tiếp theo = NULL;

miễn phí (temp1);

cur = prev1-> tiếp theo;

nút * test = cur;

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

nghỉ;

}

}

chúng ta cần chạy danh sách vòng tròn là chuỗi "ngọn lửa" theo số lượng các ký tự duy nhất. Sau đó, chúng ta cần loại bỏ ký tự trong "ngọn lửa" trùng với số đếm. Chúng ta nên nhận ra việc sử dụng danh sách được liên kết kép trong đoạn mã này. Nó giúp ích rất nhiều để loại bỏ một ký tự cụ thể. Nó loại bỏ liên tục. Cho đến khi nó đạt đến điều kiện là các ký tự giống nhau lặp đi lặp lại.

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

Bước 7: Cho biết kết quả

chuyển đổi (cur-> dữ liệu)

{

case 'f': cout << "FRIENDS &&";

nghỉ;

case 'l': cout << "LOVE <3";

nghỉ;

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

nghỉ;

case 'm': cout << "MARRIAGE:)";

nghỉ;

case 'e': cout << "ENEMY:(";

nghỉ;

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

nghỉ; }

Sử dụng câu lệnh switch này để cho biết kết quả cuối cùng là ký tự cuối cùng còn lại sau khi loại bỏ tất cả các ký tự khác theo số lượng.

Bây giờ bạn có thể chơi ngọn lửa một cách dễ dàng bằng cách chỉ cần nhập tên, Thật buồn cười phải không. Chơi trò chơi này bằng cách sử dụng tên của bạn bè của bạn và làm cho họ tức giận LOL. Cảm ơn bạn.

Bước 8: Mã cho ngọn lửa

Mã hoàn chỉnh cho FLAMES hiện có tại đây, github.com/naveeen684/Flames-code-using-C-/tree/master