久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9674|回復: 4
收起左側

[原創]turbo C++編寫模仿下雨的程序???

[復制鏈接]
ID:2356 發表于 2008-5-26 14:53 | 顯示全部樓層 |閱讀模式
請教大家一個問題 :誰知道用turbo C++編一個模仿下雨的程序,本人急需用,謝謝大家幫幫忙.
回復

使用道具 舉報

ID:3271 發表于 2008-7-17 17:54 | 顯示全部樓層
在納哪用啊
回復

使用道具 舉報

ID:5141 發表于 2008-9-10 10:29 | 顯示全部樓層
唉我們貌似也要用
回復

使用道具 舉報

ID:5069 發表于 2008-11-16 14:30 | 顯示全部樓層
大哥  是下雪吧
回復

使用道具 舉報

ID:5069 發表于 2008-11-16 14:33 | 顯示全部樓層

#include <stdio.h>
#include <graphics.h>
#include <stdlib.h>
#include <dos.h>

#define POINT 200
#define DOWNSPEED 5
#define MOVESIZE 1
#define SHOW 1
#define HIDE 0

typedef struct
{
 int x;
 int y;
 int size;
}SNOW;

SNOW Snow[POINT];
int MaxX,MaxY;
int MaxSize=3;
int SnowColor=15;
int Delay=15000;
int CurSnow=0;
int *Map;

/********************************** Init_Graph *****************************/
void Init_Graph(){
 int gdriver=DETECT,gmode,errorcode;
 initgraph(&gdriver, &gmode, "G:\\turboc2\\");
 errorcode = graphresult();
 if (errorcode != grOk) /* an error occurred */
 {
  printf("Graphics error: %s\n", grapherrormsg(errorcode));
  printf("Press any key to halt:");
  getch();
  exit(1); /*terminate with an error code */
 }
 MaxX=getmaxx();
 MaxY=getmaxy();

 Map=(int *) malloc( sizeof(int)*MaxX );
}
/******************************** MakeSnow ********************************/
void MakeSnow()
{
 int i;
 if( CurSnow>=POINT ) return;
 for( i=0; Snow.size; i++ )
  ;
 CurSnow++;
 Snow.x=random(MaxX);
 Snow.y=random(DOWNSPEED);
 Snow.size=random(MaxSize)+1;
 
}
/******************************** Init_Data *******************************/
void Init_Data()
{
 int i;
 for( i=0; i< POINT; i++)
 {
  Snow.x=0;
  Snow.y=0;
  Snow.size=0;
 }
 for( i=0; i<MaxX; i++)
  Map=MaxY;
}
/********************************* Init **********************************/
void Init()
{
 Init_Graph();
 Init_Data();
 randomize();
 MakeSnow();
}
/******************************** GetKey ********************************/
void GetKey(int *ah,int *al){
 union REGS r;
 r.h.ah=0;
 int86(0x16,&r,&r);
 /*return r.h.al;*/
 *ah=r.h.ah;
 *al=r.h.al;
}
/********************************* SetSnow ******************************/
void ShowSnow( int x, int y, int size, int flag )
{
 int color=0;

 if ( flag ) color=15;
 switch( size )
 {
 case 1:
  putpixel( x, y, color );
  break;
 case 2:
  setcolor( color );
  line( x-1, y-1, x+1, y+1 );
  line( x-1, y+1, x+1, y-1 );
  break;
 case 3:
  setcolor( color );
  line( x-1, y-1, x+1, y+1 );
  line( x-1, y+1, x+1, y-1 );
  /*
  line( x-2, y-2, x+2, y+2 );
  line( x-2, y+2, x+2, y-2 );*/

  line( x-2, y, x+2, y );
  line( x, y-2, x, y+2 );
  break;
 }

}
/********************************* Check ********************************/
void Move( int n, int tox, int toy )
{
 int x, y, size, i, j;
 float person;

 x=Snow[n].x;
 y=Snow[n].y;
 size=Snow[n].size;
 /* check end */
 j=y;
 if( x<tox )
 {
  person=(DOWNSPEED *1.0) / ( tox-x )*1.0;
  for( i=x; i<=tox; i++ )
  {
   if( j>=Map )
   {
    tox=i-size;
    break;
   }
   j+=(int)( (i-x+1)*person );
  }
 }
 else if( x>tox )
 {
  person=(DOWNSPEED *1.0) / ( x-tox )*1.0;
  for( i=x; i>=tox; i-- )
  {
   if( j>=Map )
   {
    tox=i+size;
    break;
   }
   j+=(int)( (x-i+1)*person );
  }
 }
 
 if( y+DOWNSPEED>=Map[tox] )
 {
  switch( size )
  {
  case 1:
   Map[x]--;
   break;
  case 2:
   Map[x]-=2;
   if( x>0 && Map[x-1]>Map[x] ) Map[x-1]=Map[x];
   if( x<MaxX-1 && Map[x+1]>Map[x] ) Map[x+1]=Map[x];
   break;
  case 3:
   Map[x]-=3;
   if( x>1 && Map[x-2]>Map[x] ) Map[x-1]=Map[x];
   if( x>0 && Map[x-1]>Map[x] ) Map[x-1]=Map[x];

   if( x<MaxX-2 && Map[x+2]>Map[x] ) Map[x+1]=Map[x];
   if( x<MaxX-1 && Map[x+1]>Map[x] ) Map[x+1]=Map[x];
   break;
  }
  CurSnow--;
  y=Map[x]+size;
  Snow[n].x=x;
  Snow[n].y=y;
  Snow[n].size=0;
 }
 else /* not end */
 {
  Snow[n].x=tox;
  Snow[n].y=toy;
 }
}
/******************************** snow **********************************/
void Begin()
{
 int ah,al;
 int i,dir,

文章出處:http://www.diybl.com/course/3_program/c/c_js/2008224/100864.html

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 狠狠躁天天躁夜夜躁婷婷老牛影视 | 久久久人成影片一区二区三区 | 亚洲成av| 精品一区二区三区av | 亚洲久久| 欧美精品在线一区二区三区 | 国产91丝袜在线播放 | 国产色婷婷精品综合在线播放 | 精品视频一区二区三区在线观看 | 成人网在线 | 91精品国产麻豆 | 中文字幕二区三区 | 亚洲 欧美 日韩在线 | 亚洲国产成人av好男人在线观看 | 成人免费视频观看视频 | 狠狠狠色丁香婷婷综合久久五月 | 免费在线h视频 | 亚洲福利一区 | 国产污视频在线 | 人人玩人人干 | 久久精品电影 | 久久久www成人免费精品 | 九九99靖品 | 欧美精品福利视频 | 精品一区二区三区四区视频 | 亚洲精品久久区二区三区蜜桃臀 | 亚洲欧美国产精品一区二区 | 国产成人免费 | 91精品国产综合久久久动漫日韩 | 韩日在线视频 | 夜夜骑av| 好姑娘高清在线观看电影 | 亚洲精品1区2区3区 91免费看片 | 日韩2020狼一二三 | 伊人色综合久久久天天蜜桃 | 国产一区不卡在线观看 | 中文欧美日韩 | 国产在线一区二区 | 成人在线视频免费观看 | 国产成人精品一区二区 | 久久亚洲一区二区 |