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


avatar
Rize
admin
Kayıt: 16.01.2006
06.06.2008-15:06 #45616
2. Ödevin en son teslim edilme tarihi 29 Haziran 2008 gece yarısına
kadardır. Ödev kontrolleri (Her öğrenci için olmayacaktır. 1. ödevde
olduğu gibi) 2 Temmuz 2008'de yapılacaktır. Teslim etme şekli ile
ilgili açıklamayı bir kaç gün içinde belirteceğim.

Araş. Gör. Özgür Can TURNA





Yazar
naranja


avatar
Kraliyet Ailesinden
Kayıt: 18.10.2007
06.06.2008-15:59 #45621
arkadaşlar ben yere atılan kartların en büyüğünü nasıl öğrenebilirim, normalde fonksiyon ilk kağıda bakarak elimde o kağıttaki en büyük kartı belirliyor. benim istediğim, yerdeki kartların en büyüğünü belirlemek. bunu nasıl yapacağım hakkında bir fikri olan var mı?





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






Yazar
marakana


avatar

Kayıt: 08.03.2007
06.06.2008-16:07 #45622
	for(i=0;i<4;i++){

		if(oynananEller.kartlar[i].k_type==ilkkart.k_type){
			if(oynananEller.kartlar[i].numeric_value==1)
				yerdeatilanasvarmi=true;  		
			if(oynananEller.kartlar[i].numeric_value>yerdeenbuyukatilan)
				yerdeenbuyukatilan=oynananEller.kartlar[i].numeric_value; 
			yerdeatilanvarmi=true;
		}
		if(oynananEller.kartlar[i].k_type==MACA){
			if(oynananEller.kartlar[i].numeric_value==1)
				yerdemacaasvarmi=true;				
			if(oynananEller.kartlar[i].numeric_value>yerdeenbuyukmaca)
				yerdeenbuyukmaca=oynananEller.kartlar[i].numeric_value;
			yerdemacavarmi=true;
		}
	}


hocamız yazmış zaten. burda önce yerde as varmı diye bakman lazım. eğer as yoksa yerdeenbuyukatilan, diye if'e girersin bu sefer buda yerde atılan en buyuk kartı verir.ama tabi yerde maça varsa(ilkkart maça olmadığınada); sende ilkkart tipinden olduğu sürece; en büyüğe ulaşmana gerek yok, en küçük kartını atarsın.peace







Yazar
naranja


avatar
Kraliyet Ailesinden
Kayıt: 18.10.2007
06.06.2008-16:27 #45626
sağol marakana, o kadar çok değişken varki hangisi neyi tutuyor anlamak mümkün değil.





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






Yazar
esma


avatar

Kayıt: 26.04.2008
06.06.2008-19:39 #45635
Arkadaşlar benim de bir sorunum var şöyle ki.Benim kodum derleme anında hiç hata vermiyor.Çalıştırınca da hep bir veya iki yeni oyun oynayıp kapatıyordum.Ancak bugün üst üste 5 -6 yeni oyun seçtiğimde 5. yeni oyunda hata verdi.Başlangıçta hatanın kodumdan kaynaklandığını düşünüp saatlerce hata aradım.beat up Ancak programı tekrar çalıştırdığımda yine 5. yeni oyunda hata verdi.Bunu 4 ya da 5 kere programı kapatıp tekrar çalıştırarak denedim.Her defasında dakikalarca bekledim ve yeni oyun seçtim ve her seferinde ya 5 te yada 6. yeni oyunda hata veriyor.Bütün bunlar tesadüf mü,kodumda hata aramaya devam edeyim misad
Yoksa sorun başka bir şey mi?Bir fikri olanthinking







Yazar
cantur


avatar
Rize
admin
Kayıt: 16.01.2006
06.06.2008-19:49 #45636
esma yazdi
 
Arkadaşlar benim de bir sorunum var şöyle ki.Benim kodum derleme anında hiç hata vermiyor.Çalıştırınca da hep bir veya iki yeni oyun oynayıp kapatıyordum.Ancak bugün üst üste 5 -6 yeni oyun seçtiğimde 5. yeni oyunda hata verdi.Başlangıçta hatanın kodumdan kaynaklandığını düşünüp saatlerce hata aradım.beat up Ancak programı tekrar çalıştırdığımda yine 5. yeni oyunda hata verdi.Bunu 4 ya da 5 kere programı kapatıp tekrar çalıştırarak denedim.Her defasında dakikalarca bekledim ve yeni oyun seçtim ve her seferinde ya 5 te yada 6. yeni oyunda hata veriyor.Bütün bunlar tesadüf mü,kodumda hata aramaya devam edeyim misad
Yoksa sorun başka bir şey mi?Bir fikri olanthinking



