بر زدن کارت با پایتون

به دوره آموزش پایتون خوش آمدید. برای رفتن به اولین جلسه این دوره، اینجا کلیک کنید. جلسه قبل درمورد بخش دوم بازی با کارت صحبت کردیم. در این بخش میخواهیم متد بر زدن کارت ها را روی کلاس deck پیاده سازی کنیم. برای اینکه مطمئن شویم دسته ی کارت ما به خوبی بر میخورد باید الگوریتمی مناسب روی آن پیاده سازی کنیم که این کار را به خوبی انجام دهد. الگوریتم مناسب به این صورت است که باید کارت ها را یکبار پیمایش کنیم و هر کارت را با یک کارت تصادفی بعد از خودش جا به جا کنیم. پس به یک حلقه نیاز داریم که درون حلقه یک عدد تصادفی میسازیم در نهایت دو کارت را جا به جا میکنیم.

در این قسمت به تابع randrange از کتابخانه random نیاز داریم پس در ابتدای برنامه آن را import میکنیم:

from random import randrange

در اصطلاحات کارت بازی به بر زدن shuffle میگویند. پس یک تابع درون این کلاس مینویسیم و اسم آن را shuffle میگذاریم. سپس تعداد کارت هایی که داریم را در یک متغیر میریزیم( در اینجا nCards) و حلقه را باز میکنیم تا کارت ها را پیمایش کنیم:

class Deck:
...
    def shuffle(self):
        nCards = len(self.cards)
        for i in range(nCards):
            rnd = randrange(i, nCards)
            self.cards[i], self.cards[rnd] = self.cards[rnd], self.cards[i]

درون حلقه یک عدد تصادفی از خود i تا عدد nCards انتخاب میشود و در متغیر rnd ریخته میشود. در آخر هم جای این دو کارت عوض میشود. حالا میتوانیم با دستور deck.shuffle() کارت ها را بر میزنیم.

ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *