Bátfai Hacker Stream

Bátf41 Haxor Str34m

Bátf41 Haxor Str34m

GIMP kalandok - a képerőforrások szerkesztése

2018. szeptember 11. - nb

A korábbi Androidos mobil programozás posztban elkezdtük használni a GIMP programot a a képerőforrások szerkesztése. Ezeket a GIMP-es kalandokat foglaljuk csokorba ebben a posztban.

A karakterek kivágása, animálása

Torkolattűz effekt készítése

Nehogy már a mobilod nyomkodjon Téged!

Újabb szálat indítunk: programozunk Javában Androidon is!

 tcs.png

 

 

 

 

 

 

 

Képerőforrások szerkesztése

A további GIMP munkákat a GIMP kalandok című poszt fogja össze, itt az Android Java témával folytatjuk.

android.graphics.Canvas.drawRect 

android.graphics.Color.rgb

Az életerő arányos kirajzolása

A sebzés beprogramozása

Ismerkedés a Mandelbrot halmazzal

Első nekifutásra mindenki keres egy neki tetsző Mandelbrot halmaz nagyítást. Nagyítunk és felírjuk a kép paramétereit... most esik le, hogy nem is kellett volna felírni, hiszen itt lesznek a YouTube-ra kiexportálva:

A komplex számsík - mi is az a Mandelbrot halmaz?

A számítás forrásának celebrálása

szamitas2.png

Itt találjátok nyomtatható formában: 3.1.1.pdf.

Első ismerkedés a forrással, avagy kísérletezés a színezéssel:

argc, argv

hpscan001.png 

argv a memóriában

hpscan002.png

*(*(argv+1)+2)

Szép színezés

Kannibálok és misszionáriusok probléma

Elkezdjük feldolgozni ezt a témát. Kiindulunk egy működő, de "bugos" kódból, amit folyamatosan dolgozunk fel és tökéletesítünk: minden gyerek kap benne számára címkézett csipeteket, amiket a téma következő streamjeiben dolgozunk fel.

A probléma felütése:

Nándi papíros megoldása:

nandikm.jpg

Gréta papíros megoldása:

gretakm.jpg

Matyi papíros megoldása: 

 matyikm.jpg

A források celebrálása

 

Labdapattogás

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:

delta.jpg

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.

10 begin goto 20, változók értékének megcserélése

Szeretnénk egy rendszeres programozás streamet csinálni a gyerekeimmel, ez a blog ennek lenne egy adminisztrációs felülete. Lazán azt a tematikát követjük, amit magam is tanultam, illetve tanítok. Az első emlékem a változók kapcsán két változó értékének megcserélése, melyeket az alábbi rövid streamekben dolgoztunk fel.

Segédváltozóval

Segédváltozó nélkül

EXOR-al

ez utóbbi elmagyarázásához Nándi ezt az ábrát készítette:

exor.jpg

Íme a kapcsolódó forráskód:

#include <iostream>

int main()
{

    int a = 7;
    int b = 5;

    std::cout << "a=" << a << " b=" << b << std::endl;

    // mit éne itt csinálni, hogy a tartalma b-be legyenm b tartalma a-ba?

    int c = a;
    a = b;
    b = c;

    std::cout << "a=" << a << " b=" << b << std::endl;

    // mit éne itt csinálni, hogy a tartalma b-be legyenm b tartalma a-ba?

    b = b - a;
    a = a + b;
    b = a - b;

    std::cout << "a=" << a << " b=" << b << std::endl;

    a = a ^ b;
    b = a ^ b;
    a = a ^ b;

    std::cout << "a=" << a << " b=" << b << std::endl;

}

Következő téma a "labdapattogás" lesz.

Sziasztok, hackerek.

süti beállítások módosítása