Yazar |
|
naranja
Kraliyet Ailesinden
Kayıt: 18.10.2007 |
|
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
Kayıt: 08.03.2007 |
|
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.
|
|
Yazar |
|
naranja
Kraliyet Ailesinden
Kayıt: 18.10.2007 |
|
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
Kayıt: 26.04.2008 |
|
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. 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 mi
Yoksa sorun başka bir şey mi?Bir fikri olan
|
|
Yazar |
|
cantur
Rize
admin
Kayıt: 16.01.2006 |
|
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. 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 mi
Yoksa sorun başka bir şey mi?Bir fikri olan
|
Şü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
Kayıt: 26.04.2008 |
|
Teşekkürler hocam bir de o şekilde denerim.
|
|
Yazar |
|
serhatserbest
AkçaY
Kayıt: 02.06.2008 |
|
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
istanbul
Kayıt: 22.02.2007 |
|
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
istanbul
Kayıt: 07.11.2007 |
|
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
Kahramanmaras
admin
Kayıt: 24.10.2006 |
|
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. 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 mi
Yoksa sorun başka bir şey mi?Bir fikri olan
|
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
Kahramanmaras
admin
Kayıt: 24.10.2006 |
|
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ıp o yüzden ikinci bir emre kadar Maçakontrolü yok. Sanırım.
The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com
|
|
Yazar |
|
fundagulkaya
istanbul
Kayıt: 07.11.2007 |
|
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
istanbul
Kayıt: 22.02.2007 |
|
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
istanbul
Kayıt: 22.02.2007 |
|
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
|
|
|
|
-
Del.icio.us
-
Digg
-
Facebook
-
Furl
-
Google
-
Blink
-
Simpy
-
Spurl
-
Y! MyWeb
|
|
| | | | | | | | | | |