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

    在网上搜游戏都是要用图形库的,自己写了一个不用图形库的

    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    #include<time.h> 
    #include<windows.h>
    #include<conio.h>
    char str[27]="abcdefghijklmnopqrstuvwxyz";    
    int amount[27];
    char game[100][100];
    int ranking[20]; 
    int duf=1;                    //难度 
    int life;					 //生命 
    int score;					//分数 
    void name();   				//开发人员选项 
    void start();				//游戏开始界面 
    void gameintroduction();    //游戏介绍 
    void choose();				//难度选择 
    void gamestart();             //游戏开始 
    void rank(int score);          //把分数加入排行榜 
    void rankd();                  //排行榜界面 
    int main()
    {
    	//system("mode con cols =90 lines=30");
    	system("color b0");      //改变屏幕背景颜色 
    	int hand;
    	char ch;
    	FILE *fp;
    	start();				//游戏开始界面 
    	while(1)
    	{
    		life=10;
    	    score=0;
    		scanf("%d",&hand);
    		getchar(); 
    		system("CLS"); 				//清屏 
    		if(hand==1)
    		{
    			gamestart();
    			while(scanf("%c",&ch),ch!='
    ');
    			system("CLS");
    			start();
    		} 
    		else if(hand==2)						//难度选择 
    		{
    			choose();
    			scanf("%d",&hand);
    			if(hand==2)
    				duf=2;
    			else if(hand==3)
    				duf=3;
    			else duf=1; 
    			system("CLS"); 				//清屏 
    			start();                    //返回开始界面	
    		} 
    		else if(hand==3)                    //开发人员选项
    		{
    			name();
    			while(scanf("%c",&ch),ch!='
    ');
    			system("CLS"); 				//清屏 
    			start();                    //返回开始界面
    		}
    		else if(hand==4)                     //游戏介绍 
    		{
    			gameintroduction();
    			while(scanf("%c",&ch),ch!='
    ');	
    			system("CLS"); 				 //清屏 			
    			start();					 //返回开始界面
    		}	
    		else if(hand==5)                       //结束游戏 
    		return 0;			
    	}
    }
    void name()   					//开发人员选项 
    {
    	printf("**************
    ") ;
    	printf("**************
    ") ;
    	printf("**************
    ") ;
    	printf("**************
    ") ;
    }
    void start()					//游戏开始界面 
    {
    	printf("				   打字母游戏
    ");
    	printf("                          *******************************
    ");
    	printf("			  * 	   游戏开始 1		*
    ");
    	printf("			  *        难度选择 2           *
    ");
    	printf("			  *        开发人员 3           *
    ");
    	printf("			  *        游戏介绍 4           *
    ");
    	printf("			  *        游戏结束 5		*
    ");
    	printf("                          *******************************
    ");
    	printf("
    ");
    	printf("			   输入对应的数字并回车可进行操作
    ");
    }
    void gameintroduction()          //游戏介绍 
    {
    	printf("                 这是一个锻炼打字的游戏,在难度选
    ");
    	printf("		 择里可以选择不同的难度,不同的难
    ");
    	printf("		 度有不同的速度和下降范围。可以提
    ");
    	printf("		 高打字能力用键盘打出你看到的字母,
    ");
    	printf("		 打错了不扣分,打对了加一分。
    ");
    	printf("
    ");
    	printf("                       打之前请修改输入法 !
    ");
    	printf("                       打之前请修改输入法 !
    ");
    	printf("                       打之前请修改输入法 !
    ");
    	printf("                           *回车键退出*");
    }
    void choose()					//难度选择 
    {
    	printf("			  *************************
    ");
    	printf("			  *        简单 1	  *
    ");
    	printf("			  *        一般 2	  *
    ");
    	printf("		 	  *        困难 3	  *
    ");
    	printf("			  *************************
    ");
    	puts("已选择难度: ");
    	if(duf==1)
    		puts("容易");	
    	if(duf==2)
    		puts("一般");
    	if(duf==3)
    		puts("困难");	
    } 
    void gamestart()            //游戏开始
    {	
    	int w;                   //屏幕中宽度 
    	int h; 					 //屏幕中高度 
    	int k;
    	char ch;   
    	int x;
    	int y;
    	int i;
    	int j; 
    	int flag;
    	char an;  
    	if(duf==1)                  //难度为1       
    	{
    		k=1000;
    		w=30;
    		h=20;
    	}	
    	else if(duf==2)				//难度为2
    	{
    		k=500;
    		w=40;
    		h=20;
    	}
    		
    	else if(duf==3)				//难度为3
    	{
    		k=300;
    		w=50;
    		h=20;
    	}
    		
        for(i=0;i<h;i++)               //初始游戏屏幕 
    		for(j=0;j<w;j++)
    			game[i][j]=' ';
    	for(i=0;i<27;i++)               //初始游戏中字母个数 
    		amount[i]=0;
    		
    	srand((unsigned int)time(NULL));    //设置种子 
    	while(life)
    	{
    		
    		for(i=h+1 ; i>=1 ; i--)
    			for(j=0 ; j< w ; j++)
    				game[i][j]=game[i-1][j];    //所有字母下降一格 
    		i=h;
    		for(j=0 ; j< w ; j++)              //减生命 
    			if(game[i][j]!= ' ')
    				life--;
    		i=h;
    		for(j=0;j<w;j++)                 //初始最后一行字母 
    		game[i][j]=' ';
    		i=0;
    		for(j=0;j<w;j++)
    			game[i][j]=' ';              //初始第一行字母 
    		ch=rand()%26+1;					 //生成随机字母 
    		amount[ch]++;					 //记录字母数量 
    		x=0;
    		y=rand()%w;					 //生成字母出现位置 
    		game[x][y]=ch+96;				 //把字母存入数组 
    		
    		system("CLS"); 				        //清屏 
    		for(i=0;i<h;i++)                //输出字母 
    		{
    			for(j=0;j<w;j++)
    				printf("%c",game[i][j]);
    			printf("
    ");
    		}
    		for(i=0;i<w;i++)
    			printf("-");                    //输出屏幕底部分隔横线 
    		printf("
    ");  
    		printf("生命 : %d
    分数 : %d
    ",life,score);
    		    Sleep(k);                      //令屏幕睡眠 
    		
    		if(kbhit())                          //检测是否敲击键盘 
    		{
    			k--;                            //睡眠时间减少 
    			an=getch();                     //把输入字母储存 
    			an-=96;
    			if(amount[an])                  //如果在屏幕上有输入字母 
    			{
    				flag=0;
    				amount[an]--;
    				for(i=h-1;i>=0;i--)
    				{
    					for(j=w;j>=0;j--)
    					{
    						if(game[i][j]==an+96)
    						{
    							game[i][j]=' ';    //清除屏幕上的数字 
    							score++;           //分数加一 
    							flag=1;
    							break;
    						}
    					}
    					if(flag==1)
    						break;
    				}
    			}
    		}	
    	}      
    	system("CLS");	
    	printf("分数 : %d
    ",score);         //输出分数 
    	printf("回车键退出"); 
    }
    
    这个是简易版的,还有要用到文件处理操作的:


    链接:点击打开链接 密码:lq7m

  • 相关阅读:
    流水账
    还是有希望啊
    The Java Tutorials:Collections
    绘图框架新需求
    Fractal Tree扩展
    js获取字符串最后一个字符代码
    js保留小数点后N位的方法介绍
    JS 实现 ResizeBar,可拖动改变两个区域(带iframe)大小
    js获取浏览器高度和宽度值,尽量的考虑了多浏览器。
    jquery自动将form表单封装成json的具体实现
  • 原文地址:https://www.cnblogs.com/zyq1758043090/p/10003027.html
Copyright © 2011-2022 走看看