본문 바로가기
반응형

프로그래밍4

C로 만든 워드 서치 학습지 생성기 이건 일종의 재탕이다. 예전에 Python + PyQt5 + docx로 상당히 완성형의 생성기를 만들었던 적이 있다. https://pagedown.tistory.com/5 Word Search 학습지 제작기 공유 나는 퍼즐을 아주 좋아하는 것은 아니지만 영어학원에서나 학교에서 워드 서치 학습지를 주고 풀어오라고 하면 재밌게 풀던 기억이 있다. 그래서 그 기억을 되살려 아예 직접 워드 서치을 만들 pagedown.tistory.com 근데 실수로 컴퓨터 데이터가 한번 날아가면서 코드를 잃어버리기도 했고(사실 원래 PyQt5 프로젝트는 GPL 라이선스상 코드를 공개하는게 맞다. 저 때는 무지해서 몰랐음...) C로도 할만한 프로젝트가 없나 찾아보다가 적당할 것 같아서 만들게 되었다. 확실히 알고리즘을 구현.. 2021. 10. 8.
C로 만든 슈팅 게임 이번에는 게임이다. 내가 게임을 그렇게 좋아하는 편은 아니고, 잘 하는 것도 아니라 별로 관심은 없는데 콘솔 위에서 간단하게 만들어보는 것은 재밌을 것 같아서 만들어 보았다. 나름대로 기술적으로 구현하려고 노력했던 점은 그래픽을 그리는 방식이었다. 보통 초보자들이 화면을 업데이트하려고 할 때는 cls를 이용하는 경우가 많은데, 당연히 딜레이 때문에 화면이 깜빡거리는 문제가 생긴다. 그래서 보통은 gotoxy를 이용해 커서를 0, 0으로 보낸 다음 print하는 방법을 이용한다. 하지만 순서대로 라인마다 print를 하게 되면 위에서 아래로 흐르듯이 주루룩 변하는, 다소 이질적인 현상이 발생할 수 있어서 더블 버퍼의 개념을 좀 빌려 왔다. 미리 buffer 배열에 그릴 데이터를 모아 놓고 라인은 개행 문자.. 2021. 10. 8.
C언어 포인터 이야기 *헷갈릴까봐 말해두지만, 여기서 자료형과 타입은 같은 말이다. 혼용하고 있으나 같은 뜻이다. 오늘은 포인터에 관한 이야기이다. 입문자들은 포인터에 관한 막연한 불안감을 갖는 경우가 많은데, 이는 소문에 의한 거품에 가깝다. 정말 별것도 아니고 그냥 직관적으로 받아들이고 쓰면 된다. 특히 나는 몇몇 오해를 불러일으킬 수 있는 표현법에 대한 설명을 해주고자 한다. 일단 포인터가 무엇인가? 포인터는 메모리의 특정 위치를 가리키는 변수이다. 여기서 가리킨다는 것은 결국 포인터 변수가 가리키고자 하는 변수의 주소값을 갖는다는 의미이다. 백문이 불여일견, 직접 코드를 보자. int value = 10; int* p = &value; 대부분 입문자들은 이 코드를 int형 변수 value와 value를 가리키는 포인터.. 2021. 10. 7.
Pyinstaller에서 PyQt .ui 파일을 포함해 빌드해야 할 때 지난번 글에서 인터파크 티켓팅 매크로 코드를 공개했는데, 보면 프로그램의 기능을 담당하는 .py 스크립트와 UI를 담당하는 .ui 파일이 분리되어 있는 것을 알 수 있다. 나는 보통 pyuic를 통해 .ui 파일에서 .py로 스크립트를 변경해 썼다. 이 방법이 여러모로 편리하지만, 원치 않는 찌거기같은 코드가 마구 딸려와서 코드가 지저분해지는 경향이 있었고, UI의 변경이 어려웠다. 난 코드로 UI 디자인을 거의 못하기 때문에 Qt Designer을 쓰는데, 그런 나에겐 최악의 상황이다. 따라서 uic.loadUiType을 통해 ui를 따로 로드해서 프로그램을 만들어 보기로 했고 이 티켓팅 매크로가 그 첫 시도의 결과물이다. ui를 따로 로드했을 때의 단점은 텍스트 에디터에서 보조를 받기 쉽지 않다는 점.. 2020. 4. 12.
반응형