2016-03-30 15 views
-2
//code to move ball down direction y axis 
void move() 
{ 
    if (y+150<760) 
    { 
     y=y+1; 
    } 
//code to move ball at x axis 
else if (x+1<1000) 
{ 
    x=x+1; 

} 
// code move ball up direction *here the problem exists need help in logic what should i edit down in this code to move the ball up direction. 
else if(y<160) 
    { 
     y=y-1; 

    } 

.java mantığı Ben basit mantık uygularken ben basit bir mantık uygulaıyorum ben topun yukarı yönde hareket ettirmek için aslında ihtiyacım var hata aslında gerçek mantığı uygulamaktayım

cevap

0

İlk ifadelerinizden kaynaklanıyor. İlk ifadenin başarısız olması için, y'nin 760'a eşit veya daha büyük olması gerekir. Bunun anlamı, eğer 3'e ulaştığınız zaman, y y < 160'ın yanlış olduğu anlamına gelir. İlk if ifadesine böyle bir şey eklemek için alt limit eklemeniz gerekir.

void move() 
{ 
    if (y+150<760 && y >160) 
    { 
     y=y+1; 
    } 
} 

Düzenleme Sadece bu mantık sorunu çözmek ama hala sorunları var olacak, nota. Sadece bu senaryoya bakın. Senin de X'lerin olduğunu biliyorum ama sadece Y'lerle çalışmak. yanlış ise y = y + 1 = 610 geçerek dört y = 610, birinci doğruysa y = y - 1 = 609 Geçiş üç y = 609 ilk yanlış ise y = y + 1 = 610 Pass iki y = 610, birinci doğruysa Geçiş bir y = 609 ilk y = y - 1 = 609

Güncelleme kare desende bir top taşımak için mantık nasıl çalışır . X ve y puanlarınız var. Yani kare üst sol (0, 50), sağ üst (50, 50), sağ alt (50, 0), sol alt (0,0)

koordinatlarının olduğunu söyleyelim X ve Y'yi ayarlamak istediğinizde Başlangıç ​​noktasında (0,0) (veya 4 noktanın herhangi biri) başlangıçta, Y'yi 50'ye kadar artırmaya devam edersiniz, bu yön yukarıdır. Yani bu if(x==0 && y<=50) y=y+1 sonra if(x<=50 && y == 50) x = x + 1 bir sonraki noktasına hareket etmeye devam edersiniz ve bu mantık

+0

ile devam etmeye devam edin ... – era

+0

Cevabı yeni güncelledim. –

+0

iyi anlattığın şeyi denedim ama sanırım daha da gelişiyor, bütün koduma acilen bakabilir misin. – era