一、题目

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

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

现在请大家根据这个游戏规则,编一个可以多人一起玩的小游戏程序,要求如下:

1、本作业属于结对编程项目,必须由二人共同完成,并分别将本次作业过程发到博客,同时将本次作业源代码提交到codeing系统;

2、如果可能的话尽量以C/S或B/S方式实现,即利用服务器接收和处理所有玩家提交的数字,并将结果反馈给各玩家,玩家可以通过客户端提交的数字;

3、如果采用单机方式实现的话,需要为用户提供便利的输入界面;

4、该游戏每次至少可以运行10轮以上,并能够保留各轮比赛结果。

百度百科中是这样解释的,黄金分割点是指把一条线段分割为两部分,使其中一部分与全长之比等于另一部分与这部分之比。其比值是一个无理数,用分数表示为(√5-1)/2,取其前

三位数字的近似值是0.618。由于按此比例设计的造型十分美丽,因此称为黄金分割,也称为中外比。这个分割点就叫做黄金分割点(golden section ratio通常用Φ表示)这是一个

十分有趣的数字,我们以0.618来近似表示,通过简单的计算就可以发现:(1-0.618)/0.618≈0.618一条线段上有两个黄金分割点。

二、代码实现

我的队友告诉我用javascript编写,做一个单机的网页格式,我只了解一点点网页编程,还好有队友,还有一个可以自学的网站w3c,上面有很多教程,队友告诉我这个比java简单一点,我的队友是蒲建国,他是一个编程能力很强的人,而且他很有耐心,他教会了我很多,(ps:而且我们学院的网站还有他的功劳呢),我以前一直以为编程必须要有一个编程软件,他告诉我编写网页的不需要,建造一个日记本文档,然后用浏览器打开,附图一张:

下面是代码实现:

1、

调用javascript语言,学习这个的时候感觉好神奇,接下来就可以写javascript语言了!

2、

var i=1; //第几轮

var j=1; //第几个人

var data= [];

输入进行几轮和几个人进行此游戏,并记录每个人输入的数据,javascript中定义变量比c语言简单,var是定义,当需要定义变量时,写var即可,不需要定义变量的类型,是不是很方便呢,反正我觉得是。

3、

({

var array = [];

for(var a=1;a<=lun;a++){

array[a] = [];

for(var b=1;b<=num;b++){

array[a][b] = Math.floor(Math.random()*100);

}

}

result(array,num,lun);

})

该游戏有一模拟功能,输入人数和几轮,可以点击模拟游戏,将随机产生数据,这个和c语言中差不多,调用rand函数,产生随机数。

4、

