python 貪心演算法實現 鬥地主發牌

2021-08-03 19:04:58 字數 2203 閱讀 1695

#coding=utf-8

import  random;

#num 可以修改順序  已達到改變牌大小

num=['3','4','5','6','7','8','9','10','j','q','k','a','2'];

color=['♠','❤','♣','♢'];

kings=["big","small"];

list = ;

keep=;

# 0~12 12*4=48  48+2(兩張鬼牌)=50

for a in range(0,51):

# a=50  實際上是 54張牌

#隨機打亂順序

random.shuffle(list);

#print("打亂順序:",end='');

#print(list);

#新增到玩家的手牌中

def inplayer(b,number):

count = number// 4;

yu =  number % 4;

a=;#49 和50 代表是鬼牌

if(number==49):

elif (number ==50):

else:

for a in range(0,3):

this=list[a];

inplayer(keep,this);

#玩家一

one=;

#玩家二

two=;

#玩家三

three=;

#分牌for i in range(3,list.__len__()):

p=i%3;

number=list[i];

if(p==0):

inplayer(one,number);

continue;

if(p==1):

inplayer(two,number);

continue;

if(p==2):

inplayer(three,number);

continue;

#快速排序

#define a function

def quick(a,left,right):

if(left>=right):

return

else:

key=a[left];

low = left;

high= right;

while (left < right):

while (left < right and a[right] >= key):

right -= 1;

a[left] = a[right];

while (left < right and a[left] <= key):

left += 1;

a[right] = a[left];

a[left] = key;

quick(a,low,left-1);

quick(a,left+1,high);

quick(keep,0,keep.__len__()-1);

quick(one,0,one.__len__()-1)

quick(two,0,two.__len__()-1)

quick(three,0,three.__len__()-1)

def changetext(a):

for i in range(0,a.__len__()):

if(a[i][0]==13):

if(a[i][1]==0):

a[i]=kings[1];

else:

a[i]=kings[0];

else:

a[i]=str(num[a[i][0]])+str(color[a[i][1]]);

changetext(keep);

changetext(one);

changetext(two);

changetext(three);

print("地主牌",end=' ');

print(keep);

print("第一位玩家",end=' ');

print(one);

print("第二位玩家",end=' ');

print(two);

print("第三位玩家",end=' ');

print(three);

鬥地主AI演算法實現

鬥地主ai演算法實現 一 拆牌 by wojiushi3344 棋牌遊戲開發專欄 首先我們來看一下ai的定義 人工智慧 artificial intelligence 簡稱ai。它是研究 開發用於模擬 延伸和擴充套件人的智慧型的理論 方法 技術及應用系統的一門新的技術科學。人工智慧研究如何用計算機去...

python實現貪心演算法

在對問題求解時,總是作出在當前看來是最好的選擇。也就是說,不從整體上加以考慮,它所作出的僅僅是在某種意義上的區域性最優解 是否是全域性最優,需要證明 問題 有一天海盜們截獲了一艘裝滿各種各樣古董的貨船,每一件都價值連城,一旦打碎就是去了價值,海盜船載重量為c,每件固定的重量為wi,海盜們該如何盡可能...

鬥地主出牌演算法

根據鬥地主出牌規則.對玩家出的牌進行檢驗.判斷是否符合出牌規則.關於鬥地主的出牌規則網上有很多 思路 將玩家的牌按公升序排序.然後將牌進行拆分,分存在4個陣列中.拆分規則如下 假設有牌 333 444 555 789 則拆分後陣列中的資料如下 arr 0 345789 arr 1 345 arr 2...