Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class index{
- public static void main(String[] args){
- runGame(2); // Runs game by calling runGame method.
- }
- // Method that takes no input and return an array of 52 cards of type Card[] with each card of type Card.
- public static Card[] createCardArray(){
- Card[] deck=new Card[52]; // Creates a new array of type Card and length 52 named "deck".
- int count =0; //counter used for iterating through the "deck" array and assigning each index to a card.
- for(int i=0; i<4;i++){ // for loop to iterate the suits whose values are {0, 1, 2, 3}
- for(int j=1;j<=13;j++ ){ // for loop to iterate the values of each card from 1-13.
- deck[count]= new Card(i,j); //assigns each element in deck to a new card by calling the constructor with i=suit and j=value.
- count++; //increment count to include every element of array "deck"
- }
- }
- return deck; //returns the deck created.
- }
- public static Card[] shuffle(Card[] cardArray){ //Method that takes an array of type Card as input and returns an array
- for(int i=0; i<cardArray.length*52;i++){
- int random1=(int)Math.floor(Math.random()*52);
- int random2 = (int)Math.floor(Math.random()*52);
- Card temp2=cardArray[random1];
- cardArray[random1]=cardArray[random2];
- cardArray[random2]=temp2;
- }
- return cardArray;
- }
- /* public static void printCards(Card[] deck){
- for(int i =0; i<deck.length; i++){
- System.out.println(deck[i].showCardSuit() + deck[i].showCardValue());
- }
- System.out.println();
- }
- */
- public static int[] createPoints(int n){
- int[] points = new int[n+1]; // Dealer last player
- int count = 0;
- for(int i = 0; i<points.length; i++){
- points[i] = count;
- }
- return points;
- }
- public static void updatePoints(int[] nplayers, int[] points, int playern , Card card){
- int index = -1;
- for(int i = 0; i< nplayers.length; i++){
- if (nplayers[i] == playern){
- index = i;
- }
- }
- int point = card.getValue();
- points[index] = point;
- return;
- }
- public static int getPoints(int[] nplayers, int[] points, int playern){
- int index = -1;
- for(int i = 0; i< nplayers.length; i++){
- if (nplayers[i] == playern){
- index = i;
- }
- }
- return points[index];
- }
- public static void printPlayersPoints(int[] nplayers, int[] points){
- for (int i=0; i<nplayers.length-1;i++){
- System.out.println("Player " + nplayers[i] + ": Points " + points[i]);
- System.out.println();
- }
- }
- public static int[] createPlayers(int n){
- int[] players = new int[n+1]; // Dealer last player
- int count = 1;
- for(int i = 0; i<players.length; i++){
- players[i] = count;
- count++;
- }
- return players;
- }
- public static void runGame(int n){
- Card[] newdeck=createCardArray();
- Card[] shuffleddeck = shuffle(newdeck);
- Deck deck = new Deck(shuffleddeck);
- int[] players = createPlayers(n);
- int[] points = createPoints(n);
- for(int i = 0 ; i< players.length - 1; i++){
- Card a = deck.deal();
- Card b = deck.deal();
- updatePoints(players, points, i, a);
- updatePoints(players, points, i, b);
- }
- printPlayersPoints(players, points);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement