1 Ανοίξτε τον αγαπημένο C + +, το πρόγραμμα σας και να ξεκινήσετε ένα νέο έργο . Συμπεριλάβετε την « iostream " και " ctime " βιβλιοθήκες , χρησιμοποιώντας αυτόν τον κώδικα :
# include # include Δημιουργήστε μια νέα κλάση που αντιπροσωπεύει τον ήρωά σου και τα τέρατα στο " μπουντρούμι " σας χρησιμοποιώντας αυτόν τον κώδικα : τάξη CCreature { public: CCreature ( ) : muiAttack ( 0 ) , muiDefense ( 0 ) , muiHitPoints ( 3 ) { για ( ανυπόγραφο int uiIndex = 0 ? uiIndex <3 ? + + uiIndex ) { muiAttack = muiAttack + ( rand ( ) % 34) ? muiDefense = muiDefense + ( rand ( ) % 34) ? muiHitPoints = muiHitPoints + ( rand ( ) % 10 ) ? } } void επίθεση ( CCreature & qrDefender ) { //Δημιουργήστε ένα αριθμό μεταξύ 1 και 100unsigned int uiAttack1 = ( rand ( ) % 100 ) + 1 ? unsigned int uiDefense1 = ( rand ( ) % 100 ) + 1 ? unsigned int uiAttack2 = ( rand ( ) % 100 ) + 1 ? unsigned int uiDefense2 = ( rand ( ) % 100 ) + 1 ;//Μήπως ο εισβολέας ( ήρωας ) χτύπησε εάν ( uiAttack1 Η κατηγορία αυτή προετοιμάζει τις τρεις ιδιότητες : επίθεση, άμυνα και χτύπησε σημεία . Στη συνέχεια, χρησιμοποιεί έναν αλγόριθμο επίθεση για να καθορίσει εάν η επίθεση ήταν επιτυχής , η ζημία της επίθεσης και τα υπόλοιπα σημεία που επλήγησαν . Δημιουργήστε μια νέα κλάση που αντιπροσωπεύει " μπουντρούμι " σας ως δισδιάστατη συστοιχία με τη χρήση αυτού του κώδικα : τάξη CDungeon { κοινό: CDungeon ( ) { //Δημιουργία άδειο mazechar caaMaze [ 10 ] [ 11 ] = { " ******* *** "," ****** "," ***** " , " ** " , " ****** "," *** **** "," **** "," **** "," ****** "," ********** " } ? για ( unsigned int uiRow = 0 ? uiRow <10 ? + + uiRow ) { για ( unsigned int uiCol = 0 ? uiCol <10 ? + + uiCol ) { mcaaMaze [ uiRow ] [ uiCol ] = caaMaze [ uiRow ] [ uiCol ] ? } } } char GetMazeSquare ( unsigned int uiRow , unsigned int uiCol ) {επιστροφή mcaaMaze [ uiRow ] [ uiCol ] ? } private: char mcaaMaze [ 10 ] [ 10 ] ? } ? Μπορείτε να αλλάξει τον τρόπο " μπουντρούμι " σας μοιάζει με την αλλαγή της θέσης των " * " χαρακτήρες Δημιουργήστε την τάξη που ελέγχει το παιχνίδι-παιχνίδι , χρησιμοποιώντας αυτόν τον κώδικα : . τάξη CRolePlayingGame { κοινό: CRolePlayingGame ( ) { //Initlialize ο τυχαίος αριθμός generatortime_t qTime ? χρόνο ( & qTime ) ? srand ( ( unsigned int ) qTime ) ? //Αρχικοποίηση το μπουντρούμι για να emptyfor ( unsigned int uiRow = 0 ? uiRow <10 ? + + uiRow ) { για ( unsigned int uiCol = 0 ? uiCol <10 ? + + uiCol ) { mqpaaCreatures [ uiRow ] [ uiCol ] = 0 ? } } //Δημιουργία herobool bFoundSpot = false ? ενώ ( bFoundSpot ! ) { unsigned int uiRow = 1 + ( rand ( ) % 8 ) ? unsigned int uiCol = 1 + ( rand ( ) % 8 ) ? αν ( QueryLocation ( uiRow , uiCol ) == "" ) { bFoundSpot = true ? mqpaaCreatures [ uiRow ] [ uiCol ] = &mqHero; } } //Δημιουργία 10 monstersbFoundSpot = false ? unsigned int uiMonster = 0 ? ενώ ( bFoundSpot ) { ανυπόγραφο ! int uiRow = 1 + ( rand ( ) % 8 ) ? unsigned int uiCol = 1 + ( rand ( ) % 8 ) ? αν ( QueryLocation ( uiRow , uiCol ) == "" ) { mqpaaCreatures [ uiRow ] [ uiCol ] = & ? mqaMonsters [ uiMonster ] ? + + uiMonster ? εάν ( uiMonster == 10 ) { bFoundSpot = true ? } } } } char QueryLocation ( unsigned int uiRow , unsigned int uiCol ) { για ( unsigned int uIndex = 0 ? uIndex <10 ? + + uIndex ) {if ( mqpaaCreatures [ uiRow ] [ uiCol ] == & ( mqaMonsters [ uIndex ] ) ) { επιστροφή ( char ) ( '0 ' + uIndex ) ? } } αν ( mqpaaCreatures [ uiRow ] [ uiCol ] == & mqHero ) { επιστροφή «H» ? } else {επιστροφή mqDungeon.GetMazeSquare ( uiRow , uiCol ) ? } } bool MoveHero ( const char kcDirection ) { unsigned int uiHeroRow ? unsigned int uiHeroCol ? LocateCreature ( uiHeroRow , uiHeroCol , & ? mqHero ) ? unsigned int uiNextRow = uiHeroRow ? unsigned int uiNextCol = uiHeroCol ? διακόπτη ( kcDirection ) { περίπτωση «w» : υπόθεση « W » : { - uiNextRow ? διάλειμμα? } περίπτωση «s» : υπόθεση «S» : { + + uiNextCol ? σπάσει? } περίπτωση «z» : υπόθεση « Ζ » : { + + uiNextRow ? διάλειμμα? } περίπτωση «α» : περίπτωση «Α» : { - uiNextCol ? διάλειμμα? } προεπιλογή: { επιστροφή ψευδείς? } } char cNextLoc = QueryLocation ( uiNextRow , uiNextCol ) ? αν ( cNextLoc == " " ) { mqpaaCreatures [ uiNextRow ] [ uiNextCol ] = &mqHero; mqpaaCreatures [ uiHeroRow ] [ uiHeroCol ] = 0 ? return true ? } else if ( cNextLoc > = '0 '&& cNextLoc <= '9 ' ) { mqHero.Attack ( mqaMonsters [ ( int ) ( cNextLoc - '0 ' ) ] ) ? return true ? } else { return false ? } } void PrintBoard ( ) { using namespace std ? για ( unsigned int uiRow = 0 ? uiRow <10 ? + + uiRow ) { για ( unsigned int uiCol = 0 ? uiCol <10 ? + + uiCol ) { cout < private: bool LocateCreature ( unsigned int & uirRow , unsigned int & uirCol , CCreature * qpCreature ) { για ( unsigned int uiRow = 0 ? uiRow <10 ? + + uiRow ) { για ( unsigned int uiCol = 0 ? uiCol <10 ? + + uiCol ) {if ( mqpaaCreatures [ uiRow ] [ uiCol ] == qpCreature ) { uirRow = uiRow ? uirCol = uiCol ? return true ? } } } επιστροφή ψευδείς? } CDungeon mqDungeon ? CCreature mqHero ? CCreature mqaMonsters [ 10 ] ? CCreature * mqpaaCreatures [ 10 ] [ 10 ] ? } ? Η κατηγορία αυτή ελέγχει την κίνηση του ήρωά σας . Μπορείτε να χρησιμοποιήσετε " W ", " A", " S" και "Z" για να μετακινήσετε τον χαρακτήρα σας . Ωοτοκεί επίσης 10 τέρατα και ήρωα σας μέσα " μπουντρούμι " σας και ελέγχει τις αλληλεπιδράσεις μεταξύ τους , όπως οι θάνατοι και οι θέσεις . Δημιουργήστε το κύριο πρόγραμμα που καλεί τις διάφορες κατηγορίες και λειτουργίες και αλληλεπιδρά με το χρήστη. Μπορείτε να ελέγξετε τις διάφορες πτυχές του παιχνιδιού σας από αυτό το πρόγραμμα . Χρησιμοποιήστε αυτόν τον κωδικό για να το δημιουργήσετε : int main ( ) { using namespace std ;//Clear η dungeonCRolePlayingGame qGame ? Bool bGameOver = false ? Do { qGame.PrintBoard ( ) ;//Αποκτήστε το επόμενο movechar cMove ? cout <<"Χρήση W , A, S , Z ή να μετακινήσετε : " < Συντάξτε το νέο σχέδιό σας και να το εκτελέσετε για να ελέγξετε αν λειτουργεί όπως θα περιμένατε . Αλλάξετε διάφορες ρυθμίσεις για να βελτιώσει το παιχνίδι -παιχνίδι , μέχρι να είστε ικανοποιημένοι με το αποτέλεσμα .
Εικόνων 3
Η 4
5
Η
εικόνων
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα