በጃቫ ውስጥ ዓለት ፣ ወረቀት ፣ መቀሶች ጨዋታ እንዴት እንደሚሠሩ (ከስዕሎች ጋር)

ዝርዝር ሁኔታ:

በጃቫ ውስጥ ዓለት ፣ ወረቀት ፣ መቀሶች ጨዋታ እንዴት እንደሚሠሩ (ከስዕሎች ጋር)
በጃቫ ውስጥ ዓለት ፣ ወረቀት ፣ መቀሶች ጨዋታ እንዴት እንደሚሠሩ (ከስዕሎች ጋር)

ቪዲዮ: በጃቫ ውስጥ ዓለት ፣ ወረቀት ፣ መቀሶች ጨዋታ እንዴት እንደሚሠሩ (ከስዕሎች ጋር)

ቪዲዮ: በጃቫ ውስጥ ዓለት ፣ ወረቀት ፣ መቀሶች ጨዋታ እንዴት እንደሚሠሩ (ከስዕሎች ጋር)
ቪዲዮ: Design and Simulation of Fuel Cell with DC-DC Boost Converter in MATLAB Simulink 2024, ሚያዚያ
Anonim

ሮክ ፣ ወረቀት ፣ መቀሶች በሁለት ሰዎች የተጫወቱ የእጅ ጨዋታ ነው። ሁለቱም ሰዎች “ዓለት ፣ ወረቀት ፣ መቀስ” ይሉና ከዚያም በተዘረጋ እጅ ከሦስት ዕቃዎች (ዓለት ፣ ወረቀት ወይም መቀስ) አንዱን ይመሰርታሉ። አሸናፊው የሚወሰነው በእጆቹ ቅርጾች ነው። መቀሶች ወረቀት ይመታል ፣ ወረቀት ዓለት ይመታል ፣ እና ዓለት መቀስ ይመታል። ሁለቱም ተጫዋቾች አንድ አይነት የእጅ ምስረታ የሚጫወቱ ከሆነ እንደ አቻ ይቆጠራል። ሮቫ ፣ ወረቀት ፣ መቀሶች አንድ ተጫዋች ተጠቃሚው ሌላኛው ኮምፒዩተር የሆነውን አስመስሎ ለማስመሰል በጃቫ ቀለል ያለ ጨዋታ እንጽፋለን።

ደረጃዎች

1585279 1 1
1585279 1 1

ደረጃ 1. ዋናውን ክፍል ይፍጠሩ እና ይደውሉለት

RockPaperScissors

.

ጨዋታውን የምንጽፍበት ይህ ክፍል ይሆናል። እንደ ሌላ ለመሰየም መምረጥ ይችላሉ

ጨዋታ

ወይም

ዋና

. ለገንቢው እና ለዋናው ዘዴ በዘዴ መግለጫዎች ውስጥ ይፃፉ።

የሕዝብ ክፍል RockPaperScissors {public RockPaperScissors () {} public static void main (String args) {}}

1585279 2 1
1585279 2 1

ደረጃ 2. ለእጅ ምልክቶች (ዓለት ፣ ወረቀት ወይም መቀሶች) ቆጠራ ይፍጠሩ።

ዓለትን ፣ ወረቀትን ወይም መቀስን ለመወከል ሕብረቁምፊዎችን ልንጠቀም እንችላለን ፣ ግን አንድ ቆጠራ የእኛን ቋሚዎች ቀድሞ ለመለየት ያስችለናል ይህም ማለት የቁጥሩን መጠቀሙ የተሻለ ንድፍ ነው ማለት ነው። የእነሱን ዓይነት እንጠራዋለን

አንቀሳቅስ

ከእሴቶቹ ጋር

ሮክ

ወረቀት

እና

SCISSORS

የግል enum አንቀሳቅስ {ROCK ፣ PAPER ፣ SCISSORS}

1585279 3 1
1585279 3 1

ደረጃ 3. ሁለት የግል ክፍሎችን ይፍጠሩ

ተጠቃሚ

እና

ኮምፒተር

.

እነዚህ ክፍሎች በጨዋታው ውስጥ የእኛን ተጫዋቾች ይወክላሉ። እነዚህን ክፍሎች ይፋዊ ለማድረግ መምረጥ ይችላሉ። የ

