Konuyu görüntüle
IUCODERS FORUM > Duyurular > Okul ile ilgili > Programlama Dilleri 2 - Ödev2 (Batak simülatörü)
Yazar
burakkanmaz


avatar
Gaziantep
Kayıt: 02.10.2006
29.06.2008-00:03 #47665
muzaffer yazdi
 
merhaba arkadaşlar oynadığımız el icinde kaç el aldığımızı öğrenmek icin hangi fonsiyonu kullanıyoruz.


Kaçıncı eldeysen ondan önceki elleri (oynananEller den) kazanan ın ID numarasını kontrol ederek öğrenebilirsin. Senin ID'n (eğer player 1 isen) 0 dır. Önceki ellerde kazanan == 0 ise sen almışsın demektir.





Yazar
muzaffer


avatar
istanbul
Kayıt: 05.10.2007
29.06.2008-00:07 #47667
teşekkürler burak.






Yazar
benkimim


avatar
istanbul
Kayıt: 04.10.2007
29.06.2008-00:26 #47669
MyNet de böyle bir ibare var

Oyuncular yere direkt olarak koz atamazlar. Koz oynamaya başlamak için oyunculardan herhangi birinin başka bir seriden olan kağıda koz atması gerekir.


Yani sorum şudur.

Oyuna ben başlıyorum elime 2 tane as geldi

1.si Kupa as
2.si Maça as

ilk eli kupa as ile aldım,
ikinci elde maça asla başlayabilir miyim ? başlayamaz mıyım ?








:)
Yazar
cantur


avatar
Rize
admin
Kayıt: 16.01.2006
29.06.2008-00:50 #47683
neurorebel yazdi
 
hocam ek süre verecek misiniz ??

edit: bir de puanlama nasıl olacak ?


Yarın gece son. Ek süre yok değerlendirmeye vakit yok.

Çalışan her kodun yapılmak istenilen işlemler ve kod düzeni okunabilirlik . Mantıklılık . Açıklama v.s. ye göre not vereceğim. Anlatımlara sadece kodundan şüphe duyduğum veya geçen sefer bana söz verenleri çağıracağım.


Bu arada ödev teslimlerinizi

http://98.130.103.203

adresinden yapabilirsiniz. Kullanıcı adı ve şifreniz 11 haneli şekilde öğrenci numaranızdır.
listeden olmayanlar cpp@canturna.com adresine mail atabilirler.






Yazar
angelme


avatar
istanbul
Kayıt: 21.10.2006
29.06.2008-01:07 #47693
Hocam peki kodların kontrolünü projenin şu haliyle mi yapacaksınız yani oyuncu2 oyuncu3 oyuncu4 ile mi batağa devam edeceğiz yoksa başka arkadaşların kodlarıyla ya da daha iyi algoritması olan oyuncularla mı ? çünkü projenin şu haliyle çok el alıp yan 3 ten batma çok sık oluyor nerd





Yazar
xedo


avatar
Antalya
Kayıt: 27.11.2006
29.06.2008-01:11 #47694
benkimim yazdi
 
MyNet de böyle bir ibare var

Oyuncular yere direkt olarak koz atamazlar. Koz oynamaya başlamak için oyunculardan herhangi birinin başka bir seriden olan kağıda koz atması gerekir.


Yani sorum şudur.

Oyuna ben başlıyorum elime 2 tane as geldi

1.si Kupa as
2.si Maça as

ilk eli kupa as ile aldım,
ikinci elde maça asla başlayabilir miyim ? başlayamaz mıyım ?



başlayamazsın.. biri başka bi kağıda koz atarsa ya da elinde koz harici başka kağıt kalmadıysa koz atabilirsin...







Yazar
cantur


avatar
Rize
admin
Kayıt: 16.01.2006
29.06.2008-01:12 #47695
angelme yazdi
 
Hocam peki kodların kontrolünü projenin şu haliyle mi yapacaksınız yani oyuncu2 oyuncu3 oyuncu4 ile mi batağa devam edeceğiz yoksa başka arkadaşların kodlarıyla ya da daha iyi algoritması olan oyuncularla mı ? çünkü projenin şu haliyle çok el alıp yan 3 ten batma çok sık oluyor nerd


Bu oyuncular da yeterince akıllı yani kötü oynayıp seni fazla puan aldırarak yeniyorlar :)

yan 3 almayı engelleyecek bir kısım lazım demek ki kodda.

Şaka bir yana daha iyi bir oyuncu ile kodlarınızı karşılaştırmayı düşünüyorum.






