java 麻将_JAVA程序设计(11)-----面对对象0基础设计 麻将 创建麻将牌 然后洗牌 发牌~ 恩 就这样...
zzzzZZZZ
1.開始還想貼圖的 實在太懶了…… 這是一張麻將
package com.lovo;
import java.awt.Graphics;
import java.awt.Image;
/**
* 類 : 麻將牌
* @author Abe 屬性:花色 點數(shù) 圖片
*/
public class Mahjong {
private Suits suits;
private int face;
private Image image;
/**
* 構(gòu)造器
*
* @param suits
* @param face
* @param image
*/
public Mahjong(Suits suits, int face/*, Image image*/) {
this.suite = suits;
this.face = face;
//this.image = image;
}
/**
* 繪制一張牌
*/
public void draw(Graphics g,int x ,int y){
g.drawImage(image, x, y, 50, 100, null);
}
/**
* 輸出一張牌的點數(shù)和花色
*/
public String toString(){
String str = "";
switch (suits) {
case CIRCLE:
str += face + "筒";
break;
case BAMBOO:
str += face + "條";
break;
case CHARACTER:
str += face + "萬";
break;
}
return str;
}
/**
* 獲得花色 和 點數(shù)
* @return
*/
public Suits getSuits() {
return suits;
}
public int getFace() {
return face;
}
}2.一副麻將
package com.lovo;
import java.awt.Image;
import javax.swing.ImageIcon;
/**
* 類:一副麻將牌(108張)
*
* @author Abe 屬性:牌面圖片 一副牌 第多少張
*/
public class Mahjongs {
//private static Image[] images = new Image[36];
private Mahjong[] mah = new Mahjong[108];
private int sheet = 0;
//static {// 靜態(tài)載入器
//for (int i = 0; i < images.length; i++) {
//ImageIcon icon = new ImageIcon("mahjong/" + (i + 1) + ".jpg");
//for(int j = 0 ; j < 4 ; j++){
//images[i * 4 + j] = icon.getImage();
//}
//}
//}
/**
* 構(gòu)造器 初始化
*/
public Mahjongs() {
Suits[] suits = {Suits.CIRCLE , Suits.BAMBOO , Suits.CHARACTER};
int[] faces = {1,2,3,4,5,6,7,8,9};
for (int i = 0 ; i < mah.length; i++ ){
mah[i] = new Mahjong(suits[i / 36], faces[i % 9]/*, images[i]*/);
}
}
/**
* 行為 : 洗牌
*/
public void stuffle(){
for (int n = 0; n < 500; n++) {
int i = (int) (Math.random() * 108);
int j = (int) (Math.random() * 108);
Mahjong temp;
temp = mah[i];
mah[i] = mah[j];
mah[j] = temp;
}
}
/**
* 行為: 發(fā)牌
*/
public Mahjong deal(){
return sheet < mah.length ?
mah[sheet++] : null; //這句還是有點模糊 要在輸出sheet之后再++的么?
}
public Mahjong[] getAll(){
return mah;
}
}
3.打印
package com.lovo;
/**
* 麻將
* @author Abe
*
*/
public class TestMah {
public static void main(String[] args) {
Mahjongs mahj = new Mahjongs();
Mahjong one = null;
mahj.stuffle();
for(int i = 0 ; i < 108 ; i++){
one = mahj.deal();
System.out.print(one + "\t");
if(i % 9 == 8){
System.out.println("");
}
}
}
}妥妥的~
總結(jié)
以上是生活随笔為你收集整理的java 麻将_JAVA程序设计(11)-----面对对象0基础设计 麻将 创建麻将牌 然后洗牌 发牌~ 恩 就这样...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Luogu P4168 [Violet]
- 下一篇: Arduino直流电动机控制