$('#submit').click(function()

{

var val = $('input[name=val]').val();

if(val<1 || val>99){

alert('请输入0~100之间的有理数,不包括0或100');

return false;

}

//alert(i);alert(j);

//alert(val);

//alert(data[i][j])

data[i][j] = val;

//alert(data[i][j]);

//alert('提交成功');

//进入下一轮游戏

$('input[name=val]').val('');

j++;

if(j>num){

alert('本轮游戏结束,进入下一轮游戏!');

j=1;

i++;

if(i>lun){

alert('本次游戏结束!');

//游戏结束

$('#createDiv').css('display','block');

$('#input').css('display','none');

i = 1;

j = 1;

result(data,num,lun);

}

$('#now').find('.lun').html(i);

}

当确定人数和轮次后,输入每一个玩家的数字,轮次结束后,数据记录完毕。

5、

var max = Math.abs(data[a][1] - G);

var min = Math.abs(data[a][1] - G);

var max_index = 1;

var min_index = 1;

黄金分割点的游戏需要将每一轮的数据求取平均数,求取平均值后,找出每一相差最大和最小的,分别记作2分和-2分,其他为0

6、

for(var b=1;b<=num;b++){

var sum = 0;

for(var a=1;a<=lun;a++){

sum += parseInt(score_arr[a][b]);

}

res[b] = sum;

}

记分循环结束后,统计每个玩家的最终得分,将玩家的得分统计到数组中,通过比较,得出赢家。

7、游戏网页:http://2.raul272.applinzi.com/software/game.html

8、游戏界面

输入玩家人数和轮次,点击虚拟游戏,将随机产生数据,并且判断赢家

神奇吧,得到了玩家2是赢家。

下面是真正游戏的时候,想图片一样,当输入一个玩家的数据后,将自动跳到下一个玩家,记者输入即可。

8、这次结对编程真的学到了很多,队友很有耐心而且编程能力很好。

html是超文本标记语言,标准通用标记语言下的一个应用。

超文本标记语言的结构包括“头”部分(英语:Head)、和“主体”部分(英语:Body),其中“头”部提供关于网页的信息,“主体”部分提供网页的具体内容,

下面是我们结对编程照片

结队成员:蒲建国、孙乐

java黄金分割点游戏_结对编程--黄金分割点游戏相关推荐

  1. java黄金分割点游戏_结对编程1——黄金点小游戏项目简介及需求分析

    一.项目成员 2018141461085 龚泽楠 2018141461012 蔡铧荣 二.项目名称 黄金点小游戏 三.项目简介 游戏规则: N个同学( N通常大于 10 ),每人写一个 0~100 之 ...

  2. 20172311『Java程序设计』课程 结对编程练习_四则运算第一周阶段总结

    20172311『Java程序设计』课程 结对编程练习_四则运算第一周阶段总结 结对伙伴 学号 :20172307 姓名 :黄宇瑭 伙伴第一周博客地址: http://www.cnblogs.com/ ...

  3. java安装 1723_2017-2018-2 1723 『Java程序设计』课程 结对编程练习-四则运算-准备阶段...

    2017-2018-2 1723 『Java程序设计』课程 结对编程练习-四则运算-准备阶段 在一个人孤身奋斗了将近半个学期以后,终于迎来的我们的第一次团队协作共同编码,也就是,我们的第一个结对编程练 ...

  4. 结对编程----五子棋游戏

    需求分析: 五子棋定义: <五子棋>是一款简单的五子棋小游戏,界面十分干净,而且具有多人作战以及战果记录等功能.五子棋的玩法把自己的棋子在横.竖.斜任意一个方向上连续排满5个就算赢. 五子 ...

  5. python 儿童 游戏_儿童编程教学 – 推荐几款Python编程类游戏

    自学过编程的小伙伴都知道,在学习的过程中,不仅仅要记下很多的知识点,而且那些知识点,都是非常的干,很干,很干,没有一点乐趣的感觉-.. 所以在很多人学习 在玩游戏的过程中就能学习到编程的网站! 支持多 ...

  6. 20175208『Java程序设计』课程 结对编程练习_四则运算

    20175208 结对编程练习_四则运算(第一周) 结对成员:20175208张家华,20175202葛旭阳 一.需求分析: 实现一个命令行程序,要求: (1)自动生成指定数量的小学四则运算题目(加. ...

  7. java编程实现素数环_结对编程(JAVA实现)

    项目成员:黄思扬(3117004657).刘嘉媚(3217004685) 二.PSP表格 PSPPersonal Software Process Stages预估耗时(分钟)实际耗时(分钟) Pla ...

  8. python 儿童 游戏_少儿编程分享:手把手教你用Python编写战斗机游戏(完)

    原标题:少儿编程分享:手把手教你用Python编写战斗机游戏(完) 加入图像 现在我们已经能够玩游戏了,但这个游戏丑确实有点丑 .接下来,我们要把单调的白色矩形换成好看的图片. 在前面的代码中,我们用 ...

  9. 面向对象编程java小游戏_JavaScript面向对象编程小游戏---贪吃蛇代码实例

    1 面向对象编程思想在程序项目中有着非常明显的优势: 1- 1 代码可读性高.由于继承的存在,即使改变需求,那么维护也只是在局部模块 1-2 维护非常方便并且成本较低. ​2 这个demo是采用了面向 ...

  10. java怎么制作放置游戏_从零开始实现放置游戏(前言)

    笔者从小学就开始打电脑游戏,大学读的是软件工程,毕业后工作内容涉及电商.金融.运维等领域,却一直未曾开发过游戏.作为一名游戏爱好者,始终是心中的一个遗憾. 然而,随着时代的变迁,出现了越来越多好用的工 ...

最新文章

  1. Struts07---访问servlet的API
  2. 微型计算机总线不包括,微型计算机总线不包括( )。
  3. oracle中的的instr,Oracle中instr函数使用方法
  4. orm查询部分字段_ORM问题第2部分–查询
  5. select * from where 三个条件_VBA学习笔记70: Select语句基础
  6. Windows在安装builtwith时遇到问题
  7. 停止运行_部门动态丨供水运行不能中断,保障维修从未停止
  8. 渲染系列教程(十八)实时全局光照
  9. 设置VS201X release模式下可单步调试
  10. ZEMAX Samples Sequential
  11. Qt编译QtXlsx库
  12. 光纤的模式-单模和多模
  13. PDF拆分技巧——如何在线拆分PDF
  14. 全国青少年编程等级考试scratch三级真题2021年9月(含题库答题软件账号)
  15. vsc 好用的插件
  16. 大学计算机课代表竞选稿,音乐课代表竞选稿
  17. 【Python学习】matplotlib学习总结——条形图
  18. Harmonic Number LightOJ - 1234(暴力分段打表 / 欧拉爷爷的O(1))
  19. KWD-035-SNS-C2-H-1 R162232320标准钢质滚珠滑块
  20. Calibre xRC在 RF PDK的使用

热门文章

  1. 电子元件知识汇总2-封装
  2. FireWorks-程序员的做图工具
  3. python的指令大全_python列表命令
  4. 字节跳动不需要总部大楼
  5. 登录失败,用户名或密码错误
  6. Liang-Barsky直线段裁剪
  7. 计算 arccos 7
  8. littleVGL总结
  9. oracle启动报错ora11157,ORA-20011 KUP-11024 外部表引起的错误
  10. 量子物理与计算机,量子计算机与量子物理