(Konsol) Çıktıda Harfin yerini bulma, başka harf ile değiştirme (Hareket)

Bu konuyu okuyanlar

Anti_Dragon

Öğrenci
Katılım
15 Ekim 2020
Mesajlar
22
Reaksiyon puanı
7
Puanları
3
Yaş
23
Bir konsol uygulaması yapıyorum...
██████████
█ ---------- ---█
█ ------------- █
█ ----- -☻- -- █
█ ------------- █
█ ------------- █
██████████

(Boşluklar otomatik Silindiği için - koydum)

Ben bu adamı hareket ettirmek istiyorum..
w,a,s,d ye basınca hareket etsin.
Objeleri, onların görünüşünü, girdileri falan komple ayarladım.

ama bunu nasıl hareket ettireceğimi bilmiyorum.
Aklımdaki şey Bu karakter A tuşuna bastığı zaman karakterin solundaki 1 boşluğu silsin, sağ tarafına eklesin.
Yukarı çıkacağı zaman mesela karakter 5. sütun 5. satırda, 4. sütun 5. satırdaki boşluğu silip bu karakteri eklesin ve 5. sütun 5. satırdaki karakteri de boşluk yapsın.
Ama ben bütün bu çıktıyı
x = duvar
y = boşluk
z = Adam
Console.WriteLine(x + x + x + x + x + x + x);
Console.WriteLine(x + y + y + y + y + y + x);
Console.WriteLine(x + y + y + y + y + y + x);
Console.WriteLine(x + y + y + z + y + y + x);
Console.WriteLine(x + y + y + y + y + y + x);
Console.WriteLine(x + y + y + y + y + y + x);
Console.WriteLine(x + x + x + x + x + x + x);

olarak yaptığım için bunu nasıl yapacağımla ilgili bir fikrim yok
Yardımcı olur musunuz?

Bu Benim Kodum:

class Program
{
string space1 = " ";
//Alt + 2
string player1 = "☻";
//Alt + 219
string wall1 = "█";
//Alt + 4
string coin1 = "♦";

static void Main(string[] args)
{
Program space = new Program();
Program player = new Program();
Program wall = new Program();
Program coin = new Program();

string s = space.space1;
string p = player.player1;
string w = wall.wall1;
string c = coin.coin1;
// Bunları kodlarken zaman kazanayım diye yaptım.

char move = Convert.ToChar(Console.ReadKey());
}
}
Bu yapabildiğim kısım. Lütfen yardımcı olun.
Mesaj otomatik birleştirildi:

Bu arada Program C# ile Çalışıyor... Bunu eklemeyi unuttum.
 
Son düzenleme:

defacerGLD

Müdavim
Katılım
16 Ocak 2020
Mesajlar
3,329
Reaksiyon puanı
3,068
Puanları
113
Bir konsol uygulaması yapıyorum...
██████████
█ ---------- ---█
█ ------------- █
█ ----- -☻- -- █
█ ------------- █
█ ------------- █
██████████

(Boşluklar otomatik Silindiği için - koydum)

Ben bu adamı hareket ettirmek istiyorum..
w,a,s,d ye basınca hareket etsin.
Objeleri, onların görünüşünü, girdileri falan komple ayarladım.

ama bunu nasıl hareket ettireceğimi bilmiyorum.
Aklımdaki şey Bu karakter A tuşuna bastığı zaman karakterin solundaki 1 boşluğu silsin, sağ tarafına eklesin.
Yukarı çıkacağı zaman mesela karakter 5. sütun 5. satırda, 4. sütun 5. satırdaki boşluğu silip bu karakteri eklesin ve 5. sütun 5. satırdaki karakteri de boşluk yapsın.
Ama ben bütün bu çıktıyı
x = duvar
y = boşluk
z = Adam
Console.WriteLine(x + x + x + x + x + x + x);
Console.WriteLine(x + y + y + y + y + y + x);
Console.WriteLine(x + y + y + y + y + y + x);
Console.WriteLine(x + y + y + z + y + y + x);
Console.WriteLine(x + y + y + y + y + y + x);
Console.WriteLine(x + y + y + y + y + y + x);
Console.WriteLine(x + x + x + x + x + x + x);

olarak yaptığım için bunu nasıl yapacağımla ilgili bir fikrim yok
Yardımcı olur musunuz?

