网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 交易代码 > C语言代码 > 正文

画图程序

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务

请将程序中的main()函数中的
initgraph(&gdriver,&gmode,"e:\\TC"); 函数中的"e:\\TC"
更改为你的TC安装目录。

比如你的TC安装目录为D盘的Tools目录下的TC目录,那么上述语句改为:
initgraph(&gdriver,&gmode,"d:\\Tools\\TC");


#include<dos.h>
#include<graphics.h>
#include<stdio.h>
int x,y;
void gameexit(),saverect(),drawrect();
void  *buff;
void main()
{
 int i,j,key;
  int processkey();
  char c[]="help:right,down,left,up,enter,esc;";
   int gdriver=DETECT,gmode;
   initgraph(&gdriver,&gmode,"E:\\TC");
   cleardevice();
   saverect();

   cleardevice();
   setbkcolor(7);
       settextstyle(0,0,1);
   setcolor(9);
   outtextxy(130,380,c);

    setcolor(16);
   for(i=0;i<5;i++)
     for(j=0;j<5;j++)
       rectangle(200+j*35,100+i*35,230+j*35,130+i*35);
   setcolor(1);
   rectangle(200,100,230,130);
   x=200;
   y=100;
   while(1)
   {
    key=bioskey(0);
       dokey(key);
    }
}

void saverect()   /*存储方格*/
{
 bar(0,0,29,29);
 buff=sizeof(imagesize(0,0,29,29));
   getimage(0,0,28,28,buff);
}
void drawrect(x,y)   /*画方格*/
{
 void judgefull();
     putimage(x+1,y+1,buff,1);
     if(x!=200)
     putimage(x+1-35,y+1,buff,1);
     if(x!=340)
     putimage(x+1+35,y+1,buff,1);
     if(y!=100)
     putimage(x+1,y+1-35,buff,1);
     if(y!=240)
     putimage(x+1,y+1+35,buff,1);
     judgefull();
}


int dokey(int key)  /*键盘处理*/
{
 int prect(),nrect();
     switch(key)
     {
      case 0x4800 : if(y!=100) {prect(x,y);nrect(x,y-=35);} break;
      case 0x4b00 : if(x!=200) {prect(x,y);nrect(x-=35,y);} break;
      case 0x4d00 : if(x!=340) {prect(x,y);nrect(x+=35,y);} break;
      case 0x5000 : if(y!=240) {prect(x,y);nrect(x,y+=35);} break;
      case 0x11b  : gameexit();break;
      case 0x1c0d : drawrect(x,y);break;
   }
}

void judgefull()   /*判断是否画满*/
{
 void win();
 int color=15,t=0,i,j;
  for(i=0;i<5;i++)
     for(j=0;j<5;j++)
       if(color!=getpixel(215+i*35,115+j*35))
         {t=1;break;}
   if(t==0)
    win();
}

void win()  

{
 char c;
 settextstyle(3,0,2);
 outtextxy(50,100,"Well done ! Do you want to replay (y/n) ");
 do
 {
   c=getch();
   if(c=='y'||c=='Y')
         main();  /*从新玩就返回主函数*/
     if(c=='n'||c=='N')
     gameexit();
  }while(c=='y'||c=='Y'||c=='n'||c=='N');
}

 

int prect(x,y)   /*在新位置画方框*/
{
  setcolor(15);
  rectangle(x,y,x+30,y+30);
}

int nrect(x,y)   /*将原来位置的方框清除*/
{
  setcolor(1);
  rectangle(x,y,x+30,y+30);
}

void gameexit()
{
  free(buff);
    closegraph();
  exit(0);
}

 

  • 上一篇资讯: 游戏程序
  • 下一篇资讯: 通讯系统
  • 设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师