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

📄 printpk.c

📁 unix环境下c语言屏幕编程开发
💻 C
字号:
/* *  将随机生成的4张牌克输出到屏幕 */#include "../inc/screen.h"#include "./../inc/DefineConst.h"extern  int MarkNum;  /**获得的分数**/static char NumberChar[ 10 ][ 2 ] = { "0" ,                                      "1" ,                                      "2" ,                                      "3" ,                                      "4" ,                                      "5" ,                                      "6" ,                                      "7" ,                                      "8" ,                                      "9"                                     } ;char * PrintBKToScr( int a1, int a2, int a3, int a4 ){   static char CalStr[ 81 ] ;   memset( CalStr, 0x00, sizeof( CalStr )) ;     rubber( 20, 79, 6, 20 );      /*设置背景和文本的颜色*/      /**扑克牌a1**/   window( 25, 29, 7, 9 );   PrtSet( 31 );   plot( 26, 6, "牌1" );   PrtSet( 37 );   plot( 27, 8, NumberChar[ a1 ] );   /**扑克牌a1**/   window( 35, 39, 7, 9 );   PrtSet( 34 );   plot( 36, 6, "牌2" );   PrtSet( 37 );   plot( 37, 8, NumberChar[ a2 ] );   /**扑克牌a1**/   window( 45, 49, 7, 9 );   PrtSet( 35 );   plot( 46, 6, "牌3" );   PrtSet( 37 );   plot( 47, 8, NumberChar[ a3 ] );   /**扑克牌a1**/   window( 55, 59, 7, 9 );   PrtSet( 36 );   plot( 56, 6, "牌4" );   PrtSet( 37 );   plot( 57, 8, NumberChar[ a4 ] );   /**游戏规则显示**/         window( 2, 22, 5, 20 );      PrtSet( 33 );   plot( 4, 6, "游戏规则: " );   plot( 4, 7, "1.运算符仅为+-*/" );   plot( 4, 8, "2.括号最多两对且括" );   plot( 4, 9, "  号中不能套括号" );   plot( 4, 10, "3.每个数字仅用一次" );   plot( 4, 11, "4.括号尽可能往前放" );   plot( 4, 12, "5.尽可能不用括号" );   plot( 4, 14,"实例: √正解 Χ错" );   plot( 4, 15,"√ a+b*c/d" );   plot( 4, 16,"√ (a+b-c)*d" );   plot( 4, 17,"√ (a+b)*(c-d)" );     plot( 4, 18,"Χ ((a+b)-c))*d" );      plot( 4, 19,"Χ (a+a)*(c-d)" );   PrtSet( 37 );      /**显示时间**/   plot( 51, 2, getsystime());      /**显示滚动条**/      /**显示分数**/   {   	char TmpStr[10];   	InitStr( TmpStr );   	   	sprintf( TmpStr, "%05d", MarkNum );   	plot( 69, 2, TmpStr );   }      PrtSet( 1 );   PrtSet( 36 );   plot( 25, 14, "请输入计算公式: " );   PrtSet( 2 );   PrtSet( 37 );   wrdstr_cff( 40, 14, CalStr );    return( CalStr );}void StartGame(){   int a1, a2, a3, a4;   char *CalStr;   int Result ;   char ErrMsg[ 100 ] ;   struct timeb time1, time2 ;   int IntvalTime ; /**时间间隔**/   a1=a2=a3=a4=0 ;   Result=0 ;   IntvalTime=0;   InitStr( ErrMsg ) ;   a1 = randnum();   a2 = randnum();   a3 = randnum();   a4 = randnum();      /**获得当前时间**/   GetCuryTime( &time1 );      /*获得计算公式**/   CalStr = PrintBKToScr( a1, a2, a3, a4 );   /**分析输入字符串是否符合规则**/   while( ( strlen( CalStr ) > 0 ) && ( AnalyCalStr( CalStr, a1, a2, a3, a4, ErrMsg ) == 0 ) )   {      Prompt( ErrMsg ) ;      getchar();      CalStr = PrintBKToScr( a1, a2, a3, a4 );   }          /**计算输入的公式**/   while( ( Result != 24 ) && ( strlen( CalStr ) > 0 ) )   {     /**计算出结果**/     Result=AnaStrAndCal( CalStr, a1, a2, a3, a4 );     if( Result == 24)     {     	  GetCuryTime( &time2 );     	  IntvalTime=IntervalTime( time1, time2 );     	  if( IntvalTime <= 30 )     	     MarkNum += 300;     	  if( (IntvalTime > 30) && (IntvalTime <=60) )        	     MarkNum += 200;     	  if( IntvalTime > 60 )     	     MarkNum += 100;           Prompt( "祝贺你过关!按回车键进入下一关..." );        getchar();     }     else     {        Prompt( "计算结果错误!按回车键重新输入计算..." );	     getchar();        CalStr = PrintBKToScr( a1, a2, a3, a4 );     }   }   }

⌨️ 快捷键说明

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