>Java >java지도 시간 >Java로 간단한 배구 게임 채점 시스템 만들기

Java로 간단한 배구 게임 채점 시스템 만들기

怪我咯
怪我咯원래의
2017-06-30 10:27:532564검색

이 글은 주로 Java로 배구 게임 채점 시스템을 구현하는 방법을 자세히 소개합니다. 관심 있는 친구들이 참고할 수 있습니다.

예비 계획:

아마도 개인적인 사정으로 인해 배구 채점 시스템이 완성되었습니다. 연휴에도 아직 블로그를 못 썼는데, 새해가 지나고 일을 시작해서 지금까지 기다렸어요.

이 시스템을 작성하기 전에 간략하게 구상했습니다. 학교를 떠나기 전에 한 달 넘게 Java 교육을 위해 Luoyang에 갔기 때문에 프로젝트를 작성하는 데 사용한 IDE는 Java 환경이었습니다. 처음에는 인터페이스로 jsp를 사용하고 architecturemvc를 사용하는 것을 고려했지만 작업량이 너무 많고 효과가 그다지 좋지 않다는 생각이 들었습니다. 마지막으로 순수 Java 코드가 작성되어 가상 머신에 표시되었습니다.

요구 사항 분석:

배구 대회는 5판 3선승제 방식으로 매 경기마다 25득점을 기록하고 상대보다 2득점 이상 앞서는 팀이 3승을 거두는 팀이 승리합니다. 게임이 먼저 승리합니다. 경기 중 점수가 24:24인 경우 한 쪽이 다른 쪽을 2점 차로 앞서야 라운드가 종료됩니다. 첫 4경기에서 양팀의 점수가 2:2일 경우 5차전에서 15득점을 기록하고 상대보다 2점 이상 앞서는 팀이 승리하게 된다. 경기 중 점수가 14:14인 경우, 한 쪽이 다른 쪽을 2점 차로 앞서야 게임이 종료됩니다.

사용자 예:

코드 디자인:

package ss;
 
import java.util.Scanner;
/**
 * 排球计分系统
 *
 * 使用排球计分系统可以进行简单的排球计分操作以及查询某一局的比分。
 * 1、比赛总共5局,每一局5分,若是有一方领先对方3分,则视为这一方胜利。
 * 5局结束后,统计两方胜利的次数,输出最终胜利的一方。并退出程序
 * 2、使用查询功能可以查询过往的比赛成绩,输出比分和胜利的一方
 */
public class Game {
   
  static Scanner sca = new Scanner(System.in);
  //scoreArr数组,用来存放5局两队的单轮成绩
  static int[][] scoreArr = new int[5][2];
  //result数组,用来存放每一轮的成绩,方便查询
  static String[] result = new String[5];
   
  //用来统计两队胜利的次数
  static int ni1 = 0;
  static int ni2 = 0;
 
