ATmega128을 이용한 두더지잡기게임
ATmega128에서 UART통신을 이용하여 게임화면을 실시간으로 전송하고 동시에 LCD에도 게임화면을 출력한다.
//아트메가에 구현한 소스
//두더지를 잡아라~ 하나,둘,셋!
#include<avr/interrupt.h>
#define DDRA (*(volatile unsigned char *) 0x3A) //출력설정
#define PORTA (*(volatile unsigned char *) 0x3B) //입출력설정
#define DDRB (*(volatile unsigned char *) 0x37) //출력설정
#define PORTB (*(volatile unsigned char *) 0x38) //입출력설정
#define PINC (*(volatile unsigned char *) 0x33)
#define DDRC (*(volatile unsigned char *) 0x34) //출력설정
#define PORTC (*(volatile unsigned char *) 0x35) //입출력설정
#define PINE (*(volatile unsigned char *) 0x21)
#define DDRE (*(volatile unsigned char *) 0x22) //출력설정
#define PORTE (*(volatile unsigned char *) 0x23) //입출력설정
#define DDRF (*(volatile unsigned char *) 0x61) //출력설정
#define PORTF (*(volatile unsigned char *) 0x62) //입출력설정
#define UDR1 (*(volatile unsigned char *) 0x9C) //USART1 I/O Data Register
#define UCSR1A (*(volatile unsigned char *) 0x9B) //USART Control and Status Register A
#define UCSR1B (*(volatile unsigned char *) 0x9A) //USART Control and Status Register B
#define UCSR1C (*(volatile unsigned char *) 0x9D) //USART Control and Status Register C
#define UBRR1L (*(volatile unsigned char *) 0x99) //USART Baud Rate Register L
#define UBRR1H (*(volatile unsigned char *) 0x98) //USART Baud Rate Register H
#define CPU_CLOCK 16000000
#define TICKS_PER_SEC 1000
#define PRESCALER 64
#define BAUD_RATE 38400
#define BAUD_RATE_L (CPU_CLOCK/(16l*BAUD_RATE))-1
#define BAUD_RATE_H ((CPU_CLOCK/(16l*BAUD_RATE))-1)>>8
#define NOP() asm volatile ("nop");
#define CLS Ins(0x01)
#define UDRE 5
#define UPM1 5
#define UPM0 4
#define USBS 3
#define UCSZ1 2
#define UCSZ0 1
#define TXEN 3
#define RXEN 4
#define UCSZ2 2
volatile unsigned int g_elapsed_time=0;
void initLED(void);
void initLCD(void);
void setTCCR0(void);
void initCNT0(void);
void initOCR0(void);
void setTIMSK(void);
void start_game(void);
void insertCoin(void);
void toggleLED(void);
void chkBotton(void);
void cntFnd(void);
void Goal(void);
void sleep(unsigned int elapsed_time);
void delay_ms(unsigned int ms);
void delay_us(unsigned int us);
void LCD_String(char *str);
void Dat(unsigned char byte);
void Ins(unsigned char byte);
void Duduge_Pic(unsigned char num);
void Gameover(void);
SIGNAL(SIG_OUTPUT_COMPARE0);
void txrx(void);
char moleterm(char pinc);
char catchmoleterm(int pinc);
void transmit(char ch);
signed char fnd_num=0;
int main(void)
{
int cnt;
initLED();
initLCD();
setTCCR0();
initCNT0();
initOCR0();
setTIMSK();
sei();
txrx();
while(1)
{
fnd_num=0;
PORTE=0x00;
insertCoin();
for(cnt=0; cnt<20; cnt++)
{
toggleLED();
}
Gameover();
cnt=0;
}
return 0;
}
void initLCD(void)
{
//케릭터 lcd초기화 및 설정
//포트A에 데이터라인
//포트B에 제어라인 PIN0 = R/S, PIN1 = R/W, PIN2 = ENABLE
DDRA = 0xFF; //A포트 LCD 데이터 신호 연결 출력으로 사용
PORTA = 0x00;
DDRB = 0xFF; //B포트 LCD 제어 신호 연결 PIN0 = R/S, PIN1 = R/W, PIN2 = ENABLE 출력으로 사용
PORTB = 0x00;
//초기화
delay_ms(100);
Ins(0x38);
delay_ms(5);
Ins(0x38);
delay_ms(1);
Ins(0x38);
Ins(0x38);
Ins(0x0C);
Ins(0x06);
Ins(0x80);
delay_ms(10);
//사용자 문자 정의
Ins(0x40);
Dat(0x0E);
Dat(0x15);
Dat(0x1F);
Dat(0x1B);
Dat(0x1F);
Dat(0x1F);
Dat(0x1F);
Dat(0x00);
delay_ms(1);
Ins(0x48);
Dat(0x00);
Dat(0x00);
Dat(0x00);
Dat(0x00);
Dat(0x0E);
Dat(0x15);
Dat(0x1F);
Dat(0x00);
Ins(0x80); //사용자 문자 정의 종료 커서 위치 젤 앞으로
}
void initLED(void)
{
DDRF=0xFF;
PORTF=0xFF;
DDRE=0xFF;
PORTE=0x00;
DDRC=0x00;
}
void setTCCR0(void)
{
TCCR0=0x0C;
}
void initCNT0(void)
{
TCNT0=0x00;
}
void initOCR0(void)
{
OCR0=CPU_CLOCK/TICKS_PER_SEC/PRESCALER; //250
}
void setTIMSK(void)
{
TIMSK=0x02;
}
void insertCoin(void)
{
volatile unsigned int r_num=0;
CLS;
sleep(10);
Ins(0x80);
LCD_String(" HEAT THE MOLE");
Ins(0xC0); //커서 다음줄 첫째칸으로 이동
Dat(' ');
Dat(0x00);
LCD_String("insert coin");
Dat(0x01);
sleep(200);
while(PINC!=0xFC)
{
r_num++;
sleep(1);
if(r_num%2000==1000)
{
Ins(0x1c);
}
else if(r_num%2000==0)
{
Ins(0x18);
}
}
sleep(10);
start_game();
//sleep(10);
srand(r_num);
}
//게임 시작 함수
void start_game(void)
{
CLS;
Ins(0x80);
transmit('3');
LCD_String(" 3 3 ");
sleep(100);
Ins(0x80);
LCD_String(" 3 3 ");
sleep(100);
Ins(0x80);
LCD_String(" 3 3 ");
sleep(100);
Ins(0x80);
LCD_String(" 33 ");
sleep(100);
Ins(0x80);
LCD_String(" 3 ");
sleep(500);
Ins(0x80);
transmit('2');
LCD_String(" 2 2 ");
sleep(100);
Ins(0x80);
LCD_String(" 2 2 ");
sleep(100);
Ins(0x80);
LCD_String(" 22 ");
sleep(100);
Ins(0x80);
LCD_String(" 2 ");
sleep(500);
Ins(0x80);
transmit('1');
LCD_String(" 1 1 ");
sleep(100);
Ins(0x80);
LCD_String(" 1 1 ");
sleep(100);
Ins(0x80);
LCD_String(" 11 ");
sleep(100);
Ins(0x80);
LCD_String(" 1 ");
sleep(500);
Ins(0x80);
transmit('s');
LCD_String(" START! ");
sleep(800);
Ins(0x80);
transmit('m');
LCD_String(" Your Score: 00");
Duduge_Pic(8);
sleep(800);
}
void toggleLED(void)
{
signed char num;
char term = 0;
num=rand()%8;
PORTF=~(1<<num);
term = moleterm(num);
transmit(term);
Duduge_Pic(num);
sleep(250);
chkBotton();
sleep(250);
chkBotton();
PORTF=0xFF;
Duduge_Pic(8);
sleep(500);
}
void chkBotton(void)
{
char term = 0;
if(PORTF==PINC)
{
term = catchmoleterm(PORTF);
transmit(term);
cntFnd();
}
}
void cntFnd(void)
{
fnd_num=fnd_num+5;
if(fnd_num>=100)
{
PORTE=0x99;
Ins(0x80);
LCD_String(" Your Score: 100");
Goal();
}
else
{
PORTE=(fnd_num%10)+((fnd_num/10)<<4);
Ins(0x80);
LCD_String(" Your Score: ");
Dat('0'+fnd_num/10);
Dat('0'+fnd_num%10);
}
}
void Goal(void)
{
int i;
PORTF=0xFF;
for(i=0; i<=5; i++)
{
PORTF=~PORTF;
sleep(500);
}
}
void sleep(unsigned int elapsed_time)
{
for(;;)
{
if(g_elapsed_time==elapsed_time)
{
g_elapsed_time=0;
break;
}
}
}
SIGNAL(SIG_OUTPUT_COMPARE0)
{
g_elapsed_time++;
TCNT0=0x00;
}
//딜레이 함수
void delay_us(unsigned int us)
{
unsigned int i;
for(i = 0; i < us; i++) //4
{
NOP(); NOP(); NOP(); NOP(); //4
NOP(); NOP(); NOP(); NOP(); //4
NOP(); NOP(); NOP(); NOP(); //4 = 16
}
}
void delay_ms(unsigned int ms)
{
unsigned int i;
for(i = 0; i < ms; i++)
{
delay_us(200);
}
}
//C-lcd 명령어셋 함수
void Ins(unsigned char byte)
{
PORTB = 0x03;
delay_us(2);
PORTB = 0x00;
delay_us(2);
PORTB = 0x04;
delay_us(2);
PORTA = byte;
delay_us(2);
PORTB = 0x00;
delay_us(2);
PORTB = 0x03;
PORTA = 0x00;
delay_us(50);
}
//C-lcd 데이터 함수
void Dat(unsigned char byte)
{
PORTB = 0x02;
delay_us(2);
PORTB = 0x01;
delay_us(2);
PORTB = 0x05;
delay_us(2);
PORTA = byte;
delay_us(2);
PORTB = 0x01;
delay_us(2);
PORTB = 0x02;
PORTA = 0x00;
delay_us(50);
}
//C-lcd 문자열 전송 함수
void LCD_String(char *str)
{
while(*str != '\0')
{
Dat(*str);
str++;
}
}
void Duduge_Pic(unsigned char num)
{
switch(num)
{
case 0:
{
Ins(0xC0);
Dat(0x00);
Dat(' ');
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
break;
}
case 1:
{
Ins(0xC0);
Dat(0x01);
Dat(' ');
Dat(0x00);
Dat(' ');
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
break;
}
case 2:
{
Ins(0xC0);
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
Dat(0x00);
Dat(' ');
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
break;
}
case 3:
{
Ins(0xC0);
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
Dat(0x00);
Dat(' ');
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
break;
}
case 4:
{
Ins(0xC0);
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
Dat(0x00);
Dat(' ');
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
break;
}
case 5:
{
Ins(0xC0);
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
Dat(0x00);
Dat(' ');
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
break;
}
case 6:
{
Ins(0xC0);
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
Dat(0x00);
Dat(' ');
Dat(0x01);
Dat(' ');
break;
}
case 7:
{
Ins(0xC0);
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
Dat(0x00);
Dat(' ');
break;
}
case 8:
{
Ins(0xC0);
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
Dat(0x01);
Dat(' ');
break;
}
}
}
void Gameover(void)
{
int i;
for(i=0; i<5; i++)
{
CLS;
sleep(200);
Ins(0x80);
LCD_String(" GAME OVER!");
Ins(0xC0);
LCD_String(" Your Score: ");
if(fnd_num>=100)
{
Dat('0'+fnd_num/10/10);
Dat('0'+fnd_num/10%10);
Dat('0'+fnd_num%10);
transmit('x');
transmit('1');
transmit('0');
transmit('0');
}
else
{
Dat('0'+fnd_num/10%10);
Dat('0'+fnd_num%10);
transmit('x');
transmit('0'+fnd_num/10);
transmit('0'+fnd_num%10);
}
sleep(800);
}
}
void txrx(void)
{
UBRR1L = (unsigned char)BAUD_RATE_L;
UBRR1H = (unsigned char)BAUD_RATE_H;
UCSR1C = (0 << UPM1) | (0 << UPM0) | (0 << USBS) | (1 << UCSZ1) | (1 << UCSZ0);
UCSR1B = (1 << TXEN) | (1 << RXEN) | (0 << UCSZ2);
}
char moleterm(char num)
{
switch(num)
{
case 0:
{
return '1';
break;
}
case 1:
{
return '2';
break;
}
case 2:
{
return '3';
break;
}
case 3:
{
return '4';
break;
}
case 4:
{
return '5';
break;
}
case 5:
{
return '6';
break;
}
case 6:
{
return '7';
break;
}
case 7:
{
return '8';
break;
}
default:
break;
}
return 0;
}
char catchmoleterm(int pinc)
{
switch(pinc)
{
case 0xfe:
{
return '9';
break;
}
case 0xfd:
{
return 'a';
break;
}
case 0xfb:
{
return 'b';
break;
}
case 0xf7:
{
return 'c';
break;
}
case 0xef:
{
return 'd';
break;
}
case 0xdf:
{
return 'e';
break;
}
case 0xbf:
{
return 'f';
break;
}
case 0x7f:
{
return 'g';
break;
}
default:
break;
}
return 0;
}
void transmit(char ch)
{
while(!(UCSR1A & (1 << UDRE)));
UDR1 = ch;
}
#include <stdio.h> ///////////////////////// 콘솔에서 구현한 소스
#include <windows.h> /////////////////////////
void display(void);
void moledisplay(char pinc);
void mafiadisplay(void);
void mafiachoice(char ch);
void main_scr(void);
void count1(void);
void count2(void);
void count3(void);
void start(void);
int main(void)
{
char szPort[15];
int i = 0;
wsprintf(szPort, "COM%d",3);
HANDLE m_hComm = NULL;
m_hComm = CreateFile(szPort, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL, NULL);
if(m_hComm == INVALID_HANDLE_VALUE)
{
printf("(!) Failed to create a Comm device file");
return FALSE;
}
DCB dcb;
dcb.DCBlength = sizeof(DCB);
GetCommState(m_hComm, &dcb);
dcb.BaudRate = 38400;
dcb.ByteSize = 8;
dcb.Parity = 0;
dcb.StopBits = 0;
SetCommState(m_hComm, &dcb);
OVERLAPPED osRead;
osRead.Offset = 0;
osRead.OffsetHigh = 0;
osRead.hEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
OVERLAPPED osWrite;
osWrite.Offset = 0;
osWrite.OffsetHigh = 0;
osWrite.hEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
char tmp[20];
for(i = 0; i < 20;i++)
tmp[i] = 0;
while(1)
{
main_scr();
while(1)
{
ReadFile(m_hComm, tmp, 20, NULL, &osRead);
if(tmp[0]== '3')
{
system("cls");
count3();
break;
}
}
while(1)
{
ReadFile(m_hComm, tmp, 20, NULL, &osRead);
if(tmp[0]== '2')
{
system("cls");
count2();
break;
}
}
while(1)
{
ReadFile(m_hComm, tmp, 20, NULL, &osRead);
if(tmp[0]== '1')
{
system("cls");
count1();
break;
}
}
while(1)
{
ReadFile(m_hComm, tmp, 20, NULL, &osRead);
if(tmp[0]== 's')
{
system("cls");
start();
break;
}
}
while(1)
{
ReadFile(m_hComm, tmp, 20, NULL, &osRead);
if(tmp[0]== 'm')
{
system("cls");
display();
break;
}
}
while(1)
{
ReadFile(m_hComm, tmp, 20, NULL, &osRead);
if(tmp[0]!=0)
{
if(tmp[0] == 'x')
break;
if(tmp[0] == 'z')
{
tmp[0] = 0;
break;
}
moledisplay(tmp[0]);
Sleep(10);
}
for(i = 0; i < 10;i++)
tmp[i] = 0;
}
system("cls");
printf("Total Score : ");
while(1)
{
ReadFile(m_hComm, tmp, 20, NULL, &osRead);
puts(tmp);
for(i = 0; i < 20;i++)
tmp[i] = 0;
Sleep(5000);
system("cls");
break;
}
}
CloseHandle(m_hComm);
return 0;
}
void main_scr(void)
{
printf("##############################################################################\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# * * * * ***** **** ***** * **** ***** #\n");
printf("# * * * ** ** * * * * * * * * #\n");
printf("# * *** * * * * * ***** **** * * * **** * #\n");
printf("# * * ***** * * * * * ***** * * * #\n");
printf("# * * * * * ***** **** * * * * * * #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# Heat the mole #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# PLEASE INSERT COIN #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("##############################################################################\n");
}
void count3 (void)
{
printf("##############################################################################\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# *** #\n");
printf("# *** *** #\n");
printf("# ** ** #\n");
printf("# ** ** #\n");
printf("# ** ** #\n");
printf("# ** #\n");
printf("# ***** #\n");
printf("# ***** #\n");
printf("# ** #\n");
printf("# ** ** #\n");
printf("# ** ** #\n");
printf("# ** ** #\n");
printf("# *** *** #\n");
printf("# **** #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("##############################################################################\n");
}
void count2 (void)
{
printf("##############################################################################\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# *** #\n");
printf("# *** *** #\n");
printf("# ** ** #\n");
printf("# ** ** #\n");
printf("# ** ** #\n");
printf("# ** #\n");
printf("# ** #\n");
printf("# ** #\n");
printf("# ** #\n");
printf("# ** #\n");
printf("# ** #\n");
printf("# ** #\n");
printf("# ********* #\n");
printf("# ********** #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("##############################################################################\n");
}
void count1 (void)
{
printf("##############################################################################\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# **** #\n");
printf("# ****** #\n");
printf("# *** *** #\n");
printf("# *** #\n");
printf("# *** #\n");
printf("# *** #\n");
printf("# *** #\n");
printf("# *** #\n");
printf("# *** #\n");
printf("# *** #\n");
printf("# *** #\n");
printf("# *** #\n");
printf("# ********* #\n");
printf("# ********* #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("##############################################################################\n");
}
void start(void)
{
printf("##############################################################################\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# ****** *********** **** ********** *********** #\n");
printf("# **** **** *********** **** **** ************ *********** #\n");
printf("# **** *** **** **** ************* *** #\n");
printf("# **** *** **** **** **** **** *** #\n");
printf("# **** *** **** **** **** **** *** #\n");
printf("# **** *** **** **** **** **** *** #\n");
printf("# **** *** **** **** ********** *** #\n");
printf("# **** *** **************** **** **** *** #\n");
printf("# **** *** **************** **** **** *** #\n");
printf("# **** *** **** **** **** **** *** #\n");
printf("# **** *** **** **** **** **** *** #\n");
printf("# **** *** **** **** **** **** *** #\n");
printf("# **** **** *** **** **** **** **** *** #\n");
printf("# ****** *** **** **** **** **** *** #\n");
printf("# #\n");
printf("# #\n");
printf("##############################################################################\n");
}
void display(void)
{
printf("################################# GAME START #################################\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# ______ ______ ______ ______ #\n");
printf("# | o o | | o o | | o o | | o o | #\n");
printf("# ---------- ---------- ---------- ---------- #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# ___________ ___________ ___________ ___________ #\n");
printf("# | o o | | o o | | o o | | o o | #\n");
printf("# | | | | | | | | #\n");
printf("# --------------- --------------- --------------- --------------- #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("##############################################################################\n");
return;
}
void moledisplay(char pinc)
{
switch(pinc)
{
case '1':
{
system("cls");
printf("################################# GAME START #################################\n");
printf("# ______ #\n");
printf("# | o o | #\n");
printf("# | | #\n");
printf("# | | ______ ______ ______ #\n");
printf("# | | | o o | | o o | | o o | #\n");
printf("# ---------- ---------- ---------- ---------- #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# ___________ ___________ ___________ ___________ #\n");
printf("# | o o | | o o | | o o | | o o | #\n");
printf("# | | | | | | | | #\n");
printf("# --------------- --------------- --------------- --------------- #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("##############################################################################\n");
break;
}
case '2':
{
system("cls");
printf("################################# GAME START #################################\n");
printf("# ______ #\n");
printf("# | o o | #\n");
printf("# | | #\n");
printf("# ______ | | ______ ______ #\n");
printf("# | o o | | | | o o | | o o | #\n");
printf("# ---------- ---------- ---------- ---------- #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# ___________ ___________ ___________ ___________ #\n");
printf("# | o o | | o o | | o o | | o o | #\n");
printf("# | | | | | | | | #\n");
printf("# --------------- --------------- --------------- --------------- #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("##############################################################################\n");
break;
}
case '3':
{
system("cls");
printf("################################# GAME START #################################\n");
printf("# ______ #\n");
printf("# | o o | #\n");
printf("# | | #\n");
printf("# ______ ______ | | ______ #\n");
printf("# | o o | | o o | | | | o o | #\n");
printf("# ---------- ---------- ---------- ---------- #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# ___________ ___________ ___________ ___________ #\n");
printf("# | o o | | o o | | o o | | o o | #\n");
printf("# | | | | | | | | #\n");
printf("# --------------- --------------- --------------- --------------- #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("##############################################################################\n");
break;
}
case '4':
{
system("cls");
printf("################################# GAME START #################################\n");
printf("# ______ #\n");
printf("# | o o | #\n");
printf("# | | #\n");
printf("# ______ ______ ______ | | #\n");
printf("# | o o | | o o | | o o | | | #\n");
printf("# ---------- ---------- ---------- ---------- #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# ___________ ___________ ___________ ___________ #\n");
printf("# | o o | | o o | | o o | | o o | #\n");
printf("# | | | | | | | | #\n");
printf("# --------------- --------------- --------------- --------------- #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("##############################################################################\n");
break;
}
case '5':
{
system("cls");
printf("################################# GAME START #################################\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# ______ ______ ______ ______ #\n");
printf("# | o o | | o o | | o o | | o o | #\n");
printf("# ---------- ---------- ---------- ---------- #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# ___________ #\n");
printf("# | o o | #\n");
printf("# | | #\n");
printf("# | | #\n");
printf("# | | ___________ ___________ ___________ #\n");
printf("# | | | o o | | o o | | o o | #\n");
printf("# | | | | | | | | #\n");
printf("# --------------- --------------- --------------- --------------- #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("##############################################################################\n");
break;
}
case '6':
{
system("cls");
printf("################################# GAME START #################################\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# ______ ______ ______ ______ #\n");
printf("# | o o | | o o | | o o | | o o | #\n");
printf("# ---------- ---------- ---------- ---------- #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# ___________ #\n");
printf("# | o o | #\n");
printf("# | | #\n");
printf("# | | #\n");
printf("# ___________ | | ___________ ___________ #\n");
printf("# | o o | | | | o o | | o o | #\n");
printf("# | | | | | | | | #\n");
printf("# --------------- --------------- --------------- --------------- #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("##############################################################################\n");
break;
}
case '7':
{
system("cls");
printf("################################# GAME START #################################\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# ______ ______ ______ ______ #\n");
printf("# | o o | | o o | | o o | | o o | #\n");
printf("# ---------- ---------- ---------- ---------- #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# ___________ #\n");
printf("# | o o | #\n");
printf("# | | #\n");
printf("# | | #\n");
printf("# ___________ ___________ | | ___________ #\n");
printf("# | o o | | o o | | | | o o | #\n");
printf("# | | | | | | | | #\n");
printf("# --------------- --------------- --------------- --------------- #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("##############################################################################\n");
break;
}
case '8':
{
system("cls");
printf("################################# GAME START #################################\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# ______ ______ ______ ______ #\n");
printf("# | o o | | o o | | o o | | o o | #\n");
printf("# ---------- ---------- ---------- ---------- #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# ___________ #\n");
printf("# | o o | #\n");
printf("# | | #\n");
printf("# | | #\n");
printf("# ___________ ___________ ___________ | | #\n");
printf("# | o o | | o o | | o o | | | #\n");
printf("# | | | | | | | | #\n");
printf("# --------------- --------------- --------------- --------------- #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("# #\n");
printf("##############################################################################\n");
break;
}
case '9':
{
system("cls");
printf("################################# GAME START #################################\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# ~~~~~~ ______ ______ ______ #\r\n");
printf("# s| @ @ |s | o o | | o o | | o o | #\r\n");
printf("# ---------- ---------- ---------- ---------- #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# ___________ ___________ ___________ ___________ #\r\n");
printf("# | o o | | o o | | o o | | o o | #\r\n");
printf("# | | | | | | | | #\r\n");
printf("# --------------- --------------- --------------- --------------- #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("##############################################################################\r\n");
break;
}
case 'a':
{
system("cls");
printf("################################# GAME START #################################\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# ______ ~~~~~~ ______ ______ #\r\n");
printf("# | o o | s| @ @ |s | o o | | o o | #\r\n");
printf("# ---------- ---------- ---------- ---------- #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# ___________ ___________ ___________ ___________ #\r\n");
printf("# | o o | | o o | | o o | | o o | #\r\n");
printf("# | | | | | | | | #\r\n");
printf("# --------------- --------------- --------------- --------------- #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("##############################################################################\r\n");
break;
}
case 'b':
{
system("cls");
printf("################################# GAME START #################################\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# ______ ______ ~~~~~~ ______ #\r\n");
printf("# | o o | | o o | s| @ @ |s | o o | #\r\n");
printf("# ---------- ---------- ---------- ---------- #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# ___________ ___________ ___________ ___________ #\r\n");
printf("# | o o | | o o | | o o | | o o | #\r\n");
printf("# | | | | | | | | #\r\n");
printf("# --------------- --------------- --------------- --------------- #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("##############################################################################\r\n");
break;
}
case 'c':
{
system("cls");
printf("################################# GAME START #################################\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# ______ ______ ______ ~~~~~~ #\r\n");
printf("# | o o | | o o | | o o | s| @ @ |s #\r\n");
printf("# ---------- ---------- ---------- ---------- #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# ___________ ___________ ___________ ___________ #\r\n");
printf("# | o o | | o o | | o o | | o o | #\r\n");
printf("# | | | | | | | | #\r\n");
printf("# --------------- --------------- --------------- --------------- #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("##############################################################################\r\n");
break;
}
case 'd':
{
system("cls");
printf("################################# GAME START #################################\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# ______ ______ ______ ______ #\r\n");
printf("# | o o | | o o | | o o | | o o | #\r\n");
printf("# ---------- ---------- ---------- ---------- #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# ~~~~~~~~~~~ ___________ ___________ ___________ #\r\n");
printf("# S| @ @ |S | o o | | o o | | o o | #\r\n");
printf("# S| |S | | | | | | #\r\n");
printf("# --------------- --------------- --------------- --------------- #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("##############################################################################\r\n");
break;
}
case 'e':
{
system("cls");
printf("################################# GAME START #################################\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# ______ ______ ______ ______ #\r\n");
printf("# | o o | | o o | | o o | | o o | #\r\n");
printf("# ---------- ---------- ---------- ---------- #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# ___________ ~~~~~~~~~~~ ___________ ___________ #\r\n");
printf("# | o o | S| @ @ |S | o o | | o o | #\r\n");
printf("# | | S| |S | | | | #\r\n");
printf("# --------------- --------------- --------------- --------------- #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("##############################################################################\r\n");
break;
}
case 'f':
{
system("cls");
printf("################################# GAME START #################################\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# ______ ______ ______ ______ #\r\n");
printf("# | o o | | o o | | o o | | o o | #\r\n");
printf("# ---------- ---------- ---------- ---------- #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# ___________ ___________ ~~~~~~~~~~~ ___________ #\r\n");
printf("# | o o | | o o | S| @ @ |S | o o | #\r\n");
printf("# | | | | S| |S | | #\r\n");
printf("# --------------- --------------- --------------- --------------- #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("##############################################################################\r\n");
break;
}
case 'g':
{
system("cls");
printf("################################# GAME START #################################\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# ______ ______ ______ ______ #\r\n");
printf("# | o o | | o o | | o o | | o o | #\r\n");
printf("# ---------- ---------- ---------- ---------- #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# ___________ ___________ ___________ ~~~~~~~~~~~ #\r\n");
printf("# | o o | | o o | | o o | S| @ @ |S #\r\n");
printf("# | | | | | | S| |S #\r\n");
printf("# --------------- --------------- --------------- --------------- #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("# #\r\n");
printf("##############################################################################\r\n");
break;
}
default:
break;
}
return;
}
'코스웨어 > 10년 스마트폰BSP' 카테고리의 다른 글
[BSP]업무일지-전현수-20100729 (0) | 2010.07.29 |
---|---|
[BSP]업무일지-손대원-20100728 (0) | 2010.07.28 |
[BSP]업무일지-김상식-20100727 (0) | 2010.07.27 |
[BSP]업무일지-김석희-20100726 (0) | 2010.07.26 |
[BSP]업무일지-김동훈-20100722 (0) | 2010.07.23 |
[BSP]업무일지-한정효-20100721 (0) | 2010.07.21 |
[BSP]박노준_7월20일 작업일지 (0) | 2010.07.21 |
[BSP]업무일지-이상구-20100719 (0) | 2010.07.19 |