X
تبلیغات
نماشا
رایتل

قرآن در کامپیوتر

دانلود نرم افزار های قرآنی یه صورت رایگان

ریزش برف

این برنامه باعث ریزش برف می شود

RANDOMIZE TIMER
SCREEN 13
MinX = 0
MinY = 0
MaxX = 319 - MinX
MaxY = 199 - MinY
MaxSnow = 1000
Text$ = "http:\RFazli.blogfa.com"
TYPE Snows
X AS INTEGER
Y AS INTEGER
Col AS INTEGER
END TYPE

DIM Snow(MaxSnow) AS Snows


  ';;;;;;;;;;;;;;;;
  ';; Make Snows ;;
  ';;;;;;;;;;;;;;;;
   FOR MSnow = 1 TO MaxSnow
     Snow(MSnow).X = MinX + INT(RND * (MaxX)) + 1
     Snow(MSnow).Y = MinY + INT(RND * (MaxY)) + 1
     Snow(MSnow).Col = 15'30 + INT(RND * 1) + 1
   NEXT MSnow
 
   COLOR INT(RND * 14) + 1
   LOCATE INT(RND * 19) + 4, INT(RND * (34 - LEN(Text$)))
   PRINT Text$
   COLOR INT(RND * 14) + 1
   LOCATE INT(RND * 19) + 4, INT(RND * (34 - LEN(Text$)))
   PRINT Text$
 
  ';;;;;;;;;;;;;;;;;;
  ';; Main Program ;;
  ';;;;;;;;;;;;;;;;;;
DO
   FOR CheckLocateSnow = 1 TO MaxSnow
  
    OldX = Snow(CheckLocateSnow).X
    OldY = Snow(CheckLocateSnow).Y

    IF Snow(CheckLocateSnow).Y + 1 > MaxY THEN
       Snow(CheckLocateSnow).Y = MinY
    END IF

    IF POINT(Snow(CheckLocateSnow).X, Snow(CheckLocateSnow).Y + 1) = 0 THEN
         Snow(CheckLocateSnow).Y = Snow(CheckLocateSnow).Y + 1
         GOTO NextSnow
    END IF
    IF POINT(Snow(CheckLocateSnow).X + 1, Snow(CheckLocateSnow).Y) = 0 THEN
       IF POINT(Snow(CheckLocateSnow).X + 1, Snow(CheckLocateSnow).Y + 1) = 0 THEN
         Snow(CheckLocateSnow).Y = Snow(CheckLocateSnow).Y + 1
         Snow(CheckLocateSnow).X = Snow(CheckLocateSnow).X + 1
         GOTO NextSnow
        END IF
    END IF
    IF POINT(Snow(CheckLocateSnow).X - 1, Snow(CheckLocateSnow).Y) = 0 THEN
      IF POINT(Snow(CheckLocateSnow).X - 1, Snow(CheckLocateSnow).Y + 1) = 0 THEN
         Snow(CheckLocateSnow).Y = Snow(CheckLocateSnow).Y + 1
         Snow(CheckLocateSnow).X = Snow(CheckLocateSnow).X - 1
         GOTO NextSnow
       END IF
    END IF

NextSnow:       

  ';;;;;;;;;;;;;;;;;
  '; Erase Old Snow
  ';;;;;;;;;;;;;;;;;
       IF ((OldX = Snow(CheckLocateSnow).X) AND (OldY = Snow(CheckLocateSnow).Y)) OR Snow(CheckLocateSnow).Y + 1 > MaxY THEN
         Snow(CheckLocateSnow).Y = MinY
       ELSE
         PSET (OldX, OldY), 0
       END IF
      
 

  ';;;;;;;;;;;;;;;;;;;
  ';; Draw New Snow ;;
  ';;;;;;;;;;;;;;;;;;;
       PSET (Snow(CheckLocateSnow).X, Snow(CheckLocateSnow).Y), Snow(CheckLocateSnow).Col
  ';;;;;;;;;;;;;;;;;;;;
  'Key Exit !!!!!!!!!!!
  ';;;;;;;;;;;;;;;;;;;;
       IF INKEY$ <> "" THEN END
    NEXT CheckLocateSnow
LOOP

 

تاریخ ارسال: سه‌شنبه 16 مرداد‌ماه سال 1386 ساعت 04:39 ب.ظ | نویسنده: مهندس | چاپ مطلب 0 نظر