Πίνακας περιεχομένων:
- Βήμα 1: Έννοιες που χρησιμοποιούνται
- Βήμα 2: Κύρια λειτουργία
- Βήμα 3: Πώς να παραλείψετε ειδικούς χαρακτήρες;
- Βήμα 4: Αφαίρεση των ίδιων χαρακτήρων
- Βήμα 5: Δημιουργία λίστας με διπλό σύνδεσμο
- Βήμα 6: Κωδικοποιήστε για να παίξετε τις φλόγες
- Βήμα 7: Πείτε το Αποτέλεσμα
- Βήμα 8: Κωδικός για φλόγες
Βίντεο: ΦΛΟΓΕΣ Χρήση C ++: 8 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:32
Γεια σας φίλοι, Όλοι γνωρίζουμε για το παιχνίδι φλόγες. Lol, είναι ένα από τα πιο αστεία παιχνίδια που έκαναν τα παιδικά μας χρόνια πιο χαρούμενα. Σε αυτό το διδακτικό, θα δούμε πώς να κωδικοποιήσουμε ένα πρόγραμμα φλόγας χρησιμοποιώντας τη γλώσσα C ++.
Βήμα 1: Έννοιες που χρησιμοποιούνται
Εδώ χρησιμοποίησα τη λίστα διπλής σύνδεσης της Εγκύκλου.
Βήμα 2: Κύρια λειτουργία
int main ()
{
string string1, name2;
int n1, n2; cout << "ΕΙΣΟΔΟΣ ΠΡΩΤΟΥ ΟΝΟΜΑΤΟΣ:"; getline (cin, name1); cout << "ENTER SECOND NAME:"; getline (cin, name2);
}
Πρώτον, πρέπει να πάρουμε τα δύο ονόματα με κενό, οπότε χρησιμοποιώ τη συνάρτηση getline () για να πάρω τη συμβολοσειρά με κενό.
Βήμα 3: Πώς να παραλείψετε ειδικούς χαρακτήρες;
κενή εκπομπή (συμβολοσειρά & α)
{
για (int i = 0; a ! = '\ 0'; i ++)
{
εάν (a > = 'a' && a <= 'z') {}
αλλιώς αν (a > = 'A' && a <= 'Z') {}
αλλού
a = '0';
}
}
Τώρα, πρέπει να αφαιρέσουμε τους ειδικούς χαρακτήρες όπως &, $, '' … κλπ. Χρησιμοποιώντας αυτήν τη συνάρτηση αφαιρέσαμε όλους τους χαρακτήρες εκτός από αλφάβητα. Εδώ, αντί να το αφαιρέσω, το αντικαθιστώ με '0'.
Βήμα 4: Αφαίρεση των ίδιων χαρακτήρων
για (i = 0; name1 ! = '\ 0'; i ++)
για (j = 0; name2 [j]! = '\ 0'; j ++)
εάν ((name1 == name2 [j] || name1 == name2 [j] +32))
{
name1 = '0';
name2 [j] = '0';
Διακοπή;
}
Είναι το πρώτο βήμα του παιχνιδιού φλόγες, ότι πρέπει να αφαιρέσουμε τους ίδιους χαρακτήρες που υπάρχουν στα δύο ονόματα. Αυτό το απόσπασμα κώδικα μας βοηθά να αντικαταστήσουμε τους ίδιους χαρακτήρες με '0' και επίσης λειτουργεί καλά ακόμη και όταν περιέχει τόσο κεφαλαία όσο και πεζά. Η δήλωση διακοπής μας βοηθά να αποφύγουμε την αφαίρεση των επαναλαμβανόμενων χαρακτήρων.
j = 0; για (i = 0; name1 ! = '\ 0'; i ++)
εάν (όνομα1 ! = '0')
j ++;
για (i = 0; name2 ! = '\ 0'; i ++)
εάν (όνομα2 ! = '0')
j ++;
εάν (j == 0) cout << "ΧΩΡΙΣ ΦΛΟΓΕΣ";
Εδώ, αφαιρούμε όλα τα 0 που υπάρχουν και στα δύο ονόματα. Επομένως, τελικά, όλοι οι ίδιοι, οι χαρακτήρες αφαιρούνται. Στη συνέχεια, το j αυξάνεται ότι είναι ο αριθμός των γραμμάτων που υπάρχουν και στα δύο ονόματα μετά την αφαίρεση των ίδιων χαρακτήρων. Τώρα πρέπει να ελέγξουμε αν περιέχει τουλάχιστον έναν χαρακτήρα ή όχι. Για να καταστήσουμε τον κώδικα αποτελεσματικό πρέπει να πούμε ότι δεν υπάρχει δυνατότητα να παίξετε το παιχνίδι φλόγες εάν δεν περιέχει μοναδικούς χαρακτήρες.
Βήμα 5: Δημιουργία λίστας με διπλό σύνδεσμο
string a = "φλόγες"?
Αρχικά, δημιουργήστε μια παγκόσμια συμβολοσειρά που περιέχει "φλόγες".
typedef struct node {
δεδομένα char?
κόμβος *επόμενο, *προηγούμενο;
}κόμβος;
κόμβος *κορυφή = NULL, *temp;
Τώρα, δημιουργήστε μια δομή που περιέχει δεδομένα χαρακτήρων, δείκτη επόμενης διεύθυνσης και δείκτη προηγούμενης διεύθυνσης.
Στη συνέχεια, δημιουργήστε έναν δείκτη που δείχνει προς την κορυφή της συνδεδεμένης λίστας.
κόμβος* ins (char a) {
κόμβος *new1;
new1 = νέος κόμβος.
new1-> data = a;
new1-> next = NULL;
new1-> prev = NULL;
εάν (πάνω == NULL)
{
κορυφή = new1;
temp = πάνω?
}
αλλού
{
temp-> next = new1;
new1-> prev = temp;
temp = new1;
}
επιστροφή κορυφής?
}
Στη συνέχεια, εισαγάγετε τη συμβολοσειρά "φλόγες" στη λίστα διπλά συνδεδεμένων κατά χαρακτήρα.
άκυρος έλεγχος (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 = πάνω, *prev1;
temp-> επόμενο = πάνω?
top-> prev = temp;
ενώ (1)
{
count1 = 1;
ενώ (count1 <j)
{
cur = cur-> επόμενο;
count1 ++;
}
κόμβος *temp1 = cur;
prev1 = cur-> prev;
cur-> prev-> next = cur-> next;
cur-> next-> prev = cur-> prev;
temp1-> επόμενο = NULL;
δωρεάν (temp1)?
cur = prev1-> επόμενο;
κόμβος *δοκιμή = cur;
εάν (δοκιμή-> δεδομένα == δοκιμή-> επόμενο-> δεδομένα)
Διακοπή;
}
}
πρέπει να εκτελέσουμε την κυκλική λίστα που είναι η συμβολοσειρά "φλόγες" σύμφωνα με τον αριθμό των μοναδικών χαρακτήρων. Στη συνέχεια, πρέπει να αφαιρέσουμε τον χαρακτήρα στις "φλόγες" που συμπίπτουν με την καταμέτρηση. Θα πρέπει να συνειδητοποιήσουμε τη χρήση μιας διπλά συνδεδεμένης λίστας σε αυτό το απόσπασμα κώδικα. Βοηθάει πολύ στην αφαίρεση ενός συγκεκριμένου χαρακτήρα. Αφαιρείται συνεχώς. Μέχρι να φτάσει στην προϋπόθεση ότι οι ίδιοι χαρακτήρες έρχονται επανειλημμένα.
εάν (test-> data == test-> next-> data) σπάσει?
Βήμα 7: Πείτε το Αποτέλεσμα
διακόπτης (cur-> data)
{
περίπτωση 'f': cout << "FRIENDS &&";
Διακοπή;
περίπτωση 'l': cout << "ΑΓΑΠΗ <3";
Διακοπή;
περίπτωση 'a': cout << "AFFECTION $";
Διακοπή;
case 'm': cout << "ΓΑΜΟΣ:)";
Διακοπή;
case 'e': cout << "ΕΧΘΡΟΣ:(";
Διακοπή;
case 's': cout << "SIBLING";
Διακοπή; }
Χρησιμοποιήστε αυτήν τη δήλωση εναλλαγής για να πείτε το τελικό αποτέλεσμα ότι είναι ο τελευταίος χαρακτήρας μετά την αφαίρεση όλων των άλλων χαρακτήρων σύμφωνα με την καταμέτρηση.
Τώρα μπορείτε να παίξετε εύκολα τις φλόγες απλά εισάγοντας τα ονόματα, Είναι αστείο σωστά. Παίξτε αυτό το παιχνίδι χρησιμοποιώντας τα ονόματα του φίλου σας και εξοργίστε τον LOL. Σας ευχαριστώ.
Βήμα 8: Κωδικός για φλόγες
Ο πλήρης κωδικός για το FLAMES είναι διαθέσιμος εδώ, github.com/naveeen684/Flames-code-using-C-/tree/master