@Don_Adan, post #31
@Lucus, post #10
@asman, post #36
@jimiche, post #37
Prawda jest jednak taka, że Amos sssie i uczy złych nawyków...
@jimiche, post #37
@selur, post #26
to musze jeszcze poczekac na opinie teh Kaina, Lorda Kraszana, Hexamaga...Ostatnio pisałem w C na Amidze jakieś 6 lat temu. Teraz nie mam czasu, bo jestem zajęty robieniem przelotek i paleniem forsą w kominku.
@selur, post #41
@asman, post #39
A jedyny zły nawyk w BASIC to chyba goto :)
@Krashan, post #42
Największy wysiłek to nauczenie się obsługi hardware (gdy piszemy gry lub dema), albo systemu operacyjnego (gdy celujemy w programy użytkowe, czy pchełki pod Workbencha)
AMOS nas izoluje od jednego i drugiego, co na początku jest fajne, bo krzywa uczenia jest mniej stroma, ale potem zaczyna ograniczać.
@selur, post #41
A jedyny zły nawyk w BASIC to chyba goto :)
To chyba ma związek z programowaniem w C, bo tam zawsze używanie tego działało jak płachta na byka u doświadczonych programistów. Co jest ciekawe, bo zdaje się w źródłach Linuksa gdzieś jest to używane przy obsłudze jakichś błędów, a przynajmniej kiedyś widziałem.
@selur, post #44
Jesli lamerowi damy najbardziej wydajny amigowy kompilator C na swiecie, czy bedzie on w stanie stworzyc dobra gre w C ?
@flops, post #45
Eee, może popularny, trendy i cool jest Python, ale najwięcej programuje się nadal w C.
@selur, post #44
Jesli lamerowi damy najbardziej wydajny amigowy kompilator C na swiecie, czy bedzie on w stanie stworzyc dobra gre w C ?
Nie wiem jak inni ale ja uwazam, ze hardware Amigi, szczegolnie obsluga grafiki, to kosmos a kosmos przyjazny ludziom nigdy nie byl.
void write_pixel(UWORD planesNum, UBYTE** planePtr, UWORD x, UWORD y, UBYTE val) { UBYTE *memPos; //calculating place in memory (offset from plane start where byte holds a bit to modify) UWORD offset = ( (x>>3) + (y * (SCREEN_WIDTH/8)) ); //mask out how many pixels to shift in byte (0-7) and invert //bits are filling byte from right, but we are filling pixels from left UBYTE pixShift = (~x & 0x7); UBYTE pixMask = (1 << pixShift); //mask for a bit to write in a byte switch(planesNum){ case 6: case 5: case 4: memPos = planePtr[3] + offset; *memPos = (*memPos & ~pixMask) | (pixMask & ( ((val>>3) & 1)<<pixShift ) ); case 3: memPos = planePtr[2] + offset; *memPos = (*memPos & ~pixMask) | (pixMask & ( ((val>>2) & 1)<<pixShift ) ); case 2: memPos = planePtr[1] + offset; *memPos = (*memPos & ~pixMask) | (pixMask & ( ((val>>1) & 1)<<pixShift ) ); case 1: memPos = planePtr[0] + offset; //copying a bit from the palette value to the memory *memPos = (*memPos & ~pixMask) | (pixMask & ((val & 0x01)<<pixShift)); case 0: break; default: break; } }
@teh_KaiN, post #46
To była pierwsza jego styczność z językiem C. Jak na pierwszą skończoną i wydaną grę to chyba wyszło przyzwoicie.
@selur, post #48
@selur, post #50
@san_u, post #52
Nawet najlepszy programista nie zrobi najlepszej gry, jeśli nie ma pomysłu
@selur, post #56
@selur, post #50
No dobra Master Si PLi PLi ale tworzysz ACzE ktory ma byc do profesjonalnego tworzenia gier na Amige czy tak dla jaj...
Na moje oko, nawet jesli ACE jest nawet dla "ulomnych", to wpierw trzeba jednak znac nieco C..
@san_u, post #53
Jeszcze scrolling trick'i dodaj do ACE
No dobra Master Si PLi PLi ale tworzysz ACzE ktory ma byc do profesjonalnego tworzenia gier na Amige czy tak dla jaj...