応用 5.縦スクロールを応用したプログラム

  以下のプログラムは、雪が降る情景を縦スクロールを用いて描いている。これを参考に、縦スクロールを応用したプログラムを作成せよ。

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>

char sky[22];         /* 空データを格納 */

void dsky(void);       /* 空を描く */
void snow(int, char *);    /* 星を作る */
void backscroll(void);    /* 画面を一行逆スクロールする */
void delay(void);       /* 時間待ち */

main()
{
  window(1,1,80,24);
  clrscr();
  dsky();
  printf("End.");
  getch();
}

void dsky()
{
  int i;
  gotoxy(20,1);
  for (i=0;i<100;i++){
    delay();
  backscroll();
  snow(8,sky);
  cprintf("%s",sky);
  }
}

void snow(int n,char *sky)
{
  int i;
  for (i=0;i<20;i++){
    if (random(n)){
      *sky++=' ';
    }
  else {
    *sky++='*';
    }
  }
  *sky='\0';
}

void backscroll()
{
  gotoxy(1,1);
  insline();
}

void delay()
{
  unsigned long t;
  for (t=0;t<200000;t++){ }

}


サンプルプログラムのダウンロード


   演習課題一覧