Bu Benim Kodum:

class Program
{
string space1 = " ";
//Alt + 2
string player1 = "☻";
//Alt + 219
string wall1 = "█";
//Alt + 4
string coin1 = "♦";

static void Main(string[] args)
{
Program space = new Program();
Program player = new Program();
Program wall = new Program();
Program coin = new Program();

string s = space.space1;
string p = player.player1;
string w = wall.wall1;
string c = coin.coin1;
// Bunları kodlarken zaman kazanayım diye yaptım.

char move = Convert.ToChar(Console.ReadKey());
}
}
Bu yapabildiğim kısım. Lütfen yardımcı olun.
Mesaj otomatik birleştirildi:

Bu arada Program C# ile Çalışıyor... Bunu eklemeyi unuttum.
Form kullansan
 

defacerGLD

Müdavim
Katılım
16 Ocak 2020
Mesajlar
3,329
Reaksiyon puanı
3,068
Puanları
113
Mesela
Bilmemne.Left += 20;
20 sağ a -li negatif olursa da sol

Bilmne.Top += 20;
20 aşağı -li negatif yukarı
 

Anti_Dragon

Öğrenci
Katılım
15 Ekim 2020
Mesajlar
22
Reaksiyon puanı
7
Puanları
3
Yaş
23
Her seferinde konsol'u silip, yeni koordinatları ile yeniden yazdıracaksın.
O zaman adamın her adımını tek tek yazmam gerekir bu da zaman kaybı olur...
Mesela
Bilmemne.Left += 20;
20 sağ a -li negatif olursa da sol

Bilmne.Top += 20;
20 aşağı -li negatif yukarı
Left ve Top komutu yoktu... ben de Left ve Top komutunu sınıf üyesi olarak kullanmaya çalıştım....
Ama Hala nasıl yapacağımı anlamadım...
string[] mı kullansam diyorum belki olur ama nasıl kullanacağım?
 

defacerGLD

Müdavim
Katılım
16 Ocak 2020
Mesajlar
3,329
Reaksiyon puanı
3,068
Puanları
113
O zaman adamın her adımını tek tek yazmam gerekir bu da zaman kaybı olur...

Left ve Top komutu yoktu... ben de Left ve Top komutunu sınıf üyesi olarak kullanmaya çalıştım....
Ama Hala nasıl yapacağımı anlamadım...
string[] mı kullansam diyorum belki olur ama nasıl kullanacağım?
Şöyle de olur

Bisey.Location.X
Bide bunun Y lisini degere atarsın

O zaman adamın her adımını tek tek yazmam gerekir bu da zaman kaybı olur...

Left ve Top komutu yoktu... ben de Left ve Top komutunu sınıf üyesi olarak kullanmaya çalıştım....
Ama Hala nasıl yapacağımı anlamadım...
string[] mı kullansam diyorum belki olur ama nasıl kullanacağım?
Sürümün kaç bide
 

Anti_Dragon

Öğrenci
Katılım
15 Ekim 2020
Mesajlar
22
Reaksiyon puanı
7
Puanları
3
Yaş
23
Şöyle de olur

Bisey.Location.X
Bide bunun Y lisini degere atarsın


Sürümün kaç bide
Visual studio da son sürüm olması lazım
Bedava Versiyon...
Ben konsolda yapıyorum o yüzden olabilir...
Sen galiba Bana Form olarak anlatıyorsun
Ben Konsol Uygulamasında yapıyorum... o yüzden çalışmıyordur senin dediğin...

Muhtemelen Bir çözüm buldum... Bütün Boşluklara bir değer (Sol ve Yukarı) atayacağım... bu sayede adam mesela A tuşuna bastığı zaman Sol Değişkeni 1 artacak ve o boşluğa o karakter gelecek... Bunu Deneyeceğim... Ama bir fikrin varsa paylaş...
Mesela bütün boşluklara Tek tek değer atamaktansa Nasıl bir Generator Yapacağımı bilmiyorum boşluklara değer atayacak...
 

Samet UCA

Müdavim
Katılım
3 Ağustos 2012
Mesajlar
3,277
Reaksiyon puanı
2,912
Puanları
113
location hocam w tusuna bastığında yukarıdan aldığın pozisyondan -10 düşüreceksin.
 
Üst