Modul:Poker
Hopp til navigering
Hopp til søk
local p = {} require "mw.ustring" -- fra https://sv.wikipedia.org/w/index.php?title=Modul:Poker&oldid=29551510 function p.pokerhand(frame) local Statistikk = require "Modul:Statistikk" kortlek = '2-Heart,3-Heart,4-Heart,5-Heart,6-Heart,7-Heart,8-Heart,9-Heart,10-Heart,J-Heart,Q-Heart,K-Heart,A-Heart,2-Diamond,3-Diamond,4-Diamond,5-Diamond,6-Diamond,7-Diamond,8-Diamond,9-Diamond,10-Diamond,J-Diamond,Q-Diamond,K-Diamond,A-Diamond,2-Club,3-Club,4-Club,5-Club,6-Club,7-Club,8-Club,9-Club,10-Club,J-Club,Q-Club,K-Club,A-Club,2-Spade,3-Spade,4-Spade,5-Spade,6-Spade,7-Spade,8-Spade,9-Spade,10-Spade,J-Spade,Q-Spade,K-Spade,A-Spade' frame.args['verdi']=kortlek frame.args['absoluttfrekvenser']= string.rep('1,',51)..'1' frame.args['antall']=5 frame.args['separator']=',' frame.args['tilbakelegging']='nei' local hand =Statistikk.tilfeldigtrekning(frame) local res ='' local i = 0 local farg = {} local valor = {} local stegupp = {['A']='2',['2']='3',['3']='4',['4']='5',['5']='6',['6']='7',['7']='8',['8']='9',['9']='10',['10']='J',['J']='Q',['Q']='K',['K']='A'} local stegner = {['A']='K',['2']='A',['3']='2',['4']='3',['5']='4',['6']='5',['7']='6',['8']='7',['9']='8',['10']='9',['J']='10',['Q']='J',['K']='Q'} for kort in string.gmatch(hand,"[^,]+") do i = i+1 valor[i], farg[i] = string.match(kort,'([0-9JQKA]+)%-(%a+)') res = res..'[[Fil:Cards-'..kort..'.svg|60px|border]] ' end res = res .. '<br />' local fargsumma = 0 local valorsumma = 0 local stegsumma = 0 for i=1,5 do for j=1,5 do if farg[j] == farg[i] then fargsumma = fargsumma + 1 end if valor[j] == valor[i] then valorsumma = valorsumma + 1 end end if valor[i] == 'A' then for j=1,5 do if valor[j] == 'K' or valor[j] == '2' then stegsumma = stegsumma + 1 break end end else for j=1,5 do if valor[j] == stegner[valor[i]] then stegsumma = stegsumma + 1 break end end for j=1,5 do if valor[j] == stegupp[valor[i]] then stegsumma = stegsumma + 1 break end end end end if fargsumma == 25 and stegsumma == 8 then return res .. 'Straight flush (0,0015 % sannsynlighet)' end if valorsumma == 17 then return res..'Fjers (0,024 % sannsynlighet)' end if valorsumma == 13 then return res..'Hus (0,144 % sannsynlighet)' end if fargsumma == 25 then return res..'Flush (0,196 % sannsynlighet)' end if stegsumma == 8 then return res..'Straight (0,39 % sannsynlighet)' end if valorsumma == 11 then return res..'Tress (2,11 % sannsynlighet)' end if valorsumma == 9 then return res..'To par (4,75 % sannsynlighet)' end if valorsumma == 7 then return res..'Par (42,26 % sannsynlighet)' end if valorsumma == 5 then return res..'Høyt kort (50,11 % sannsynlighet)' end return res end return p