Poker qo'lini simulyatsiya qilish: birinchi qism | ExcelVBAC hisoblash

ExcelVBAC hisoblash

Poker - bu butun dunyoda juda mashhur karta o'yini. Poker qo'li beshta kartadan iborat bo'lib, o'yinchilar boshqalarni qo'l kuchiga ishontirish uchun asta -sekin yuqori garovlar qo'yadilar. Dunyoning ba'zi joylarida o'yinning uchta kartali versiyasi ko'proq mashhur, masalan, Teen Patti…
08.09.2021

Poker - bu butun dunyoda juda mashhur karta o'yini. Poker qo'li beshta kartadan iborat bo'lib, o'yinchilar boshqalarni qo'l kuchiga ishontirish uchun asta -sekin yuqori garovlar qo'yadilar. Dunyoning ba'zi joylarida o'yinning uchta kartali versiyasi ko'proq mashhur, masalan Hindistonda Teen Patti . Ushbu blog postida men Excel -da poker qo'lini qanday taqlid qilishni ko'rsatmoqchiman.

Simulyatsiya qilish orqali men shuni aytmoqchimanki, har safar Excel poker qo'lini ishlatganda, u avvalgi qo'ldan farq qiladi, xuddi haqiqiy karta bilan ishlangan qo'l. Poker qo'llari ketma -ket taqsimlanishidagi farqga RAND () tasodifiy funktsiyasi yordamida erishiladi. Bu funksiyaning argumenti yo'q (kiritish) va har safar elektron jadval ochilganda yoki yangi ma'lumotlar kiritilganda har xil natija/chiqishni beradi. Chiqish har doim 0-1 oralig'ida, har qanday qiymat 0-1 oralig'ida, RAND funktsiyasining chiqishi sifatida paydo bo'lish ehtimoli teng.

Simulyatsiya bosqichlari

1 -qadam: Karta taxtasini yarating

Birinchi qadam - poker qo'llari bilan ishlash uchun ishlatiladigan kartalar dastasini simulyatsiya qilish. Buni amalga oshirish uchun ♠ A, ♥ A, ♣ A, ♦ A, ♠ 2,…, ♦ K kiriting, I2: I53 dan aytaylik, 52 ta kartani ifodalaydi. Karta kostyumining belgilarini kiritish uchun Insert >>Symbolsbuyrug'idan foydalaning va kiritishni amalga oshirish uchun karta kostyumining belgilarini toping.

Agar biz kartalarni yurakdan va olmosdan yasalgan kostyumlarni qizil rangda ranglay olsak, bizning kartalarimiz yaxshi ko'rinadi. Shrift rangini qo'lda o'zgartirish mumkin bo'lsa -da, biz buni butun varaqqa qo'llaniladigan shartli formatlash yordamida qilamiz. Shartlarni formatlash formulasi = OR (LEFT (A1) = ”♥”, LEFT (A1) = ”♦”); u asosan hujayradagi eng chap belgi yurakmi yoki olmos belgisi ekanligini tekshiradi, shrifti rangini qizil rangga qo'yish kerakmi yoki yo'qligini hal qiladi.

2 -qadam: Karta kartasini aralashtiring

