结对编程:黄金点游戏

一.游戏内容

黄金点游戏是一个数字小游戏,其游戏规则是:

N个同学(N通常大于10),每人写一个0~100之间的有理数 (不包括0或100),交给裁判,裁判算出所有数字的平均值,然后乘以0.618(所谓黄金分割常数),得到G值。提交的数字最靠近G(取绝对值)的同学得到N分,离G最远的同学得到-2分,其他同学得0分。玩了几天以后,大家发现了一些很有意思的现象,比如黄金点在逐渐地往下移动。

二.程序实现功能

每次输入N个数字,计算出平均值和G点,输入数字最靠近G的同学得N分,离G最远的同学得到-2分,其他同学得0分。将每轮G点与每个同学对应的各自成绩打印出来。游戏结束后将每人成绩总和输出,可以看出第几名同学胜利。

三.程序模块

1.输入

输入分为两部分:玩家人数与局数、每位玩家的数据输入。用双重循环i、j分别控制玩家输入与游戏局数,并将玩家的输入数据按序存放在数组里。代码如下:

printf("游戏人数为:");            与                 for (i = 0; i<n; i++)
        scanf("%f", &s[i]);                             scanf("%f", &s[i]);//输入数据
    scanf("%d",&n);
    printf("游戏轮数为:");
 scanf("%d",&m);

2.计算G点

首先将所有玩家数据总数求出来,求出平均值,再将平均值乘0.618后得到G点。我们使用一个函数——count(float a[],int size)求所有玩家数据总数,将总数返回后在主函数求平均值与G点,并将G点打印出来。函数如下:

float count(float a[],int size)
 {
 int i;
 float sum=0.0;
 for (i = 0; i<size; i++)
 {
  sum = sum + a[i];
 }
 return sum;
}//求和函数

A = sum / n;
  printf("黄金点G=%f\n",0.618*A);//计算G点

3.比较赋值

游戏要求玩家输入的数要与黄金点比较,所以我们将玩家输入的数依次与求得的黄金点相减,并将结果放入数组中,然后对数组中的数进行比较求最大最小值,在另一个数组里对求得的最大值所对应下标赋-2,最小值所对应下标赋N,其他值赋0。这样玩家每轮得分就会记录下来。代码如下:

min = b[0];
     max = b[0];
     for (i = 0; i<n; i++)
  {
      if (b[i]<min)
   min = b[i];
  }
     for (i=0; i<n; i++)
  {
  if (b[i] == min)
   c[i] = n;
  else
   c[i] = 0;
  }
     for (i = 0; i<n; i++)
  {
  if (b[i]>max)
   max = b[i];
  }
     for (i = 0; i<n; i++)
  {
  if (b[i] == max)
   c[i] = -2;
  }
  //将每人得分放入数组c中
     for(i=0;i<n;i++)
  {
  mun[i]=mun[i]+c[i];
  }
  //将每个人的成绩累加
  printf("********************\n*得分为:          *\n");
     for (i = 0; i<n; i++)
  printf("*        %2d        *\n", c[i]);
  printf("********************\n");
  //输出每轮成绩

4.输出结果

printf("********************\n*得分为:          *\n");
     for (i = 0; i<n; i++)
  printf("*        %2d        *\n", c[i]);
  printf("********************\n");
  //输出每轮成绩
 }
 printf("********************\n*总得分为:        *\n");
 for(i=0;i<n;i++)
    printf("*        %2d        *\n",mun[i]);
 printf("********************\n");
 }

四.运行结果

时间: 2024-12-06 15:07:25

结对编程:黄金点游戏的相关文章

结对编程——黄金点游戏之旅【二】

一.黄金点游戏是一个数字小游戏,其游戏规则是: N个同学(N通常大于10),每人写一个0-100之间的有理数(不包括0或100),交给裁判,裁判算出所有数字的平均值,然后乘以0.618(黄金分割常数),得到G值.提交的数字最靠近G(取绝对值)的同学得到N分,离G最远的同学得到-2分,其他同学得0分. 二.后续功能的实现功能 经过三天的努力,我们终于完成了开始游戏.取消准备.查看历史纪录.添加测试以及退出登录功能. 1.开始游戏(准备游戏)功能介绍:玩家登陆成功后直接进入游戏界面,下方的准备窗口会

结对编程-黄金点游戏之旅[四]

(游戏已上线,更多信息请戳底部链接▼) <--戳这个链接也会跳的哦, 了解游戏规则戳这里-->游戏规则 我的队友: 张波(进入博客请戳底部链接) 性格开朗,人很随和,不想写代码的时候都是他主动拉着我去写的,工作认真负责,有分歧的地方或者逻辑不顺的地方我们都会仔细讨论 主要负责写后台的业务逻辑,登陆.注册.开始游戏等小功能的后台代码 遵照代码规范.每次他写完后我都会做Code Review,虽然没有自动化测试,没有性能分析,但是我会单步调试,分析每一行代码的逻辑和作用 我: 李洋洋 主要负责前端

结对编程-黄金点游戏

