好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

使用java实现猜拳小游戏

本文实例为大家分享了java实现猜拳小游戏的具体代码,供大家参考,具体内容如下

实现下图要求

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

public class User {

 

  private String u_name;

 

  private int u_score;

 

  public User() {

   super ();

  }

 

  public User(String name, int score) {

   super ();

   this .u_name = name;

   this .u_score = score;

  }

 

  public String getName() {

   return u_name;

  }

 

  public void setName(String name) {

   this .u_name = name;

  }

 

  public int getScore() {

   return u_score;

  }

 

  public void setScore( int score) {

   this .u_score = score;

  }

  /**

   * 出拳方法

   * @param choice 选择的数字代表出拳(1:石头2:剪刀3:布)

   * @return str 返回你所选择的出拳

   */

  public String chuQuan( int choice){

   String str = "" ;

   switch (choice) {

   case 1 :

    str = "石头" ;

    break ;

   case 2 :

    str = "剪刀" ;

    break ;

   case 3 :

    str = "布" ;

    break ;

   default :

    System.out.println( "未知错误" );

    break ;

   }

   return str;

  }

 

}

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

public class Computer {

 

  private String c_name;

 

  private int c_score;

 

  public String getName() {

   return c_name;

  }

 

  public void setName(String name) {

   this .c_name = name;

  }

 

  public int getScore() {

   return c_score;

  }

 

  public void setScore( int score) {

   this .c_score = score;

  }

      /**

   * 出拳方法

   * @param choice 选择的数字代表出拳(1:石头2:剪刀3:布)

   * @return str 返回你所选择的出拳

   */

  public String chuQuan( int choice){

   String str = "" ;

   switch (choice) {

   case 1 :

    str = "石头" ;

    break ;

   case 2 :

    str = "剪刀" ;

    break ;

   case 3 :

    str = "布" ;

    break ;

   default :

    System.out.println( "未知错误" );

    break ;

   }

   return str;

  }

}

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

import java.util.Scanner;

 

public class Game {

 

  Scanner input = new Scanner(System.in);

 

  private User user;

 

  private Computer computer;

 

  private int count;

 

  private int c_score;

 

  private int u_score;

 

  //初始化方法

  public void init(){

   user = new User();

   computer = new Computer();

   System.out.println( "-----------------欢迎进入游戏世界------------------" );

   System.out.println( "\t   **************************" );

   System.out.println( "\t\t**  猜拳,开始    **" );

   System.out.println( "\t   **************************" );

   System.out.println();

   System.out.println( "出拳规则:1.石头  2.剪刀  3.布" );

   System.out.print( "请选择对方角色:(1:曹操  2:孙权  3:刘备):" );

   int key = input.nextInt();

   switch (key) {

   case 1 :

    computer.setName( "曹操" );

    break ;

   case 2 :

    computer.setName( "孙权" );

    break ;

   case 3 :

    computer.setName( "刘备" );

    break ;

   default :

    System.out.println( "非法输入..." );

    break ;

   }

   System.out.print( "请输入你的姓名:" );

   user.setName(input.next());

   System.out.println(user.getName()+ "  VS  " +computer.getName());

   begin();

  }

 

  //是否开始执行  循环执行直到输入n结束

  public void begin(){

   System.out.print( "要开始吗(y/n):" );

//  boolean falg = true;

   String str = input.next();

   if (str.equals( "y" )){

    while ( true ){

     score();

     System.out.print( "是否开始下一轮:(y/n)" );

     String str1 = input.next();

     count++;

     if (str1.equals( "y" )){

     

     } else {

//     falg = false;

      break ;

     }

    }

   }

   show();

  }

 

  //人和机器出拳并判断胜负 此处计算比赛次数 双方得分

  public void score(){

   System.out.print( "请出拳:" );

   int choice1 = input.nextInt();

   String str1 = user.chuQuan(choice1);

   int choice2 = ( int )(Math.random()* 3 + 1 );

   String str2 = computer.chuQuan(choice2);

   System.out.println( "你出拳" +str1);

   System.out.println(computer.getName()+ "出拳" +str2);

   if (choice1 == choice2){

    System.out.println( "结果:平局" );

   

   } else if (choice2-choice1==- 1 ||choice2-choice1== 2 ){

    System.out.println( "结果:" +computer.getName()+ "获胜..." );

    c_score++;

    computer.setScore(c_score);

  

   } else if (choice1-choice2==- 1 ||choice1-choice2== 2 ){

    System.out.println( "结果:恭喜你,你获胜..." );

    u_score++;

    user.setScore(u_score);

 

   }

  }

 

  //显示比赛结果并比较得得出最后胜负

  public void show(){

   System.out.println( "--------------------------------" );

   System.out.println(user.getName()+ "  VS  " +computer.getName());

   System.out.println( "对战次数:" +count+ "\n\n" );

   System.out.println( "姓名\t得分" );

   System.out.println(user.getName()+ "\t" +user.getScore());

   System.out.println(computer.getName()+ "\t" +computer.getScore()+ "\n" );

   if (user.getScore()>computer.getScore()){

    System.out.println( "结果:恭喜恭喜" );

   } else if (user.getScore()<computer.getScore()){

    System.out.println( "结果:再接再厉" );

   } else {

    System.out.println( "结果:平局" );

   }

   System.out.println( "--------------------------------" );

  }

 

}

测试类

?

1

2

3

4

5

6

7

8

9

public class Test {

 

  public static void main(String[] args) {

   // TODO Auto-generated method stub

   Game game = new Game();

   game.init();

  }

 

}

这样猜拳小游戏就实现了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

原文链接:https://blog.csdn.net/YL5335/article/details/119143642

查看更多关于使用java实现猜拳小游戏的详细内容...

  阅读:23次