// 게임판 그리기(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(" "); }
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; }
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); }
// 보드 만들기(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]); } } }
//게임 설명(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); } } }