Java基础实验2-牌游戏

来源:互联网 发布:notepad 写sql 编辑:程序博客网 时间:2024/06/11 02:36

2-6人之间发牌,按要求输出,考数组的使用。当然也可以用集合……

发现对变量和方法的命名实在是个学问,都说编程之美的一部分,我的命名估计只有我能看懂了。优化再看吧,挖个坑,要把这个发牌东东用集合再写,加个界面~~

先来个二维数组的
import java.util.Scanner;public class CardGame {static String[] numcards = {"Ace","2","3","4","5","6","7","8","9","10","Jack","Queen","King"};static int[] deck = new int[52];public static void init(){for (int i = 0; i < deck.length; i++){deck[i] = i;}for (int i = 0; i < deck.length; i++){int m = (int)(Math.random()*deck.length);int temp = deck[i];deck[i] = deck[m];deck[m] = temp;}}public static int inputPlayers(){System.out.println("input the num of players:");Scanner input = new Scanner(System.in);int players = input.nextInt();while (players > 6 || players < 2){System.out.println("It must be between 2 and 6!please enter again:");input = new Scanner(System.in);players = input.nextInt();}return players;}public static void gamemain(){int n = inputPlayers();int s = (int)(deck.length/n);int[][] playcards = new int[n][];for (int j = 0; j < n-1; j++){playcards[j] = new int[s];}playcards[n-1] = new int[deck.length-(n-1)*s];for (int j = 0,p = 0; j < n; j++){for (int index = 0; index < playcards[j].length; index++){playcards[j][index] = deck[p];p++;}java.util.Arrays.sort(playcards[j]);}display(n,playcards);}public static void display(int n,int[][] playcards){int m = 0, k = 0;for (int a = 0; a < n; a++){System.out.println("the " + (a + 1) + " player's cards: ");for ( k = 0; k < playcards[a].length-1 ; k++){if ((playcards[a][k]/13) != (playcards[a][k+1]/13)) {switch (playcards[a][k]/13){case 0: System.out.printf("Spade: ");break;case 1: System.out.printf("Heart: ");break;case 2: System.out.printf("Club: ");break;}for (int b = k; b >= m; b--){System.out.printf(numcards[playcards[a][b]%13] + "    ");}m = k +1;System.out.println();}if (playcards[a][k+1]/13 == 3) {break;}}//print the diamondSystem.out.printf("Diamond: ");for (int c = playcards[a].length-1; c >= m; c--) {System.out.printf(numcards[playcards[a][c]%13] + "  ");}System.out.println();}}public static void main(String[] args){init();gamemain();}}


原创粉丝点击