a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C > 正文

原創的C語言控制臺小游戲

2020-01-26 15:08:51
字體:
來源:轉載
供稿:網友

最開始左上色塊被感染,通過切換顏色,不斷感染同色色塊。亮點是可以切換圖案,設置方塊個數和最大限制次數。整體還是比較滿意,希望大神指教。

#include <stdio.h>#include <windows.h>#include <conio.h>#include <time.h>#include <stdlib.h> int DIFFICULT=44;int count=0 ;int TYPE_SHAPE=2 ;int flag=7 ;int LINE=12; struct MyStruct{  int shape ;  int color ;  int infect ;}; void SetColor(unsigned short ForeColor,unsigned short BackGroundColor){  HANDLE hCon=GetStdHandle(STD_OUTPUT_HANDLE);  SetConsoleTextAttribute(hCon,ForeColor|BackGroundColor);} void WelcomeScr(){  int i;  printf("/n/n/n/t/t");  printf("●程序初始化中〉");  for(i=0; i<=100; i++)  {    SetColor(i%6+8,0);    printf("%3d",i);    SetColor(15,0);    printf(" %%");    SetColor(i%6+8,0);    printf(" Written by Oliver!");    Sleep(20);    printf("/b/b/b/b/b/b/b/b/b/b/b/b/b/b/b/b/b/b/b/b/b/b/b/b");  }  printf("/a");  Sleep(1000);  system("cls");  printf("/n/n/n/t/t");  SetColor(15,0);  printf("●請輸入方塊行數 〉 (最好不超過21行)");  printf("/b/b/b/b/b/b/b/b/b/b/b/b/b/b/b/b/b/b/b/b");  scanf("%d",&LINE);  printf("/n/n/n/t/t");  printf("●請輸入最大次數 〉");  scanf("%d",&DIFFICULT);  system("cls");} void Show(){  int i ;  SetColor(15,0);  printf("/n ※ 操作次數: %-2d / %d  (共%3d個色塊)/n",count,DIFFICULT,LINE*LINE);  printf("/n ※ 操作方法: ");  for(i=1; i<7; i++)  {    SetColor(15,0);    printf("%d.",i);    SetColor(i+8,0);    printf("%c ",TYPE_SHAPE);  }  SetColor(15,0);  printf("7.");  SetColor(9,0);  printf("重");  SetColor(10,0);  printf("新");  SetColor(11,0);  printf("生");  SetColor(12,0);  printf("成 ");  SetColor(15,0);  printf("0.");  SetColor(14,0);  printf("改");  SetColor(13,0);  printf("變");  SetColor(12,0);  printf("圖");  SetColor(11,0);  printf("案 ");  SetColor(15,0);  printf("/n/n ※ 請按下 0 ~ 7 鍵位> ");} int Choose(){  int choose ;  fflush(stdin);  scanf("%d",&choose);  switch(choose)  {  case 0 :    TYPE_SHAPE++;    if(TYPE_SHAPE==7)    {      TYPE_SHAPE=1 ;    }    return 0 ;  case 1 :    return 1 ;  case 2 :    return 2 ;  case 3 :    return 3 ;  case 4 :    return 4 ;  case 5 :    return 5 ;  case 6 :    return 6 ;  case 7 :    return 7 ;  default :    printf("/n/t/t/a● 輸入無效,請重新輸入!");    Sleep(1000);    return 0 ;  }} void main(){  int i,j ;  int num=0 ;  char ch ;  int cc ;  int jj;  struct MyStruct array[41][41];  system("title 感染方塊 Oliver's QQ 564404096");  srand((time(NULL)%100)*rand());  WelcomeScr();loop :  for(i=0; i<LINE; i++)  {    for(j=0; j<LINE; j++)    {      array[i][j].shape=TYPE_SHAPE ;      if(flag==7)      {        array[i][j].color=rand()%6+1 ;        array[i][j].infect=0 ;        count=0 ;        cc=1 ;      }    }  }  printf("/n");  array[0][0].infect=1 ;  for(jj=0; jj<LINE; jj++)  {    for(i=0; i<LINE; i++)    {      for(j=0; j<LINE; j++)      {        if(array[i][j].color==array[i][j+1].color&&array[i][j].infect==1&&array[i][j+1].infect!=1)        {          array[i][j+1].infect=1 ;        }        if(array[i][j].color==array[i+1][j].color&&array[i][j].infect==1&&array[i+1][j].infect!=1)        {          array[i+1][j].infect=1 ;        }      }    }     for(i=LINE-1; i>0; i--)    {      for(j=LINE-1; j>0; j--)      {        if(array[i][j].color==array[i-1][j].color&&array[i][j].infect==1&&array[i-1][j].color!=1)        {          array[i-1][j].infect=1 ;        }        if(array[i][j].color==array[i][j-1].color&&array[i][j].infect==1&&array[i][j-1].color!=1)        {          array[i][j-1].infect=1 ;        }      }    }    cc=1 ;    for(i=0; i<LINE; i++)      for(j=0; j<LINE; j++)      {        if(array[i][j].infect==0)        {          cc=0 ;          break ;        }      }  }  for(i=0; i<LINE; i++)  {    printf(" ");    for(j=0; j<LINE; j++)    {      SetColor(array[i][j].color+8,0);      printf("%c ",array[i][j]);    }    printf("/n");  }  Show();  if(count<=DIFFICULT&&cc==1&&flag!=7&&flag!=0)  {    system("cls");    printf("/n/n/n/n/t/t/t●%5d個色塊你用了%d步完成  ●",LINE*LINE,count);    printf("/n/n/t/t/t● 恭喜你,您獲得了勝利!/n");loop2 :    printf("/n/t/t/t/a● 是否繼續?(Y/N)>");    fflush(stdin);    if((ch=getch())=='Y'||ch=='y')    {      system("cls");      flag=7 ;      goto loop ;    }    else if(ch=='n'||ch=='N')    {      system("cls");      printf("/n/t/t/t● 謝 謝 您 的 使 用 !/n/n/t/t/t● 作 者: Oliver/n/n/t/t/t● Q Q: 564404096/n/n/t/t/t● 代 碼 原 創,版 權 所 有 ●");      Sleep(5000);      exit(1);    }    else    {      printf("/n/n/t/t/t/a● 輸入錯誤重新輸入 >");      Sleep(1000);      system("cls");      goto loop2 ;    }  }  else if(count>DIFFICULT)  {    system("cls");    printf("/n/n/n/n/t/t/t/a● 很遺憾,您闖關失敗!/n");    goto loop2 ;  }  else    ;  flag=Choose();  if(flag!=0)  {    array[0][0].color=flag ;    if(flag!=7)    {      count++;    }    for(i=0; i<LINE; i++)    {      for(j=0; j<LINE; j++)      {        if(array[i][j].infect==1)        {          array[i][j].color=flag ;        }      }    }  }  system("cls");  goto loop ;}

