반응형

아두이노/테트리스[완료] 5

(최종) 아두이노에서 테트리스 게임을 만들어보자(5)

앞의 4회에서 소스코드와 설명을 간략히 했는데, 전체 소스코드를 아래에 공개한다.돌아가는 사진은 아래에 있고, 동영상 촬영한 것은 맨 아래에 유튜브에 올려둔 동영상을 연결했다. 더 간단하게도, 더 확장될 수 있게도 만들수 있겠지만, ^^/*============================================================== Tetris.ino 그냥 테트리스의 일반적인 구현(아두이노) Copyright (c) 2015, myjunu@gmail.com (KANG, YOUNG-IG) All rights reserved. 아무나 알아서 수정해서 쓰면 됨... 그런데 위에 웬 copyright? ... ^^ GLCD에 시험용으로 어떤 것을 만들어 볼까 고민하다가 24년 전에 프로그램 처..

(4) 아두이노에서 초소형 테트리스를 만들어보자(4)

테트리스의 블럭이 있는 곳을 1로 표시하고, 공간 즉 공백인 곳을 0으로 지정한다. 움직이려는 곳이 블럭이 있으면 움직일 수 없도록 할 것이라서, 테트리스의 테두리를 1로 가득채우고, 가운데는 0으로 채웠다. 아래와 같다. // 전체 화면의 크기 #define BOARD_ROW_CNT 19 #define BOARD_COLUMN_CNT 10 // 화면의 초기 설정을 함. // 이 부분을 다양화 시키면, 스테이지를 구분해 가면서 이미 블럭이 존재하도록 // 하는 등 다양한 표현을 할 수 있다. // 화면의 좌우 및 하단은 1로 정의를 하여, 블럭이 좌우 및 맨 아래를 뚫고 // 지나가지 않도록 초기 설정함 char board[BOARD_ROW_CNT][BOARD_COLUMN_CNT+2] = { { 1, 0,..

(3) 아두이노에서 초소형 테트리스를 만들어보자(3)

이번에는 조이스틱을 이용하여 키 입력을 받기 위한 방법이다. PC에서 키보드를 입력했을 때와 유사(?)하게 키보드 버퍼 같은 것을 만들어 두면, 테트리스 프로그램 할 때 편리하지 않을 까 하는 생각에 이것을 구현해보았다. 여기서 사용한 것은 인터럽트를 사용한 방식을 최초 적용했다가 좀 이상한 것 같아서 timer 라이브러리를 찾아서 적용해보았다. 타이머 소스코드를 찾아보지는 않았지만, 결국은 인터럽트를 사용한 것과 같은 것이 아닐까 생각한다. 아닐수도... ^^ 사용한 라이브러리는 MsTimer2를 사용하였다. 이 라이브러리가 기본적으로 설치되어 있었는지 기억이 나지 않지만, 설치가 되어있지 않다면 설치하면된다. 설치 방법은 바로 직전 글의 라이브러리 추가하는 것을 참고하면 된다. #include 키보드..

(2) 아두이노에서 초소형 테트리스를 만들어보자(2)

한번의 광고 클릭이 저에게 도움을 줍니다. 감사합니다. 제일 먼저, 화면에 무언가 출력이 되어야하니, OLED에 출력하는 부분에 대해 간략히 설명한다.OLED의 전체 사용법은 주변의 다양한 글들을 찾아서 보면되겠고, 여기서는 테트리스를 만들 때 사용된 코드를 위주로 설명을 한다.OLED에 출력하기 위해서 간단하게 "Universal 8bit Graphics Library, http://code.google.com/p/u8glib/"를 사용하였다. u8glib를 사용하면 아주 간단하게 화면에 점, 선, 도형 등을 그려 넣을 수 있다. 아두이노 -> 스케치 -> 라이브러리 포함하기 ->라이브러리 관리 메뉴에서 u8glib 을 찾아서 설치를 하면 된다. u8glib 만 설치하면된다. 아래의 사진의 u8g2는 ..

(1) 아두이노에서 초소형 테트리스를 만들어 보자

2015년에 네이버 카페에 올린 글을 찾아와서 다시 정리한다. 아두이노를 접하면서 쉽게 만들어보려고 했던 프로그램이 테트리스인데, 아두이노로 LED를 깜빡이고 하는 단순 기능을 연습하다가 보니 실제 응용 프로그램을 만들어보는 것이 배움(?)의 진도를 더빨리 나갈 것 같아서, 주변에 있던 부품을 이용하여 만들수 있는 응용 프로그램으로 테트리스를 생각하게 되었다. 작은 흑백 OLED가 있었고, 조이스틱 모듈도 있었기에 이 정도 부품으로 작은 다마고찌 게임기 처럼, 테트리스를 만들어 볼까 하는 생각과 오래전(약 2~30년전)에 프로그래밍을 처음 배울때, 알고리즘 공부하려고 시작한 테트리스를 구현했던 것을 아두이노에 적용해 보았다. 테트리스는 나에게 여러가지 방식으로 만들어본 프로그램. 맨 처음에는 8086 X..

반응형