Программирование
Веб программирование

Оператор цикла Do в vb.net

 
 

Этот шаг можно назвать первым шагом из цикла создание игры PineBall, т.к. через несколько шагом мы напишем первую аркадную игру. В нашей игре оператор цикла Do будет запущен как вечный цикл, т.е. на протяжении всей игры он будет работать, и проверять текущее положение мяча, бит..., двигать мяч и биты. Хотя некоторые подумают, что зачем использовать оператор цикла Do, когда можно использовать цикл со счетчиком(For..Next), или вобще таймер. Таймер - работает очень медленно, т.е. бита будет передвигаться рывками, а при помощи оператора Do бита будет передвигаться плавно. Оператор цикла со счетчиком тоже работает медлее цикла Do. Да и вобще.. таймер при написании аркадных игр используют только начинающие. Начнем:

1. Вечный цикл:

Синтаксис:

Do
' Код
Loop 

Сечас сделаем простенькую программу. Она будет каждый цикл увеличивать значение метки на 1. На форме размести кнопку, и метку(AutoSize=True(это чтобы размеры метки регулировались автоматически)). Вот код:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Label1.Text = "0"' Устанавливаем начальное значение текста
Do' Запускаем цикл
Application.DoEvents()' Метод DoEvents объекта Application нужен для того чтобы программа могла реагировать на различные события, т.е. чтобы цикл не зацикливался.
Label1.Text = CInt(Label1.Text) + 1' Текст в метке увеличиваем на 1
Loop
End Sub 

Исходник

2. Оператор цикла Do с условием:

В цикле Do можно указать условие при помощи ключевого слова Until, и тогда цикл будет длиться до тех пор, пока условие НЕ верно. Вот например код:

Dim x As Boolean = False

Do Until x = True
MsgBox("Цикл")
Loop 

Цикл длится до тех пор, пока условие НЕ верно, т.е. пока переменная x = False цикл работает, если x = True то цикл работать НЕ будет.
Абсолютная противоположность ключевому слову Until есть ключевое слово While, с ним цикл длится до тех пор пока условие верно. Вот например код:

Dim x As Boolean = True

Do While x = True
MsgBox("Цикл")
Loop

Цикл будет длиться до тех пор пока x = True.

P.S. Так же в циклах с условием Until и While не обязательно указывать условие после ключ. слова Do, можно указывать и после слова Loop, и тогда цикл будет длится на 1 раз больше.


Есть вопросы? Спроси на нашем форуме!!
Ваня [05.12.2012 16:45]

откуда появилась Boolean ?

Ваня [05.12.2012 16:47]

Логический тип – Boolean
переменные могут принимать только 2 значения : True (правда) и False (ложь).

Kitcat [06.12.2012 17:58]

Ваня ты умный XD

гость [17.01.2013 16:31]

а я то думал почему мои проги с циклами зависают. А надо было всего навсего поставить Application.DoEvents()

pjp07190 [12.02.2013 12:43]

Можно от зацикливания использовать метод .Refresh() (Обновление, освежение). Так в приведенном примере добавить строчку:
Label1.Refresh()



Оставлять комментарии можно только зарегистрированным




Предупреждение: Вся информация представлена исключительно в образовательных целях.
Ни авторы, ни администрация не несут ответственности в случае ее использования в противозаконных целях.