Консультация № 137056
16.05.2008, 11:48
0.00 руб.
0 1 1
Здраствуйте уважаемые эксперты!Нужна ваша помощь вот в каком деле:нарисовать в программе qbasic (версии 4.5 или ниже) графический рисунок с движением!Все это нужно выполнить в скрине 12 в рамочке с разрешением 550х400(по центру экрана).Благодарность моя будет не иметь границ)

Обсуждение

Неизвестный
16.05.2008, 13:14
общий
это ответ
Здравствуйте, Vlastelin!
Если честно, заниматься таким некогда, но вот кое-что откопал в старинных своих исходниках, думаю сойдет =)

Приложение:
1 CLSSCREEN 0PRINT "Я МОГУ ПОКАЗАТЬ ВАМ:"PRINT "1) ФИЛЬМ"PRINT "2) ЗВЕЗДНОЕ НЕБО"INPUT "ВЫБИРАЙТЕ! ", OIF O = 0 THEN ENDSCREEN 12IF O = 1 THEN‘ ФИЛЬМDIM X2(1 TO 4)DIM Y2(1 TO 4)‘ 1 ЧАСТЬFOR C = 15 TO -15 STEP -15FOR X = 0 TO 639LINE (X, 0)-(639 - X, 463), ABS(C)NEXT XFOR Y = 0 TO 463LINE (639, Y)-(0, 463 - Y), ABS(C)NEXT YNEXT C‘ 2 ЧАСТЬFOR R = 1 TO 9500X = INT(RND * 638 + 1)Y = INT(RND * 462 + 1)LINE (319, 231)-(X, Y), 0NEXT RFOR X = 231 TO 0 STEP -1LINE (X, X)-(639 - X, 463 - X), 0, BNEXT X‘ 3 ЧАСТЬDO WHILE INKEY$ = ""FOR N = 1 TO 4X2(N) = INT(RND * 638 + 1)NEXT NFOR N = 1 TO 4Y2(N) = INT(RND * 462 + 1)NEXT NLINE (0, 0)-(X2(1), Y2(1)), 2LINE (0, 463)-(X2(2), Y2(2)), 14LINE (639, 0)-(X2(3), Y2(3)), 6LINE (639, 463)-(X2(4), Y2(4)), 1LOOPFOR X = 231 TO 0 STEP -1LINE (X, X)-(639 - X, 463 - X), 15, BNEXT X‘ 4 ЧАСТЬFOR R = 1 TO 400CIRCLE (319, 231), R, 0NEXT RSLEEP 2‘ 5 ЧАСТЬFOR X = 0 TO 231LINE (X, X)-(639 - X, 463 - X), 0, BNEXT XCLEARGOTO 1END IFIF O = 2 THEN‘ ЗВЕЗДНОЕ НЕБОS = 200 ‘КОЛ-ВО ЗВЕЗДDIM X(1 TO S / 2) ‘НА КАЖДЫЙ МАССИВ - ПОЛНЕБАDIM Y(1 TO S / 2)DIM X1(1 TO S / 2)DIM Y1(1 TO S / 2)RANDOMIZE TIMER / 2.6DO WHILE INKEY$ = ""X(S / 2) = INT(RND * 640)Y(S / 2) = INT(RND * 464)X1(S / 2) = INT(RND * 640)Y1(S / 2) = INT(RND * 464)PSET (X(S / 2), Y(S / 2)), 14PSET (X1(S / 2), Y1(S / 2))PSET (X(1), Y(1)), 0PSET (X1(1), Y1(1)), 0FOR A = 2 TO S / 2 ‘СДВИГ МАССИВОВX(A - 1) = X(A)X1(A - 1) = X1(A)Y(A - 1) = Y(A)Y1(A - 1) = Y1(A)NEXT AV = V + 1IF V = 10 OR V = 20 OR V = 30 OR V = 40 THEN ‘МАЛЫЙ ВЗРЫВFOR C = 15 TO 0 STEP -15PSET (X(S / 4), Y(S / 4)), CFOR T = 1 TO 500: NEXT TCIRCLE (X(S / 4), Y(S / 4)), 1, CFOR T = 1 TO 500: NEXT TCIRCLE (X(S / 4), Y(S / 4)), 2, CNEXT CEND IFIF V = 50 THEN ‘БОЛЬШОЙ ВЗРЫВFOR C = 14 TO -6 STEP -10IF C < 0 THEN C1 = 0 ELSE C1 = CFOR P = 1 TO 5CIRCLE (X1(S / 4) + U, Y1(S / 4) + O), P, C1FOR T = 1 TO 150: NEXT TNEXT PNEXT CV = 0END IFLOOPCLEARGOTO 1END IFEND
Форма ответа