ተጠቃሚ

ክፍል ተጠቃሚውን ለሮክ ፣ ለወረቀት ወይም ለመቀስቀስ የሚገፋፋው ክፍል ይሆናል ፣ ስለዚህ እኛ መጻፍ ያስፈልገናል

getMove ()

ዘዴ። የ

ኮምፒተር

ክፍል እንዲሁ ሊኖረው ይገባል ሀ

getMove ()

ኮምፒተርው እንዲሁ መንቀሳቀስ እንዲችል ዘዴ። በእነዚህ ዘዴዎች ውስጥ ቦታ ያዥዎችን እናስቀምጣቸዋለን እና በኋላ እንተገብራቸዋለን። የ

ተጠቃሚ

ክፍል የህንፃውን የሚያዘጋጅ ገንቢ ይጠይቃል

ስካነር

በተጠቃሚው ግብዓት ውስጥ ለመውሰድ ነገር። እናስቀምጠዋለን

ስካነር

ለተጠቃሚው እንደ የግል መስክ ከዚያም በግንባታው ውስጥ ያስጀምሩት። እኛ እየተጠቀምን ስለሆነ

ስካነር

ክፍል ፣ በእኛ ኮድ አናት ላይ ለእሱ የማስመጣት መግለጫ መጻፍ አለብን። የ

ኮምፒተር

ክፍል ገንቢ አያስፈልገውም ፣ ስለሆነም አንድ መጻፍ አያስፈልገንም። እኛ ስንጀምር

ኮምፒተር

ነገር ፣ እኛ ነባሪውን ገንቢ እንጠራዋለን። የእኛ የእኛ እዚህ አለ

RockPaperScissors

ክፍል አሁን ይመስላል -

አስመጣ java.util. Scanner; የሕዝብ ክፍል RockPaperScissors {የግል enum አንቀሳቅስ {ROCK ፣ PAPER ፣ SCISSORS} የግል ክፍል ተጠቃሚ {የግል ስካነር ግብዓት ስካነር; ይፋዊ ተጠቃሚ () {inputScanner = new Scanner (System.in); } public Move getMove () {// TODO: ይህንን ዘዴ ተመላሽ ባዶውን ይተግብሩ ፤ }} የግል ክፍል ኮምፒውተር {public Move getMove () {// TODO: ይህን ዘዴ ተመላሽ ባዶውን ይተግብሩ ፤ }} የሕዝብ RockPaperScissors () {} ይፋዊ የማይንቀሳቀስ ባዶ ባዶ (ሕብረቁምፊ args) {}}

1585279 4 1
1585279 4 1

ደረጃ 4. ይፃፉ

getMove ()

ዘዴ ለ

ኮምፒተር

ክፍል።

ይህ ዘዴ በዘፈቀደ ይመልሳል

አንቀሳቅስ

. ድርድር ማግኘት እንችላለን

አንቀሳቅስ

ቁጥሮችን በመደወል

እሴቶች ()

ዘዴ

Move.values ()

. በዘፈቀደ ለመምረጥ

አንቀሳቅስ

በዚህ የእሴቶች ድርድር ውስጥ መዘርዘር ፣ በ 0 እና በእኛ የእሴቶች ድርድር ርዝመት መካከል ኢንቲጀር የሆነ የዘፈቀደ መረጃ ጠቋሚ መፍጠር አለብን። ይህንን ለማድረግ እኛ መጠቀም እንችላለን

ቀጣይ ()

ዘዴ

የዘፈቀደ

ከውጭ ማስመጣት ያለብን ክፍል

java.util

. የዘፈቀደ መረጃ ጠቋሚውን ካገኘን በኋላ ፣ እኛ መመለስ እንችላለን

አንቀሳቅስ

የዚያ መረጃ ጠቋሚ ከእሴቶቻችን ድርድር።

public Move getMove () {አንቀሳቅስ move = Move.values (); የዘፈቀደ የዘፈቀደ = አዲስ የዘፈቀደ (); int index = random.nextInt (የሚንቀሳቀስ ርዝመት); የመመለሻ እንቅስቃሴዎች [መረጃ ጠቋሚ]; }

1585279 5 1
1585279 5 1

ደረጃ 5. ይፃፉ

getMove ()

ዘዴ ለ

ተጠቃሚ

ክፍል።

ይህ ዘዴ ይመልሳል ሀ

አንቀሳቅስ

ተጠቃሚው ግብዓት ካለው ጋር የሚዛመድ። ተጠቃሚው “ዓለት” ፣ “ወረቀት” ወይም “መቀስ” እንዲጽፍ እንጠብቃለን። በመጀመሪያ ፣ ለተጠቃሚው ግብዓት ማሳወቅ አለብን-

System.out.print (“ዓለት ፣ ወረቀት ወይም መቀስ?”)

. ከዚያ ይጠቀሙ

ቀጣይ መስመር ()

ዘዴ

ስካነር

የተጠቃሚ ግቤትን እንደ ሕብረቁምፊ ለማግኘት እቃ። አሁን ተጠቃሚው ትክክለኛ እንቅስቃሴ እንዳስገባ ማረጋገጥ አለብን ፣ ግን ተጠቃሚው አንድ ቃል የተሳሳተ ከሆነ እርሱን ልንታዘዝ እንችላለን። ስለዚህ የምንጠቀመው የተጠቃሚው የመጀመሪያ ፊደል “R” (ለሮክ) ፣ “ፒ” (ለወረቀት) ፣ ወይም “ኤስ” (ለመቀስ) ከሆነ ብቻ ነው ፣ እና ስለ ጉዳዩ ግድ የለንም ምክንያቱም መጀመሪያ እንጠቀማለን

toUpperCase ()

ዘዴ

ሕብረቁምፊ

ክፍል የግቤት ሕብረቁምፊ ሁሉንም አቢይ ለማድረግ። ተጠቃሚው በርቀት ትክክለኛ ግቤት ካልገባ ፣ ለተጠቃሚው እንደገና እንጠይቃለን። ከዚያ ተጠቃሚው ባስቀመጠው ላይ በመመስረት ተጓዳኝ እንቅስቃሴን እንመልሳለን።

public Move getMove () {// ተጠቃሚውን System.out.print (“ዓለት ፣ ወረቀት ወይም መቀስ?”) ያፋጥኑ ፤ // የተጠቃሚ ግቤትን ያግኙ ሕብረቁምፊ userInput = inputScanner.nextLine (); userInput = userInput.toUpperCase (); char firstLetter = userInput.charAt (0); ከሆነ (firstLetter == 'R' || firstLetter == 'P' || firstLetter == 'S') {// ተጠቃሚ የሚሰራ የግብዓት መቀየሪያ (firstLetter) {case 'R': case Move. ROCK ን; ጉዳይ 'P': Move. PAPER ን መመለስ; ጉዳይ 'S': Move. SCISSORS; }} // ተጠቃሚ ልክ የሆነ ግቤት አልገባም። እንደገና ይጠይቁ። ተመለስ getMove (); }

1585279 6
1585279 6

ደረጃ 6. ይፃፉ ሀ

በድጋሚ ተጫወት()

ዘዴ ለ

ተጠቃሚ

ክፍል።

ተጠቃሚው ጨዋታውን ደጋግሞ መጫወት መቻል አለበት። ተጠቃሚው እንደገና መጫወት ይፈልግ እንደሆነ ለማወቅ ፣ ሀ መፃፍ አለብን

በድጋሚ ተጫወት()

ተጠቃሚው እንደገና ለመጫወት ወስኗል ወይስ አልሆነ ለጨዋታው የሚናገር ቡሊያንን የሚመልስ ዘዴ። በዚህ ዘዴ ፣ እኛ እየተጠቀምን ነው

ስካነር

ከተጠቃሚው “አዎ” ወይም “አይ” ለማግኘት ቀደም ሲል በገንቢው ውስጥ የጀመርነው። ተጠቃሚው እንደገና መጫወት ይፈልግ እንደሆነ ለማወቅ የመጀመሪያው ፊደል ‹Y› መሆኑን ብቻ እንፈትሻለን። ማንኛውም ሌላ ግብዓት ተጠቃሚው እንደገና መጫወት አይፈልግም ማለት ነው።

የህዝብ ቡሊያን playAgain () {System.out.print («እንደገና መጫወት ይፈልጋሉ?»); ሕብረቁምፊ userInput = inputScanner.nextLine (); userInput = userInput.toUpperCase (); ተመለስ userInput.charAt (0) == 'Y'; }

1585279 7
1585279 7

ደረጃ 7. ያገናኙ

ተጠቃሚ

እና

ኮምፒተር

ክፍሎች ውስጥ አብረው

RockPaperScissors

ክፍል።

አሁን ጽሑፉን ጽፈናል

ተጠቃሚ

እና

ኮምፒተር

ክፍሎች ፣ በእውነተኛ ጨዋታችን ላይ በመስራት ላይ ማተኮር እንችላለን። ለግል መስኮች ይፍጠሩ

ተጠቃሚ

እና

ኮምፒተር

ውስጥ ያሉ ክፍሎች

RockPaperScissors

ክፍል። ወደ እኛ ለመግባት እነዚህን መስኮች መድረስ አለብን

getMove ()

ጨዋታውን በምንጫወትበት ጊዜ ዘዴዎች። በገንቢው ውስጥ ለ

RockPaperScissors

ክፍል ፣ እነዚህን መስኮች ያስጀምሩ። እንዲሁም ውጤቱን በ ውስጥ መከታተል አለብን

userScore

እና

computerScore

መስኮች ፣ በግንባታው ውስጥ እንደ 0 ማስጀመር ያለብን። እንዲሁም የጨዋታዎችን ብዛት መከታተል አለብን ፣ ይህም እንደ 0 የተጀመረ መስክ ይሆናል።

የግል ተጠቃሚ ተጠቃሚ; የግል ኮምፒተር ኮምፒተር; የግል int userScore; የግል int computerScore; የግል int numberOfGames; ይፋዊ RockPaperScissors () {ተጠቃሚ = አዲስ ተጠቃሚ (); ኮምፒውተር = አዲስ ኮምፒውተር (); userScore = 0; computerScore = 0; numberOfGames = 0; }

1585279 8
1585279 8

ደረጃ 8. ማራዘም

አንቀሳቅስ

በእያንዳንዱ ጉዳይ ላይ የትኛው እንቅስቃሴ እንደሚያሸንፍ የሚነግረንን ዘዴ ለማካተት።

መፃፍ አለብን ሀ

ማወዳደር ()

እንቅስቃሴዎቹ ተመሳሳይ ከሆኑ 0 የሚመልሰው ዘዴ ፣ 1 የአሁኑ እንቅስቃሴ ሌላውን እንቅስቃሴ ቢመታ ፣ እና -1 የአሁኑ እንቅስቃሴ ወደ ሌላኛው እንቅስቃሴ ከጠፋ። በጨዋታው ውስጥ አሸናፊውን ለመወሰን ይህ ጠቃሚ ይሆናል። ይህንን ዘዴ ለመተግበር ፣ እንቅስቃሴዎቹ ተመሳሳይ ከሆኑ እና መጀመሪያ እኛ 0 ካለን 0 እንመለሳለን። ከዚያ 1 ወይም -1 ን ለመመለስ የመቀየሪያ መግለጫ ይፃፉ።

የግል enum አንቀሳቅስ {ROCK, PAPER, SCISSORS; /** * ይህንን እንቅስቃሴ ከሌላው እንቅስቃሴ ጋር ያነፃፅራል ፣ ማሸነፍን ፣ ወይም * ኪሳራ። * * @param otherMove * ይህ እንቅስቃሴ ሌላውን እንቅስቃሴ ቢመታ ፣ * 1 ወደ ሌላኛው እንቅስቃሴ ቢሸነፍ ፣ -1 ይህ እንቅስቃሴ ወደ * ሌላኛው እንቅስቃሴ ቢሸነፍ ፣ 0 እነዚህ እንቅስቃሴዎች ከታሰሩ * / public int compaMoves (otherMove ን ይውሰዱ) { / / እሰር ከሆነ (ይህ == otherMove) 0 ይመልሱ ፤ ቀይር (ይህ) {case ROCK: return (otherMove == SCISSORS? 1: -1); የጉዳይ ወረቀት: መመለስ (otherMove == ROCK? 1: -1); ጉዳይ SCISSORS: መመለስ (otherMove == ወረቀት? 1: -1); } // እዚህ መድረስ የለበትም መመለስ 0; }}

1585279 9
1585279 9

ደረጃ 9. ፍጠር ሀ

ጀምር ጨዋታ ()

ውስጥ ዘዴ

RockPaperScissors

ክፍል።

ይህ ዘዴ የጨዋታው ጨዋታ ይሆናል። ቀላል በማስቀመጥ ይጀምሩ

System.out.println

ዘዴው ውስጥ።

የህዝብ ባዶነት ጅምር ጨዋታ () {System.out.println ("ROCK, PAPER, SCISSORS!"); }

1585279 10
1585279 10

ደረጃ 10. ከተጠቃሚው እና ከኮምፒውተሩ እንቅስቃሴዎችን ያግኙ።

በውስጡ

ጀምር ጨዋታ ()

ዘዴ ፣ ተጠቀም

getMove ()

ዘዴዎች ከ

ተጠቃሚ

ክፍል እና

ኮምፒተር

ክፍል ተጠቃሚውን እና የኮምፒተርውን እንቅስቃሴ ለማግኘት።

UserMove = user.getMove () አንቀሳቅስ; ComputerMove = computer.getMove () አንቀሳቅስ; System.out.println ("\ n ተጫውተዋል" + userMove + "."); System.out.println ("ኮምፒውተር ተጫውቷል" + computerMove + ". / N");

1585279 11
1585279 11

ደረጃ 11. ሁለቱን እንቅስቃሴዎች ያወዳድሩ እና ተጠቃሚው ያሸነፈ መሆኑን ወይም ኮምፒዩተሩ ያሸነፈ መሆኑን ይወስኑ።

ን ይጠቀሙ

ማወዳደር ()

ዘዴ ከ

አንቀሳቅስ

enum ተጠቃሚው ያሸነፈ መሆኑን ወይም እንዳልሆነ ለመወሰን። ተጠቃሚው ካሸነፈ የተጠቃሚውን ውጤት በ 1 ይጨምሩ። ተጠቃሚው ከጠፋ የኮምፒተር ውጤቱን በ 1. ጨምር። ከዚያ በአንዱ የተጫወቱትን የጨዋታዎች ብዛት ይጨምሩ።

int compaMoves = userMove.compareMoves (computerMove); ማብሪያ (ማወዳደር) ({case 0: // Tie System.out.println («Tie!»)); ሰበር; ጉዳይ 1: // ተጠቃሚ አሸነፈ System.out.println (userMove + "beats" + computerMove + ". እርስዎ አሸንፈዋል!"); userScore ++; ሰበር; መያዣ -1: // ኮምፒተር አሸነፈ System.out.println (computerMove + "beats" + userMove + ". you lost."); computerScore ++; ሰበር; } numberOfGames ++;

1585279 12
1585279 12

ደረጃ 12. ተጠቃሚው እንደገና መጫወት ይፈልግ እንደሆነ ይጠይቁ።

ተጠቃሚው እንደገና መጫወት ከፈለገ ይደውሉ

ጀምር ጨዋታ ()

እንደገና። አለበለዚያ ይደውሉ

printGameStats ()

የጨዋታውን ስታቲስቲክስ ያትማል። በሚቀጥለው ዘዴ ይህንን ዘዴ እንጽፋለን።

ከሆነ (user.playAgain ()) {System.out.println (); startGame (); } ሌላ {printGameStats (); }

1585279 13
1585279 13

ደረጃ 13. ይፃፉ

printGameStats ()

ዘዴ።

ይህ ዘዴ የጨዋታውን ስታቲስቲክስ ያሳያል -የድሎች ብዛት ፣ የኪሳራዎች ብዛት ፣ የግንኙነቶች ብዛት ፣ የተጫወቱ ጨዋታዎች ብዛት እና በተጠቃሚው ያሸነፉት የጨዋታዎች መቶኛ። ያሸነፉት ጨዋታዎች መቶኛ በ (# አሸነፈ + (# ትስስር/2))/(# የተጫወቱ ጨዋታዎች) ይሰላል። ይህ ዘዴ ይጠቀማል

System.out.printf

የተቀረጸ ጽሑፍ ለማተም።

የግል ባዶ ህትመት ጨዋታ ጨዋታ () {int wins = userScore; int ኪሳራዎች = computerScore; int ግንኙነቶች = numberOfGames - userScore - computerScore; ድርብ መቶኛ አሸነፈ = (አሸነፈ ((ድርብ) ትስስር) / 2) / numberOfGames; // የመስመር ሲስተም.out.print ("+"); printDashes (68); System.out.println ("+"); // የህትመት ርዕሶች ስርዓት። አሸነፈ "); // የመስመር ስርዓት። out.print ("|"); printDashes (10); System.out.print ("+"); printDashes (10); System.out.print ("+"); printDashes (10); System.out.print ("+"); printDashes (16); System.out.print ("+"); printDashes (18); System.out.println ("|"); // የህትመት እሴቶች ስርዓት። // የመስመር ስርዓት። out.print ("+"); printDashes (68); System.out.println ("+"); }

1585279 14
1585279 14

ደረጃ 14. ጨዋታውን በዋናው ክፍል ውስጥ ይጀምሩ።

በዋናው ክፍል ውስጥ የ ‹‹››› ን ምሳሌ ያስጀምሩ

RockPaperScissors

ክፍል እና ይደውሉ

ጀምር ጨዋታ ()

ዘዴ።

ይፋዊ የማይንቀሳቀስ ባዶ ባዶ (ሕብረቁምፊ args) {RockPaperScissors game = new RockPaperScissors (); game.startGame (); }

1585279 15
1585279 15

ደረጃ 15. ጨዋታዎን ይፈትሹ።

አሁን የሮክን ፣ የወረቀት ፣ መቀስ ጨዋታን ለመፃፍ ሁሉንም ጥረት ካሳለፍን በኋላ ሁሉንም ነገር ለማጠናቀር እና ለመሞከር ጊዜው አሁን ነው!

የናሙና ፕሮግራም

ማስመጣት java.util. Random; አስመጣ java.util. Scanner; የህዝብ ክፍል RockPaperScissors {የግል ተጠቃሚ ተጠቃሚ; የግል ኮምፒተር ኮምፒተር; የግል int userScore; የግል int computerScore; የግል int numberOfGames; የግል enum አንቀሳቅስ {ROCK, PAPER, SCISSORS; /** * ይህንን እንቅስቃሴ ከሌላ እንቅስቃሴ ጋር ያወዳድራል ፣ ማሸነፍን ፣ ወይም * ኪሳራ። * * @param otherMove * ይህ እንቅስቃሴ ሌላውን እንቅስቃሴ ቢመታ ፣ * 1 ወደ ሌላኛው እንቅስቃሴ ቢሸነፍ ፣ -1 ይህ እንቅስቃሴ ወደ * ሌላኛው እንቅስቃሴ ከተሸነፈ ፣ 0 እነዚህ እንቅስቃሴዎች ከታሰሩ * / public int compaMoves (otherMove ን ይውሰዱ) { / / እሰር ከሆነ (ይህ == otherMove) 0 ይመልሱ ፤ ቀይር (ይህ) {case ROCK: return (otherMove == SCISSORS? 1: -1); የጉዳይ ወረቀት: መመለስ (otherMove == ROCK? 1: -1); ጉዳይ SCISSORS: መመለስ (otherMove == ወረቀት? 1: -1); } // እዚህ መድረስ የለበትም መመለስ 0; }} የግል ክፍል ተጠቃሚ {የግል ስካነር ግብዓት መቃኛ; ይፋዊ ተጠቃሚ () {inputScanner = new Scanner (System.in); } public Move getMove () {// ተጠቃሚውን System.out.print (“ዓለት ፣ ወረቀት ወይም መቀስ?”) ያፋጥኑ ፤ // የተጠቃሚ ግቤትን ያግኙ ሕብረቁምፊ userInput = inputScanner.nextLine (); userInput = userInput.toUpperCase (); char firstLetter = userInput.charAt (0); ከሆነ (firstLetter == 'R' || firstLetter == 'P' || firstLetter == 'S') {// ተጠቃሚ የሚሰራ የግብዓት መቀየሪያ (firstLetter) {case 'R': case Move. ROCK ን; ጉዳይ 'P': Move. PAPER ን መመለስ; ጉዳይ 'S': Move. SCISSORS; }} // ተጠቃሚ ልክ የሆነ ግቤት አልገባም። እንደገና ይጠይቁ። ተመለስ getMove (); } ይፋዊ ቡሊያን playAgain () {System.out.print («እንደገና መጫወት ይፈልጋሉ?»); ሕብረቁምፊ userInput = inputScanner.nextLine (); userInput = userInput.toUpperCase (); ተመለስ userInput.charAt (0) == 'Y'; }} የግል ክፍል ኮምፒውተር {public Move getMove () {Move motsa = Move.values (); የዘፈቀደ የዘፈቀደ = አዲስ የዘፈቀደ (); int index = random.nextInt (የሚንቀሳቀስ ርዝመት); የመመለሻ እንቅስቃሴዎች [መረጃ ጠቋሚ]; }} ይፋዊ RockPaperScissors () {user = new User (); ኮምፒውተር = አዲስ ኮምፒውተር (); userScore = 0; computerScore = 0; numberOfGames = 0; } ይፋዊ ባዶነት startGame () {System.out.println ("ROCK, PAPER, SCISSORS!"); // እንቅስቃሴዎችን ይውሰዱ አንቀሳቅስ userMove = user.getMove (); ComputerMove = computer.getMove () አንቀሳቅስ; System.out.println ("\ n ተጫውተዋል" + userMove + "."); System.out.println ("ኮምፒውተር ተጫውቷል" + computerMove + ". / N"); // እንቅስቃሴዎችን ያወዳድሩ እና አሸናፊውን int compaMoves = userMove.compareMoves (computerMove) ይወስኑ ፤ ማብሪያ (ማወዳደር) ({case 0: // Tie System.out.println («Tie!»)); ሰበር; ጉዳይ 1: // ተጠቃሚ አሸነፈ System.out.println (userMove + "beats" + computerMove + ". እርስዎ አሸንፈዋል!"); userScore ++; ሰበር; መያዣ -1: // ኮምፒተር አሸነፈ System.out.println (computerMove + "beats" + userMove + ". you lost."); computerScore ++; ሰበር; } numberOfGames ++; // ተጠቃሚው (user.playAgain ()) {System.out.println () ከሆነ እንደገና እንዲጫወት ይጠይቁ። startGame (); } ሌላ {printGameStats (); }} /*** የጨዋታውን ስታቲስቲክስ ያትማል። በ * መቶኛ በተሸነፈው 1/2 እንደ ማሸነፍ ግንኙነቶችን ያሰላል። */ የግል ባዶነት printGameStats () {int wins = userScore; int ኪሳራዎች = computerScore; int ግንኙነቶች = numberOfGames - userScore - computerScore; ድርብ መቶኛ አሸነፈ = (አሸነፈ ((ድርብ) ትስስር) / 2) / numberOfGames; // የመስመር ሲስተም.out.print ("+"); printDashes (68); System.out.println ("+"); // የህትመት ርዕሶች ስርዓት። አሸነፈ "); // የመስመር ስርዓት። out.print ("|"); printDashes (10); System.out.print ("+"); printDashes (10); System.out.print ("+"); printDashes (10); System.out.print ("+"); printDashes (16); System.out.print ("+"); printDashes (18); System.out.println ("|"); // የህትመት እሴቶች ስርዓት። // የመስመር ስርዓት። out.print ("+"); printDashes (68); System.out.println ("+"); } የግል ባዶነት printDashes (int numberOfDashes) {ለ (int i = 0; i <numberOfDashes; i ++) {System.out.print ("-"); }} የሕዝብ የማይንቀሳቀስ ባዶ ባዶ (ሕብረቁምፊ args) {RockPaperScissors game = new RockPaperScissors (); game.startGame (); }}

የሚመከር: