Arkadaşlar, iyi akşamlar.

Aşağıdaki gibi ana sınıf Oyuncu, alt sınıf ise özellikler diye class oluşturdum. 3 karakterim var ve bu karakterin özelliklerine göre r(random) sayı atamasını yaptım. Buraya kadar güzel. Ben VurusYap fonksiyonunda çalıştırıyorum. "1" Tekme seçtikten sonra random sayı atıyor tekrar "1" seçince önceki random sayıyı hafıza da tutuyor ve tekrar döndürüyor. Ben farklı sayı atamasını istiyorum. Nasıl yapabilirim?

Halbuki self.Yumruk (r(12, 15)) değerleri döndürüyorum. İlkinde dönüyor ikinci de dönmüyor. Diğer elif değerleri de aynı şekilde.

from random import randint as r

class Oyuncu:
def __init__(self, kullaniciAdi, *args, level=0, can=100, enerji=0, **kwargs):
self.KullaniciAdi = kullaniciAdi
self.Level = level
self.Can = can
self.Enerji = enerji


class Ozellikler(Oyuncu):
def __init__(self, yumruk, tekme, tokat, tukur, sac, *args, **kwargs):
self.Yumruk = yumruk
self.Tekme = tekme
self.Tokat = tokat
self.Tukurme = tukur
self.SacCekme = sac
super().__init__(*args, **kwargs)
def __str__(self):
return "Kullanıcı adı: {}\nYumruk Ortalama Vuruş: {}\nTekme Ortalama Vuruş: {}\nTokat Ortalama Vuruş: {}\nTükürme Ortalama Vuruş: {}\nSaç Çekme Ortalama Vuruş: {}\nLevel: {}\nCan: {}\nEnerji: {}".format(self.KullaniciAdi, self.Yumruk, self.Tekme, self.Tokat, self.Tukurme, self.SacCekme, self.Level, self.Can, self.Enerji)

def VurusYap(self):
while True:
Vurus = input("Nasıl canını acıtmak istersin(Topuk Yapmak istersen 'ESC' basabilirsin):\n1- Yumruk At\n2- Tekme At\n3- Tokat At\n4- Suratına Tükür\n5- Saçını Çek")

if Vurus == "1":
self.Yumruk
print("Yumruk Değeri: {}".format(self.Yumruk)
)
continue
elif Vurus == "2":
self.Tekme
print("Tekme Değeri: {}".format(self.Tekme))
continue
elif Vurus == "3":
self.Tokat
print("Tokat Değeri: {}".format(self.Tokat))
continue
elif Vurus == "4":
self.Tukurme
print("Tükürme Değeri: {}".format(self.Tukurme))
continue
elif Vurus == "5":
self.SacCekme
print("Saç Çekme Değeri: {}".format(self.SacCekme))
continue
elif Vurus == "ESC":
print("Korkak kaçtın ve oyunu kaybettin...")
break


Merve = Ozellikler(r(12, 15), r(20, 24), r(8, 10), r(5, 8), r(1, 3), "Merve")
Didem = Ozellikler(r(5, 9), r(11, 15), r(4, 7), r(2, 4), r(3, 6), "Didem")
Elif = Ozellikler(r(15, 19), r(25, 29), r(9, 11), r(1, 2), r(1, 2), "Elif")

Merve.VurusYap()