분류 전체보기

Study/C#, Winform

[C#] 바이트 배열 다루기 : BitConverter

C#을 다루면서 비트를 다룰 때 생각보다 많이 사용하게되는 BitConverter입니다. 데이터를 바이트 배열로 변환하거나 바이트 배열을 데이터로 변환하여 전달할 때 많이 쓰입니다. BitConverter Class // // 요약: // Converts base data types to an array of bytes, and an array of bytes to base // data types. public static class BitConverter BitConverter는 static class의 형태로 내부의 함수들 또한 static 함수로 이루어져 있습니다. BitConverter에서 자주 쓰이는 함수 (데이터를 Byte 배열로 변환) // bool 값을 byte[]로 변환 public s..

Computer/Hardware

[리뷰] HP Victus 16 단점 위주 리뷰 (빅터스 16)

HP사의 보급형 게이밍 노트북 브랜드인 빅터스시리즈의 노트북을 사게 되었습니다. (HP에는 두 가지 게이밍 브랜드가 존재하죠. Omen(오멘)과 Victus(빅터스)) 이미 나온지 꽤 된 노트북이라 많은 리뷰가 있을 것이니 저는 약 4일간 사용했을 때 단점을 위주로 리뷰를 하겠습니다. (좋은 리뷰는 많이들 하신 것 같으니) ※ 빅터스 16의 d모델 기준입니다. (저는 Victus 16-d1121TX모델이지만 HP 에서는 16-d 모델 전체를 하나로 보고 있기 때문입니다.) 1. 윈도우 10 설치 힘듬 빅터스 16은 기본적으로 윈도우 11 지원으로 제품을 냈습니다. 그래서 윈도우 10의 드라이버를 공식적으로 지원해주지 않는데 윈도우 자체의 드라이버 업데이트 기능으로 될 것 같아서 설치해보았으나 칩셋과 무선..

Study/C#, Winform

[C#] 바이트 배열을 이용한 비트 다루기 : BitArray

C#을 다루면서 비트를 다룰 때 생각보다 많이 사용하게되는 BitArray입니다. 바이트 배열을 넣어서 사용하기도 하고 비트의 개수를 넣어서 사용하기도 합니다. BitArray 생성자 using System.Collections; // BitArray를 사용하기 위함 // length 만큼의 길이를 가진 비트배열을 만듬 (모든 비트는 0) public BitArray(int length); // length 만큼의 길이를 가진 비트배열을 만들고 기본값을 defaultValue로 설정 public BitArray(int length, bool defaultValue) // 바이트 배열을 비트배열로 만듬 // 예) bytes = byte[2] -> BitArray를 16칸 자리를 만듬 // (BitArray..

Study/C++

[C++/Console] 테트리스 만들어 보기 - 7 (자동 하강, 블럭 회전, 라인 클리어)

[C++/Console] 테트리스 만들어 보기 - 6 (바닥 충돌, 블럭 랜덤 생성) [C++/Console] 테트리스 만들어 보기 - 5 (충돌 판정 - 벽, 블럭) [C++/Console] 테트리스 만들어 보기 - 4 (플레이어(블럭) 움직임) [C++/Console] 테트리스 만들어 보기 - 3 (화면 출력에 대한 고찰) [C++/Console] eskeptor.tistory.com 지난 시간에는 바닥 충돌, 블럭 랜덤 생성에 대해서 알아보았습니다. 오늘은 시간이 지남에 따라 자동으로 블럭이 하강하고, 스페이스바를 눌렀을 때 블럭이 회전되며, 하나의 라인을 형성하면 해당 라인을 클리어 후 점수가 올라가는 점수 시스템에 대해서 알아보겠습니다. 자동 하강 테트리스는 지정된 시간이 지나면 블럭이 아래로 ..

Study/C++

[C++11] unordered_map

최근에 스크립트형 언어 컴파일러를 만들고 있습니다. (실시간 스크립트 변형 후 동작을 위한) 이 과정 중에서 어휘 분석기(Lexical Analyzer)를 구현하는 과정에서 이전에 한 번 써보았던 unordered_map를 사용하게되어 unordered_map을 다시 공부한 내용을 써보려고 합니다. 들어가기에 앞서 제가 공부한 내용들은 전부 아래의 링크들에서 학습 및 참고하였습니다. A Proposal to Add Hash Tables to the Standard Library X(i, j, n, hf, eq) X a(i, j, n, hf, eq) X Constructs an empty container with at least n buckets, using hf as the hash function a..

Study/C++

[C++/Console] 테트리스 만들어 보기 - 6 (바닥 충돌, 블럭 랜덤 생성)

[C++/Console] 테트리스 만들어 보기 - 5 (충돌 판정 - 벽, 블럭) [C++/Console] 테트리스 만들어 보기 - 4 (플레이어(블럭) 움직임) [C++/Console] 테트리스 만들어 보기 - 3 (화면 출력에 대한 고찰) [C++/Console] 테트리스 만들어 보기 - 2 (키보드 입력 및 블럭) [C++/Console] eskeptor.tistory.com 지난 시간에는 충돌 판정에 관련하여 알아보았습니다. 오늘은 바닥 충돌(또는 블럭 충돌) 및 블럭 랜덤 생성에 대해서 알아보겠습니다. 바닥 충돌 (또는 블럭 충돌) 지난 시간에 이어서 바닥에 충돌하였을 때 감지하는 방법을 알아봅시다. 바닥을 확인하는 CheckBottom 함수를 작성합니다. void CheckBottom() { ..

Study/C++

[C++/Console] 테트리스 만들어 보기 - 5 (충돌 판정 - 벽, 블럭)

[C++/Console] 테트리스 만들어 보기 - 4 (플레이어(블럭) 움직임) [C++/Console] 테트리스 만들어 보기 - 3 (화면 출력에 대한 고찰) [C++/Console] 테트리스 만들어 보기 - 2 (키보드 입력 및 블럭) [C++/Console] 테트리스 만들어 보기 - 1 (간단 소개 및 더블 버퍼링) Window 환 eskeptor.tistory.com 지난 시간에는 플레이어(블럭)의 움직임에 관련하여 알아보았습니다. 오늘은 플레이어(블럭) 충돌 판정에 대해서 알아보겠습니다. 충돌 판정 지난 시간에 했던 프로젝트를 실행해서 움직여보면 좌, 우, 하단 끝에 도달하여도 계속 가는 것을 볼 수 있습니다. 이것을 방지하기 위해서는 충돌 판정을 통해서 움직이지 못하도록 해야합니다. 그럼 어떻..

Study/C++

[C++/Console] 테트리스 만들어 보기 - 4 (플레이어(블럭) 움직임)

[C++/Console] 테트리스 만들어 보기 - 3 (화면 출력에 대한 고찰) [C++/Console] 테트리스 만들어 보기 - 2 (키보드 입력 및 블럭) [C++/Console] 테트리스 만들어 보기 - 1 (간단 소개 및 더블 버퍼링) Window 환경에서 C++과 Console창을 이용하여 테트리스를 만들어 봅시다. eskeptor.tistory.com 지난 시간에는 화면 출력에 관련하여 알아보았습니다. 오늘은 플레이어(블럭) 움직이는 처리에 대해서 알아보겠습니다. 플레이어(블럭) 클래스 먼저 플레이어(블럭)의 처리를 도와줄 클래스를 작성하여봅시다. class CPlayer { public: // Block 방향 enum eDirection { Dir0 = 0, Dir90, Dir180, Dir..

Study/C++

[C++/Console] 테트리스 만들어 보기 - 3 (화면 출력에 대한 고찰)

[C++/Console] 테트리스 만들어 보기 - 2 (키보드 입력 및 블럭) [C++/Console] 테트리스 만들어 보기 - 1 (간단 소개 및 더블 버퍼링) Window 환경에서 C++과 Console창을 이용하여 테트리스를 만들어 봅시다. 명령 프롬프트의 환경설정 테트리스에서 사용하는 특수 문 eskeptor.tistory.com 지난 시간에는 키보드 입력 및 블럭에 관련하여 알아보았습니다. 오늘은 Console 상에서 도형 및 프레임(화면)에 대하여 어떻게 출력할지에 대한 고찰을 해보겠습니다. 화면 출력 테트리스는 기본적으로 네모난 틀 안에서 시작합니다. 기본적으로 가로로 10칸, 세로로 20칸으로 구성됩니다. (프레임 제외) 이 공간을 이차원 배열로 표현하면 // Origin Map const..

Study/C++

[C++/Console] 테트리스 만들어 보기 - 2 (키보드 입력 및 블럭)

[C++/Console] 테트리스 만들어 보기 - 1 (간단 소개 및 더블 버퍼링) Window 환경에서 C++과 Console창을 이용하여 테트리스를 만들어 봅시다. 명령 프롬프트의 환경설정 테트리스에서 사용하는 특수 문자(벽돌과 같은)는 명령 프롬프트의 폰트 설정에 많은 영향을 받 eskeptor.tistory.com 지난 시간에는 기본적인 소개와 화면 갱신에 관련하여 알아보았습니다. 오늘은 키보드 입력과 블럭에 대해서 알아보도록 하겠습니다. 윈도우 기반 콘솔에서 C/C++로 키보드 입력 받기 이 방식은 Windows 운영체제의 명령 프롬프트에서 C/C++로 키보드를 입력받는 방식입니다. Linux 운영체제의 Terminal에서는 사용할 수 없습니다. 여기서 사용하는 conio.h에 정의된 함수들은 ..

Eskeptor
'분류 전체보기' 카테고리의 글 목록