Cześć,
niedawno skończyłem pisać prostego arkanoida. Wiele brakuje, żeby kod był idealny, więc proszę o fale konstruktywnych hejtów ;)
https://github.com/Haradd/Allegro5-arkanoid-game
Z góry dzięki
Cześć,
niedawno skończyłem pisać prostego arkanoida. Wiele brakuje, żeby kod był idealny, więc proszę o fale konstruktywnych hejtów ;)
https://github.com/Haradd/Allegro5-arkanoid-game
Z góry dzięki
nie bedę czepiał się drugi raz rzeczy które w podobny sposób mi się nie podobają.
1). (jak coś to -std=c11
int i = 0;
for(i; i<13; i++)
{
int j = 0;
for(j; j<7; j++)
{
lepiej:
int i = 0;
for( int i = 0, j; i<13; i++) {
int j = 0;
for(j; j<7; j++)
{
...
2). rozbijaj zmienne
block[i][j].color = (rand()%4) +1;
ladniej
` block[i][j].color = ( rand() % 4 ) +1;
3).
struct Block block[13][10]
lepiej dac prt i size oddzielnie, ale to już jak to se woli.
jakbys potem chcial pozmieniac wielkosc tablicy to musisz wszedzie te 13 zamieniac. lepiej juz bylo sobie zdefiniowac gdzies ta liczbe imho.
4). alegro to podobno prehistoria lepiej juz baw sie sdl'em.
5). `pare linijek beło za długich ;-)
6). W C jak funkcja nie bierze parametrów to jest void pusty nawias oznacza, że może brać jakoby nieskończoną ilość„.
7.) czasamiw switch daje się default po to aby wyłapać błąd (nie oczekiwany parametr ) ale to już takie tam.
8.) ok że dajesz spacje ale chyab jednak zbyt wiele jak już się na nie zdecydujesz. ;-)
9.) Wydaje się że za dużo sprawdzania błędów nie było. ;-)
Można też i wydaje mi się to czytelniejsze.
if (keyboard_state() == ALLEGRO_KEY_ESCAPE) done = True;
podobnie z pętlami.
Coś tam napierdziałem.
Dzięki za konkretną ocenę ;)
Natomiast miałem problemy z czytelnym rozbiciem takiego warunku
if ( (ball_x + ball_dim >= bar_x && ball_x + ball_dim < bar_x + bar_width/5) ||
(ball_x + ball_dim > bar_x + (bar_width - bar_width/5)) && (ball_x + ball_dim <= bar_x+bar_width) )
Dla mnie najczytelniej jest w taki sposób, a jak Ty to widzisz ?
Może tak ale coś takiego to nie tragedia jak nie ma wyjścia albo podzielić to na więcej ifów. ;-)
if ( ( ball_x + ball_dim >= bar_x && ball_x + ball_dim < bar_x + bar_width/5) ||
( ball_x + ball_dim > bar_x + ( bar_width - bar_width/5 ) ) &&
( ball_x + ball_dim <= bar_x+bar_width ) ) {
Może bym z tego zrobił funkcję jakby elemety były jakos upchane w strukture czy coś.