一.项目描述:黄金点游戏 黄金点游戏是一个数字小游戏,其游戏规则是: N个同学(N通常大于10),每人写一个0-100之间的有理数 (不包括0或100),交给裁判,裁判算出所有数字的平均值,然后乘以0.618(所谓黄金分割常数),得到G值.提交的数字最靠近G(取绝对值)的同学得到N分,离G最远的同学得到-2分,其他同学得0分.玩了几天以后,大家发现了一些很有意思的现象,比如黄金点在逐渐地往下移动. 现在请大家根据这个游戏规则,编一个可以多人一起玩的小游戏程序,要求如下: 1.本作业属于结对编程项

结对编程—黄金点游戏WinForm单机版

本小游戏场景来自邹欣老师的<移山之道>一书: "阿超的课都是下午两点钟,这时班上不少的同学都昏昏欲睡,为了让大家兴奋起来,阿超让同学玩一个叫"黄金点"的游戏:N个同学(N通常大于10),每人写一个0~100之间的有理数 (不包括0或100),交给裁判,裁判算出所有数字的平均值,然后乘以0.618(所谓黄金分割常数),得到G值.提交的数字最靠近G(取绝对值)的同学得到N分,离G最远的同学得到-2分,其他同学得0分.玩了几天以后,大家发现了一些很有意思的现象,比如黄金

结对编程——黄金点游戏

结对编程项目-黄金点游戏 一.项目描述:黄金点游戏是一个数字小游戏,其游戏规则是: N个同学(N通常大于10),每人写一个0-100之间的有理数 (不包括0或100),交给裁判,裁判算出所有数字的平均值,然后乘以0.618(所谓黄金分割常数),得到G值.提交的数字最靠近G(取绝对值)的同学得到N分,离G最远的同学得到-2分,其他同学得0分.玩了几天以后,大家发现了一些很有意思的现象,比如黄金点在逐渐地往下移动. 现在请大家根据这个游戏规则,编一个可以多人一起玩的小游戏程序,要求如下: 1.本作业

结对编程黄金点游戏

此次结对编程我是与同班的王鑫同学一组,题目是设计一个黄金点游戏,本来看老师建议界面和服务器的设计,想用java来写,但是我俩对于java不太熟悉,忙活了两天没有结果,干脆用我二人共同会的语言C语言来实现,所以我二人决定通过C语言来实现这个游戏. 题目要求设计的游戏的规则为:有N个同学(N通常大于10),每人写一个0~100之间的有理数 (不包括0或100),交给裁判,裁判算出所有数字的平均值,然后乘以0.618(所谓黄金分割常数),得到G值.提交的数字最靠近G(取绝对值)的同学得到N分,离G最远

结对编程————黄金点游戏

一.项目描述:黄金点游戏 黄金点游戏是一个数字小游戏,其游戏规则是: N个同学(N通常大于10),每人写一个0-100之间的有理数 (不包括0或100),交给裁判,裁判算出所有数字的平均值,然后乘以0.618(所谓黄金分割常数),得到G值.提交的数字最靠近G(取绝对值)的同学得到N分,离G最远的同学得到-2分,其他同学得0分.玩了几天以后,大家发现了一些很有意思的现象,比如黄金点在逐渐地往下移动. 现在请大家根据这个游戏规则,编一个可以多人一起玩的小游戏程序,要求如下: 1.本作业属于结对编程项

结对编程-黄金点游戏之旅[一]

黄金点游戏 游戏描述:黄金点游戏是一个数字小游戏,其游戏规则是N个同学(N通常大于10),每人写一个0-100之间的有理数 (不包括0或100),交给裁判,裁判算出所有数字的平均值,然后乘以0.618(所谓黄金分割常数),得到G值.提交的数字最靠近G(取绝对值)的同学得到N分,离G最远的同学得到-2分,其他同学得0分.玩了几天以后,大家发现了一些很有意思的现象,比如黄金点在逐渐地往下移动. 游戏机制设计:采用B/S模式,由客户端发起请求参加游戏,服务端接收请求处理,当满足游戏结算条件的时候向客户

结对编程-黄金点游戏之旅[二]

项目结构: 前端页面结构及样式和动画设计 登陆(10.14完成) 注册(10.14完成) 主游戏页(10.15完成) ajax回调函数处理以及页面渲染 请求当前房间游戏用户列表返回json数据处理(未完成) 请求当前用户游戏历史纪录结果json数据处理(未完成) 前端ajax交互方法 注册(10.14完成) 登陆(10.15完成) 添加当前用户到游戏列表(10.15完成) 从游戏列表删除当前用户(10.15完成) 前端js事件处理方法 退出登陆返回登陆页(10.15完成) 后台控制器层交互方法

结对编程——黄金点小游戏的设计与实现

个人感想 最近总是很纠结,关于如何平衡考研时间和学校课程时间,还有关于考研资料的选择.就是在这样一种状态下,我迎来了结对编程项目,两个人共同编程完成一个小游戏,说实话,刚开始时我对这个项目不怎么感兴趣,我总觉得应该把时间都放在考研上.还有一个原因就是,我觉得自己什么都不会,肯定会拖累队友,但是经过我们多次沟通后,我发现这个小游戏没有我想象中的那么难,而且我逐渐有点兴趣了,再加上和队友的多次沟通,我觉得结对编程是一件很有意思的事,两个人提出不同的想法然后讨论,再接着看着自己的想法都能慢慢的实现出来