応用 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++){ }
}
サンプルプログラムのダウンロード