[C++] Ułożenie "klocków" ;)
Ostatnio zmodyfikowano 2011-03-28 22:18
SeaMonster131 Temat założony przez niniejszego użytkownika |
[C++] Ułożenie "klocków" ;) » 2011-03-28 20:32:45 Elo :) Kiedyś musi być ten 1. raz więc zabrałem się za napisanie Arkanoida ;) I teraz mam problem z ułożeniem "klocków".. Mam dokładnie 32 klocki i chciałbym je umieścić w 4 rzędach po 8 klocków. Niestety.. coś nie bardzo mi to wychodzi... :D class Block { public: float x, y; } bl[ il_block ];
for( int i = 0; i < il_block; i++ ) { if( i <= 7 ) { bl[ i ].y = 50; if( i == 0 ) bl[ i ].x = 0; else bl[ i ].x =( i * 100 ); cout << "[" << i << "] : " << bl[ i ].x << endl; } if( i > 7 && i <= 15 ) { bl[ i ].y = 80; if( i == 8 ) bl[ i ].x = 0; else bl[ i ].x =(( i / 10 ) * 100 ); cout << "[" << i << "] : " << bl[ i ].x << endl; } if( i > 15 && i <= 23 ) { bl[ i ].y = 120; if( i == 16 ) bl[ i ].x = 0; else cout << "[" << i << "] : " << bl[ i ].x << endl; } if( i > 23 && i <= 31 ) { bl[ i ].y = 150; if( i == 24 ) bl[ i ].x = 0; else } }
Mógłby mi ktoś pomóc? Bo jakoś nie moge sobie tego wyobrazić... :D |
|
malan |
» 2011-03-28 20:56:48 #include <iostream>
const int MAX_IN_ROW = 8;
int main() { char brick = 'x'; int countOfBricks = 32; int row = 1; for( int i = 0; i < countOfBricks; ++i ) { if( i % MAX_IN_ROW == 0 ) { if( row > 1 ) std::cout << std::endl; std::cout << '#' << row << " >> "; ++row; } std::cout << brick << ' '; } } Em, o to chodzi? ;) |
|
SeaMonster131 Temat założony przez niniejszego użytkownika |
» 2011-03-28 21:03:01 Po skompilowaniu, tak o to chodzi :) Tylko że teraz to musze przerobić, zaraz napisze czy sie udało :) #edit, jednak sie nie udało... Pokazują sie 2 klocki, jeden pod drugim: for( int i = 0; i < il_block; i++ ) { bl[ i ].y = 100; bl[ i ].x = 0; if( i % 8 == 0 ) { if( row > 1 ) bl[ i ].y += 30; row++; } bl[ i ].x += 100; cout << "X: " << bl[ i ].x << endl << "Y: " << bl[ i ].y << endl << endl; }
|
|
malan |
» 2011-03-28 21:22:55 if( row > 1 ) - to tylko kosmetyczna poprawka ;p. Usuń ten warunek (z mojego przykładu) i zobacz różnicę ;). |
|
SeaMonster131 Temat założony przez niniejszego użytkownika |
» 2011-03-28 21:27:22 Heh, no faktycznie :) No nic, pokombinuje jeszcze, bo jak na razie to nic nie udało mi sie wymyślic :) |
|
malan |
» 2011-03-28 21:34:07 Pamiętaj, że każdy kolejny klocek powinien mieć współrzędną x bądź y większą od swojego lewego sąsiada ;) |
|
SeaMonster131 Temat założony przez niniejszego użytkownika |
» 2011-03-28 21:36:39 Tak, lecz co zrobić, gdy lewy sąsiad będzie ostatni w rzędzie? Współrzędna Y następnego klocka zwiększa się, lecz jaki dać warunek ze współrzędną X? :) |
|
malan |
» 2011-03-28 21:40:29 Ten dziewiąty klocek jest wyświetlany na początku drugiego rzędu, prawda? ;) |
|
« 1 » 2 |