Ask Experts Questions for FREE Help !
Ask
    katt3000's Avatar
    katt3000 Posts: 2, Reputation: 1
    New Member
     
    #1

    Apr 16, 2012, 05:00 AM
    ask a java question
    How to write a java function that allows the user to make two teams and simulate a game. The program should employ polymorphism and allow subclasses. As scores against teams should be simulated by randomization- use random method to decide who scores against the other and by how many goals.

    this is what i have done so far:

    public class Main {

    private static void playGame(Team teamA,Team teamB)
    {

    Random rand = new Random();
    for(int i= 0 ;i<= rand.nextInt(9);i++){/*Simulating attempts to score by both sides*/
    rand = new Random();
    int score = 1+ rand.nextInt(3);//Used to decide who scores and who oncedes
    switch(score)
    {
    case 1:
    teamA.setGoalsScored();//Team A scores
    teamB.setGoalsConceded();//Team B concedes
    break;
    case 2:
    teamB.setGoalsScored();//Team B scores
    teamA.setGoalsConceded();//Team A concedes
    break;

    }

    }
    }


    /**
    * @param args the command line arguments
    */

    public static void main(String[] args) {
    // main menu
    Scanner scan ;
    Team teamA = null ;
    Team teamB = null;
    String TeamName;
    char getInput ='Y';
    int option;
    do
    {
    System.out.println();
    System.out.println(" GAME OF VOLLEYBALL\n");
    System.out.println(" ...........MAIN MENU...................... ");
    System.out.println("To make a team .................. 1 ");
    System.out.println("To view a team A ................ 2 ");
    System.out.println("To view a team B ................ 3 ");
    System.out.println("To play a game .................. 4 ");
    System.out.println("View game results................ 5 ");

    scan = new Scanner(System.in);
    option = scan.nextInt();
    switch(option)
    {
    case 1:
    if((teamA == null)||(teamB == null) )//
    {
    System.out.println("Enter the name of the team : ") ;
    scan = new Scanner(System.in);
    TeamName = scan.nextLine();
    if(teamA == null){
    teamA = new Team(TeamName);//instantiating the team
    teamA.setTeamMembers();//Assigning members to a team
    }else{
    teamB = new Team(TeamName);//instantiating the team
    teamB.setTeamMembers();//Assigning members to a team
    }
    }
    else{
    System.out.println("You have already created two teams ") ;

    }
    break;
    case 2:
    if(teamA != null){

    System.out.println(teamA.getTeamName());
    teamA.desplayTeamMembers();
    }else{
    System.out.println("You haven't created the team ") ;
    }


    break;
    case 3:
    if(teamB != null){
    System.out.println(teamB.getTeamName());
    teamB.desplayTeamMembers();
    }else{
    System.out.println("You haven't created the team ") ;
    }
    break ;

    case 4:
    Main.playGame(teamA,teamB);
    break ;
    case 5:
    System.out.println("The following are the results ") ;
    System.out.println("Team A scored " + teamA.getGoalsScored()) ;
    System.out.println("Team B scored " + teamB.getGoalsScored()) ;

    break ;
    }
    System.out.println();
    System.out.println(" ...........MAIN MENU...................... ");
    System.out.println("Enter any character to continue or N to exit : ");
    scan = new Scanner(System.in);
    getInput = scan.next().charAt(0);

    }while(getInput !='N');


    }
    public class Team {

    String name;//Name of a team
    ArrayList teamMembersList;//A collection is requireed to store teamMember objects
    int goalsScored;
    int goalsConceded;

    //Overloading construnctors
    Team()
    {

    }
    Team(String name)
    {
    this.name = name;
    this.teamMembersList = new ArrayList();

    }

    Team(String name,ArrayList teamMembersList)
    {
    this.name = name;
    this.teamMembersList = teamMembersList;
    }

    //Getters
    public String getTeamName()
    {
    return this.name;
    }
    public ArrayList getTeamMembers()
    {
    return this.teamMembersList;
    }
    public int getGoalsScored()
    {
    return this.goalsScored;
    }
    public int getGoalsConceded()
    {
    return this.goalsConceded;
    }
    public void desplayTeamMembers( )
    {
    TeamMember member;
    for(int i =0;i<this.teamMembersList.size();i++)
    {
    member = (TeamMember)this.teamMembersList.get(i);
    System.out.println();
    System.out.print((i+1) + " ) ");
    member.desplayMember();
    System.out.println();
    }
    }
    //Setters
    public void setTeamName(String name)
    {
    this.name = name;
    }
    public void setTeamMembers( )
    {


    TeamMember member;
    Scanner scan ;
    char getInput ='Y';
    System.out.println(" ...........Team Members Sub menu...................... ");
    do
    {
    System.out.println("A Team should have upto 5 team members\n\n");
    System.out.println("To ceate a player..........................1 : ");
    System.out.println("To ceate a non player......................2 : ");

    scan = new Scanner(System.in);
    if(scan.nextInt() == 1)
    {
    member = new Player();//Creating player object
    member.setTeamMember();
    this.teamMembersList.add(member) ;//Adding team members to the collection
    }else{
    if(scan.nextInt() == 2)
    {
    member = new NonePlayer();//Creating a non player object
    member.setTeamMember();
    this.teamMembersList.add(member) ;//Adding team members to the colllection
    }
    }

    System.out.println("Enter any character to continue or N to exit : ");
    scan = new Scanner(System.in);
    getInput = scan.next().charAt(0);

    }while(getInput !='N');




    }
    public void setGoalsScored( )
    {
    this.goalsScored++;
    }
    public void setGoalsConceded()
    {
    this.goalsConceded++;
    }
    abstract class TeamMember { //Data members common in all Team members String name; String DOB; String description;

    //Overloading construnctors
    TeamMember()
    {
    this.name ="--";
    this.DOB ="0/0/0";
    this.description = "--";
    }
    TeamMember(String name)
    {
    this.name = name;
    this.DOB ="0/0/0";
    this.description = "--";
    }

    //Getters
    protected String getName()
    {
    return this.name;
    }
    protected String getDOB()
    {
    return this.DOB;
    }
    protected String getDescription()
    {
    return this.description;
    }
    protected void desplayMember()
    {
    System.out.print(" Name ...... "+ this.name);
    System.out.print(", Role...."+ this.description);
    System.out.print(", Date of Birth...."+ this.DOB);
    }
    //Setters
    protected void setName(String name)
    {
    this.name = name;
    }
    protected void setDOB(String DOB)
    {
    this.DOB = DOB;
    }
    protected void setDescription( String description)
    {
    this.description = description;
    }
    protected void setTeamMember()
    {


    Scanner scan ;
    System.out.print("Team member's name............................... : ");
    scan = new Scanner(System.in);
    this.name = scan.nextLine();


    System.out.print("Team member's role............................... : ");
    scan = new Scanner(System.in);
    this.description = scan.nextLine();

    System.out.print("Team member's date of birth.............................. : ");
    scan = new Scanner(System.in);
    this.DOB = scan.nextLine();
    }
    } class Player extends TeamMember { //These data members can only be found in a player int jersey_number; boolean fit;

    //Overloading construnctors
    Player()
    {
    super();
    }
    Player(String name)
    {
    super(name);
    }
    Player(String name,int jersey&#95;number )
    {
    super(name);
    this.jersey&#95;number = jersey&#95;number;
    }

    //Getters
    public int getJersey&#95;number()
    {
    return this.jersey&#95;number;
    }
    public boolean getFitness()
    {
    return this.fit;
    }
    protected void desplayMember()
    {
    super.desplayMember();
    System.out.print(", Jersry Number ...... "+ this.jersey&#95;number);
    System.out.print(", Is fit ? ...... "+ this.fit);

    }

    //Setters
    public void setJersey&#95;number( int jersey&#95;number)
    {
    this.jersey&#95;number = jersey&#95;number;
    }
    public void setFitness( boolean fit)
    {
    this.fit = fit;
    }
    public void setTeamMember()
    {
    super.setTeamMember();

    Scanner scan ;
    System.out.print(" Player's Jersey number................... : ");
    scan = new Scanner(System.in);
    this.jersey&#95;number = scan.nextInt();
    System.out.print(" Is player fit?)(yes or no)................... : ");
    scan = new Scanner(System.in);
    String isFit = scan.nextLine();

    if(isFit.equalsIgnoreCase("yes"))
    {
    this.fit = true;
    }

    }
    }

    class NonePlayer extends TeamMember { //Data Members Specific to NonePlayers String Nationality;

    //Overloaded constructors NonePlayer() { super(); } NonePlayer(String Nationality, String name) { super(name); this.Nationality = Nationality ; } //getters public String getNatinality() { return this.Nationality; } protected void desplayMember() { super.desplayMember(); System.out.print(" Nationality ...... "+ this.Nationality);

    } //Setters public void setNatinality(String Nationality) { this.Nationality = Nationality; } public void setTeamMember() { super.setTeamMember();

    Scanner scan ;
    System.out.print(", Nationality................... : ");
    scan = new Scanner(System.in);
    this.Nationality = scan.nextLine();
    }
    }
    katt3000's Avatar
    katt3000 Posts: 2, Reputation: 1
    New Member
     
    #2

    Apr 17, 2012, 02:23 PM
    Somebody please help??

Not your question? Ask your question View similar questions

 

Question Tools Search this Question
Search this Question:

Advanced Search

Add your answer here.


Check out some similar questions!

Ask for help in java [ 0 Answers ]

Hi guys can you help me on java. I want to add some data on a jcombobox from mysql database. I created 2 comboboxes. After I retrieve the necessary data from the database it will automatically fill up the first combobox. And then in the first combobox the user chooses the data he wants...

Forum to ask java question [ 1 Answers ]

hi guys me working on swing in a project and I'm not understanding how me can get value from jList from one page to another page in jtextfield me using netbean /* * To change this template, choose Tools | Templates * and open the template in the editor. */ /*

Java! [ 2 Answers ]

Please will you help me with these questions... where can I find a great site that will help me answer these... 1/ Who developed Java and when? 2/ What are some unique features of Java? 3/ Is java used for websites or stand alone programs? 4/ What does it mean when I say java is an "object...

Java Help! [ 1 Answers ]

Hi Experts, I'm not sure if I'm posting this in the right category, but I sure hope someone can still help me. I'm not able to view Java applets. I've downloaded the most recent version of JVM. I have version 1.4.1. I've tried changing some settings (like enabling Java in my internet...


View more questions Search