C 언어+EasyX 디지털 비 효과 구현

본 논문 의 사례 는 C 언어 EasyX 가 디지털 비 를 실현 하 는 구체 적 인 코드 를 공유 하여 여러분 께 참고 하 시기 바 랍 니 다.구체 적 인 내용 은 다음 과 같 습 니 다.

/////////////////////////////////////////////////////////////////////
//     :   
//     :VC6.0 EasyX
//     :flx413
//    :2016-5-2
/////////////////////////////////////////////////////////////////////
 
#include <stdio.h>
#include <windows.h>
#include <graphics.h>
#include <stdlib.h>
#include <time.h>
 
#define SCREEN_WIDTH 1366
#define SCREEN_HEIGHT 768
#define DEF_RAIN_NUM 91 //    
 
//        
int g_nRainPos[DEF_RAIN_NUM] = { 0 };
 
//       
char g_strRain[DEF_RAIN_NUM][10] = { 0 };
 
//        
char CreateRandomNum() {
 char nRandomNum = 0;
 
 while( 1 ) {
  nRandomNum = rand() % 123; //    0~122     
 
  if( ( nRandomNum >= 65 && nRandomNum <= 90 ) || nRandomNum >= 97 ) {
   return nRandomNum;
  }
 }
}
 
//            
void InitPos() {
 for( int i = 0; i < DEF_RAIN_NUM; i++ ) {
  g_nRainPos[i] = rand() % SCREEN_HEIGHT;
 }
}
 
//      
void InitNumRain() {
 for( int i = 0; i < DEF_RAIN_NUM; i++ ) {
  for( int j = 0; j < 10; j++ ) {
   g_strRain[i][j] = CreateRandomNum();
  }
 }
}
 
//   
void ShowNumRain() {
 for( int i = 0; i < DEF_RAIN_NUM; i++ ) {
  //      
  settextcolor( RGB( 255, 255, 255 ) ); //  
  for( int j = 0; j < 10; j++ ) {
   outtextxy( i * 15, g_nRainPos[i] - 15 * j, g_strRain[i][j] );
   settextcolor( RGB( 0, 255 - 28 * j, 0 ) );
  }
 }
 
 for( i = 0; i < DEF_RAIN_NUM; i++ ) {
  g_nRainPos[i] += 15; //           15
 }
 
 for( i = 0; i < DEF_RAIN_NUM; i++ ) {
  if( g_nRainPos[i] - 10 * 15 >= SCREEN_HEIGHT ) {
   g_nRainPos[i] = 0;
  }
 }
}
int main() {
 srand((unsigned)time(NULL));
 initgraph( SCREEN_WIDTH, SCREEN_HEIGHT );
 
 InitPos();
 InitNumRain();
 
 BeginBatchDraw();
 
 while( 1 ) {
  InitNumRain();
  ShowNumRain(); 
  FlushBatchDraw();
  Sleep( 100 ); //  0.1 
  cleardevice(); //    
 }
 
 EndBatchDraw();
 closegraph();
 return 0;
}

효과 그림:

이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기