Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Игра: типа флеш пугалки, шышкой по лаберинту. Добавлено: 24.10.08 22:52  

Автор вопроса:  WildWOlf_SS | Web-сайт: ssteam.ucoz.ua | ICQ: 482827273 
Я в VB понимаю мало, но все-таки решил написать легкую игру... все вроде вышло...игра простая, исполнение тоже.

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

Вот скрин: http://s58.radikal.ru/i161/0810/b2/e156d80da427.jpg

Проблема такова...знаю как это сделать, не могу грамотно перенести ан ВБ это) щас кину код:

Ответить

  Ответы Всего ответов: 9  

Номер ответа: 1
Автор ответа:
 WildWOlf_SS



ICQ: 482827273 

Вопросов: 2
Ответов: 12
 Web-сайт: ssteam.ucoz.ua
 Профиль | | #1
Добавлено: 24.10.08 22:54
  1. Private Sub Command1_Click()
  2. Timer1.Enabled = True 'Включаем таймер, отслеживающий начало, ошибки, и прохождение уровней.
  3.  
  4. End Sub
  5.  
  6. Private Sub Form_Load()
  7. date = Now 'Узнаем тукущую дату
  8. level1.Visible = True
  9.  
  10. Dim GameStatus
  11. GameStatus = 0 'статус - когда игра не проходит
  12. End Sub
  13.  
  14. Private Sub Label13_Click()
  15.  
  16. End Sub
  17.  
  18. Private Sub Image1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  19.  
  20. If GameStatus = 1 Then MsgBox "GAME OVER!"
  21. If GameStatus = 2 Then Timer1.Enabled = False
  22. End Sub
  23.  
  24. Private Sub Image4_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  25. If GameStatus = 1 Then MsgBox "well done" 'При касании курсором красного квадрата, уровень считается пройденым
  26.  
  27. End Sub
  28.  
  29. Private Sub level1_Click()
  30.  
  31. End Sub
  32.  
  33. Private Sub level2_Click()
  34.  
  35. End Sub
  36.  
  37. Private Sub level3_Click()
  38.  
  39. End Sub
  40.  
  41. Private Sub level4_Click()
  42.  
  43. End Sub
  44.  
  45. Private Sub level5_Click()
  46.  
  47. End Sub
  48.  
  49. Private Sub Timer1_Timer()
  50.  
  51. GameStatus = 1 'Состояние готовности = 1 ( игра началась)
  52.  
  53. End Sub

Ответить

Номер ответа: 2
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #2
Добавлено: 25.10.08 01:26
ШТО. вопроса не понял, но:
  1. Dim GameStatus
  2. GameStatus = 0 'статус - когда игра не проходит
  3. End Sub
то есть объявляем переменную, присваиваем ей 0, на этом процедура заканчивается, переменная уничтожается.

Ответить

Номер ответа: 3
Автор ответа:
 WildWOlf_SS



ICQ: 482827273 

Вопросов: 2
Ответов: 12
 Web-сайт: ssteam.ucoz.ua
 Профиль | | #3
Добавлено: 25.10.08 12:21
Понял, спасибо! А как сделать так, что бы переменная проходила через всю программу?

Ответить

Номер ответа: 4
Автор ответа:
 D o c a l



ICQ: 408802757 

Вопросов: 76
Ответов: 985
 Web-сайт: www.doc-source.pp.net.ua/
 Профиль | | #4
Добавлено: 25.10.08 12:58
Обьявить ее глобально.тоесть вне процедур

Ответить

Номер ответа: 5
Автор ответа:
 WildWOlf_SS



ICQ: 482827273 

Вопросов: 2
Ответов: 12
 Web-сайт: ssteam.ucoz.ua
 Профиль | | #5
Добавлено: 25.10.08 13:32
Вот работающий код для 1 лвл:

  1. Dim GameStatus
  2.  'GameStatus = 0 - игра не проходит
  3.  'GameStatus = 1 - игра идет
  4.  'GameStatus = 2 - игра проиграна
  5.  'GameStatus = 3 - игра пройдена
  6.  
  7. Private Sub Command1_Click()
  8.  GameStatus = 1
  9.  
  10. End Sub
  11.  
  12. Private Sub Form_Load()
  13.  date = Now 'Узнаем тукущую дату
  14.  level1.Visible = True
  15.  
  16.  
  17. End Sub
  18.  
  19. Private Sub Label13_Click()
  20.  
  21. End Sub
  22.  
  23. Private Sub Image1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  24.  
  25.  If GameStatus = 1 Then
  26.   MsgBox "GAME OVER!"
  27.   GameStatus = 2 'Игра проиграна
  28.   level2.Visible = False  ' -//-
  29.   level3.Visible = False  'Сбрасываем пройденые лвлы
  30.   level4.Visible = False  ' -//-
  31.   level5.Visible = False  ' -//-
  32.  End If
  33.  
  34. End Sub
  35.  
  36. Private Sub Image4_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  37.  If GameStatus = 1 Then
  38.   MsgBox "well done" 'При касании курсором красного квадрата, уровень считается пройденым
  39.   GameStatus = 3
  40.  End If
  41.  
  42.  If GameStatus = 3 Then
  43.   level2.Visible = True 'Делаем доступным следующий лвл
  44.  End If
  45.    
  46. End Sub

Ответить

Номер ответа: 6
Автор ответа:
 



Администратор

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #6
Добавлено: 25.10.08 17:53
Абсолютно глупый способ. Лучше рисовать уровни в паинте и при перемещении мыша по пикцебоксу ловить цвет пиксела. Так можно гораздо более живые уровни сделать (даже с анимацией, если надо) и линии могут быть плавными, а не тупо угловатые прямоугольники =) Дерзайте!

Ответить

Номер ответа: 7
Автор ответа:
 WildWOlf_SS



ICQ: 482827273 

Вопросов: 2
Ответов: 12
 Web-сайт: ssteam.ucoz.ua
 Профиль | | #7
Добавлено: 25.10.08 18:56
Конечно звучит красиво :P , но как это сделать я не знаю.... буду пробывать искать..)

Ответить

Номер ответа: 8
Автор ответа:
 



Администратор

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #8
Добавлено: 25.10.08 19:31
Вот тебе примерчик =)
http://domkratt.com/samples/vbnet/sample_176931.rar

Ответить

Номер ответа: 9
Автор ответа:
 D o c a l



ICQ: 408802757 

Вопросов: 76
Ответов: 985
 Web-сайт: www.doc-source.pp.net.ua/
 Профиль | | #9
Добавлено: 25.10.08 20:44
вот Палач и написал уже всё за тебя.... кстати прикольна игрушка получилась.... только проход нада сделать поуже а то очень просто ...иногда только кончаная лазернаю мышка подводит...

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам