Jump to content

C# Ta Oyun Yapımı


burak29
 Share

Recommended Posts

Çok Özür Dilerim Kardeşim Hata Bendeymiş bendeki oyunu başlat tuşuna önceden yerleştirdiğim random sayı üreten kod vardı onu silmeyi unutmuşum ekranda görünen sayı ile ilk açılışta verilen random sayı,butona tıklayıncada yeni bir random sayı belirleniyor ama label2 ye yazdırılmıyor bu yüzden hata varmış gibi gözüküyor tüm yardımlarınız için teşekkür ederim sizede çok zahmet verdim iyi günler..

Link to comment
Share on other sites

  • Replies 65
  • Created
  • Last Reply

Top Posters In This Topic

Kardeşim tekrar yazmak zorunda kaldım hocaya götürdüm ödevi geldi bu seferde random seçilen sayılar birbirinden farklı sayılar olacakmış yani 1123 olamaz ama 1234 olabilir bunun gibi yani random seçilen sayıda aynı rakamlar olmayacakmış böyle birşey çıkardı şimdide kafayı yiyeceğim nasıl yapabiliriz acaba diğer herşey aynı olacak sadece random sayıda aynı rakamlardan kullanmayacağız ?

Link to comment
Share on other sites

[quote name='faruk15725' date='21 January 2012 - 15:06 ' timestamp='1327151204' post='1143836']
sayılırı string bir deşiken ata ve string değişkenlerin dizi özeliği var hepsi sıra ile kontrol et :)
[/quote]

Yukarıdaki BarBarYan nın verdiği koda göre kodları bana yazabilir misin ?

Link to comment
Share on other sites

[quote name='TuTaMixx' date='19 January 2012 - 21:01 ' timestamp='1327006903' post='1143156']
Kardeşim tekrar yazmak zorunda kaldım hocaya götürdüm ödevi geldi bu seferde random seçilen sayılar birbirinden farklı sayılar olacakmış yani 1123 olamaz ama 1234 olabilir bunun gibi yani random seçilen sayıda aynı rakamlar olmayacakmış böyle birşey çıkardı şimdide kafayı yiyeceğim nasıl yapabiliriz acaba diğer herşey aynı olacak sadece random sayıda aynı rakamlardan kullanmayacağız ?
[/quote]
...
Şifreyi doğrudan oluşturacak satırı silip
Tek tek birbirinden farklı 4 rakam oluşturup bunları birleştirip şifreyi elde edin.
...
Silinecek Satırlar
..
[code]
sifre = Convert .ToString (sayi.Next(1000, 9999));
[/code]
Yerine eklenecek satırlar
[code]
while(true)
{
//Random şifre üretiliyor
int gecici = sayi.Next(1000, 9999);
label1.Text = Convert.ToString(gecici);

--------------->sifre = Convert.ToString(gecici);

//Şifre basamaklarına ayrılıyor
int birler = gecici % 10;
int onlar = (gecici % 100) / 10;
int yuzler = (gecici % 1000) / 100;
int binler = gecici / 1000;
//Basamaklar birbirinden farklıysa while döngüsü bitiyor.
//Basamaklardan en az 1 tanesi aynıysa başa dönüp yeni şifre üretiyor
if ((binler != yuzler) && (binler != onlar) && (binler != birler))
{
break;
}
}

[/code]
Doğru kodlar eklendi

Edited by BaRBaRYaN
Link to comment
Share on other sites

[quote name='BaRBaRYaN' date='21 January 2012 - 23:23 ' timestamp='1327181011' post='1144036']
...
Şifreyi doğrudan oluşturacak satırı silip
Tek tek birbirinden farklı 4 rakam oluşturup bunları birleştirip şifreyi elde edin.
...
Silinecek Satırlar
..
[code]
sifre = Convert .ToString (sayi.Next(1000, 9999));
[/code]
Yerine eklenecek satırlar
[code]
int[] sifrex = new int[4];
for (int t = 0; t < 4; t++)
{
if (t == 0)
{
sifrex[t] = sayi.Next(0, 9);
}
else
{
for (int k = 0; k < t; k++)
{
if (sifrex[t] == sifrex[k])
{
sifrex[t] = sayi.Next(0, 9);
}
}
}

}
sifre = Convert.ToString(sifrex[0] * 1000 + sifrex[1] * 100 + sifrex[2] * 10 + sifrex[3]);
[/code]
[/quote]

yardımın için teşekkürler ancak verdiğin kodları eklediğimde random sayı bazen 3 haneli bazen 2 haneli oluyor artı olarak sayı dört haneli geldiğinde daima 2. basamak 0 değerini alıyor kodda ne gibi bir yanlışlık var acaba ? benim istediğim sadece bu 4 rakam içinde aynılarından olmayacak yani random sayının içindeki sayılar tekrar etmeyecek.

Link to comment
Share on other sites

[quote name='TuTaMixx' date='21 January 2012 - 21:55 ' timestamp='1327182910' post='1144055']
yardımın için teşekkürler ancak verdiğin kodları eklediğimde random sayı bazen 3 haneli bazen 2 haneli oluyor artı olarak sayı dört haneli geldiğinde daima 2. basamak 0 değerini alıyor kodda ne gibi bir yanlışlık var acaba ? benim istediğim sadece bu 4 rakam içinde aynılarından olmayacak yani random sayının içindeki sayılar tekrar etmeyecek.
[/quote]
Doğru kodlar 1 üstteki mesaja eklendi. Sadece YERİNE KONULACAK kısmını verdiğim yeni kodlarla değiştir.

Link to comment
Share on other sites

