Beispiel #1
0
// 게임판 그리기(main2)
void DrawField(void)
{
	int x, y;

	//위 보드 라인
	for (x = 1; x <= BOARD_WIDTH + 1; x++)
	{
		board[BOARD_HEIGHT][x] = 1; //board 배열 중앙 1인식
		SetCur((BOARD_X)+x * 2, BOARD_Y);  //콘솔좌표
		printf("━");
	}

	//아래 보드 라인
	for (x = 1; x <= BOARD_WIDTH + 1; x++)
	{
		board[BOARD_HEIGHT][x] = 1; //board 배열 중앙 1인식
		SetCur((BOARD_X)+x * 2, BOARD_Y + BOARD_HEIGHT);  //콘솔좌표
		printf("━");
	}

	//왼쪽 보드 라인
	for (y = 0; y < BOARD_HEIGHT + 1; y++)
	{
		board[y][0] = 1; //board 배열 왼쪽 1인식
		SetCur(BOARD_X, BOARD_Y + y);
		if (y == 0)
			printf("┏");
		else if (y == BOARD_HEIGHT)
			printf("┗");
		else
			printf("┃");
	}
	//오른쪽 보드 라인
	for (y = 0; y < BOARD_HEIGHT + 1; y++)
	{
		board[y][BOARD_WIDTH + 1] = 1; //board 배열 오른쪽 1인식
		SetCur(BOARD_X + (BOARD_WIDTH + 2) * 2, BOARD_Y + y);
		if (y == 0)
			printf("┓");
		else if (y == BOARD_HEIGHT)
			printf("┛");
		else
			printf("┃");
	}

	//모서리값 값 변경
	board[20][0] = 1;
	board[20][11] = 1;

	puts(" ");
}
Beispiel #2
0
AHTMODEL::AHTMODEL( void )
{
    flag = AHTMODEL_FLAG_NONE;
    dummy = 0;
    SetCur( 0, 0 );
    SetPage( 0 );
    SetNextID( -1 );
    SetPrevID( -1 );
    SetGlobalId( 0 );
    
    obj.option1 = 0;
    obj.option2 = 0;
    obj.option3 = 0;
    obj.option4 = 0;
    
    prop_cnt = 0;
    mem_prop_size = 0;
    mem_prop = NULL;
    
    source = NULL;
    propstr = NULL;
    exp = NULL;
    stdbuf = NULL;
    
    *name = 0;
    *classname = 0;
    *author = 0;
    *ver = 0;
    *fname = 0;
    *fpath = 0;
    refprop = NULL;
    
    *icon = 0;
    iconid = 0;
}
Beispiel #3
0
int main() {
	ConsoleInit();
	DrawField();
	DrawBaord();


	SetCur(0, 0);
}
void iNWSliderBar::OnLButtonUp(const iPoint& pos, uint32 vkey)
{
    if (m_bTracking) {
        m_bTracking = false;
        SetCur(m_TrackPos);
    }
    iNWControl::OnLButtonUp(pos,vkey);
}
Beispiel #5
0
// 보드 만들기(main3)
void DrawBaord(void)
{
	srand(time(0));

	int board_width, board_height;
	for (board_height = 0; board_height < BOARD_HEIGHT - 1; board_height += 2) {
		SetCur(7, board_height + 3);
		for (board_width = 0; board_width <= BOARD_WIDTH; board_width += 2) {
			board[board_height][board_width] = rand() % 5;
			// 배열의 마지막을 비워야 한다니까는
			//if (board_width == 0 || board_width == BOARD_WIDTH + 2 || board_height == 0) board[board_height][board_width] = 0;

			if (board_width == BOARD_WIDTH) printf("%d", board[board_height][board_width]);
			else printf("%-4d", board[board_height][board_width]);
		}
	}
}
Beispiel #6
0
//게임 설명(main1)
void ConsoleInit()
{
	// 콘솔 초기화 및 시작 화면 구성 영역
	printf("C언어 콘솔 테트리스\n\n");
	printf(""
		"===================================        \n"
		"조작법:                                        \n"
		"[→]     커서를 오른쪽으로 이동              \n"
		"[←]     커서를 왼쪽으로 이동                \n"
		"[↑]     커서를 왼쪽으로 이동            \n"
		"[↓]     커서를 아래로 이동            \n"
		"[Space]  커서가 가리키는 블럭 선택                  \n"
		"                                            \n"
		"아무키나 누르면 시작됩니다.                    \n"
		"===================================           \n");
	_getch();
	system("cls");            // Console.Clear();
	CursorVisible(false);    // 커서 숨기기
	SetCur(0, 0); //보드표시 시작위치 설정
}
void wxsItemEditorContent::OnMouseDraggingItemInit(wxMouseEvent& event)
{
    BlockFetch(true);

    if ( event.RightIsDown() || event.MiddleIsDown() || !event.LeftIsDown() )
    {
        m_MouseState = msIdle;
        return;
    }

    int DeltaX = event.GetX() - m_DragInitPosX;
    if ( DeltaX<0 ) DeltaX = -DeltaX;
    int DeltaY = event.GetY() - m_DragInitPosY;
    if ( DeltaY<0 ) DeltaY = -DeltaY;

    if ( DeltaX + DeltaY > m_MinDragDistance )
    {
        m_MouseState = msDraggingItem;
        m_Assist->NewDragging();
        SetCur(wxCURSOR_SIZING);
    }
}
void wxsItemEditorContent::OnMouseIdle(wxMouseEvent& event)
{
    BlockFetch(false);
    m_DragInitPosX = event.GetX();
    m_DragInitPosY = event.GetY();

    int MouseX = event.GetX();
    int MouseY = event.GetY();

    wxsItem* OnCursor = FindItemAtPos(MouseX,MouseY,m_Data->GetRootItem());
    if ( !OnCursor ) OnCursor = m_Data->GetRootItem();

    wxWindow* Preview = GetPreviewWindow(OnCursor);

    if ( event.LeftDClick() && !event.RightIsDown() && !event.MiddleIsDown() )
    {
        if ( Preview )
        {
            int PosX, PosY, SizeX, SizeY;
            FindAbsoluteRect(OnCursor,PosX,PosY,SizeX,SizeY);
            if ( OnCursor->MouseDClick(Preview,MouseX-PosX,MouseY-PosY) )
            {
                m_MouseState = msWaitForIdle;
                m_Editor->RebuildPreview();
                m_MouseState = msWaitForIdle;
                return;
            }
        }
    }

    if ( event.LeftDown() && !event.LeftDClick() && !event.RightIsDown() && !event.MiddleIsDown() )
    {
        // Selecting / drag init event
        bool NeedRefresh = false;
        if ( Preview )
        {
            int PosX, PosY, SizeX, SizeY;
            FindAbsoluteRect(OnCursor,PosX,PosY,SizeX,SizeY);
            NeedRefresh = OnCursor->MouseClick(Preview,MouseX-PosX,MouseY-PosY);
        }

        if ( NeedRefresh )
        {
            m_MouseState = msWaitForIdle;
            m_Editor->RebuildPreview();
            m_MouseState = msWaitForIdle;
            return;
        }

        DragPointData* DPD = FindDragPointAtPos(MouseX,MouseY);

        if ( DPD )
        {
            // If there's drag point, starting point-dragging sequence
            m_CurDragPoint = DPD;
            m_CurDragItem = DPD->Item;
            m_MouseState = msDraggingPointInit;
        }
        else
        {
            if ( !OnCursor->GetIsSelected() )
            {
                m_Data->SelectItem(OnCursor,!event.ControlDown());
            }
            else
            {
                m_Data->SelectItem(OnCursor,false);
            }

            m_CurDragPoint = FindDragPointFromItem(OnCursor);
            m_CurDragItem = OnCursor;
            m_MouseState = msDraggingItemInit;

            if ( !m_CurDragPoint || !m_CurDragItem )
            {
                // If we're here, preview has probably not been updated yet
                m_MouseState = msWaitForIdle;
            }
        }
    }

    if ( !event.LeftIsDown() && event.RightDown() && !event.MiddleIsDown() )
    {
        if ( Preview )
        {
            int PosX, PosY, SizeX, SizeY;
            FindAbsoluteRect(OnCursor,PosX,PosY,SizeX,SizeY);
            if ( OnCursor->MouseRightClick(Preview,MouseX-PosX,MouseY-PosY) )
            {
                m_MouseState = msWaitForIdle;
                m_Editor->RebuildPreview();
                m_MouseState = msWaitForIdle;
                return;
            }
        }
    }

    if ( !event.LeftIsDown() && !event.RightIsDown() && !event.MiddleIsDown() )
    {
        // Updating cursor

        DragPointData* DPD = FindDragPointAtPos(event.GetX(),event.GetY());

        if ( DPD )
        {
            switch ( DPD->Type )
            {
                case LeftTop:
                case RightBtm:
                    SetCur(wxCURSOR_SIZENWSE);
                    break;

                case Top:
                case Btm:
                    SetCur(wxCURSOR_SIZENS);
                    break;

                case RightTop:
                case LeftBtm:
                    SetCur(wxCURSOR_SIZENESW);
                    break;

                case Left:
                case Right:
                    SetCur(wxCURSOR_SIZEWE);
                    break;

                default:
                    SetCur(wxCURSOR_ARROW);
            }
        }
        else
        {
            SetCur(wxCURSOR_ARROW);
        }

    }
}