zoukankan      html  css  js  c++  java
  • 结对项目

    项目为黄金点游戏。小组成员:陈宇,李灏。使用语言:java。代码即实现情况如下:

    由于项目简单,且我们不计划联网,所以只创建了一个类Game:

    成员函数为:

    private int num;//游戏人数
    private double[] dValues;//玩家输入数字与g值的差值集合
    private int[] score;//玩家的分数集合
    private int[] answer;//玩家这一轮输入的数字的集合

    方法有:

    1.构造函数:

    Game(int num) {
    this.num=num;
    this.dValues=new double[num];
    this.score=new int[num];
    this.answer=new int[num];
    }

    2.num的get、set方法:

    public int getNum() {
    return num;
    }
    public void setNum(int num) {
    this.num = num;
    }

    3.score的get、set方法:

    public int getScore(int index) {
    return score[index];
    }
    public void setScore(int score,int index) {
    this.score[index] = score;
    }

    3.answer的get、set方法:

    public int getAnswer(int index) {
    return answer[index];
    }
    public void setAnswer(int answer,int index) {
    this.answer[index] = answer;
    }

    4.获取G值:

    public double getG() {
    int k=0;
    for(int i=0;i<answer.length;i++) {
    int j=answer[i];
    k=k+j;
    }
    return (double)(k/answer.length*0.618);
    }

    5.获取赢家:

    public int getWiner(double gValues) {
    double max;
    int winer=0;
    for(int i=0;i<answer.length;i++) {
    dValues[i]=Math.abs((double)(gValues-answer[i]));
    }
    max=dValues[0];
    for(int i=0;i<dValues.length;i++) {
    if(dValues[i]>max) {
    max=dValues[i];
    winer=i;
    }
    }
    return winer;
    }

    6.获取输家:

    public int getLoser(double gValues) {
    double min;
    int loser=0;
    for(int i=0;i<answer.length;i++) {
    dValues[i]=Math.abs((double)(gValues-answer[i]));
    }
    min=dValues[0];
    for(int i=0;i<dValues.length;i++) {
    if(dValues[i]<min) {
    min=dValues[i];
    loser=i;
    }
    }
    return loser;
    }

    7.输出玩家的分数情况:

    public int getLoser(double gValues) {
    double min;
    int loser=0;
    for(int i=0;i<answer.length;i++) {
    dValues[i]=Math.abs((double)(gValues-answer[i]));
    }
    min=dValues[0];
    for(int i=0;i<dValues.length;i++) {
    if(dValues[i]<min) {
    min=dValues[i];
    loser=i;
    }
    }
    return loser;
    }

    8.退出游戏后的清屏函数

    public static void clear() throws AWTException
    {
    Robot r = new Robot();
    r.mousePress(InputEvent.BUTTON3_MASK); // 按下鼠标右键
    r.mouseRelease(InputEvent.BUTTON3_MASK); // 释放鼠标右键
    r.keyPress(KeyEvent.VK_CONTROL); // 按下Ctrl键
    r.keyPress(KeyEvent.VK_R); // 按下R键
    r.keyRelease(KeyEvent.VK_R); // 释放R键
    r.keyRelease(KeyEvent.VK_CONTROL); // 释放Ctrl键
    r.delay(100);

    }

    9.游戏运行函数:

    public static void run() {
    Scanner in=new Scanner(System.in);
    System.out.println("输入参加比赛人数");
    int gamer=in.nextInt();
    Game game=new Game(gamer);
    System.out.println("参加比赛人数:"+game.getNum());
    for(int i=1;i<=game.getNum();i++) {

    System.out.println("玩家"+i+"请输入你的数字:");
    int ans=in.nextInt();
    game.setAnswer(ans, i-1);
    }
    double gValue=game.getG();
    System.out.println("输家为:玩家"+game.getLoser(gValue));
    game.setScore(game.getScore(game.getLoser(gValue))-2, game.getLoser(gValue));
    System.out.println("赢家为:玩家"+game.getWiner(gValue));
    game.setScore(game.getScore(game.getWiner(gValue))+gamer, game.getWiner(gValue));
    System.out.println("玩家的得分情况为:");
    game.inputScore();
    System.out.println("开始下一句游戏输入1,退出输入2");
    int ac=in.nextInt();
    if(ac==1) {
    run();
    }
    if(ac==2) {
    try {
    clear();
    } catch (AWTException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    }

    10.主函数:

    public static void main(String[] args) {
    Game.run();
    }

    包有:

    import java.awt.AWTException;
    import java.awt.Robot;
    import java.awt.event.InputEvent;
    import java.awt.event.KeyEvent;
    import java.util.Scanner;

    运行情况如下图:

    由此可见功能都已实现。

    分工情况:

    陈宇:负责编写类和方法

    李灏:负责检测和改错和编写博客

    以上

  • 相关阅读:
    软件工程第一个个人小程序
    关于程序的单元测试
    求整数数组中子数组最大的和
    电梯调度程序开发 付亚飞 段兴林
    每天听英语系列一
    去除U盘写保护
    显示pdf格式的图片
    在页面判断起始时间是否大于结束时间
    从页面上灵活增删改查
    柱形图,饼状图,折线图JavaScript
  • 原文地址:https://www.cnblogs.com/shawlove/p/7719891.html
Copyright © 2011-2022 走看看