Şüphelendiğin kodun varsa try catch bloğunda çalıştır ve catch de ekrana bir şeyler yazdırabilirsin. Böylece hata sende mi program çatısında mı anlamış olursun.

Pogramın genelinde bir belleği kötü kullana olayı var ama bunun 5 oyunda programı iflas ettirmemesi lazım.





Yazar
esma


avatar

Kayıt: 26.04.2008
06.06.2008-19:52 #45637
Teşekkürler hocam bir de o şekilde denerim.





Yazar
serhatserbest


avatar
AkçaY
Kayıt: 02.06.2008
06.06.2008-20:10 #45640
hocam oyun kurallarını biraz netleştirebili miyiz
özelllikle ilk el - maça olayını ve yerdeki en büyüğü geçme zorunluluğunu
sadece ilk elin ilk kartı olaerak mı maça atılamıyor yoksa oyunda yere ilk maça atılana kadar maça ile el başlatılamıyor mu
bir de; ilk atılan maça değilse ve sonradan maça atılmışsa, elimizde de ilk atılan kartın türünden yoksa ve maça varsa yerdeki en büyük maçayı geçmemiz gerekiyo mu
iskelette şu anki oyuncular kurallara tam uymuyor sanırım ve bir sorun çıkmıyor
projenin yeni bir sürümü gelecek mi yazdığımız oyuncuyu daha iyi test edebileceğimiz, yoksa şu anki son hali mi





Classes will dull your mind, destroy the potential for authentic creativity.














Yazar
kartane


avatar
istanbul
Kayıt: 22.02.2007
06.06.2008-21:36 #45642
int i;
	for(i=0;i<4;i++){

		if(oynananEller.kartlar[i].k_type==ilkkart.k_type){
			if(oynananEller.kartlar[i].numeric_value==1)
				yerdeatilanasvarmi=true;				
			if(oynananEller.kartlar[i].numeric_value>yerdeenbuyukatilan)
				yerdeenbuyukatilan=oynananEller.kartlar[i].numeric_value;
			yerdeatilanvarmi=true;
		}
		if(oynananEller.kartlar[i].k_type==MACA){
			if(oynananEller.kartlar[i].numeric_value==1)
				yerdemacaasvarmi=true;				
			if(oynananEller.kartlar[i].numeric_value>yerdeenbuyukmaca)
				yerdeenbuyukmaca=oynananEller.kartlar[i].numeric_value;
			yerdemacavarmi=true;
		}
	}

Hocanın yazdıgı bu kısımda sıra bana gelene kadar mı o elde yere atilanlari veriyo yanı baslayan 3 ise 3. ve 4. oyuncuların kart durumlarını mı verıyo sdc yoksa o el boyunca yerde oynananların durumunu mu (gercı for(0-4)arasında ama emin olamadım),eger(if:)) butun el boyunca oynananları verıyosa ben sdc bana sıra gelene kdr oynananları istersem soyle kullanımım dogru olur di mi???Basına bunu koyarsam:
for(i=oynananEller.baslayan;i<4;i++)

Bi de onceden oynanmış ellerdeki kartları almak için;
kart oynanan[];diye mesela bi diziye atıyorum sonra oynanan[i]. dedıgımde neden(.) sonra alt fonk gelmiyo yanlış mı kullanıyorum?????





Yazar
fundagulkaya


avatar
istanbul
Kayıt: 07.11.2007
06.06.2008-22:08 #45644
kartane yazdi
 

...

Hocanın yazdıgı bu kısımda sıra bana gelene kadar mı o elde yere atilanlari veriyo yanı baslayan 3 ise 3. ve 4. oyuncuların kart durumlarını mı verıyo sdc yoksa o el boyunca yerde oynananların durumunu mu (gercı for(0-4)arasında ama emin olamadım),eger(if:)) butun el boyunca oynananları verıyosa ben sdc bana sıra gelene kdr oynananları istersem soyle kullanımım dogru olur di mi???Basına bunu koyarsam:
for(i=oynananEller.baslayan;i<4;i++)

Bi de onceden oynanmış ellerdeki kartları almak için;
kart oynanan[];diye mesela bi diziye atıyorum sonra oynanan[i]. dedıgımde neden(.) sonra alt fonk gelmiyo yanlış mı kullanıyorum?????

