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


avatar

Kayıt: 24.12.2007
28.05.2008-17:27 #45101
arkadaslar bu kart_at() fonksıyonundakı ilkkart.k_type, ve enbüyükindex nedir acabaconfused





Yazar
naranja


avatar
Kraliyet Ailesinden
Kayıt: 18.10.2007
28.05.2008-21:21 #45115
extreme yazdi
 
for(int i=0;i<13;i++){
(kartlarim+i)->numeric_value;
kartlarim[i].k_type
}


iki şekildede ulaşabilirsin.


teşekkürler extreme.
peki kartın tipine nasıl ulaşabilirim? yani maca veya kupa mı diye. bu yukarıdakilerin ikisinde de kartın değeri çıkıyor, yoksa ben mi yanlış yazıyorum?





Kaybolur hayatIn tarifsiz ahengi;
Zaman bir tablodur düser duvarlardan.






Yazar
encin


avatar

Kayıt: 30.11.2007
28.05.2008-23:02 #45122
hayır, ikincisiiyle türüne ulaşabilrisin

örneğin
if( (kartlarim + i)->k_type == MACA )


gibi












Yazar
extreme


avatar
Kahramanmaras
admin
Kayıt: 24.10.2006
28.05.2008-23:47 #45129
reader yazdi
 
arkadaslar bu kart_at() fonksıyonundakı ilkkart.k_type, ve enbüyükindex nedir acabaconfused


enbüyükindex elinde yerde atilan kartla aynı tipte en büyük kartın index ini tutar.





The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com





Yazar
naranja


avatar
Kraliyet Ailesinden
Kayıt: 18.10.2007
29.05.2008-00:19 #45131
atılan kartı geçmek mecburi mi?





Kaybolur hayatIn tarifsiz ahengi;
Zaman bir tablodur düser duvarlardan.






Yazar
extreme


avatar
Kahramanmaras
admin
Kayıt: 24.10.2006
29.05.2008-00:22 #45132
Elinde daha büyüğü varsa yerde atılan en büyük kartı geçmek mecburi.

Yerde maça varsa geçmek zorunda değilsiniz.

elinizde atılandan yoksa maça atmak mecburi.

yerdeki maçayı geçmek zorundasınız.

elinizde maçada yoksa istediğinizi atabilirsiniz.

yere maça düşmeden maça ilke el başlatamazsınız.





The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com





Yazar
extreme


avatar
Kahramanmaras
admin
Kayıt: 24.10.2006
29.05.2008-00:27 #45134
Diğer class ları anlamanıza gerek yok. Player1.cpp de

bilgiler->getOynananEller( 1).kartlar[1].k_type==MACA
mesela üstte ilk ekde yere atılan ilk indexli kartın tipi maçamı kontrolu var.
bu şekilde önceki ellere ulaşıp daha önce aıtan kartları görebilirsiniz.

kart ilkkart = oynananEller->kartlar[oynananEller->baslayan];
(kartlarim+i)->k_type==ilkkart.k_type
Mesela üstte elimdeki i indexli kartın ilk kart ile aynı tipte olup olmadığının kontorlü var.
bu şekilde elinizdeki kartların hepsini görebilirsiniz.

başka birşeye ihtiyacınız yok.





The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com





Yazar
encin


avatar

Kayıt: 30.11.2007
29.05.2008-00:33 #45135
extreme yazdi
 
Elinde daha büyüğü varsa yerde atılan en büyük kartı geçmek mecburi.

...

yerdeki maçayı geçmek zorundasınız.

...


bu iki kuraldan emin misin ?? thinking












Yazar
extreme


avatar
Kahramanmaras
admin
Kayıt: 24.10.2006
29.05.2008-00:39 #45137
evet kesinlikle eminim.





The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com





Yazar
extreme


avatar
Kahramanmaras
admin
Kayıt: 24.10.2006
29.05.2008-00:42 #45139
if- Elinde Atılandan Varsa
if--Yerde maça yoksa
---yerdeki en büyüğü geçmek zorundasın
else--yerde maça varsa
---yerdekinden atmak zorundasın
else- Elinde Atılandan yoksa
if--elinde maça varsa
---Yerdeki maçayo geçmek zorundasın
else--elinde maça yoksa
---isteğini atabilirsin





The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com





Yazar
rcpdmrbs


avatar

Kayıt: 19.02.2008
29.05.2008-00:45 #45140
alır kart varsa atılır. kural bu kadar basit benim bildiğim kadarıyla. ben mi yanlış biliyorum yoksa oyun mu çok değişik.





havan batsin.
Yazar
extreme


avatar
Kahramanmaras
admin
Kayıt: 24.10.2006
29.05.2008-00:49 #45141
Projedeki Fonksyon

if(atilan.k_type==ilkkart.k_type){//Atılan kart ile yerdeki kart aynı ise
		if(ilkkart.k_type==MACA){//ilk kart ve atılan kart maça ise
                                      //Daha büyük atmak Zorundasın. yoksa küçü atabilirsin

	                }else{//ilk kart ve atılan kart aynı ama maça değil ise.
			if(yerdemacavarmi){//Atılan kart maça değil ama yerde maça varsa.
			//Yerdekinden istediğini atabilirsin
			}else{//Atılan kart maça değil. yerdede maça yoksa
			//Daha büyük atmak zorundasın   			                                }
		}
	}else{//Atılan kart ile yerdeki kart farklı ise
		if(ilkkart.k_type==MACA){//ilk kart maça ise
			if(elindemacavarmi){
				return false;
			}else{
				return true;
			}
		}else{//ilk kart maça değil ise
                                 //daha büyük maça atmalısın. yerde varsa
					}
	}






The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com





Yazar
encin


avatar

Kayıt: 30.11.2007
29.05.2008-00:52 #45142
wikipedia'da sadece maça için yerdekini geçmek mecburi,
mynet'te her tür için yerdekini geçmek ya da geçmemek serbest,

bizim projede her tür için geçmek mecburi anlaşılan.












Yazar
encin


avatar

Kayıt: 30.11.2007
29.05.2008-01:05 #45144
 
Oyunun Oynanması:
Oyunu ilk oyuncu başlatır. Maça haricinde bir kağıt atarak oyunu başlatır. Sırasıyla diğer oyuncular da ilk atılan kağıdın tipinden bir kağıt atmak zorundadırlar. Eğer bu kart tipinden ellerinde yoksa Maça atmaları zorunludur. Ellerinde maça da yoksa herhangi bir kağıt atabilirler.


öyle olsa projedeki bu açıklamada altı çizili bölüm

"Sırasıyla diğer oyuncular da ilk atılan kağıdın tipinden ve daha büyük bir kağıt atmak zorundadırlar"

olması gerekmez miydi












Yazar
naranja


avatar
Kraliyet Ailesinden
Kayıt: 18.10.2007
29.05.2008-01:30 #45145
aslında bu oyunun batakla alakası yok. bunun adı başkaydı ama hatırlamıyorum. yerdeki kağıdı geçmenin de mecburi olmaması lazım çünkü "el almaz" denen olayın gerçekleşmesi çok zayıf kalıyor.





Kaybolur hayatIn tarifsiz ahengi;
Zaman bir tablodur düser duvarlardan.






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