Пятнашки. Анимация движения кнопок - VB
Формулировка задачи:
Добрый вечер!
Работаю над программой пятнашки, написал самый элементарный вариант с подменой кнопки на shape.
В итоге программа оказалась слишком простой, хочу довести ее до ума и оформить соответствующе.
Одна из основных идей - анимация передвижения кнопки с помощью таймера. Читал материал, принцип понял, а совместить не получается.
Будьте добры, предложите ваши идеи, где игру еще можно доработать? Код прилагается.
Заранее спасибо!
Решение задачи: «Пятнашки. Анимация движения кнопок»
textual
Листинг программы
Option Explicit Dim Q, W Dim L, T, N, K Private Sub Комманда1_Click(Index As Integer) L = Комманда1(Index).Left T = Комманда1(Index).Top Q = Index If (Shape1.Top - 840 = T Or Shape1.Top + 840 = T) And Shape1.Left = L Then W = 0 N = Комманда1(Index).Top K = Shape1.Top Часы1.Enabled = True End If If (Shape1.Left - 960 = L Or Shape1.Left + 960 = L) And Shape1.Top = T Then W = 1 N = Комманда1(Index).Left K = Shape1.Left Часы1.Enabled = True End If End Sub Private Sub Часы1_Timer() Dim d If Len(W) = 0 Then Часы1.Enabled = False d = IIf(N > K, 10, -10) Select Case W Case 0 Комманда1(Q).Top = Комманда1(Q).Top - d Shape1.Top = Shape1.Top + d If Комманда1(Q).Top = K Then Часы1.Enabled = False Case Else Комманда1(Q).Left = Комманда1(Q).Left - d Shape1.Left = Shape1.Left + d If Комманда1(Q).Left = K Then Часы1.Enabled = False End Select End Sub Function shake() Dim i, d, Q, W, e, r Randomize For i = 0 To 500 d = Fix(Rnd * 14) Q = Комманда1(d).Left W = Комманда1(d).Top e = Shape1.Left r = Shape1.Top Комманда1(d).Left = e Комманда1(d).Top = r Shape1.Left = Q Shape1.Top = W Next i End Function Private Sub Command2_Click() shake End Sub Private Sub Form_Load() Dim i For i = 0 To 14 Комманда1(i).Caption = i + 1 Next i shake End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д