J2 yacheykaga = RAND () formulasini kiriting va uni J53 yacheykaga oxirigacha ko'chiring. Bu I2: I53 dagi pastki qismdagi har bir kartaga tasodifiy sonni belgilashga olib keladi. Kemani aralashtirish uchun biz RANK.EQ funktsiyasidan foydalanamiz. Bu funksiya Excelning oldingi versiyalarining RANK funktsiyasini almashtiradi. [Oldingi funktsiyada darajani aniqlashda rishtalar bilan tartiblashda muammolar bor edi] RANK.EQ funktsiyasining maqsadi raqamlar ro'yxatida berilgan raqamning unvonini chiqarishdir. RANK.EQ funktsiyasining sintaksisi - RANK.EQ (raqam, mos yozuvlar qatori, [tartib]), bu erda "raqam" - "mos yozuvlar qatori" argumenti tomonidan berilgan ro'yxatdagi pozitsiyasi qaytariladigan argument. "Buyurtma" argumenti ixtiyoriy; agar o'tkazib yuborilgan bo'lsa, bu daraja mos yozuvlar qatorini kamayish tartibiga asoslangan. Ixtiyoriy argument 1 ga o'rnatilganda,daraja mos yozuvlar massivini o'sish tartibida saralash orqali hisoblanadi. Agar A1: A5 katakchalari 2, 9, 6, 13 va 4 raqamlarini o'z ichiga olgan bo'lsa, = RANK.EQ (A2, A1: A5) formulasi A2 sonini 2 ga qaytaradi, chunki siz 2 -chi saralashda 9 ikkinchi o'rinni egallaydi. , 9, 6, 13 va 4 - yuqoridan pastgacha. Boshqa tomondan, = RANK.EQ (A2, A1: A5,1) A2 reytingini 4 ga qaytaradi, chunki 9 eng pastdan yuqoriga qarab to'rtinchi o'rinni egallaydi. Shunday qilib, aralashtirish uchun K2 katakka = RANK.EQ (J2, $ J $ 2: $ J $ 53) formulasini kiriting va uni K53 yacheykaga ko'chiring. Bu bosqichda biz karta taxtasini yaratdik va uni aralashtirdik. Quyidagi rasmda Excel ishchi varag'i bu bosqichda qanday ko'rinishda bo'lishi ko'rsatilgan.A5) A2 raqamini 2 ga qaytaradi, chunki 9, 2, 9, 6, 13 va 4 ni yuqoridan pastgacha tartiblashda ikkinchi o'rinni egallaydi. Boshqa tomondan, = RANK.EQ (A2, A1: A5,1) A2 reytingini 4 ga qaytaradi, chunki 9 eng pastdan yuqoriga qarab to'rtinchi o'rinni egallaydi. Shunday qilib, aralashtirish uchun K2 katakka = RANK.EQ (J2, $ J $ 2: $ J $ 53) formulasini kiriting va uni K53 yacheykaga ko'chiring. Bu bosqichda biz karta taxtasini yaratdik va uni aralashtirdik. Quyidagi rasmda Excel ishchi varag'i bu bosqichda qanday ko'rinishda bo'lishi ko'rsatilgan.A5) A2 raqamini 2 ga qaytaradi, chunki 9, 2, 9, 6, 13 va 4 ni yuqoridan pastgacha tartiblashda ikkinchi o'rinni egallaydi. Boshqa tomondan, = RANK.EQ (A2, A1: A5,1) A2 reytingini 4 ga qaytaradi, chunki 9 eng pastdan eng yuqori darajaga qarab to'rtinchi o'rinni egallaydi. Shunday qilib, aralashtirish uchun K2 katakka = RANK.EQ (J2, $ J $ 2: $ J $ 53) formulasini kiriting va uni K53 yacheykaga ko'chiring. Bu bosqichda biz karta taxtasini yaratdik va uni aralashtirdik. Quyidagi rasmda Excel ishchi varag'i bu bosqichda qanday ko'rinishda bo'lishi ko'rsatilgan.biz karta taxtasini yaratdik va uni aralashtirdik. Quyidagi rasmda Excel ishchi varag'i bu bosqichda qanday ko'rinishda bo'lishi ko'rsatilgan.biz karta taxtasini yaratdik va uni aralashtirdik. Quyidagi rasmda Excel ishchi varag'i bu bosqichda qanday ko'rinishda bo'lishi ko'rsatilgan.

3 -qadam: Poker qo'lini chizish

Kemani aralashtirib, endi biz kemadan beshta kartani chiqaramiz. Buning uchun biz ikkita funktsiyadan foydalanamiz, MATCH va OFFSET.

