zoukankan      html  css  js  c++  java
  • 打字母小游戏

    第一次用eaxyx相关知识,也是第一次写游戏,记录下。。。研究了好久才弄出来的+_+
      1 #include<graphics.h>
      2 #include<conio.h>
      3 #include<stdio.h>
      4 #include<time.h>
      5 #pragma comment(lib,"Winmm.lib")
      6 
      7 void First();
      8 void Second();
      9 void GameStart();
     10 void GameOver();
     11 
     12 char s1[10],s[10];
     13 int total/*点击次数*/,Right/*正确个数*/,num/*字母总个数*/,Rank/*等级*/;
     14 int flag=0;//标记是否按了esc;
     15 double TotalRank;//正确率,正确数与点击总数之比;
     16 
     17 int main()
     18 {
     19     initgraph(750,550);
     20     setbkcolor(CYAN);
     21     cleardevice();
     22 
     23     First();
     24     getch();
     25     Second();
     26     char ch;
     27     ch=getch();
     28     outtextxy(240,380,ch);
     29     getchar();
     30     Rank=ch-'0';
     31     GameStart();
     32     GameOver();
     33     closegraph();
     34     return 0;
     35 }
     36 void First()
     37 {
     38     mciSendString("play 开场.mp3",NULL,0,NULL);
     39     setfont(50,0,"楷体");
     40     outtextxy(50,100,"没错,就是很传统的那个掉字");
     41     outtextxy(50,200,"母然后按相应键就消失的游戏");
     42     setcolor(RGB(246,105,251));
     43     setfont(60,0,"MV Boli");
     44     outtextxy(100,300,"have a try!!!");
     45     setfont(40,0,"楷体");
     46     setcolor(RED);
     47     outtextxy(400, 500, "请按任意键继续");
     48 }
     49 void Second()
     50 {
     51     cleardevice();
     52     setcolor(YELLOW);
     53     setfont(50,0,"楷体");
     54     outtextxy(200,20,"打字母游戏");
     55     setcolor(RGB(25,25,35));
     56     setfont(40,0,"新宋体");
     57     outtextxy(0,70,"游戏说明");
     58     setcolor(WHITE);
     59     setfont(30,0,"宋体");
     60     outtextxy(0,130,"一、每次下落若干个字母,字母个数当然要看级别咯");
     61     outtextxy(0,180,"二、被点中字母个数与你的点击数之比为您的正确率");
     62     outtextxy(0,230,"三、小编语是要看正确率的哦");
     63     outtextxy(0,280,"四、按键1--5选择不同游戏的级别");
     64     outtextxy(0,330,"五、5级最高,1级最低");
     65     setfont(30,0,"黑体");
     66     int c=255;
     67     while(!kbhit())
     68     {
     69         setcolor(RGB(c,82,208));
     70         outtextxy(0,380,"请输入游戏级别:");
     71         c-=25;
     72         if(c<0) c=255;
     73         Sleep(100);
     74     }
     75 }
     76 void GameStart()
     77 {
     78     mciSendString("close all",NULL,0,NULL);
     79     mciSendString("play abc.mp3",NULL,0,NULL);
     80     cleardevice();
     81     num=15*Rank;
     82     Right=0;
     83     srand(time(NULL));//设置随机种子;
     84     setfillstyle(CYAN);
     85     setcolor(BLACK);
     86     line(0,510,749,510);
     87     line(0,50,749,50);
     88     setcolor(RGB(255,0,0));
     89     setfont(40,0,"MV Boli");
     90     outtextxy(0,0,"SCORE:");
     91     sprintf(s,"%d",Right);
     92     outtextxy(150,0,s);
     93     int x,y;
     94     char target,key;
     95     int m=0;
     96     while(flag==0&&num>0)
     97     {
     98         m++;
     99         setfont(60,0,"BIG");/*设置字母的字体和大小*/
    100         target=97+rand()%26;/*产生的任意小写字母*/
    101         x=rand()%700; /*产生的任意下落位置*/
    102         for(y=60;y<436;)
    103         {            
    104             y+=m/10+1;
    105             setcolor(RGB(255,150,255));
    106             outtextxy(x,y,target);
    107             if(kbhit())//检查当前是否有键盘输入
    108             {
    109                 key=getch();
    110                 total++;
    111                 if(key==target||key==target-32)
    112                 {
    113                     mciSendString("play 正确.mp3",NULL,0,NULL);
    114                     Right++;
    115                     sprintf(s,"%d",Right);
    116                     setcolor(RGB(255,0,0));
    117                     setfont(40,0,"MV Boli");
    118                     outtextxy(0,0,"SCORE:");
    119                     outtextxy(150,0,s);
    120                     bar(x-60,y-60,x+60,y+60);
    121                     break;
    122                 }
    123                 else if(key==27)
    124                 {
    125                     flag=1;
    126                     break;
    127                 }
    128             }
    129             Sleep(10);
    130             bar(x,y,x+55,y+65);
    131         }
    132         num--;
    133         TotalRank=Right*1.0/total*100;
    134         sprintf(s1,"%.2lf",TotalRank);/*把double型换成字符型*/
    135     }
    136 }
    137 void GameOver()
    138 {
    139     mciSendString("close all",NULL,0,NULL);
    140     mciSendString("play 搞笑.mp3",NULL,0,NULL);
    141     cleardevice();
    142     setcolor(RGB(246,105,251));
    143     setfont(100,0,"MV Boli");
    144     outtextxy(200,300,"Game Over");
    145     setcolor(RED);
    146     setfont(30,0,"黑体");
    147     outtextxy(180,80,"共有字母数:");
    148     sprintf(s,"%d",Rank*15);
    149     outtextxy(350,80,s);
    150     outtextxy(420,80,"您对的个数:");
    151     sprintf(s,"%d",Right);
    152     outtextxy(600,80,s);
    153     setcolor(YELLOW);
    154     setfont(50,0,"黑体");
    155     if(total==0)
    156         outtextxy(200,230,"发什么呆啊");
    157     else
    158     {
    159         outtextxy(200,130,"您的正确率:");
    160         outtextxy(480,130,s1);
    161         outtextxy(605,130,"%");
    162         setcolor(RGB(255,25,140));
    163         if(TotalRank==100 && Right==Rank*15 && Rank<9)
    164             outtextxy(100,230,"你可以挑战下个级别了哦");
    165         else if(TotalRank==100 && Right==Rank*15 && Rank==9)
    166             outtextxy(100,230,"你真是健步如飞哦");
    167         else if(TotalRank==100 && Right!=Rank*15 )
    168             outtextxy(100,230,"离成功仅有一步了,唉!");
    169         else if(TotalRank!=130 && Right==0 )
    170             outtextxy(250,230,"你又O啦");
    171         else if(95<=TotalRank&&TotalRank<100)
    172             outtextxy(220,230,"哎呦,不错嘛");
    173         else if(90<=TotalRank&&TotalRank<95)
    174             outtextxy(200,230,"有点玩家的意思了");
    175         else if(85<=TotalRank&&TotalRank<90)
    176             outtextxy(200,230,"你开始找到感觉了");
    177         else if(80<=TotalRank&&TotalRank<85)
    178             outtextxy(220,200,"好好练习吧");
    179         else if(70<=TotalRank&&TotalRank<80)
    180             outtextxy(200,200,"很佩服你那么坚持");
    181         else if(60<=TotalRank&&TotalRank<70)
    182             outtextxy(200,200,"还是接着看电视吧");
    183         else if(50<=TotalRank&&TotalRank<60)
    184             outtextxy(300,200,"无语");
    185         else if(40<=TotalRank&&TotalRank<50)
    186             outtextxy(210,200,"到底行不行啊");
    187         else if(TotalRank<40)
    188             outtextxy(220,200,"开玩笑啊");
    189     }
    190     setfont(40,0,"楷体");
    191     setcolor(WHITE);
    192     outtextxy(400, 500, "请按任意键退出");
    193     getch();
    194 }
    View Code
  • 相关阅读:
    海量数据框架变迁——阿里巴巴上市背后的技术力量
    redis集群配置
    【等待优化】sql server CXPACKET 等待 导致 CPU飙高、CPU100%
    (4.39)sql server如何配置分布式事务(MSDTC)
    mysql断电,mysql ibdata 文件损坏(批量利用mysql表空间导入导出)
    mysqlfrm使用
    (1.1)zabbix 基础概念及工作原理整理【转】
    (5.17)mysql集群技术概述(LVS、Keepalived、HAproxy)
    事务日志备份失败错误:Backup detected log corruption in database
    sql server事务日志解析工具(开源,类似apexsql log)
  • 原文地址:https://www.cnblogs.com/zhengguiping--9876/p/4559737.html
Copyright © 2011-2022 走看看