实训一 黄金点

一.

https://gitee.com/yyh1234/golden_number_/blob/master/GoldPoint.java

二.

16012002李国兴

16012013于易弘

三.

四.

解题思路:

1.把包的名命名GoldPoint,再用import导包java.util.Scanner

2.用while(true)和switch...case...做一个循环使用的菜单

 

 1 while (true) {
 2             System.err.println("1、开始游戏\n2、查看当前游戏结果\n3、游戏设置\n4、退出");
 3             Scanner scanner=new Scanner(System.in);
 4             int choice=scanner.nextInt();
 5             switch (choice) {
 6             case 1:
 7                 welcome();
 8                 break;
 9             case 2:
10                 showMessage();
11                 break;
12             case 3:
13                 gameSetting();
14                 break;
15             case 4:
16                 System.out.println("欢迎下次使用!程序即将退出!");
17                 Thread.currentThread().sleep(2000);
18                 System.exit(0);
19                 break;
20             default:
21                 break;
22             }
23         }

3.为了实现case1进行编程

   1)设置玩家人数,赋值调用creatplayer方法以创建玩家

1  private static void welcome() {
2         System.out.println("游戏默认初试玩家的分数为100");
3         System.out.print("请输入游戏人数: ");
4         Scanner scanner = new Scanner(System.in);
5         n = scanner.nextInt();
6         creatPlayer(n);
7 }

 2)初始化玩家信息

 1   private static void creatPlayer(int n) {
 2         persons = new Person[n];
 3         for (int i = 0; i < persons.length; i++) {
 4             persons[i] = new Person();
 5         }
 6         for (int i = 0; i < n; i++) {
 7             Scanner scanner = new Scanner(System.in);
 8             int temp = 0;
 9             temp = i + 1;
10             System.out.print("请输入第" + temp + "个玩家的姓名:");
11             persons[i].setName(scanner.next());
12             persons[i].setScore(SCORE_START);
13         }
14         System.out.println("****输入完成****");
15         try {
16             playGame();
17         } catch (InterruptedException e) {
18             e.printStackTrace();
19         }
20     }

 3)控制游戏运行

 1 private static void playGame() throws InterruptedException {
 2         System.out.println("****游戏开始****");
 3         for (int i = 0; i < persons.length; i++) {
 4             Scanner scanner = new Scanner(System.in);
 5             System.out.print("请" + persons[i].getName() + "输入数值(大于0小于100的有理数):");
 6             persons[i].setNum(scanner.nextInt());
 7         }
 8         int numG = getG();
 9         int recordMax = 0;
10         int max = Math.abs(persons[0].getNum() - numG);
11         for (int i = 0; i < persons.length; i++) {
12             if (max < (Math.abs(persons[i].getNum() - numG))) {
13                 max = Math.abs(persons[i].getNum() - numG);
14                 recordMax = i;
15             }
16         }
17         int min = Math.abs(persons[0].getNum() - numG);
18         int recordMin = 0;
19         for (int i = 0; i < persons.length; i++) {
20             if (min > Math.abs(persons[i].getNum() - numG)) {
21                 min = Math.abs(persons[i].getNum() - numG);
22                 recordMin = i;
23             }
24         }
25         System.out.println("******************************");
26         System.out.println("相信信息如下:");
27         persons[recordMin].setScore(persons[recordMin].getScore()+n);
28         persons[recordMax].setScore(persons[recordMax].getScore()-2);
29         showMessage();
30         System.out.println("G值为:" + numG);
31         System.out.println("大吉大利,今晚吃鸡!" + persons[recordMin].getName());
32         System.out.println("玩家:" + persons[recordMax].getName() + "输了");
33         System.out.println("******************************");
34     }
35     private static int getG() {
36         int sum = 0;
37         for (int i = 0; i < persons.length; i++) {
38             sum += persons[i].getNum();
39         }
40         return (int) ((sum / persons.length) * 0.618);
41     }

  case2用来查看历史游戏结果

  case3更改游戏设置

  case4退出

4.在初始化玩家信息时,创建一个Person类,方便调用玩家信息

 

 1 class Person {
 2     private String name;
 3     private int num;
 4     private int score;
 5      public Person() {
 6          super();
 7     }
 8     public Person(String tname,int tnum,int tscore) {
 9         super();
10         name=tname;
11         num=tnum;
12         score=tscore;
13     }
14     public String getName() {
15         return name;
16     }
17     public void setName(String name) {
18         this.name = name;
19     }
20     public int getNum() {
21         return num;
22     }
23     public void setNum(int num) {
24         this.num = num;
25     }
26     public int getScore() {
27         return score;
28     }
29     public void setScore(int score) {
30         this.score = score;
31     }
32 }

 

 

 

  

 

五.感受

    通过这次实训,我知道了合作的重要性,一个人的力量终究是有限的,精力也是有限的,多了一个人的帮助,自己就可以轻松很多,可以帮助自己分担很多的压力,还可以交流很多意见和建议,不断地去完善,还可以互相查缺补漏,

出现问题也不在焦虑,因为我不是一个人孤军奋战,再心理状态也更有优势,最终实现1+1>2。

 

六.汉堡包方式评价合作伙伴

合作伙伴:李国兴

优点一:基础比较扎实,认真负责这次合作实训

优点二:完成代码之前,一起讨论思路,怎么做,用什么样的方式去做,先搭个框架,再完善里面的内容,出现错误马上整改,不放弃,不完美的地方去进行优化,在做的过程中提出各种可能性并一一验证,并且能将我的想法和他的想法进行融合

优点三:动手操作能力很强,由于我基础不牢,所以我空有好的想法,自己动手操作错误很多,这个时候就需要他利用他深厚的基础进行排错,如果他也暂时无法解决,他会查找资料,直到解决为止

缺点:稍微缺乏主见,如果有自己的想法配合他强大的动手操作能力会更强。

 

posted @ 2018-12-11 13:52  CH厉风  阅读(251)  评论(5编辑  收藏  举报