Bence yazılan kodda sıra sana gelene kadar o elde yere atilan kartları veriyo.
önceki ellerde atılmış kartlar içinde şu şekilde bi döngü kullandım...Bilmem ne kadar dogrudur...:)
for(m=1;m<=el_sayisi;m++){
							oynananEller=(bilgiler->getOynananEller(el_sayisi-m));
							for(j=0;j<4;j++){
								if(oynananEller.kartlar[j].k_type==...)






Yazar
extreme


avatar
Kahramanmaras
admin
Kayıt: 24.10.2006
07.06.2008-04:44 #45671
esma yazdi
 
Arkadaşlar benim de bir sorunum var şöyle ki.Benim kodum derleme anında hiç hata vermiyor.Çalıştırınca da hep bir veya iki yeni oyun oynayıp kapatıyordum.Ancak bugün üst üste 5 -6 yeni oyun seçtiğimde 5. yeni oyunda hata verdi.Başlangıçta hatanın kodumdan kaynaklandığını düşünüp saatlerce hata aradım.beat up Ancak programı tekrar çalıştırdığımda yine 5. yeni oyunda hata verdi.Bunu 4 ya da 5 kere programı kapatıp tekrar çalıştırarak denedim.Her defasında dakikalarca bekledim ve yeni oyun seçtim ve her seferinde ya 5 te yada 6. yeni oyunda hata veriyor.Bütün bunlar tesadüf mü,kodumda hata aramaya devam edeyim misad
Yoksa sorun başka bir şey mi?Bir fikri olanthinking



Program Çok Fazla çalıştığında windows sonlandırıyor. Bellekte şişme olabilir. Ben tam bakmadım.





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





Yazar
extreme


avatar
Kahramanmaras
admin
Kayıt: 24.10.2006
07.06.2008-04:48 #45672
serhatserbest yazdi
 
hocam oyun kurallarını biraz netleştirebili miyiz
özelllikle ilk el - maça olayını ve yerdeki en büyüğü geçme zorunluluğunu
sadece ilk elin ilk kartı olaerak mı maça atılamıyor yoksa oyunda yere ilk maça atılana kadar maça ile el başlatılamıyor mu
bir de; ilk atılan maça değilse ve sonradan maça atılmışsa, elimizde de ilk atılan kartın türünden yoksa ve maça varsa yerdeki en büyük maçayı geçmemiz gerekiyo mu
iskelette şu anki oyuncular kurallara tam uymuyor sanırım ve bir sorun çıkmıyor
projenin yeni bir sürümü gelecek mi yazdığımız oyuncuyu daha iyi test edebileceğimiz, yoksa şu anki son hali mi


macakontrol(); diye bir fonksyon yazdım ben. Yere herhangi bir oyuncu maça düşene kadar. İlk kağıt olarak maça atılmasını engelliyordu ama esrarengiz bir şekilde fonksyon kayıpbiggrin o yüzden ikinci bir emre kadar Maçakontrolü yok. Sanırım. biggrin





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





Yazar
fundagulkaya


avatar
istanbul
Kayıt: 07.11.2007
08.06.2008-12:31 #45741
for(i=0;i<4;i++){
   if(oynananEller.kartlar[i].k_type!=BOS)
   sira++;
}

diye bi kod yazdım,kaçıncı kişi olarak kart atacagımı öğrenmek için.
şunu sormak istiyorum mesela yerde 2 kart olsun bende 3. kartı atıcam ya ;bana göre i=2 oldugunda k_type BOS olmalı.bu deger i=2 oldugunda BOS mu olur gerçekten?





Yazar
kartane


avatar
istanbul
Kayıt: 22.02.2007
08.06.2008-20:28 #45797
fundagulkaya yazdi
 
for(i=0;i<4;i++){
   if(oynananEller.kartlar[i].k_type!=BOS)
   sira++;
}

diye bi kod yazdım,kaçıncı kişi olarak kart atacagımı öğrenmek için.
şunu sormak istiyorum mesela yerde 2 kart olsun bende 3. kartı atıcam ya ;bana göre i=2 oldugunda k_type BOS olmalı.bu deger i=2 oldugunda BOS mu olur gerçekten?


Evet bos olması gerekiyo
ve zaten;
sira=oynanaEller.baslayan 'ın sana kacıncı sırada oyuna katıldığını vermesi gerekiyo,yani ben öyle biliyorum.







Yazar
kartane


avatar
istanbul
Kayıt: 22.02.2007
08.06.2008-20:50 #45798
fundagulkaya yazdi
 
kartane yazdi
 

...


Bence yazılan kodda sıra sana gelene kadar o elde yere atilan kartları veriyo.
önceki ellerde atılmış kartlar içinde şu şekilde bi döngü kullandım...Bilmem ne kadar dogrudur...:)
for(m=1;m<=el_sayisi;m++){
							oynananEller=(bilgiler->getOynananEller(el_sayisi-m));
							for(j=0;j<4;j++){
								if(oynananEller.kartlar[j].k_type==...)


el_sayisi 1'den baslıyomuş yani
for(m=0;m<bilgiler->getElSayisi;m++) olmalıymış (m=0 son elide almak istiyosan tabi).
cvbın için teşekkürler





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