Yazar
neurorebel


avatar

Kayıt: 15.08.2007
29.06.2008-01:20 #47697


bu neden oluyor ?





Do weird and difficult things.

Yazar
neurorebel


avatar

Kayıt: 15.08.2007
29.06.2008-01:37 #47698
böyle birşeyle karşılaşan var mı yok mu nedir ne değildir ??...





Do weird and difficult things.

Yazar
kartane


avatar
istanbul
Kayıt: 22.02.2007
29.06.2008-01:52 #47699
neurorebel yazdi
 
böyle birşeyle karşılaşan var mı yok mu nedir ne değildir ??...



Bende de boyle bı durum olmustu elımdekı kartın bos olup olmadıgı kontrol etmedıgım içinmş kontrol edınce duzeldı.





Yazar
benkimim


avatar
istanbul
Kayıt: 04.10.2007
29.06.2008-02:26 #47700
peki bu neden oluyo ?
ayni seymi dicem ama mumkun degil,

cunku bos olan kagitlara bakmamayi yaptim...

3. kagitta veriyor bu hatayi bi anormallik var sanirim....







:)
Yazar
burakkanmaz


avatar
Gaziantep
Kayıt: 02.10.2006
29.06.2008-02:33 #47701
benkimim yazdi
 
peki bu neden oluyo ?
ayni seymi dicem ama mumkun degil,

cunku bos olan kagitlara bakmamayi yaptim...

3. kagitta veriyor bu hatayi bi anormallik var sanirim....


Uzun uğraşlar sonucunda bu hatayı yaptırmayı başardım.

Örn :
kart * oyuncu1::kartAt()
{
kart * returned = new kart();
*returned=kartlarim[0];
return returned;
}

Yukarıdaki koddaki gibi attığınız kartı tekrar atmaya çalışınca böyle bir durum oluşuyor.







Yazar
benkimim


avatar
istanbul
Kayıt: 04.10.2007
29.06.2008-02:45 #47702
burakkanmaz yazdi
 
...


sevgili burak,

benim kod kısaca ne yapıyor, bir fonksiyonla en buyuk kagitlari elden cikariyor,
yani o kodda ilk basta kupa as, sonra sinek as atiyor,

kupa asi atiyor geçiyor, ikinci elde sinek asi atiyor geciyor
3. elde ekrana bu geliyor, simdi desem ki kagit bos degil,
kagit bos olmasa surekli kupa as atmasi gerek, e sinek atmis,
yani bos ayni kagida 1. calismada gitmiyorda 2.de de gitmiyor
3. demi gidiyor diyecegim ama pek sanmiyorum,

baska bi hata olabilir mi acaba ?

peki burdaki sol üst köşede çıkan kağıt neyi gösteriyor ?
o koordinatta daha once olan kagidimi ?





:)
Yazar
burakkanmaz


avatar
Gaziantep
Kayıt: 02.10.2006
29.06.2008-02:55 #47703
benkimim yazdi
 

sevgili burak,

baska bi hata olabilir mi acaba ?

peki burdaki sol üst köşede çıkan kağıt neyi gösteriyor ?
o koordinatta daha once olan kagidimi ?


Sevgili BenKimim,

Hatayı kontrol etmek için, deste.cpp'de 30.satırda srand fonksiyonunu yorum satırı yaparak her zaman aynı elleri oynamasını sağlayabilirsin ve F10 ile debug yaparak değişkenlere ne atandığını görebilirsin. Sanırım bunu yapınca gözden kaçan ufak bir hatayı bulacaksındır. Bu ilk aklıma gelen somut bir çözüm önerisi.

Orada sol üst köşede çıkan kağıt, bizim kod yazımı sırasında debug etmemizi sağlayan bir alandı ama her nasılsa silmeyi unutmuşuz. Orada çıkan kağıt sizin atmaya çalıştığınız kağıt (boş attığınızda kara kutu görürsünüz). Ortada çıkan kara kutu ise sizin atmaya çalıştığınız kartın kurala uymadığını gösteren bir semboldür. masa.cpp bu yüzden oraya kara kutu çiziyor.

Umarım anlatabilmişimdir. praying





Yazar
reader


avatar

Kayıt: 24.12.2007
29.06.2008-11:44 #47704
Arkadaslar ilk kartı atarken sınırlamalar tam olarak nelerdırconfusedbirisi açıklayabilirmi acabathinking





1 2 3 4 5 6 7 8 9 10 11 12 13
Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb