Jump to content

C# Ta Oyun Yapımı


burak29
 Share

Recommended Posts

merhaba arkadaşlar bilişim bölümünde okumaktayım lise 2 deyim hoca performans ödevi olarak benden bir oyun yapmamı istedi oyun c# ta tasarlanıcak. oyundan biraz bahsedeyim bilgisayar rastgele 4 haneli bir sayı üretecek kullanıcıdan bir sayı girilmesi istenilecek ve bilgisayarın ürettiği sayıyı bulmaya çalışacak tabi buda zor bir iş olduğundan dolayı kullanıcıya bazı yardımlar gerek bu yardımlar ise girilen sayının içindeki rakamlardan bilgisayarın ürettiği rakamların içinde geçiyorsa +1 ve ya -1 şeklinde ekrana mesaj yazdırılması gerekiyor bir resimle açıklama istiyorum

[img]http://a1201.hizliresim.com/t/8/1nx7n.jpg[/img]

böyle özelliklere sahip bir oyun yapmak istiyorum ancak c# konusunda çokta fazla bir bilgim yok nereden başlamalıyım neler yapmam gerektiğine dair bana yardımcı olabilir misiniz ?
Link to comment
Share on other sites

  • Replies 65
  • Created
  • Last Reply

Top Posters In This Topic

[quote name='ornx' date='08 January 2012 - 20:18 ' timestamp='1326053922' post='1137581']
ben bu oyunu Hoyle Puzzle & Board Games te oynamıştım.
[/quote]

link atabilirmisin en azından tasarım konusunda biraz esinlenirim ordan

Link to comment
Share on other sites

[quote name='burak29' date='09 January 2012 - 14:53 ' timestamp='1326120810' post='1137867']
Arkadaşlar random sayı üretme vs. yaptım ancak +1 -1 olayını nasıl yapacağımı çözemedim yardımcı olabilecek bir üstad yok mu ?
[/quote]

Merhabalar, sayıların 10'dalık basamak istemli olduğunu unutma, bu yollada sayıları ayırabilirsin -sonrada if else sorgusu ile de +1,-1 ifadesi gönderebilisin..

Link to comment
Share on other sites

@galetis senin yaptığın biraz farklı olmuş buraya kadar zaten ben geldim ancak yapamadığım nokta
tahmin edilen sayıdaki rakamlarla bilgisayarın seçtiği sayının içinde geçiyorsa ve sırası aynı veya değilse -1 veya +1 olarak ekrana mesaj yazdıracağım örneğin 6642 bilgisayarın tuttuğu rakamsa,5433 de kullanıcının girdiği rakam sayarsak, ikisindede 4 rakamı geçiyor fakat basamak sırası farklı burda -1 yazılması isteniyor ekrana eğer sıraları tutuyorsada +1 yazdırılmalı birden çok rakam tutuyorsada +1-1+1 şeklinde yazılabilir.

Link to comment
Share on other sites

[quote name='CuMHuR01' date='09 January 2012 - 16:02 ' timestamp='1326124955' post='1137909']
Merhabalar, sayıların 10'dalık basamak istemli olduğunu unutma, bu yollada sayıları ayırabilirsin -sonrada if else sorgusu ile de +1,-1 ifadesi gönderebilisin..
[/quote]

dediğini biraz daha açabilirmisin tam olarak ne yapmalıyım ?

Link to comment
Share on other sites

[quote name='burak29' date='09 January 2012 - 16:46 ' timestamp='1326127612' post='1137933']
dediğini biraz daha açabilirmisin tam olarak ne yapmalıyım ?
[/quote]

istediğin şey [b]"1234"[/b] gibi bir takamın her hanesi için sorgu yaptırmak ise,

[b]1. Yol;[/b]
Tüm sayıları 10'luk sistemden kurtarmak için önce integer sayı istemi kullanarak maksat tam değerler elte etmek, [b]"1000"[/b]e böl bölümü tut, sonra [b]"100"[/b]e böl bölümü tut, sonra [b]"10"[/b]a böl bölümü tut ve sorna elinde [b]"1","2","3","4"[/b] sayıları elte etmiş olursun sonrada klavyeden girilen her değer için sırası ile for ve if sorgusunu içe içe 1 kere kullanarak sonuca ulaşırsın..

[b]2.Yol;[/b]
Rasgele sayıyı tek haneli olarak 4 defa oluşturup, yine tek tek sorguya sokarsın -gösterimde birleştirirsin..

Link to comment
Share on other sites

http://www.tekdosya.com/files/OR54131DH/1607d9889850459b275d76b1828fdbe1/RasgeleSayiUretme.rar.html

Dosyayı upload ettim, umarım istediğin şeyi dğru anlamışımdır.. Dosya üzerinde elimden geldiğince işlemler hakkında açıklama yazdım..

Link to comment
Share on other sites

teşekkür ederim kardeşim çok yardımın dokunda fakat bu işin biraz daha şetrefilli tarafı var demiştim ya diyelimki bilgisayar 6253 tuttu bizde 8644 yazdık burda ortak olarak 6 lar var fakat sıraları değişik sıraları farklı olduğu için ekrana -1 yazdıracağız eğer içinde aynı olan rakam yoksa hiçbir şey yazmamıza gerek yok eğer içinden bir rakam tutturup sırasıda aynı ise +1 yazılacak ama sıraları farklı ise -1 yazılacak bir oyun biraz karışık ama yardımlarınızı bekliyorum :) senin yaptığın programda ise sürekli basamakları kontrol ederek önce 1. basamağı sonra 2.3.4 basamakları buldutturuyorsun ancak bunda öyle değil içinde geçen rakam varsa ve sıraları aynı ise +1 yazılacak sıraları farklı ise -1 yazılacak. umarım anlatabilmişimdir :) ayrıca sen rakamları tek tek aldırtmışsın kullanıcının gireceği rakam 4 haneli olarak tam girilmeli :)

Edited by burak29
Link to comment
Share on other sites

Mesajını 2 gün önce gördüm.. yoğunluktan dolayı yapamadım.. Basit bir şekilde yapmaya çalıştım..

[code]http://www.kbayram.tk/cdn/files/Burak29_tnctr.rar[/code]

Basamak Basamak Kontrol ettirerek bulabilirsin.. En basit mantık böyledir.

Link to comment
Share on other sites

@Kazım sağolasın kardeşim buraya kadar yaptım bende ancak olayı şu sayılar birbirini tutana kadar -1 veya +1 yazmayacak bilgisayar 2754 tutmuşsa ve bizde 8346 girdiysek içlerinde ortak olan 4 rakamı var ancak basamakları farklı bu durumda ekrana -1 yazdırılmalı ancak içinde ortak olanlar olup basamaklarıda aynıysa +1 olarak yazılmalı hoca böyle anlattı iyice kafam karıştı yardımlarınızı bekliyorum..

Link to comment
Share on other sites

kafa karıştırıcı bir oyun 4 haneli random sayı belirlencek sonra kullanıcı sayı girecek içinde ortak sayılar varsa ve basamakları aynıysa +1 yazılacak, ortak sayı olupta basamakları farklıysada -1 yazılacak ekrana

Edited by TuTaMixx
Link to comment
Share on other sites

üstte verdiğim örnekte basamak aynıysa aynı olan basamaklar için +1 +1 -1 +1 biçiminde gösteriyor.. üstteki mesajınızdan böyle anladım..

Sayılar uyuyorsa sadece tek +1 yada -1 çıkartmak için.. aşağıdakini Buton1in koduna yazman yeterli

[codebox]
bool sOlanak = false;
label1.ForeColor = Color.Black;
string sGirilen = textBox1.Text;
if (sGirilen.Length == 4) {
sTahminSayisi++;
label1.Text = "Tutulan Sayı:";
for (int i = 0; i < sGirilen.Length ; i++)
{
if (sTahmin[i] == sGirilen[i])
{
sOlanak = true;
}
if (sTahmin == sGirilen)
{
label1.Text = "Tutulan Sayı: Doğru!";
label1.ForeColor = Color.Green;
MessageBox.Show("Tebrikler "+sTahminSayisi+". denemede Bildiniz.","Tebrikler Sayıyı Bildiniz!");
sTahminSayisi = 0;
break;

}
}
if (sOlanak == true)
{
label1.Text = "Tutulan Sayı:+1";
}
else
{
label1.Text = "Tutulan Sayı:-1";
}
}
else
{
MessageBox.Show("4 haneli Sayı Girin.");
}
[/codebox]

Edited by Kazım
Link to comment
Share on other sites

[code]Random rnd = new Random();
int sayi = rnd.Next(0,6000);[/code]

işlemini zaten biliyorsundur. Bu kısımdan sonra programdaki sayiyi if komutları ve bölme işlemi yardımıyla halledebilirsin.
Rastgele üretilen sayıya yaptığın işlemleri, kullanıcının girdiği işlemlerede uygula. Her bir bölme işlemini bir değişkene ata. Daha sonra karşılaştır.

Link to comment
Share on other sites

@Kazım teşekkürler kardeşim tam istediğim buydu peki bunu tüm sayılar için nasıl yapabiliriz yani içinde 2 tane rakam da aynı tutuyorsa basamakları aynı veya farklıysa onlar içinde +1-1+1+1 gibi sinden yapmak istiyorum yani sadece 1 rakam kontrol etmicek şekilde yani hem bilgisayarın tuttuğu sayıyı tek tek sayılar gibi görecek hemde girdiğimiz sayının basamakları kontrol ederek random sayıda arıcak basamakları tutana +1 tutmayanlara -1 koyacak yani verdiğin örneğin tüm sayılar için geçerli olanı lazım ayrıca tüm yardımlarınıza ve diğer yardımcı olanlara çok teşekkür ederim...

Link to comment
Share on other sites

[quote name='Kazım' date='14 January 2012 - 23:11 ' timestamp='1326575470' post='1140775']
[post='1140339']Bu mesajda[/post] dediğini ekledim zaten..tabi anlattığına anladığım şey aynı ise.
[/quote]

burda yapılan istediğim şey değil burda basamakları kontrol ediyor aynıysa +1 değilse -1 yazıyor benim istediğim içinde ortak rakam arayacak 6548 sayısında 9822 ile bakarak 8 sayısı ortak ama basamağı farklı bu yüzden -1 yazacak yani sadece basamaklar aynımı diye kontrol etmeyecek bu basamaktaki sayi diğer basamaktaki sayılarda varmı diye kontrol edecek

Link to comment
Share on other sites

mesajı 2 parçaya bölerek yanıtlamak istiyorum..
1.
[quote name='TuTaMixx' date='14 January 2012 - 23:20 ' timestamp='1326576050' post='1140778']
burda yapılan istediğim şey değil burda basamakları kontrol ediyor aynıysa +1 değilse -1 yazıyor benim istediğim içinde ortak rakam arayacak 6548 sayısında 9822 ile bakarak 8 sayısı ortak ama basamağı farklı bu yüzden -1 yazacak
[/quote]
Bu dediğinizi zaten üstte verdiğim 2 örnekte yapıyor..

2.
[quote name='TuTaMixx' date='14 January 2012 - 23:20 ' timestamp='1326576050' post='1140778']
yani sadece basamaklar aynımı diye kontrol etmeyecek bu basamaktaki sayi diğer basamaktaki sayılarda varmı diye kontrol edecek
[/quote]
Mesela Burada nasıl bir uyarı vermesini istiyorsunuz.. 1234 ile 9871 gibi sayının nasıl karşılatırılmasını istiyorsunu... mesela 1. basamktaki sayı ile 4. basamaktaki sayı aynı gibi ..bir uyarı mı versin.

Edited by Kazım
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...