Programming Language78

다중메뉴 1. 다중메뉴 1) 메뉴 리소스파일 생성 - 2개의 메뉴 .xml 파일을 만든다. 2) menu1.xml 설정 - 위와 같이 [Menu Item] 2개를 생성하고 id와 title을 입력한다. 3) menu2.xml 설정 - 위 그림과 같이 [Menu Item] 3개를 생성하고 id와 title을 입력한다. 4) activity_main.xml 설정 - 위 그림과 같이 LinearLayout 내에 button 3개를 생성하고 id와 text를 입력한다. - btnColor의 layout_gravity 속성은 [center]로 부여한다. - btnSize의 layout_gravity 속성은 [center]로 부여한다. - button1의 layout_gravity 속성은 [center]로 부여한다. - b.. 2018. 10. 9.
메뉴 라디오버튼 1. 메뉴에 라디오버튼 사용하기 1) 그림 첨부 - 3개의 그림을 [res - drawable]에 첨부한다. 2) activity_main.xml 설정 - RelativeLayout을 사용하고 아래에 TextView, EditText, ImageView 위젯을 넣었다. - id와 text는 위 그림과 같이 세팅하였다. - 위 그림과 같이 textView1 옆에 나오게 하도록 아래그림과 같이 설정한다. - layout_toRightOf 속성에 textView1을 적어 textView1의 오른쪽에 edtAngle을 배치한다. - imageView는 위 그림과 같이 중앙정렬 하기위해 아래 그림과 같이 설정한다. - layout_centerHorizontal과 layout_centerVertical을 모두 체크.. 2018. 10. 9.
메뉴버튼 1. 메뉴버튼 1) 메뉴 리소스의 디렉토리 생성 - [res]디렉토리 우클릭 후 [New - Directory] 를 클릭한다. - 이 과정은 리소스 중 메뉴리소스를 저장할 디렉토리를 생성하는 것이다. 2) 메뉴 디렉토리 이름 지정 - 메뉴디렉토리를 생성하려고 하는데 먼저 만들어서 이미 있는이름이라고 나온다. 3) 메뉴 리소스 생성방법 - [res - menu] 디렉토리를 우클릭하여 [New - Menu resource file]을 클릭한다. 4) 메뉴 리소스 파일 생성 - .xml파일로 만든다. 5) 메뉴목록 디자인 - [Menu] 레이아웃 내에 [Menu Item] 3개와 서브 [Menu] 레이아웃 1개가 있고 그 안에 [Menu Item] 2개가 있다. - [Menu Item] 3개의 id는 [ite.. 2018. 10. 9.
메뉴 및 공용대화상자 1. 메뉴만들기1) 리소스 파일[1] 리소스파일 생성- [리소스파일(우클릭) - 추가 - 리소스] 를 클릭한다. [2] 메뉴리소스 추가- Menu 리소스를 클릭하고 새로만들기를 누른다. [3] 현재 프로젝트의 리소스 뷰에 접근- 리소스를 만들면 .rc확장자를 가지는 리소스 파일이 생성되고 헤더파일에 Resource.h 파일이 만들어진다.- [프로젝트명.rc] 파일을 더블클릭하면 현재 프로젝트의 리소스 뷰에 접근하게 된다. [4] 메뉴리소스 확인- 여러가지 리소스중에 우리가 만든 메뉴리소스를 더블클릭한다. [5] 메뉴에 원하는 문자를 넣어 메뉴를 구성할 수 있다.- [여기에 입력] 부분을 클릭하여 작성 후 Enter키를 누르면 저장된다. [6] Popup - True- FILE이라고 적은 것의 속성을 확인.. 2018. 10. 9.
함수 기초 1. 파이썬 함수.. 다른언어와의 차이점 1) 다른 언어와 다르게 함수도 하나의 자료형으로 간주한다. 2) 파이썬에서는 함수도 하나의 데이터이므로 변수에 대입할 수 있다. 3) 파이썬에서는 함수자체를 매개변수로 사용할 수 있다. 4) 함수이름은 함수의 주소를 의미한다. 5) 함수이름() 은 함수의 호출(실행)을 의미한다. 2. 내장함수(Built-in Function) 1) 별도의 모듈없이 사용할 수 있는 기본으로 제공되는 함수이다. 2) https://docs.python.org/3/library/functions.html 에 접속에서 내장함수 확인이 가능하다. 3) print(dir(__builtins__)) 명령으로도 내장함수 확인이 가능하다. 3. 반환 1) 파이썬은 return 뒤에 값이 없다면.. 2018. 10. 3.
지렁이게임 1. 뱀 그리기 - 먼저 게임을 만들기 위해 규칙이 여러가지 필요하지만 게임에 대한 깊이가 낮아 핸디캡이나 죽는 것이 없다. [1] 화면 영역 내에서 뱀이 자유롭게 움직일 수 있다. [2] 화면 영역 내에 뱀의 먹이가 파란색으로 표시된다. [3] 뱀의 먹이는 일정 시간이 흐른 후에 없어지며, 다른 곳에 새로 먹이가 생성된다. [4] 뱀은 먹이를 먹으면 꼬리가 1씩 증가한다. [5] 뱀의 머리는 빨간색이다. [6] 뱀의 몸은 녹색이다. ----------------미 추가사항------------------ [7] 머리가 자신의 몸에 닿으면 죽는다. [8] 화면 영역 밖으로 나가도 죽는다. [9] 30초에 한 번은 먹이를 먹어야 한다. (안 그럴 경우 가만히 있으면 죽지 않기 때문이다.) 2. 소스 1) .. 2018. 9. 30.
두더지잡기 게임 1. 두더지잡기 게임을 모티브로 한 원 잡기. [1] 게임을 진행할 영역을 얻어와야 한다. [2] 마우스 좌표가 원의 영역내에 있다면 점수가 증가한다. [3] 1000점이 초과되면 스테이지가 증가한다. [4] 10스테이지가 되면 메세지가 출력된다. [5] 원은 1초에 한번씩 좌표가 변경된다. [6] 스테이지가 올라갈 수록 원의 크기는 줄어든다. 2. 소스 1) 사용자 정의함수#include #include void Init(HWND hWnd, LPRECT rect, int *x, int *y, int *r, int *score, int *stage) { srand(time(NULL)); GetClientRect(hWnd, rect); //창 생성 시 화면의 좌표영역을 얻어온다. *x = rand() % .. 2018. 9. 30.
입력된 방향키 확인 1. 상하좌우와 가운데 사각형을 그리고 입력된 방향의 색상을 변경 [1] 방향키를 누르면 해당 방향의 색상은 빨간색으로 변경되어야 한다. [2] 키를 떼면 원래대로 돌아와야 한다. [3] 누르고 있는 동안은 해당방향의 사각형은 빨간색으로 유지해야 한다. 2. 소스 1) 사용자 정의함수void my_init(HDC hdc, int x, int y, int *flag, HBRUSH *hBrush) { for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { int value = (3 * i) + j + 1; //value = 현재 for문의 횟수 if (value % 2 == 0 || value == 5) { //2로 나누어 떨어지거나 5이면? //즉 대각선.. 2018. 9. 30.
사각형 그리기 1. 이중 for문을 이용하여 사각형 그리기 [1] 사각형을 그리고 내부에 몇 번 사각형인지 숫자를 부여한다. 2. 소스 1) 사용자 정의함수void my_init(HDC hdc, int x, int y) { for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { Rectangle(hdc, x + j * 100, y + i * 100, x + (j + 1) * 100, y + (i + 1) * 100); TCHAR tmp[20]; _stprintf_s(tmp, _T("%d"), (3 * i) + j + 1); TextOut(hdc, x + j * 100 + 50, y + i * 100 + 50, tmp, _tcslen(tmp)); } } } 2) 윈도우.. 2018. 9. 30.
도형 자동이동 1. 상하좌우버튼으로 원 자동이동 [1] 상하좌우 중 하나의 버튼이 한 번 눌렸을 때 그 방향으로 1초마다 20씩 이동한다. [2] 이동할 때마다 원의 색상이 랜덤하게 변경된다. [3] 동작 시 버튼을 누르면 원이 멈추고, 멈춘상태에서 버튼을 누르면 다시 이동한다. 2. 소스 1) 사용자 정의함수#include void my_init(HDC hdc, HBRUSH *hBrush, int *x, int *y) { srand(time(NULL)); int a = (rand() % 1000 + *x*100) % 256; int b = (rand() % 10000 + *x * 100) % 256; int c = (rand() % 5000 + *x * 100) % 256; SelectObject(hdc, Creat.. 2018. 9. 30.
마우스로 도형 옮기기 1. 마우스로 드래그해서 원 옮기기 [1] 마우스가 클릭되었을 때의 좌표가 원 내에 있는지 확인 [2] 원 내에 있다면 WM_MOUSEMOVE 메세지가 발생했을 때 원의 좌표를 마우스 좌표로 변경 [3] 마우스 드래그 중일 때는 원의 색상을 빨간색으로 변경 2. 소스 1) 윈도우 메세지 처리함수LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { PAINTSTRUCT ps; HDC hdc; static int x, y; //원의 좌표 int mx, my; //마우스의 좌표 static BOOL flag; //마우스가 원의 영역안에 있는지 상태 case WM_CREATE: { x .. 2018. 9. 30.
데이터 관계분석 이번 장에서 다루는 내용. - 서울시 CCTV 수와 인구수의 관계를 분석하려고 한다. - 그러기 위해서는 구별 CCTV수와 인구수를 알아야한다. ※ Jupyter Notebook을 사용하려고 한다. ※ numpy, pandas, matplotlib를 사용하여 데이터를 편집하고 그래프로 시각화하려고 한다. 1. 데이터 다운로드[1] - 구글에서 위 사진과 같이 검색한다. - 마우스 버튼이 있는 내용보기를 누른다. - csv형식의 파일을 다운로드 받는다. 2. 읽어오기[1] 1) pandas와 numpyimport pandas as pd # pandas를 pd라고 부르겠다. import numpy as np # numpy를 np라고 부르겠다. [1] pandas - 데이터 분석 및 처리를 쉽게 할 수 있도록.. 2018. 9. 30.