WOO logo

तीन कार्ड पोकर विश्लेषण

वीडियो में बनाया गया कोड यहां दिया गया है।

#शामिल करना
#शामिल करना
#शामिल करना
#शामिल करना
#शामिल करना
#शामिल करना
नेमस्पेस एसटीडी का उपयोग करना;

स्ट्रक्चर कार्ड {
	int आर;
	int एस;
};

शून्य set_array(शून्य);
int स्कोर(int p1, int p2, int p3);
शून्य डीलर(int p1, int p2, int p3, int psc, int event_array[]);

int स्कोर_array[22100];
कार्ड डेक[52];

शून्य मुख्य()
{
	int i, p1, p2, p3, sc, cat, pairplus_array[6], event_array[4],tot_ante_bonus[6];
	int ante_bonus_pay[] = { 0,0,0,1,4,5 };
	__int64 tot_event_array[6];
	स्ट्रिंग hand_name[] = { "तीन सिंगलटन","जोड़ी","फ्लश","सीधे","एक तरह के तीन","सीधे फ्लश" };
	स्ट्रिंग event_name[] = { "खिलाड़ी जीतता है","डीलर योग्य नहीं होता","टाई","डीलर जीतता है","खिलाड़ी फोल्ड करता है" };
	int सूचकांक = 0;
	डबल ईवी = 0;
	के लिए (i = 0; i < 6; i++)
	{
		tot_ante_bonus[i] = 0;
		जोड़ीप्लस_एरे[i] = 0;
		tot_event_array[i] = 0;
	}
	के लिए (i = 0; i < 51; i++)
	{
		डेक[i].r = (int)(i / 4);
		डेक[i].s = i % 4;
	}
	सेट_ऐरे();
	के लिए (p1 = 0; p1 <= 49; p1++)
	{
		(p2 = p1 + 1; p2 <= 50; p2++) के लिए
		{
			(p3 = p2 + 1; p3 <= 51; p3++) के लिए
			{
				sc = स्कोर_अरे[इंडेक्स];
				बिल्ली = (int)sc / 2197;
				pairplus_array[बिल्ली]++;
				डीलर(पी1, पी2, पी3, एससी, इवेंट_एरे);
				ev = (2.0 * (डबल)event_array[0] + (डबल)event_array[1] - 2.0 * (डबल)event_array[3]) / 18424.0;
				ev += ante_bonus_pay[cat];
				यदि (ev < -1) // फोल्ड
				{
					tot_event_array[4] += 18424;
				}
				अन्य
				{
					के लिए (i = 0; i <= 3; i++)
						tot_event_array[i] += event_array[i];
					tot_ante_bonus[cat]++;
				}
				सूचकांक++;
			}
		}
	}
	प्रिंटफ("पेयरप्लस विश्लेषण\n");
	के लिए (i = 0; i < 6; i++)
		प्रिंटफ("%s\t%i\n", hand_name[i].c_str(), pairplus_array[i]);
	printf("\nपूर्व विश्लेषण\n");
	के लिए (i = 0; i <=4; i++)
		प्रिंटफ़("%s\t%I64i\t%f\n", event_name[i].c_str(), tot_event_array[i],(double)tot_event_array[i]/22100.0/18424.0);
	डबल गेम_ईवी = (2.0 * (डबल)tot_event_array[0] + (डबल)tot_event_array[1] - 2.0 * (डबल)tot_event_array[3] - (डबल)tot_event_array[4]) / 22100.0 / 18424.0;
	printf("पूर्व बोनस के बिना खेल का अपेक्षित मूल्य = \t%f\n",game_ev );
	के लिए (i = 0; i <= 5; i++)
		गेम_ईवी += पूर्व_बोनस_भुगतान[i] * tot_ante_bonus[i] / 22100.0;
	printf("पूर्व बोनस के साथ खेल अपेक्षित मूल्य = \t%f\n", game_ev);

}

शून्य डीलर(int p1, int p2, int p3, int psc, int event_array[])
{
	int d1, d2, d3, i,dsc;
	int सूचकांक = 0;
	के लिए (i = 0; i <= 3; i++)
		इवेंट_एरे[i] = 0;
	के लिए (d1 = 0; d1 <= 49; d1++)
	{
		(d2 = d1 + 1; d2 <= 50; d2++) के लिए
		{
			(d3 = d2 + 1; d3 <= 51; d3++) के लिए
			{
				यदि नहीं
				{
					dsc = स्कोर_एरे[इंडेक्स];
					यदि (dsc < 1703) // डीलर योग्य नहीं है
						इवेंट_ऐरे[1]++;
					अन्यथा यदि (psc>dsc)
						इवेंट_ऐरे[0]++;
					अन्यथा यदि (psc < dsc)
						इवेंट_ऐरे[3]++;
					अन्य
						इवेंट_ऐरे[2]++;
				}
				सूचकांक++;
			}
		}
	}

}

शून्य सेट_अरे(शून्य)
{
	int p1, p2, p3,sc;
	int सूचकांक = 0;
	के लिए (p1 = 0; p1 <= 49; p1++)
	{
		(p2 = p1 + 1; p2 <= 50; p2++) के लिए
		{
			(p3 = p2 + 1; p3 <= 51; p3++) के लिए
			{
				sc = स्कोर(p1, p2, p3);
				स्कोर_एरे[इंडेक्स] = एससी;
				सूचकांक++;
			}
		}
	}
}

int स्कोर(int p1, int p2, int p3)
{
	int फ्लश, सीधा;
	कार्ड हाथ[3];
	हाथ[0].r = (int)(p1 / 4);
	हाथ[1].r = (int)(p2 / 4);
	हाथ[2].r = (int)(p3 / 4);
	हाथ[0].s = p1 % 4;
	हाथ[1].s = p2 % 4;
	हाथ[2].s = p3 % 4;
	यदि ((हाथ[0].s == हाथ[1].s) और& (हाथ[1].s == हाथ[2].s))
		फ्लश = 169 * हैंड[2].r + 13 * हैंड[1].r + हैंड[0].r;
	अन्य
		फ्लश = 0;
	यदि ((हाथ[2].r - हाथ[1].r == 1) और& (हाथ[1].r - हाथ[0].r == 1))
		सीधा = हाथ[2].r;
	अन्यथा यदि ((हैंड[2].r == 12) && (हैंड[1].r == 1) && (हैंड[0].r == 0))
		सीधा = 1;
	अन्य
		सीधा = 0;
	यदि ((सीधा > 0) और (फ्लश > 0))
		2197 * 5 + सीधा लौटाएं;
	अन्यथा यदि (हाथ[2].r == हाथ[0].r)
		2197 * 4 + हाथ[0].r लौटाएँ;
	अन्यथा यदि (सीधी रेखा > 0)
		2197 * 3 + सीधा लौटाएं;
	अन्यथा यदि (फ्लश > 0)
		2197 * 2 + फ्लश लौटाएँ;
	अन्यथा यदि (हाथ[2].r == हाथ[1].r)
		2197 + 13 * हाथ[1].r + हाथ[0].r लौटाएँ;
	अन्यथा यदि (हाथ[0].r == हाथ[1].r)
		2197 + 13 * हाथ[1].r + हाथ[2].r लौटाएँ;
	अन्य
		वापसी 169 * हाथ[2].r + 13 * हाथ[1].r + हाथ[0].r;	
}
एच>