hmm peki bu kodlarda sadece binler basamağıyla diğer basamkları karşılaştırıyor ama onlar basamağıyla birler basamağını vesaire karşılaştırmıyor değilmi çünkü benim istediğim bi kere geçen sayı birdaha tekrar etmeyecek sayının içerisinde yani sayının için rakamlardan sadece bir tane olacak

Link to comment
Share on other sites

verdiğin kodda şu bölümü değiştirerek sonuca ulaştım teşekkür ederim yardımların için :))

[quote]if ((binler != yuzler) && (binler != onlar) && (binler != birler && (yuzler!=onlar)&& (yuzler!=birler)&& (onlar!=birler)))[/quote]

Link to comment
Share on other sites

verdiğin kodları ekledim ancak şöyle bi hata meydana geldi projeyi uploadladım :
https://rapidshare.com/files/4227934169/BilBakalım.rar

ordaki gecici değişkenini adını aranan_sayi yaptığımdada hata vermekte nasıl düzelteceğiz ? program derlenirken hata vermiyor ancak tahmin yapılınca bu hata çıkıyor.

Edited by TuTaMixx
Link to comment
Share on other sites

[quote name='TuTaMixx' date='22 January 2012 - 18:18 ' timestamp='1327256319' post='1144407']
verdiğin kodları ekledim ancak şöyle bi hata meydana geldi projeyi uploadladım :
https://rapidshare.com/files/4227934169/BilBakalım.rar

ordaki gecici değişkenini adını aranan_sayi yaptığımdada hata vermekte nasıl düzelteceğiz ? program derlenirken hata vermiyor ancak tahmin yapılınca bu hata çıkıyor.
[/quote]
..
gecici değişkenin adını neden değiştiriyorsun. sana gönderdiğim haliyle çalışıyor. sadece söylediğin gibi onlar != yüzler diye eklemediğim kısımları eklemen yeterli.

proje tek bir yerde hata verebilir. o da hiç bir karekter girişi yapmadan butona tıklarsan. girilen 0 karakterli olduğu için hata verir. en az 4 karakterlik bilgi girişi yapman gerek. o da basit bir kontrol kodu ile düzeltilir.

Link to comment
Share on other sites

dosyayı indirip çalıştırmayı denedin mi ? evet verdiğin kod çalışıyor ancak diğer kodlarla uyumlu olarak çalışmıyor gecici değişkeni olarak duruyor ancak öylede hata veriyor derleme aşamasında vermiyor ancak 4 haneli bir rakam girip tahmin et diyince hata veriyor .zaten textBox ı boş bırakamazlar çünkü boş bıraktıklarında uyarı vermesi için kod yazmıştım oraya

Link to comment
Share on other sites

[quote name='TuTaMixx' date='22 January 2012 - 19:21 ' timestamp='1327260102' post='1144444']
dosyayı indirip çalıştırmayı denedin mi ? evet verdiğin kod çalışıyor ancak diğer kodlarla uyumlu olarak çalışmıyor gecici değişkeni olarak duruyor ancak öylede hata veriyor derleme aşamasında vermiyor ancak 4 haneli bir rakam girip tahmin et diyince hata veriyor .zaten textBox ı boş bırakamazlar çünkü boş bıraktıklarında uyarı vermesi için kod yazmıştım oraya
[/quote]
Gerekli düzenleme yapıldı. ön sayfadaki mesajda aşağıdaki kodu nereye yazacağını gösterdim.
..
--------------->sifre = Convert.ToString(gecici);
..

Link to comment
Share on other sites

Biz bu oyunu orta okulda iken kağıt kalemle oynar, birbirimizin tuttuğu sayıyı bilmeye çalışırdık.

Ancak kişinin aklından tuttuğu sayı (ve karşısındakinin sayısını tahmin etmek için söylediği sayılar) 4 basamaklı, her basamağı birbirinden farklı, ilk basamağı da 0'dan farklı idi.

Tutulacak sayıya ve tahmin sayılarına yukarıdaki yasakları tanımlamalısın bence.

Link to comment
Share on other sites

[quote name='edenizli100' date='23 January 2012 - 01:25 ' timestamp='1327274721' post='1144569']
Biz bu oyunu orta okulda iken kağıt kalemle oynar, birbirimizin tuttuğu sayıyı bilmeye çalışırdık.

Ancak kişinin aklından tuttuğu sayı (ve karşısındakinin sayısını tahmin etmek için söylediği sayılar) 4 basamaklı, her basamağı birbirinden farklı, ilk basamağı da 0'dan farklı idi.

Tutulacak sayıya ve tahmin sayılarına yukarıdaki yasakları tanımlamalısın bence.
[/quote]

evet şimdi dediğiniz yasaklamaları getirdim başında 0 la başlayan rakam yazılamaz ve rakamlar birbirinden farklı olmak zorunda önerileriniz için teşekkür ederim.ayrıca BaRBaRYaN arkadaşımada yardımlarından dolayı çok teşekkür ederim.

Link to comment
Share on other sites

Bu konuyu takip etmiyodum fakat görüyodum.Şimdi bi gireyim ne var ne yok diye.Çok şaşırdım :D Çünkü arkadaşlarımda benden böyle bi oyun yapmamı istediler.Bende onu yazıyodum.Projesini vereyim sende bişiler al ordan.

[code]https://rapidshare.com/files/3843415481/OyunDeneme.MostWanted.tnctr.com.zip[/code]

Not:Hiç bi C# eğitimi almadım o yüzden kodlarıma gülmeyin :D İçinde istediğin her şey var sanırım (Rakamları farklı sayı falan başında 0 olmadan).Mantık şu ki tutulan sayı ile yazılan sayının rakamları aynı yerdeyse + var ama farklı yerdeyse - yazıyor.Kolay gelsin.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.


×
×
  • Create New...