演示圖:

以上即是本文所述的全部內容了,希望大家能夠喜歡,能夠對大家學習C有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 久久久久久久国产 | 欧美日韩免费一区二区三区 | 欧美日韩国产高清视频 | 国产一二三在线 | 亚洲精品久久久久 | 精品视频久久 | 欧美激情一区二区三区在线观看 | 在线观看视频一区 | av免费网站 | 性色视频免费观看 | 欧美日韩在线第一页 | 粉嫩一区二区三区 | 成人亚洲视频 | 欧美亚洲视频 | 精品少妇一区二区三区日产乱码 | 中文无码久久精品 | 日本a在线 | 精品一区二区三区国产 | 国产精品久久久久一区二区三区 | 国产亚洲欧美精品永久 | 精品久久久久久一区二区 | 成人精品一区二区三区中文字幕 | 国产精品视频一区二区三区, | 黄色电影网站在线观看 | 丁香婷婷久久久综合精品国产 | 亚洲高清久久 | 国产区在线 | 国产在线区 | 色花av| 日本在线免费播放 | 欧美大片免费高清观看 | 国产日韩欧美视频 | 奇米色777欧美一区二区 | www.日韩.com| 欧美福利一区二区 | 亚洲午夜精品一区二区三区他趣 | 日韩精品免费一区二区夜夜嗨 | 一级大毛片 | 久久国产经典视频 | 国产成人精品一区二区三区四区 | 欧美wwwww |