Arama butonu
Bu konudaki kullanıcılar: 1 misafir
1
Cevap
366
Tıklama
0
Öne Çıkarma
C# bilgisayardan rastgele resim
M
10 yıl
Er
Konu Sahibi

Merabalar resim eşletirme oyunu hazırladım, 4x4 luk bir oyun kullanıcı ilk etapta kendi iki kutu seçiyor doğruysa kapanıyor yanlışsa sıra bilgisayara geçiyor ve bilgisayar iki resmi seçiyor durum bu şekilde ilerliyor hepsi açılınca kazanan kişi messagebox ile söyleniyor kazanan taraf.

Gelelim benim takılı kaldığım kısma ben şimdilik sadece tek taraflı oynatabiliyorum bu oyunu kullanıcı yanlış yaptığında bilgisayarın seçmesi gereken iki resmi yaptırıp oyunu devam ettiremiyorum.

Yardımlarınızı bekliyorum teşekkürler şimiden.



W
10 yıl
Binbaşı

quote:

Orijinalden alıntı: mhmtsvr

Merabalar resim eşletirme oyunu hazırladım, 4x4 luk bir oyun kullanıcı ilk etapta kendi iki kutu seçiyor doğruysa kapanıyor yanlışsa sıra bilgisayara geçiyor ve bilgisayar iki resmi seçiyor durum bu şekilde ilerliyor hepsi açılınca kazanan kişi messagebox ile söyleniyor kazanan taraf.

Gelelim benim takılı kaldığım kısma ben şimdilik sadece tek taraflı oynatabiliyorum bu oyunu kullanıcı yanlış yaptığında bilgisayarın seçmesi gereken iki resmi yaptırıp oyunu devam ettiremiyorum.

Yardımlarınızı bekliyorum teşekkürler şimiden.

Merhaba,
Benim aklıma gelen iki yol var;
1. si tamamen rastgele yaparsın, örneğin;
int secim1x = rnd.Next(0, 4);
int secim1y = rnd.Next(0, 4);
int secim2x = rnd.Next(0, 4);
int secim2y = rnd.Next(0, 4);
//Aynı gelmeleri ihtimali;
while (secim2x == secim1x && secim2y == secim2y)
{
secim2x = rnd.Next(0, 4);
secim2y = rnd.Next(0, 4);
}
//Seçilen resimler aynı mı?
if (resimMatrisi[secim1x][secim1y] == resimMatrisi[secim2x][secim2y])
{
//BILGISAYAR BILDI!
}

2. yöntem ise biraz daha uzun sürer,
Mantık şöyle: Seçilen ikililerden doğru olmayanları bir kenarda saklıyorsun (örneğin 1,3 ile 2,0 seçildi ve eşleşmedi, bunu bir liste ekliyorsun ikili halinde.
Daha sonra yukarıdaki gibi random yapıp bir while'a daha sokuyorsun. O while da şunu kontrol ediyor:
Yeni ürettiğim ikili (secim1x, secim1y) ; (secim2x, secim2y) eşleşmeyenler listimde var mı?
Varsa (ve var olduğu sürece, while) yeniden sallama yapıyor.

2.'nin başarılı olma ihtimali daha çok, ama yapması biraz daha zor 1'e kıyasla.



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.