ورود

View Full Version : پر کردن ستاره در داس باکس



kamal3401
شنبه 16 اسفند 1393, 21:09 عصر
سلام دوستان
همینطور که میدونید محیط اجرای داس باکس 80 در 25 هستش
من میخوام این محیطو با ستاره پر کنم ولی نحوه پر شدنش یکم پیچیدست و نمیتونم تحلیلش کنم

میخوام ستاره به صورت ستون به ستون پر بشه تو کل محیط داس باکس ما 80 تا ستون داریم میخوام این ستونا به ترتیب پر بشه و نحوه ی پر شدن هر ستون به این شکله که به صورت بارش باران میخوام پر بشه ( یعنی یک ستاره از بالا بیاد پایین و پایین که رسید ستاره بعدی به همون شکل بیاد روش قرار بگیره و به همین ترتیب اون ستون پر بشه)

من ی برنامه نوشتم که ستاره رو از ی طرف شروع میکنه تا اخر پر میکنه به صورت سطری ولی نمیتونم به این شکلی که گفتم بنویسمش


#include <iostream.h>
#include <dos.h>
#include <conio.h>

void main (void){
clrscr();
for(int i=0;i<2000;i++){
pokeb(0xb800,i*2,'*');
delay(5);
}
getch();
}


لطفا از همین کدا استفاده کنید برای نوشتن برنامه

rahnema1
یک شنبه 17 اسفند 1393, 08:07 صبح
سلام
یه کم لازمه با حلقه ها کار کنید

#include <dos.h>
#include <conio.h>
#define width 80
#define height 25
#define delay_time 10
void main (void)
{
int i,j,k;
clrscr();
for(j = 0 ; j < width; j++)
{
for(i = 0; i < height; i++)
{
pokeb(0xb800, (width * 0 +j) * 2, '*');
delay(delay_time);
for(k = 1; k < height - i; k++)
{
pokeb(0xb800, (width * (k - 1) + j) * 2, ' ');
pokeb(0xb800, (width * k + j) * 2, '*');
delay(delay_time);
}
}
}
getch();
clrscr();
}