#include #define LINE vga_drawline /******************************************************/ main() { setup_grafix(); welcome_screen(); vga_setcolor(5); show_string( 200, 200, 75, "C"); goodbye(); } /**********************************************************/ /* show_string */ /**********************************************************/ show_string(x, y, size, it) int x,y,size; char it[]; { int i=0; float kerning; kerning = 0.2; printf("x=%i, y=%i, size=%i, char=%s strlen=%i\n", x,y,size,it, strlen(it)); for(i=0; i< strlen(it); i++) { printf("in switch, i=%i, it[i]=%c\n", i, it[i] ); switch(it[i]) { case 'A': LINE( x, y, x-(size* 0.5), y-size ); LINE( x-(size*0.5), y-size, x-size, y); LINE( x-(size*1), y-(size*0.35), x, y-(size*0.35) ); break; case 'B': LINE( x, y, x, y-size); LINE( x, y-size, x+(size*.5), y-size); LINE( x+(size*.5), y-size, x+(size*.75), y-(size*0.75) ); LINE( x+(size*.75), y-(size*.75), x+(size*.5), y-(size*.5) ); LINE( x+(size*.5), y-(size*.5), x, y-(size*.5) ); LINE( x+(size*.5), y-(size*.5), x+(size*.75), y-(size*.25) ); LINE( x+(size*.75), y-(size*.25), x+(size*.5), y); LINE( x+(size*.5), y, x, y); break; case 'C': LINE( x+size, y-(size*.25), x+(size*.75), y); LINE( x+(size*.75), y, x+(size*.25), y); break; /* mov2(1, 0.25); draw2(0.75, 0); draw2(0.25, 0); draw2(0, 0.25); draw2(0, 0.75); draw2(0.25, 1); draw2(0.75, 1); draw2(1, 0.75); */ default: LINE( x, y, x, y-size); break; } /* end of switch */ x += (size * kerning); } /* end of for */ } /**********************************************************/ goodbye() { getchar(); vga_setcolor(2); draw_box( 320, 240 ,40); getchar(); vga_setmode(TEXT); } /******************************************************/ welcome_screen() { } /******************************************************/ draw_box( centerx, centery, rad ) int centerx, centery, rad; { vga_drawline( centerx+rad, centery+rad, centerx+rad, centery-rad); vga_drawline( centerx+rad, centery-rad, centerx-rad, centery-rad ); vga_drawline( centerx-rad, centery-rad, centerx-rad, centery+rad); vga_drawline( centerx-rad, centery+rad, centerx+rad, centery+rad); } /********************************************************/ draw_triangle( centerx, centery, rad ) int centerx, centery, rad; { vga_drawline( centerx+rad, centery, centerx, centery+rad); vga_drawline( centerx, centery+rad, centerx-rad, centery); vga_drawline( centerx-rad, centery, centerx+rad, centery); } setup_grafix() { vga_setmode(4); /* 640 x 480 x 16 */ }