结对编程之黄金点游戏
一:实现功能
由10位玩家参与游戏,每位玩家输入一个介于o~1000之间的整数,对所有玩家输入的数做如下处理:先求和再平均,将平均数乘以黄金分割数0.618得出黄金值,用黄金值分别减去每位玩家输入的数得出差,并对差进行取绝对值操作得出最后差,差最小的玩家加一分,差最大的玩家减一分,其余玩家分值不变。游戏可进行多轮,分数叠加。若选择重新开始则计分也重新开始。
二:结对编程
此次作业与以往不同,因为此次作业要求的是两人结对,合作编程。重点在于学习如何与别人进行合作,目的在于通过此次实验了解到团队开发时成员之间是如何进行分工与合作的。我的团队组成是:
梅 庆:http://www.cnblogs.com/meiqing/(博客园地址) https://github.com/meinumber1(GitHub地址)
唐正奎:http://www.cnblogs.com/tzk971118/
二:代码实现
10位玩家分别输入自己的数字:
scan=new Scanner(System.in);
int num0=scan .nextInt();
int num1=scan .nextInt();
int num2=scan .nextInt();
int num3=scan .nextInt();
int num4=scan .nextInt();
int num5=scan .nextInt();
int num6=scan .nextInt();
int num7=scan .nextInt();
int num8=scan .nextInt();
int num9=scan .nextInt();
求出黄金值:
float goldenPoint=(float) ((float)(num0+num1+num2+num3+num4+num5+num6+num7+num8+num9)/10*0.618);
求出每位玩家所报数字与黄金值的差的绝对值:
System.out.println("报数 与黄金值的差");
float num0_0=goldenPoint -num0;
float num0_1=goldenPoint -num1;
float num0_2=goldenPoint -num2;
float num0_3=goldenPoint -num3;
float num0_4=goldenPoint -num4;
float num0_5=goldenPoint -num5;
float num0_6=goldenPoint -num6;
float num0_7=goldenPoint -num7;
float num0_8=goldenPoint -num8;
float num0_9=goldenPoint -num9;
num0_0=Math.abs(num0_0);
num0_1=Math.abs(num0_1);
num0_2=Math.abs(num0_2);
num0_3=Math.abs(num0_3);
num0_4=Math.abs(num0_4);
num0_5=Math.abs(num0_5);
num0_6=Math.abs(num0_6);
num0_7=Math.abs(num0_7);
num0_8=Math.abs(num0_8);
num0_9=Math.abs(num0_9);
将求出的差放入一个数组,求出数组最大最小值并给出其下标,最小值对应的玩家加一分,最大值对应的玩家减一分,对其余玩家不进行操作:
float a[]={num0_0,num0_1,num0_2,num0_3,num0_4,num0_5,num0_6,num0_7,num0_8,num0_9};
float max=a[0];
float min=a[0];
int x = 0,y=0;
for (int i = 0; i < a.length; i++)
{
if (max<a[i])
{
max=a[i];
x=i;
}
}
System.out.println("max="+max+" "+"第"+(x+1)+"位玩家减一分");
for (int i = 0; i < a.length; i++)
{
if (min>a[i])
{
min=a[i];
y=i;
}
}
System.out.println("min="+min+" "+"第"+(y+1)+"位玩家加一分"+"
"+"其余玩家分值不变!");
四:总结
通过本次实验,我们认识到,现代软件行业早已不是个人英雄主义的时代,而是合作的时代。因为,社会早已高度分工,知识早已高度分化,任何一个行业,即使是一个行业的细分领域,都是极其浩瀚,一眼望不到边际的海洋,其浩如烟海的资料是任何一个人穷其一生都无法看完的,因此,唯有每个个体认识到自己作为社会大机器的一颗螺丝钉,与他人进行精确合作才是制胜之道。特别是我们软件行业,早已是工程化的工作方式,这就对我们的合作提出了更高的要求。因此,学会合作,学会进步!