파도가 칠 때는 서핑을

Soon as possible

Wait!

공부/TIL

20210322(월)

hyeonhki 2021. 3. 25. 13:04
728x90

- 📆 학습 날짜

2021.03.22 (월)

- 🕐 학습 시간

8:13 - 10:05(집)
14:00 - 15:13(카페)
15:19 - 15:39(카페)
15:50 - 17:25(카페)

- ✓ 학습 목표

  • C++ 공부하기
  • mlx 예제 풀이

- 어제로부터


- ? 학습 범위 및 주제

  • 42seoul : ft_printf
  • C++

- 📝 상세 학습 내용

  • 백준 문제풀이

    • 1330 : 두 수 비교하기 (B4)
      • if문 활용, scanf 자동 개행
    • 2884 : 알람 시계 (B3)
      • if문, cout에 변수 여러개
    • 11021 : A + B - 7 (B3)
      • for문
    • 1110 : 더하기 사이클 (B1)
      • while문 통과
    • 4344 : 평균은 넘겠지 (B1)
      • C++ 동적할당 new
  • 02 key_handling

    • 키를 입력받고 동작을 수행하는 예제
    • W와 S키의 입력을 변화하는 x 값을 확인할 수 있다.
    • mlx_hook
      •   int mlx_hook(void *win_ptr, int x_event, int x_mask, int (*funct)(), void *param)
        • funct_ptr는 이벤트 발생시 호출하고 싶은 함수를 가리키는 포인터
        • funct는 win_ptr에 의해 특정된 윈도우에만 적용
        • 이벤트에 따라 작동
    • 매크로에 맥북의 KEYcode를 저장해두고, mlx_hook에서 입력된 keycode에 따라 구조체 파라미터에 함수를 적용시켰다.
      => 응용해서 y 입력값도 받아보았다.
  • 03 img_loading

    • xpm파일을 불러와서 화면에 그려 창에 띄운다.
    •  int mlx_put_image_to_window(void *mlx_ptr, void *win_ptr, void *img_ptr, int x, int y)
      - 디스플레이 연결(mlx_ptr), 사용할 창(win_ptr) 및 이미지(img_ptr), 창에서 이미지를 배치할 위치(x,y)
    • void *mlx_xpm_file_to_image (void *mlx_ptr, char *filename, int *width, int *height);
      • 에러 발생시 null 리턴
        • mlx_A_to_image 함수들은 각각 xpm 배열데이터, xpm파일, png파일의 종류 별 이미지 변환.
        • width와 hegith에는 너비와 높이를 저장할 int 형 변수의 주소를 넣어둔다.
  • 04 img_making

    • 파일이 아닌 직접 픽셀에 점을 찍어서 그림을 그려 창에 띄운다.
    • 홀수와 짝수대로 1픽셀에 색상을 부여하는 듯
    • 검은색과 흰색 입력시 회색으로 나타남
  • 05 img_loading_and_modifying

    • 파일을 불러온 뒤 그 위에 픽셀을 찍어서 창에 띄운다.
    • mlx_get_data_addr로 받아온 data를 수정해서 img를 조정
  • 06 map_2d

    • 간단한 2d맵을 만든다.
    • esc 외에 상호작용 없음
    • c : double floor(double n)
      • 내림 함수
    • 함수 구조
      1. game_init : 이차원 배열로 만든 맵을 memcpy를 통해 구조체에 복사
      2. window_init : mlx_ptr에 mlx_init, win에 mlx_new_window
      3. img_init : 이미지 메모리 생성 후 이미지 정보 저장
      4. 이벤트를 받는 hook
      5. loop_hook : 지도 구축
        • 맵에 1인 구간마다 #ffffff로 사각형 구현
        • #b3b3b3으로 line(세로줄, 가로줄) 구획 (<math.h> fabs 실수절댓값)
        • drawline에서 줄두께는 어디인가?

- ? 추가적으로 공부해야할 내용 (Weekend)

  • xpm 파일

- 학습내용에 대한 총평

차근차근 하나씩 해나가는 중이다.


- 👉 해야할 일

  • img.data의 좌표 확인

- 📚 참고 서적 및 웹사이트

728x90

'공부 > TIL' 카테고리의 다른 글

20210324(수)  (0) 2021.03.25
20210323(화)  (0) 2021.03.25
20210321(일)  (0) 2021.03.22
20210319(금)  (0) 2021.03.19
20210317(수)  (0) 2021.03.18