⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainface.h

📁 代码+论文 (一篇很好的毕业论文
💻 H
字号:
#include "head.h"
/*头文件、常量定义*/
void drawmat(char *mat,int matsize,int x,int y,int color)/*汉字点阵*/
{
  int i,j,k,m;
  m=(matsize-1)/8+1;
  for(j=0;j<matsize;j++)
    for(i=0;i<m;i++)
      for(k=0;k<8;k++)
        if(mat[j*m+i]&(0x80>>k))
          putpixel(x+i*8+k,y+j,color);
}

void showStar(void)/*星空效果*/
{
   int i;
   for(i=0;i<300;i++)
   {
      putpixel(random(640),random(480),random(15));
   }
}

void showBorder(void)/*边框*/
{
   int x1=0,y1=0,x2=639,y2=479;
   for(;x1<16;x1++,y1++,x2--,y2--)
   {
      setcolor(x1);
      rectangle(x1,y1,x2,y2);
   }
}

void showCaption(void)/*在(x,y)处显示欢乐五子棋,字间距为z*/
{
   int x=120;
   int y=100;
   int z=70;
   drawmat(huan64Z,64,x+2,y+2,7);
   drawmat(le64Z,64,x+z+2,y+2,7);
   drawmat(hei64Z,64,x+2*z+2,y+2,7);
   drawmat(bai64Z,64,x+3*z+2,y+2,7);
   drawmat(qi64Z,64,x+4*z+2,y+2,7);

   drawmat(huan64Z,64,x,y,14);
   drawmat(le64Z,64,x+z,y,14);
   drawmat(hei64Z,64,x+2*z,y,8);
   drawmat(bai64Z,64,x+3*z,y,15);
   drawmat(qi64Z,64,x+4*z,y,14);

   setcolor(2);
   line(x-20,y+70,x+420,y+70);
   setcolor(1);
   line(x+380,y-10,x+380,y+100);
}

void showAuthor(void)/* 显示作者 */
{
   int x=450;
   int y=430;
   drawmat(cheng16H,16,x,y,8);
   drawmat(xu16H,16,x+20,y,8);
   drawmat(she16H,16,x+40,y,8);
   drawmat(ji16H,16,x+60,y,8);
   drawmat(dian16H,16,x+80,y,8);
   drawmat(tian16H,16,x+100,y,8);
   drawmat(xue16H,16,x+120,y,8);
   drawmat(ke16H,16,x+140,y,8);
   x=451;
   y=431;
   drawmat(cheng16H,16,x,y,15);
   drawmat(xu16H,16,x+20,y,15);
   drawmat(she16H,16,x+40,y,15);
   drawmat(ji16H,16,x+60,y,15);
   drawmat(dian16H,16,x+80,y,15);
   drawmat(tian16H,16,x+100,y,15);
   drawmat(xue16H,16,x+120,y,15);
   drawmat(ke16H,16,x+140,y,15);
}

void showInterfaceChessboard(void)/*显示主界面的棋盘*/
{
   int x = 100;
   int y = 200;
   int z = 60;
   int i;
   setcolor(7);
   for(i=0;i<5;i++)
   {
      line(x+1,y+i*z+1,x+4*z+1,y+i*z+1);
      line(x+i*z+1,y+1,x+i*z+1,y+4*z+1);
   }
   setcolor(2);
   for(i=0;i<5;i++)
   {
      line(x,y+i*z,x+4*z,y+i*z);
      line(x+i*z,y,x+i*z,y+4*z);
   }
   setcolor(7);
   setfillstyle(1,7);
   fillellipse(192,292,25,25);
   fillellipse(252,292,25,25);
   fillellipse(192,352,25,25);
   fillellipse(252,352,25,25);

   setcolor(8);
   setfillstyle(1,8);
   fillellipse(190,290,25,25);
   fillellipse(250,350,25,25);

   setcolor(15);
   setfillstyle(1,15);
   fillellipse(190,350,25,25);
   fillellipse(250,290,25,25);
}

void showMenuBG(void)/*显示菜单背景色*/
{
   int x=220;
   int y=250;
   int j=30;
   int h=35;

   drawmat(ren32H,32,x+j+1,y+1,8);
   drawmat(ji32H,32,x+2*j+1,y+1,8);
   drawmat(dui32H,32,x+3*j+1,y+1,8);
   drawmat(yi32H,32,x+4*j+1,y+1,8);

   drawmat(ren32H,32,x+j+1,y+1+h,8);
   drawmat(ren32H,32,x+2*j+1,y+1+h,8);
   drawmat(dui32H,32,x+3*j+1,y+1+h,8);
   drawmat(yi32H,32,x+4*j+1,y+1+h,8);

   drawmat(you32H,32,x+j+1,y+1+2*h,8);
   drawmat(xi32H,32,x+2*j+1,y+1+2*h,8);
   drawmat(shuo32H,32,x+3*j+1,y+1+2*h,8);
   drawmat(ming32H,32,x+4*j+1,y+1+2*h,8);

   drawmat(li32H,32,x+j+1,y+1+3*h,8);
   drawmat(kai32H,32,x+2*j+1,y+1+3*h,8);
   drawmat(you32H,32,x+3*j+1,y+1+3*h,8);
   drawmat(xi32H,32,x+4*j+1,y+1+3*h,8);
}

void showMenuFG(int fg1,int fg2,int fg3,int fg4)/*显示菜单前景色*/
{
   int x=220;
   int y=250;
   int j=30;
   int h=35;

   drawmat(ren32H,32,x+j,y,fg1);
   drawmat(ji32H,32,x+2*j,y,fg1);
   drawmat(dui32H,32,x+3*j,y,fg1);
   drawmat(yi32H,32,x+4*j,y,fg1);

   drawmat(ren32H,32,x+j,y+h,fg2);
   drawmat(ren32H,32,x+2*j,y+h,fg2);
   drawmat(dui32H,32,x+3*j,y+h,fg2);
   drawmat(yi32H,32,x+4*j,y+h,fg2);

   drawmat(you32H,32,x+j,y+2*h,fg3);
   drawmat(xi32H,32,x+2*j,y+2*h,fg3);
   drawmat(shuo32H,32,x+3*j,y+2*h,fg3);
   drawmat(ming32H,32,x+4*j,y+2*h,fg3);

   drawmat(li32H,32,x+j,y+3*h,fg4);
   drawmat(kai32H,32,x+2*j,y+3*h,fg4);
   drawmat(you32H,32,x+3*j,y+3*h,fg4);
   drawmat(xi32H,32,x+4*j,y+3*h,fg4);
}

void showMenu(int sele)/*显示主菜单函数*/
{
   int fg = 5;/*当前菜单的颜色*/
   int bg = 7;/*非当前菜单的颜色*/
   switch(sele)
   {
      case 1: showMenuFG(fg,bg,bg,bg);break;
      case 2: showMenuFG(bg,fg,bg,bg);break;
      case 3: showMenuFG(bg,bg,fg,bg);break;
      case 4: showMenuFG(bg,bg,bg,fg);break;
   }
}

void runMenu(int sele)/*执行菜单*/
{
   switch(sele)
   {
      case 1:effect();playFace();playGame();effect();showInterface();/* 人机对战 */
      case 2:effect();playFace();pvsP();effect();showInterface();/* 人人对战 */
      case 3:effect();moveWord();effect();showInterface();/*游戏说明*/
      case 4:exit(0);
   }
}

void moveMenu(void)/*移动菜单*/
{
   int sele = 1;/*默认菜单编号为1*/
   int key;/*接收键盘扫描码*/
   showMenuBG();
   showMenu(sele);
   while(1)
   {
      key = bioskey(0);
      if(key==UP&&sele!=1)
      {
         sele--;
         showMenu(sele);
      }
      else if(key==DOWN&&sele!=4)
      {
         sele++;
         showMenu(sele);
      }
      else if(key==ENTER||key==SPACE)
      {
         runMenu(sele);
      }
      else
         continue;
   }
}

int showInterface(void)/*初始化游戏主界面*/
{
   setbkcolor(0);
   showStar();
   showBorder();
   showCaption();
   showAuthor();
   /*showInterfaceChessboard();*/
   moveMenu();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -