Şimdi Ara

c++ basit bir soru

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
1
Cevap
0
Favori
557
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • c++ ödevim için yılan oyunu yazıyorum, dolayısıyla yılanın sürekli olarak hareket etmesi gerekli. kodum şu şekilde
    #include <string> 
    #include "Robots_Modified.h"
    #include "MiniFW_Modified.h"
    #include "strutils.h"
    #include "randgen.h"
    using namespace std;



    int main ()
    {
    int a = 0;
    string name;
    EmptyAllTheCells(0, 0, 16, 16);

    GetInput("Please enter the name of the snake" , name);


    Robot r1(0, 0);
    r1.SetColor(pink);
    r1.SetName(name);
    Robot r2(17, 2);
    r2.SetColor(pink);
    r2.SetVisibility (false);
    Robot r3(17, 3);
    r3.SetColor(pink);

    Robot r4(17, 4);
    r4.SetColor(pink);
    Robot r5(17, 5);
    r5.SetColor(pink);
    Robot r6(17, 6);
    r6.SetColor(pink);

    RandGen rnd;

    for (int i=0; i<5; i++)
    {
    PutThings(rnd.RandInt(0, 15), rnd.RandInt(0, 15), rnd.RandInt(0, 5));
    }



    while ( a<1)

    {


    if (IsPressed(keyRightArrow))
    {
    while( !(IsPressed(keyUpArrow) || IsPressed(keyDownArrow)))
    {r1.PickThings();
    r1.Turn(east);
    r1.Move();



    }while( !(IsPressed(keyUpArrow) || IsPressed(keyDownArrow)));
    }
    if (IsPressed(keyLeftArrow))
    {
    do
    {r1.Turn(west);
    r1.Move();
    r1.PickThings();
    }while( !(IsPressed(keyUpArrow) || IsPressed(keyDownArrow)));
    }
    if (IsPressed(keyUpArrow))
    {
    do
    {r1.Turn(north);
    r1.Move();
    r1.PickThings();
    }while( !(IsPressed(keyLeftArrow) || IsPressed(keyRightArrow)));
    }
    if (IsPressed(keyDownArrow))
    {
    do
    {r1.Turn(south);
    r1.Move();
    r1.PickThings();
    }while( !(IsPressed(keyLeftArrow) || IsPressed(keyRightArrow)));
    }
    }


    }


    Burada sorun şu ki, yılan belli bir yöne giderken döndürmeye kalkmak için bir tuşa bastığımda yılan önce duruyor ikinci kez bastığımda ancak dönüp harekete devam edebiliyor. Sebebini kestirebiliyorum ancak bi çözüm getiremedim.

    Sizin alternatif bir çözümünüz varsa çok sevinirim:)

    not: pause, break ve global variable ödevde kullanmak yasak. sadece main içerisinde gerekli değişiklikleri yaparak bi çözüm önerisi getirmeniz güzel olacaktır. teşekkürler







  • Yapay Zeka’dan İlgili Konular
    Geometri için tek bir kaynak
    5 yıl önce açıldı
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.