Ben bu nesne ile çalışıyorum asıl adı olduğunda ben, her hat üzerinden gitmek zorunda bunun dışında bir dizi oluşturmak ve bir şey arasında bir ,'',
koymak ve için içinBir "ascii art" printf'i bir char dizisine mi ekliyorsunuz?
void Game::Logo(void)
{
printf(" _ _ \n");
printf(" (_|_)\n");
printf(" __ _ ___ ___ _ _ \n");
printf("/_`/__|/ __| | |\n");
printf(" | (_| \__ \ (__| | |\n");
printf(" \__,_|___/\___|_|_|\n");
printf(" \n");
printf("\n");
}
çok daha büyük, sonsuza dek sürecek ve insan hatasına eğilimli olacak.
Hatalı bir şekilde benim için bunu yapabilecek bir işlevi nasıl oluşturabilirim ve "logo" boyutuna göre dizi boyutu için olası farklı seçenekler. Ben uzaktan düşünebildiğim tek yol gibi bunlar
printfToArray(int numRow,int numCol, string rows)
{
for (int i = 0; i < numRow; i++)
{
//create an array of char logo[numRow][numCol]
//numCol is the number of max space require, so this case, 23 because of \n as well
//then copy it somehow into the array within loop
}
}
int numRow = 7; //because 7 strings
görünüyor: Bir bu tür bir işlev oluşturmuş sonra
string row0 = " _ _ ";
string row1 = " (_|_)";
string row2 = " __ _ ___ ___ _ _ ";
string row3 = "/_`/__|/ __| | |";
string row4 = " | (_| \__ \ (__| | |";
string row5 = " \__,_|___/\___|_|_|";
string row6 = " ";
ve:
Ben bir dize konusunda çizgiyi her depolanması hakkında giderdim ama yine de bunu yapmayı nasıl yapacağımı anlamıyorum.
bence satırları koymak için
std::vector
kullanabilirsiniz [bu] (http://www.asciiarts.net/)? – SCaffrey@SCaffrey hayır hayır, tüm printf'ler içinde çok boyutlu bir lol dizisi oluşturmak istedim. – Robolisk
Çakışan kodlarla ilgili sorunlarınız varsa (her yerde '\\' yazmak zorunda), ardından ham dize değişmezlerini kullanın. – 3442