MATCH funktsiyasi MATCH (lookup_value, lookup_array, [match_type]) shakliga ega, bu erda lookup_value - biz moslamoqchi bo'lgan qiymat va lookup_array - mos keladigan qidiriladigan hujayralar diapazoni. Biz search_array tartiblangan qator emasligini ko'rsatish uchun 0 ga teng ixtiyoriy argumentni ishlatamiz. LOOKUP funktsiyasidan farqli o'laroq, Match funktsiyasi tartiblangan tartibda search_values ​​qatorini talab qilmaydi. Shuning uchun bu holatda to'g'ri tanlov. MATCH funktsiyasidan foydalanib, biz K2: K53 uyalar oralig'ida topamiz, eng yaxshi beshta kartochkalar. Yuqori o'rinni (1 -o'rin) aniqlash uchun biz MATCH (1, $ K2: $ K53,0) ifodasini ishlatamiz. 2-4 darajalar uchun biz faqat MATCH ifodasining birinchi argumentini o'zgartiramiz. Reytingdagi birinchi beshtalik kartalari o'rniga,MATCH ifodasida birinchi dalilni to'g'ri ko'rsatish orqali siz tanlagan boshqa darajadagi kartalar bilan shug'ullanishingiz mumkin.

OFFSET funktsiyasi mos yozuvlar katakchasiga nisbatan bitta katak yoki hujayralar oralig'ini qaytarish uchun ishlatiladi. OFFSET funktsiyasining sintaksisi OFFSET (havola, satrlar, ustunlar, [balandlik], [kenglik]). Birinchi uchta dalil talab qilinadi. Birinchi argument, mos yozuvlar, mos yozuvlar katakchasini bildiradi. Ikkinchi va uchinchi dalillar, satr va ustun, qiymati qaytarilishi kerak bo'lgan katak va qatordan qancha masofani belgilaydi. Agar biz hujayra diapazonini qaytarishni xohlasak, balandlik va vaznning ixtiyoriy dalillari kerak. Shunday qilib, = OFFSET (C4, 2, -1) formulasi B6 katakchasining mazmunini qaytaradi, u ikki satr pastda va bitta ustun C4 ko'rsatilgan mos yozuvlar katakchasining chap tomonida bo'ladi.

MATCH funktsiyasi K2: K53 dagi beshta reytingli kartalarning joylashishini ko'rsatsa, haqiqiy kartalar I2: I53 qatorida joylashgan. Shunday qilib, biz kartani birinchi o'ringa qo'yish uchun quyidagi formuladan foydalanamiz:

Biz ushbu formulani kiritamiz, aytaylik A3 katakchasida, biz birinchi ochilgan kartani ko'rsatmoqchimiz. Ustun ofset qiymati 0 ko'rsatilgan, chunki bizning kartalarimiz I2: I53 da joylashgan. Ikkinchi o'rinni egallagan kartani olish uchun biz B3 katakchaga formulani kiritamiz

Xuddi shunday, biz simulyatsiya qilingan poker qo'lining qolgan uchta kartasini ko'rsatish uchun C3: E3 hujayralaridagi OFFSET funktsiyasidan foydalanib, boshqa uchta formulani kiritamiz. Formulalar kiritilganda, bizning ish varagimiz quyida ko'rsatilganga o'xshaydi.

Bu vaqtda biz A3: E3 katakchalarida poker bilan shug'ullanganmiz. Siz yangi qo'lni F9 tugmachasini bosib bosishingiz mumkin. Poker qo'lini taqlid qilishni taqlid qilib, ko'p sonli qo'llar bilan shug'ullanish va bitta juftlik yoki ikkita juftlik yoki to'liq uy necha marta paydo bo'lishini aniqlash qiziq bo'lardi. Men keyingi blog postimda buning uchun sozlanganlarni ko'rsataman.

Onlayn kazino
O'yin -kulgi avtomatlari
Onlaynkazino

Bizning yangiliklarimizga obuna bo'lish orqali birinchi eksklyuziv taklifni oling va eng yaxshi onlayn kazinolarda har kungi ajoyib chegirmalarimizdan foydalaning!