麻將遊戲實現:
實現功能點: 實現麻將的準備牌,洗牌,發牌,看牌 (集合知識) 麻將功能需求分析 a:具體規則:
1.組裝136張麻將,條,筒,萬加在一起的數目是108張 東,南,西,北風,紅中,發財,白板是28張,總共136張
2.將136張牌順序打亂
3.四個玩家參與遊戲,四個人交替摸牌,每次4張,先摸3次,之後莊家摸2張(2張之間索引差4),其他人再摸一張,莊家14張,其餘人13張牌,剩下的留作底牌。
4.檢視四人手中的牌(按照牌的大小排序),底牌
public class mahjong ;
string name = new string;
string tablet = new string;
//記錄牌的編號
int k = 0;
//用來存放牌
hashmaphashmap = new hashmap<>();
//用來記錄麻將存放個數,和次序
listnumber = new arraylist<>();
//定義四個存放玩家牌的陣列
listplayer1 = new arraylist<>();
listplayer2 = new arraylist<>();
listplayer3 = new arraylist<>();
listplayer4 = new arraylist<>();
//用來存放底牌
listbase = new arraylist<>();
//準備牌,for迴圈新增條,筒,萬
for(int i =0;i> iterator = hashmap.entryset().iterator();
while(iterator.hasnext())
system.out.println();
system.out.println("將牌打亂順序: ");
//集合提供方法,將乙個整形陣列打亂
collections.shuffle(number);
for(int i =0;i< number.size(); i++)
system.out.println();
//發牌
//定義屬性n,記錄摸牌的位置
integer n = 0;
//總共發三次,每一次每人摸四張牌,
for(int i=0;i<3;i++)
}//莊家摸兩次牌,其他人摸一張(玩家1是莊家)
player1.add(number.get(n));
//需要跳牌(莊家第一次和第二次摸的位置索引值差4)
n = n + 4;
player1.add(number.get(n));
//回到莊家第一次摸牌的位置的下乙個
n = n - 3;
player2.add(number.get(n));
player3.add(number.get(n));
player4.add(number.get(n));
//剩下的底牌
for(int i=n;i看牌的**塊可以封裝起來,會顯得簡潔明瞭;
//封裝後的函式
looking("1號",player1,hashmap);
looking("2號",player2,hashmap);
looking("3號",player3,hashmap);
looking("4號",player4,hashmap);
looking("底牌",base,hashmap);
}/**
* 輸入想看的玩家的名字,傳入該玩家的list陣列,傳入存放麻將牌的集合
* @param name
* @param player
* @param hashmap
*/private static void looking(string name,listplayer, hashmaphashmap)
system.out.println();
}
超簡單的麻將演算法
麻將的演算法 提高篇 1.先說說,數值的構成。型別字 0 東南西北中發白 1 2,3 4,5 6,7 型別萬 1 1 萬2萬3萬4 萬5萬6 萬7萬8 萬9萬 11,12 13,14 15,16 17,18 19型別條 2 1條2 條3條4 條5條6 條7條8 條9條 21,22 23,24 25,...
超簡單的麻將演算法
1.先說說,數值的構成。型別字 0 東南西北中發白 1,2,3,4,5,6,7 型別萬 1 1萬2萬3萬4萬5萬6萬7萬8萬9萬 11,12,13,14,15,16,17,18,19 型別條 2 1條2條3條4條5條6條7條8條9條 21,22,23,24,25,26,27,28,29 型別餅 3 ...
python socket 簡單實現聊天功能
今天看了下python的socket,想實現下兩台電腦的聊天功能 覺得這樣好像自己寫出個簡易版qq沒問題了 於是動手開始實現。首先是伺服器端 from socket import from time import ctime host port 80 埠號,伺服器與客戶端要一致 bufsiz 102...