#include "stdafx.h"

//==============================================================================================

//  team                        C<>DE_INSIDE.RND

//  file name                   textris_demo.cpp

//  completion level            1                               ( basic, moderate, complete )

//  author                      codesafer

//  date                        2017.06.26

/// since                       2017.06.26

//------------------------------+---------------------------------------------------------------

#include "tex_framework.h"


SCREEN<> stage; // 80 * 25 로 콘솔 스테이지가 만들어졌다


int main()

{

    stage.top_page.fill( { C4::silver / C4::black, ' ' } ); // 공백문자로 까맣게 지우시구~


    const   u8  color_set1[] { 15, 7, 8 }; // 색상을 바로 숫자로 표현해도 됨

    const   C4  color_set2[] { C4::red, C4::white, C4::white, C4::white }; // 물론 색상으로 표현해도 됨


    //  키 입력을 기다리면서~

    stage.waitfor_press( [ &color_set1, &color_set2 ]

    {

        static  int i = 0;

        //  정적 변수로 선언했으니 매번 이 람다 함수를 한 사이클씩 실행해도 i 상태는 보존됨

        stage.top_page.puts(  7, "TeXtris  1", color_set1, i++ / 100 );

        //  제목을 회색톤으로 찍어주고 느리게 스크롤

        stage.top_page.puts( 11, "Codesafer's C++ programming guide", color_set2, 4 - i++ / 50 );

        //  제목보다 두 배 빠르게 반대방향으로 스크롤

        stage.top_page.puts( 15, "Press any key to start" );

        //  위에서 충분히 촐싹댔으니 단색으로 찍자

        stage.flush();

        //  출력 고고싱~

    } );

    //  키를 누르셨군유~

    stage.fadeout();

    //  있어보이쥬~


    //  파란 사각 스탬프를 만들자. ( 어차피 공백 찍을꺼라 글씨색은 중요하지 않다 )

    PAGE< 4, 4 >    stamp;

    stamp.rectangle( 0, 0, 4, 4, { C4::white / C4::blue, ' ' } );

    for( int y = 0; y < stage.ysize(); y += stamp.ysize() )

        for( int x = 0; x < stage.xsize(); x += stamp.xsize() )

        {

            stage.top_page.draw( x, y, stamp );

            stage.flush();

            ::Sleep( 3 );

        }


    return  0;

}

//==============================================================================================


사용하기 개쉬움!