  public static void main(String[] args) {
    System.out.println("\n\n  --------欢迎进入ww排球计分系统--------\n\n\n");
    System.out.println("使用说明:使用ww排球计分系统可以进行简单的排球计分操作以及查询某一局的比分。" + "\n1、比赛总共5局,每一局5分,若是有一方领先对方3分,则视为这一方胜利。"
        + "\n 5局结束后,统计两方胜利的次数,输出最终胜利的一方。并退出程序\n" + "2、使用查询功能可以查询过往的比赛成绩,输出比分和胜利的一方");
    for (int i = 0; i < 5;) {
      System.out.println("  请选择您的操作:");
      System.out.println("1、开始计分   2、查询   3、退出系统");
      //用户输入的操作选择
      int choose = sca.nextInt();
      //如果用户输入1
      if (choose == 1) {
        //输出第几局比赛
        System.out.println("现在开始第" + (i + 1) + "局比赛");
        //调用计分方法
        bounds(i);
        i++;
      } else if (choose == 2) {//如果用户输出2
        System.out.println("请输入你要查询的局数:");
        int check = sca.nextInt();
        //判断用户输入的局数是否开始
        if (result[check - 1] == null) {
          System.out.println("这一局比赛还没有开始。");
        } else {
          //从数组中找出结果
          System.out.println(result[check - 1]);
        }
      } else if (choose == 3) {//如果用户输入3,输出当前成绩,并退出程序
         
        System.out.println("本场比赛结束,当前比分为:中国队VS美国队~~~~~" + ni1 + ":" + ni2);
        System.out.println("谢谢使用ww计分系统,欢迎下次使用,再见");
        System.exit(0);
      } else {
        System.out.println("您的输入有误,请重新输入");
      }
    }
     
    //5局比赛结束后,本场比赛结束,输出结果,并退出程序
    System.out.println("本场比赛结束,当前比分为:中国队VS美国队~~~~~" + ni1 + ":" + ni2);
    if (ni1 > ni2) {
      System.out.println("中国队取得最终胜利");
    } else {
      System.out.println("美国队取得最终胜利");
    }
    System.out.println("谢谢使用ww计分系统,欢迎下次使用,再见");
  }
 
  // 计分方法,统计成绩
  public static String[] bounds(int num) {
    int i = 0;
    //如果两队的成绩都小于等于5
    if (scoreArr[num][0] <= 5 && scoreArr[num][1] <= 5) {
      for (;; i++) {
        System.out.println("请输出获胜方的编号,进行加分");
        System.out.println("1、中国队       VS   2、美国队");
        int team = sca.nextInt();
        if (team == 1) {
          //保留每一局的成绩
          scoreArr[num][0] += 1;
          System.out.println("第" + (i + 1) + "轮比赛结束,当前比分为" + scoreArr[num][0] + ":" + scoreArr[num][1]);
        } else if (team == 2) {
          scoreArr[num][1] += 1;
          System.out.println("第" + (i + 1) + "轮比赛结束,当前比分为" + scoreArr[num][0] + ":" + scoreArr[num][1]);
 
        }
 
        if ((scoreArr[num][0] - scoreArr[num][1]) == 3) {
          result[num] = "第" + (num + 1) + "局,比分为" + scoreArr[num][0] + ":" + scoreArr[num][1] + "  中国队胜利";
          System.out.println(result[num]);
          //每轮比赛结束后,使最终成绩累加1,并返回
          ni1 += 1;
          return result;
        } else if ((scoreArr[num][1] - scoreArr[num][0]) == 3) {
          result[num] = "第" + (num + 1) + "局,比分为" + scoreArr[num][0] + ":" + scoreArr[num][1] + "  美国队胜利";
          System.out.println(result[num]);
          ni2 += 1;
          return result;
 
        }
      }
    } else if (scoreArr[num][0] > scoreArr[num][1]) {
      result[num] = "第" + (num + 1) + "局,比分为" + scoreArr[num][0] + ":" + scoreArr[num][1] + "  中国队胜利";
      System.out.println(result[num]);
      ni1 += 1;
      return result;
    } else {
      result[num] = "第" + (num + 1) + "局,比分为" + scoreArr[num][0] + ":" + scoreArr[num][1] + "  美国队胜利";
      System.out.println(result[num]);
      ni2 += 1;
      return result;
    }
  }
 
}

실행 인터페이스:

PsP 시간 소모:

요약: 이 글을 작성할 때 Java를 배우는 시간은 그리 길지 않기 때문에 프로젝트에서 몇 가지 문제가 발생했지만 결국 해결되었습니다. C#을 배웠기 때문에 두 가지의 기본이 비교적 비슷하고, 시간이 촉박하기 때문에 회사에서는 작업을 진행하고 있습니다. 어쩌면 학교에서 그랬던 것만큼 많은 시간을 가질 수는 없을지도 모르지만, 나는 그것을 진지하게 받아들일 것입니다.

위 내용은 Java로 간단한 배구 게임 채점 시스템 만들기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.