Ez a második kihívás, amire emléxek. A képernyőn egy karakternek kell pattognia if vagy bármilyen hasonlítgatás nélkül. Ezzel a feladattal foglalkozunk ebben a csokorban. Kezdjük az if-es változattal:
A forrás elemzéséhez Nándi ezt az ábrát készítette:
A C forrás:
#include <stdio.h> #include <curses.h> #include <unistd.h> int main ( void ) { WINDOW *ablak; ablak = initscr (); int x = 0; int y = 0; int xnov = 1; int ynov = 1; int mx; int my; for ( ;; ) { getmaxyx ( ablak, my , mx ); mvprintw ( y, x, "O" ); refresh (); usleep ( 100000 ); x = x + xnov; y = y + ynov; if ( x>=mx-1 ) { // elerte-e a jobb oldalt? xnov = xnov * -1; } if ( x<=0 ) { // elerte-e a bal oldalt? xnov = xnov * -1; } if ( y<=0 ) { // elerte-e a tetejet? ynov = ynov * -1; } if ( y>=my-1 ) { // elerte-e a aljat? ynov = ynov * -1; } } return 0; }
Folytatjuk majd a posztot a forrás mélyebb feldolgozásával, majd az if nélküli változattal, addig is: sziasztok, hackerek.