PHP ile futbol oyunu kodlarken bazı değerler ile maç skorunu nasıl belirlerim?

Mucosoft

Megapat
Katılım
5 Mart 2014
Mesajlar
5.585
Makaleler
12
Çözümler
41
Güç, enerji, motivasyon ve maç başına alınan ücret değişkenleri var. Enerji ve motivasyon 100'e kadar çıkıyor. Maç başına alınan ücret ve güç ise sınırsız. Güç, oyuncunun tecrübe seviyesi.

Bu 4 veriyi kullanarak 2 takım arasındaki skoru nasıl belirlerim? Bot ile bir kod yazdım fakat çok abartılı sonuçlar oluşuyor. Ben daha düzgün bir yapı istiyorum. Tavsiyelerinizi bekliyorum.
 
Güç, enerji, motivasyon ve maç başına alınan ücret değişkenleri var. Enerji ve motivasyon 100'e kadar çıkıyor. Maç başına alınan ücret ve güç ise sınırsız. Güç, oyuncunun tecrübe seviyesi.

Bu 4 veriyi kullanarak 2 takım arasındaki skoru nasıl belirlerim? Bot ile bir kod yazdım fakat çok abartılı sonuçlar oluşuyor. Ben daha düzgün bir yapı istiyorum. Tavsiyelerinizi bekliyorum.

Botun yazdigi skoru sınırlamayı denediniz mi mesela skor maksimum 5 olsun gibi.
 
Bir takımın gücü, enerji ve motivasyonuna bağlı olarak artabilir. Bu sebeple;
(Güç * Enerji) / 100 + (Güç * motivasyon) / 100 -> burada gücü enerji ve motivasyon ile sınırlandırdık ama enerji ve motivasyonu birbirinden bağımsız hale getirdi. Bu hoşuma gitmedi.
Farklı olarak;
Güç * (enerji / 100) * (motivasyon / 100) -> Burada da gücü yine enerji ve motivasyona bağladık ve enerji ve motivasyon birbiri ile bağımlı hale geldi.

Ama güç ile çarpmak iki takım arasındaki karşılaştırmayı doğru yapmaz. Bize ortak bir güç lazım.
İstatistik, veri madenciliği gibi alanlarda normalizasyon kullanılır. Bu sayede bir verinin veri setine oranı basitçe bulunur.
Ama bizim elimizde sadece 2 değişken var. Ve bunlar birbiri ile bağlamak istiyoruz. O halde bir takımın gücünü diğer takımın gücü ile sınırlandıracağız. Başka bir yöntem aklıma gelmedi. Sonuç olarak;
fark = abs(GüçA, GüçB)
GüçA = GüçA / fark
GüçB = GüçB / fark
elde edilir.
Yeni formül;
Güç{A,B} * (enerji / 100) * (motivasyon / 100)

Bu sayede takımların güçleri 0 ile 1 arasında olacak. Ve birbiri ile kıyaslama yapılabilecek.

Güzel! Bu seni baya bir senaryo üretmene olanak tanır.

Peki ücret nedir? Nasıl bir etkiye sahip? Bilmiyorum aka kafamda oluşan senaryoya göre;
Ücret motivasyonu arttırabilir. Ama enerjiyi arttırmaz. Bu sebeple yukarıdaki algoritmayı;
Güç{A,B} * (enerji / 100) * (minmax(0, (motivasyon / 100 + (takımÜcreti / toplamÜcret)), 1)

Ve yine bu şekilde 0-1 arasında kalıyorsun.
Max skor 10 ise;
SkorA = A * 10
SkorB = B * 10

Örnek senaryo;
A; güç: 250, enerji: 60, motivasyon: 30, ücret: 1000
B; güç: 100, enerji: 80, motivasyon 50, ücret: 2000

A için;
1.66 * 0.6 * (0.3 +0.33) * 10 = 6

B için;
0.66 * 0.8 * (0.5 + 0.66) * 10 = 6

Berabere : )

20 dakika da olsun beni işimin başından kaldırdın. İyi geldi : )
 
@RaSGooL, verdiğin cevap için teşekkür ediyorum. Benim sayemde beyin egzersizi yapmış oldun. ;)

Çok güzel bir formül bulmuşsun, skor tahmini de iyi. Olasılıklar da işin içine katılmalı. Hep güçlü olan kazanmaz. :)
 
Hocam hepsini yapay zekaya mı yaptırdınız?
Güzel fikir, bunu düşündüm ama ben kod yazmayı seviyorum. Yalnızca bazı kısımları yazdırıyorum.

Örneğin bu sistemi kodlarken back-end yani arkaplan kısmını genellikle ben kodladım. Sadece skor tahmini gibi bazı kısımlardan destek istedim. Front-end yani kullanıcı arayüzünü bota kodlattım. Benden iyi tasarım kodu yazıyor. Kendisini takdir ettim. :)

Sonuç olarak ChatGPT, web sitemde front-end olarak işe başladı.
 
Güzel fikir, bunu düşündüm ama ben kod yazmayı seviyorum. Yalnızca bazı kısımları yazdırıyorum.

Örneğin bu sistemi kodlarken Back-End yani arka plan kısmını genellikle ben kodladım. Sadece skor tahmini gibi bazı kısımlardan destek istedim. Front-End yani kullanıcı arayüzünü bota kodlattım. Benden iyi tasarım kodu yazıyor. Kendisini takdir ettim. :)

Sonuç olarak ChatGPT, web sitemde Front-End olarak işe başladı.

Bende front endde kötüyüm ama kodu kendi yazmanin da ayrı bir havası var :)
 
Son düzenleyen: Moderatör:

Yeni konular

Geri
Yukarı