IT/프로젝트

[테트리스1] 개요, 설계, 화면구성

안녕하세요. 컴퓨터 못하는 컴퓨터공학생입니다.

델파이를 사용하여 테트리스 게임을 만들어보려 합니다.

 

첫 번째로 화면 구성 및 설계를 하려 합니다.

아래 플로우차트와 같이 테트리스의 전체적인 흐름이 흘러갑니다.

미리 설계를 해놓고 코드를 짜게되면 수월하게 코드를 짤 수 있습니다.




두 번째로 화면을 구성해보려 합니다

아래 그림과 같이 게임 진행화면, 다음블럭표시 화면, 점수 표시화면으로 크게 3가지로 나누려 합니다.



세 번째로 테트리스 진행 화면에서 배경을 그려보려 합니다

배경의 크기는 벽을 포함해서 가로 12, 세로 22인 직사각형으로 합니다

그리고 벽의 색은 하늘색으로 설정합니다




이 벽돌을 board라는 3차원 배열로 선언하겠습니다.


1
board : array[0..110..210..1of integer;      // 0..2 0은 색 index, 1은 쌓여있는지 여부
cs


여기서 0..11은 총 12길이의 가로길이,

0..21은 총 22길이의 세로길이,

0..1은 첫 번째 [0]은 색깔 index, [1]은 블록 쌓여있는지 아닌지 여부를 나타냅니다.



board 3차원 배열을 다음과 같이 초기화 합니다

끝 벽쪽은 2라는 임의값을 넣고 나머지는 0이라는 임의의 값을 넣습니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
begin
  // 벽부분 board배열에 2넣기.
  for i := 0 to 11 do
  begin
    for j := 0 to 21 do            
    begin
      if (j = 0) or (j = 21) or (i = 0) or (i = 11then
        board[i][j][1] := 2
      else
      begin
        board[i][j][0] := 0;
        board[i][j][1] := 0;
      end;
    end;
  end;
end;
cs



그리고 canvas를 이용하여 네모를 그립니다



1
2
3
4
5
6
7
8
9
10
11
12
13
14
  for i := 0 to 11 do
  begin         
    for j := 0 to 21 do
    begin
      if board[i][j][1= 2 then
        BackColor := $E7D2A5 // 하늘색(BGR)
      else
        BackColor := clSilver; // 회색
      MCanvas.brush.Color :=  BackColor;
      MCanvas.Pen.Style := psClear;
      MCanvas.Rectangle(i * cBrickSize, j * cBrickSize,
                      (i+1* cBrickSize, (j+1* cBrickSize);
    end;
  end;
cs



여기서 cBrickSize15입니다. 한변이 15인 정사각형을 그립니다.

왼쪽 위부터 오른쪽으로 가면서 정사각형을 그리고 다음줄로 내려와 다시 왼쪽부터 차례대로 정사각형을 그립니다.

다 그리면 다음 그림과 같이 테트리스 배경이 완성됩니다.





오늘은 여기까지 하겠습니다.

다음엔 블럭을 그리고 내려오는 기능에 대해 구현해보도록 하겠습니다.


감사합니다.





,
IT/MSSQL

SELECT, INSERT, UPDATE, DELETE

안녕하세요 컴퓨터 못하는 컴퓨터공학생입니다.


이번시간에는 MSSQL 기본 쿼리중 하나인 DQL과 DML에 대해서 알아보려 합니다.


DQL이란 Data Query Language의 약자로, 질의어로서 SELECT 가 DQL입니다.

DML이란 Data Manipulation Language의 약자로, 데이터 조작어 입니다. 

INSERT, UPDATE, DELETE가 DML입니다.




1. SELECT

(1) SELECT * FROM [테이블명]    -- [테이블명]의 모든 필드, 모든 데이터를 조회합니다.

(2) SELECT * FROM [테이블명]    -- [테이블명]의 모든 필드, [필드명]이 [필드값]인 데이터를 조회합니다.

    WHERE [필드명] = [필드값]     


(3) SELECT * FROM [테이블명]    --  [테이블명]의 모든 필드, [필드명1]이 [필드값1]이고

    WHERE [필드명1] = [필드값1]   --  [필드명2]이 [필드값2]이고 데이터를 조회합니다.

    AND [필드명2] = [필드값2]


(4) SELECT [필드명3], [필드명2] FROM [테이블명]    -- [테이블명]의 [필드명3],[필드명2] 필드를 출력, 

    WHERE [필드명1] = [필드값1]                         -- [필드명1]이 [필드값1]이고 

    AND [필드명2] = [필드값2]                             -- [필드명2]이 [필드값2]이고 데이터를 조회합니다.



위와 같이 SELECT 문법은 단순히 데이터베이스의 데이터를 일정 조건으로 조회할때 사용합니다.

직접 쿼리를 실행하면서 눈으로 보면서 하시면 이해가 가장 잘 됩니다.


2. INSERT

(1) INSERT INTO[테이블명] (필드명1, 필드명2, ... ) VALUES(필드값1, 필드값2, ... )

-- [테이블명]에 필드값1을 필드명1에, 필드값2를 필드명2에 삽입합니다.

-- INSERT문을 실행하면 결과에 따라 레코드의 수가 추가됩니다.


(2) INSERT INTO[테이블명] VALUES(필드값1, 필드값2, ... )

-- [테이블명]에 필드의 순서대로 필드값1, 필드값2를 삽입합니다.

-- 테이블 필드에 갯수에 맞게 필드값1, 필드값2, ... 가 설정 되어야 합니다.


위와 같이 INSERT 문법은 데이터베이스에 원하는 값을 삽입하는 쿼리입니다.



3. UPDATE

(1) UPDATE [테이블명] SET [필드명1] = [수정할값]

-- [테이블명]의 필드명1의 모든 필드를 [수정할값]으로 수정합니다.


(2) UPDATE [테이블명] SET [필드명1] = [수정할값] WHERE [필드명2] = [필드값2]

-- [테이블명]의 필드명2가 필드값2인 필드명1의 필드를 [수정할값]으로 수정합니다.

-- SELECT 절과 동일하게 WHERE 절을 사용하여 수정할 값의 조건을 설정할 수 있습니다.


(2) UPDATE [테이블명] 

    SET [필드명1] = [수정할값1], 

         [필드명2] = [수정할값2] 

    WHERE [필드명2] = [필드값2] AND [필드명3] = [필드값3]]

-- [테이블명]의 필드명2가 필드값2이고 필드명3이 필드값3인 필드명1과 필드명2를 

   각각 수정할값1, 수정할값2로 수정합니다.


UPDATE문법은 원하는 조건에 맞는 필드의 값을 수정할 수 있습니다.




4. DELETE

(1) DELETE FROM [테이블명]

-- [테이블명]의 모든 데이터를 삭제합니다.


(2) DELETE FROM [테이블명] 

    WHERE [필드명2] = [필드값2] 

    AND [필드명3] = [필드값3]]

-- 필드명2가 필드값2이고, 필드명3이 필드값3인 [테이블명]의 데이터를 삭제합니다.





INSERT - SELECT, 서브쿼리, DCL 등 다양한 쿼리가 있는데, 그건 다음에 자세히 설명해드리겠습니다.


이상한점 있거나 궁금한점 있으시면 언제든지 댓글 남겨주세요















,
IT/나머지

배치파일 만들기

안녕하세요. 

이번 시간은 배치파일을 만들어 보려 합니다.

배치파일이란, 일괄작업파일로서 컴퓨터 운영체계에서 수행되는 명령어들로 구성된 텍스트파일입니다. 키보드로 한 번에 하나씩 입력해야 하는 일련의 명령어들을 하나의 파일로 작성하기 때문에 배치파일이라고 부르며, 공통적으로 필요한 배치파일들은 운영체계의 일부분으로 지정됩니다. (출처 네이버 지식 백과)


어떤 배치파일을 만들어볼까요.. 간단하게 크롬을 실행시키는 배치파일을 만들어 보도록 하겠습니다.

제 PC에서 크롬의 경로는 "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" 입니다.

일단은 cmd를 실행시킵니다. 

시키는 방법은..



윈도우키 + R 키를 누르면 실행창이 뜨게 됩니다.

여기서 cmd를 입력 후 확인을 누릅니다.

cmd 창이 나타나게 되는데 여기에 

[cd C:\Program Files (x86)\Google\Chrome\Application\]를 입력후 엔터를 누릅니다. 

cd(Change Directory) 명령어는 cd뒤의 경로로 이동하라는 명령어 입니다.

그러니까 위의 명령어는 '크롬의 실행파일이 있는 경로로 이동하라'라는 뜻입니다.

그리고 [Chrome.exe]를 입력 후 엔터를 누르면 크롬이 실행이 됩니다.

이 내용을 배치파일로 만들어 보겠습니다.


먼저 메모장을 실행시킵니다.

그리고 위에서 입력한 명령어들을 메모장에 입력 후 저장을 합니다.

저장할 때에는 파일 형식을 [모든 파일(*.*)]로 설정한 후, 파일 이름의 확장자를 .bat로 합니다.

그리고 저장..

저장한 배치파일을 실행하면 크롬페이지가 나타납니다 !

지금의 예제는 명령어 두줄로 크롬실행을 하여 배치파일이 왜 필요하나 싶으신데, 

두줄이 아니라 여러줄의 명령어를 이용해야 할때 배치파일을 만들어서 사용하면 편리합니다


혹시 이상있으시거나 궁금한 점이 있으시면 언제든지 댓글 달아주세요










'IT > 나머지' 카테고리의 다른 글

소스 코드를 예쁘게 블로그에 올리기  (0) 2017.01.19
윈도우 서버 2008 R2에 IIS 설치  (1) 2015.08.19
,
 [ 1 ]  [ ··· ]  [ 3 ]  [ 4 ]  [ 5 ]  [ 6 ]  [ 7 ] 

최근 댓글

최근 트랙백

알림

이 블로그는 구글에서 제공한 크롬에 최적화 되어있고, 네이버에서 제공한 나눔글꼴이 적용되어 있습니다.

링크

카운터

Today :
Yesterday :
Total :