Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> SoS! QB Задача! 
:(
    Опции темы
SoS!
Дата 8.6.2004, 22:49 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Есть у меня вот такая задача:
Цитата
CLS
SCREEN 9
COLOR 14, 2
'==1===== BLOK RISOVANIYA KONTURA===========================================
LINE (0, 0)-(220, 350), 2, BF
LINE (220, 0)-(640, 350), 1, BF
LINE (220, 0)-(640, 20), 2, BF
DRAW " s8 bm290,340 c8 u8h3e8f15"
DRAW "e5 m-30,-40e2l4m-20,-60r3u1h3m+20,-5d3l3d8r3e2m+20,+30l2m+3,+8r2"
DRAW "d4r4f25d31f13 r195u190l405d190 r215 u4  bl3p2,8bl30 p11,8"
LOCATE 1, 6: PRINT "ADRIATICHESKY KRUIZ "
'==2===== BLOK VVOD I RASPECATKA GORODOV===================================
' Venetsiya : Split : Vieste : Podgoritsa
DATA "Venetsiya",244,120,9,22,"Split",330,200,14,42
DATA "Vieste",274,235,17,28, "Podgoritsa",370,240,17,47
FOR i = 1 TO 4
READ not$, x(i), y(i), nc, ns
CIRCLE (x(i), y(i)), 4, 4: PAINT (x(i), y(i)), 4, 4
LOCATE nc, ns
PRINT not$
NEXT i
'==3===== IZOBRAZHENIE PARAHODA =====================================
DRAW "bm 245,122 c15 f2 r5 e2 l1 u1 l1 u1 l5 d1 l1 d1 l1p15,15"
DIM kor(200)
GET (243, 120)-(244, 121), bug1
LINE (243, 120)-(244, 121), 1, BF
'==3=====DVIGENIE =====================================
?????

'==5===== PROGRAMMA VYVODA SOOBSCHENY ====================================
500 ng = ng + 1: m12 = 19: m22 = 3
LINE (5, 240)-STEP(190, 80), 2, BF: LINE (5, 240)-STEP(190, 80), 8, B
        SELECT CASE ng
CASE 1: m33$ = "Venetsiya": m34$ = "Stoynka 1 den'"
        m35$ = "Potom posmotrim": m36$ = "Posadka na parahod"
CASE 2: m33$ = "Split": m34$ = "Tusim 3 dnya"
        m35$ = "Potom posmotrim": m36$ = "Buhaem"
CASE 3: m33$ = "Podgoritsa": m34$ = "Tusim 1 den'"
        m35$ = "Potom posmotrim": m36$ = "Zakusyvaem"
CASE 4: m33$ = "Vieste": m34$ = "Stoyanka zapreschena"
        m35$ = "Potom posmotrim": m36$ = "Okonchanir kruiza"
        END SELECT
LOCATE m12, m22: PRINT m33$: LOCATE m12 + 1, m22: PRINT m34$
LOCATE m12 + 2, m22: PRINT m35$: LOCATE m12 + 3, m22: PRINT m36$
SLEEP 1
'=========================================================================
600 END


Есть пример как надо сделать....
Цитата
CLS : SCREEN 9: COLOR 1, 6
'==1=======================
DRAW "bm415,10 c9 m+20,+25 g10 m+5,+10 m+60,+20 r15 m+10,-20 m+5,+15 r25 e5"
DRAW "h5 m+25,-20 r15 m+5,+10 r10 m-5,+15 l5 m-10,+5 m-10,+35 l5 m-5,+20"
DRAW "m-10,-15 g5 m-5,-10 m+10,-15 l25 u10 l15 m+5,+10 g5 f10 g5 m+5,+20 l15"
DRAW "g30 m-45,+40 l5 d20 m-5,+20 d25 m-10,+5 m-20,+15 m-15,-5 u10 m-25,-65"
DRAW "m-5,-30 m+5,-20 m-5,-20 m-5,-10 g10 l5 m-15,-20 u5 r10 e5 l15 m-5,-10"
DRAW "e5 m+10,+5 r10 m+5,-10 m-15,-25 m+10,-15 d5 r10 e30 u10 r46"
PAINT (500, 20), 9, 9
LINE (0, 0)-(650, 20), 9, BF: LINE (0, 0)-(260, 350), 9, BF
PRINT : PRINT "  ?­¤Ё©бЄЁ© ЄагЁ§  "
'==2=======================
DATA "Љ «мЄгвв ", 9, 58, 500, 128, "‚Ёи Єе Ї в­ ¬", 11, 55, 465, 160
DATA "Њ ¤а б", 16, 47, 420, 225, "Љ®зЁ­", 18, 47, 376, 256
DATA "?®¬ЎҐ©", 12, 45, 350, 175
  FOR i = 1 TO 5
  READ m1$(i), m2(i), m3(i), x(i), y(i)
  LOCATE m2(i), m3(i): PRINT m1$(i)
  CIRCLE (x(i), y(i)), 2, 1: PAINT (x(i), y(i)), 1, 1
  NEXT i
'==3=========================
DRAW "bm305,170 c15 f5 r20 e5 l5 u2 l5 u2 l10 d2 l5 d2 l6 bm+10,+3 p15,15"
B = INT((40 * 2 + 7) / 8 * 55): DIM bug1(B)
GET (304, 163)-(337, 180), bug1: GOSUB 500
LINE (304, 163)-(337, 180), 9, BF
'==4=========================
    x = 303: y = 165: dx = .3: dy = 1
    DO
    x = x + dx: y = y + dy
    PUT (x, y), bug1, OR
IF y = 250 AND dy = 1 THEN dy = 1: GOSUB 500
IF y = 250 AND dy = 1 THEN dy = 1: dx = 0
IF y = 290 AND x < 430 THEN dy = 0: dx = 1
IF y = 290 AND x >= 430 THEN dy = -1: dx = 0
IF y = 220 AND dy = -1 THEN dx = .8: GOSUB 500
IF y = 170 AND dy = -1 THEN GOSUB 500
IF y = 135 AND dy = -1 THEN EXIT DO

    FOR i = 1 TO 700: NEXT i
    LINE (x, y)-(x + 35, y + 20), 9, BF
    LOOP: GOSUB 500
'==5=======================
GOTO 600
500 ng = ng + 1: m12 = 19: m22 = 3
LINE (5, 240)-STEP(190, 80), 0, BF: LINE (5, 240)-STEP(190, 80), 8, B
      SELECT CASE ng
CASE 1: m33$ = "bonbey": m34$ = "1 day"
        m35$ = "osmotr goroda": m36$ = "discoteca"
CASE 2: m33$ = "Kochin": m34$ = "1 day"
        m35$ = "osmotr goroda": m36$ = "diskoteka"
CASE 3: m33$ = "Madras": m34$ = "2 day"
        m35$ = "osmotr goroda": m36$ = "diskoteka"
CASE 4: m33$ = "bishak": m34$ = "2 day"
        m35$ = "osmotr goroda": m36$ = "diskoteka"
CASE 5: m33$ = "kolkyta": m34$ = "1 day"
        m35$ = "osmotr goroda": m36$ = "diskoteka"
        END SELECT
LOCATE m12, m22: PRINT m33$: LOCATE m12 + 1, m22: PRINT m34$
LOCATE m12 + 2, m22: PRINT m35$: LOCATE m12 + 3, m22: PRINT m36$
SLEEP 2
RETURN
'==============================
600 END

Подскажите как мне сделать движение парахода (там где вопросы стоят!
  Вверх
~FoX~
Дата 9.6.2004, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 10
Всего: 68



В цикле сначала стираешь параходик, потом перерисовываешь в новой позиции. Тока он мерцать будет!


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
Enflout
Дата 9.6.2004, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 260
Регистрация: 22.5.2004

Репутация: нет
Всего: 6



Как я понимаю тебе нужно всего лишь переделать координаты объектов под себя.
Вроде такого:
x = 242: y = 246: dx = .3: dy = 1
DO
x = x + dx: y = y + dy
PUT (x, y), bug1, OR
...
Могу ошибаться.
PM MAIL   Вверх
Jey_k
Дата 15.6.2004, 23:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


WEB-командир
****


Профиль
Группа: Комодератор
Сообщений: 4149
Регистрация: 16.11.2003
Где: Москва

Репутация: нет
Всего: 61



Цитата
В цикле сначала стираешь параходик, потом перерисовываешь в новой позиции. Тока он мерцать будет!

Так в общем-то и делается анимация в васике. Мерцать не будет если параход не закрашивать, а оставить нарисованным контурной линией.
Думаю не стоит объяснять что стирать его надо вторичной пррисовкой но с кодом цвета для кисти таким же как у фона


--------------------
PM MAIL WWW   Вверх
Enflout
Дата 16.6.2004, 07:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 260
Регистрация: 22.5.2004

Репутация: нет
Всего: 6



Нет ему нужно все реализовать именно через операторы GET и PUT.

GET [STEP](x1,y1)-[STEP](x2,y2),arrayname[(indices)]
? (x1,y1) and (x2,y2) are numeric expressions that are the screen
coordinates of diagonally opposite corners of the rectangle to store
? STEP enables you to use relative screen coordinates
? arrayname indicates the array where the image will be stored
? indices enable you to start storing the image information in some
array element other than the first one

See Also ?PUT (Graphics)? ?SCREEN statement?

PUT - a graphics statement that places a graphic image obtained
by a GET statement onto the screen
Syntax
PUT [STEP](x, y),arrayname[(indices)][,actionverb]
? (x,y) are the screen coordinates of the upper-left corner of the
displayed image
? STEP enables you to use relative screen coordinates
? arrayname indicates the array where the image is stored
? indices enable you to start retrieving the image information from
an array element other than the first one
? actionverb enables you to display the image with special effects,
and must be one of the following keywords (XOR is the default):

PSET Draws image as stored, wiping ? XOR Reverses points in the image
out any existing image ? with those in existing image
PRESET Draws image in reverse colors ? or with background.
wiping out any existing image ? Used in successive PUT
AND Merges stored image with ? statements, with time delays,
existing image ? causes stored image to appear
OR Superimposes stored image on ? and disappear. With movement
existing image ? of image, animation is achieved

See also ?GET (Graphics)?

Ему просто необходимо взять код 2 программы и вставить туда свои координаты. Поправьте, если неправ.
PM MAIL   Вверх
Jey_k
Дата 16.6.2004, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


WEB-командир
****


Профиль
Группа: Комодератор
Сообщений: 4149
Регистрация: 16.11.2003
Где: Москва

Репутация: нет
Всего: 61



Templar$

Тады точно мерцать будет. Но раз такие условия, то ничего не поделать



--------------------
PM MAIL WWW   Вверх
Enflout
Дата 17.6.2004, 07:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 260
Регистрация: 22.5.2004

Репутация: нет
Всего: 6



Обрати внимание на параметры PSET, PRESET, AND, OR.
Давным-давно я писал залпом такие программы. Где-то валялся код летающего гроба smile.gif (он не мигал).
PM MAIL   Вверх
Akina
Дата 17.6.2004, 08:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Цитата
Тады точно мерцать будет

Да ну... выводи на одну страницу, показывай другую... конечно дрыгаться будет как паралитик, но без мерцания...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0872 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.