Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: Ребята просто Help Добавлено: 10.03.06 09:27  

Автор вопроса:  Dwarf
Привет всем!

Давно у мну вертиться мысль сделать игрушку!
Даже придумал в чём заключаться будет!
Короче есть 4 робота на поле 32клетки на 32 клетки
2 или 3 управляет комп остальными человек нужно делать так чтоб с клавиатуры управлять ими! Ну конечноже чтоб они стреляли и отнемали жизни!

Так вот всё бы нармально ну так пеши скажете вы!

Не тут то было незнаю с чего начать отчего отпереться помогите может где исходник есть чегото подобного дайте ссылочку или я незнаю! Плиз HElp

Ответить

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

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



ICQ: 301424893 

Вопросов: 28
Ответов: 277
 Web-сайт: www.vbkoders.info
 Профиль | | #1
Добавлено: 10.03.06 12:27
Симулировать нажатия определенных клавиш

 

 

Private Declare Sub keybd_event Lib "user32" _

(ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)

'bVk - Виртуальный код клавиши для имитации нажатия и отпускания клавиши.

'bScan - Зарезервировано -- установлено в 0.

'dwFlags - Комбинация следующих флагов определяет различные способы имитации:

'KEYEVENTF_EXTENDEDKEY - Префикс скэн-кода с префиксным байтом, имеющим значение &HE0.

'KEYEVENTF_KEYUP - Клавиша, указанная в bVk будет отпущена. Если этот флажок не определен, клавиша будет нажата.

'dwExtraInfo - Дополнительное 32-разрядное значение, связанное с событием клавиатуры.

 

Const KEYEVENTF_KEYUP = &H2 'событие отпускания клавиши

Const VK_CONTROL = &H11 'клавиша Ctrl

Const VK_ESCAPE = &H1B 'клавиша Escape

Эмулирующая нажатие кнопки ПУСК

 

Private Sub ShowStartMenu()

'Функция эмулирует нажатие Ctrl + Esc

Call keybd_event(VK_CONTROL, 0, 0, 0) 'Hажимаем Ctrl

Call keybd_event(VK_ESCAPE, 0, 0, 0) 'Hажимаем Esc

Call keybd_event(VK_ESCAPE, 0, KEYEVENTF_KEYUP, 0) 'Отпускаем Esc

Call keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0) 'Отпускаем Ctrl

End Sub

 

Private Sub Command1_Click()

ShowStartMenu

End Sub

 

 

'эмуляция нажатия клавиши Alt

Call keybd_event(VK_ADD, 0, 0, 0)

Call keybd_event(VK_ADD, 0, KEYEVENTF_KEYUP, 0)

 

'эмуляция нажатия левой кнопки с логотипом Windows

Call keybd_event(VK_LWIN, 0, 0, 0)

Call keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP, 0)

 

'Запустить проводник

Call keybd_event(VK_LWIN, 0, 0, 0)

Call keybd_event(69, 0, 0, 0)

Call keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP, 0)

 

'поиск файла

'Call keybd_event(VK_LWIN, 0, 0, 0)

'Call keybd_event(70, 0, 0, 0)

'Call keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP, 0)

 

 

Private Const VK_ADD = &H6B

Private Const VK_ATTN = &HF6

Private Const VK_BACK = &H8

Private Const VK_CANCEL = &H3

Private Const VK_CAPITAL = &H14

Private Const VK_CLEAR = &HC

Private Const VK_CONTROL = &H11

Private Const VK_CRSEL = &HF7

Private Const VK_DECIMAL = &H6E

Private Const VK_DELETE = &H2E

Private Const VK_DIVIDE = &H6F

Private Const VK_DOWN = &H28

Private Const VK_END = &H23

Private Const VK_EREOF = &HF9

Private Const VK_ESCAPE = &H1B

Private Const VK_EXECUTE = &H2B

Private Const VK_EXSEL = &HF8

Private Const VK_F1 = &H70

Private Const VK_F10 = &H79

Private Const VK_F11 = &H7A

Private Const VK_F12 = &H7B

Private Const VK_F13 = &H7C

Private Const VK_F14 = &H7D

Private Const VK_F15 = &H7E

Private Const VK_F16 = &H7F

Private Const VK_F17 = &H80

Private Const VK_F18 = &H81

Private Const VK_F19 = &H82

Private Const VK_F2 = &H71

Private Const VK_F20 = &H83

Private Const VK_F21 = &H84

Private Const VK_F22 = &H85

Private Const VK_F23 = &H86

Private Const VK_F24 = &H87

Private Const VK_F3 = &H72

Private Const VK_F4 = &H73

Private Const VK_F5 = &H74

Private Const VK_F6 = &H75

Private Const VK_F7 = &H76

Private Const VK_F8 = &H77

Private Const VK_F9 = &H78

Private Const VK_HELP = &H2F

Private Const VK_HOME = &H24

Private Const VK_INSERT = &H2D

Private Const VK_LBUTTON = &H1

Private Const VK_LCONTROL = &HA2

Private Const VK_LEFT = &H25

Private Const VK_LMENU = &HA4

Private Const VK_LSHIFT = &HA0

Private Const VK_MBUTTON = &H4

Private Const VK_MENU = &H12

Private Const VK_MULTIPLY = &H6A

Private Const VK_NEXT = &H22

Private Const VK_NONAME = &HFC

Private Const VK_NUMLOCK = &H90

Private Const VK_NUMPAD0 = &H60

Private Const VK_NUMPAD1 = &H61

Private Const VK_NUMPAD2 = &H62

Private Const VK_NUMPAD3 = &H63

Private Const VK_NUMPAD4 = &H64

Private Const VK_NUMPAD5 = &H65

Private Const VK_NUMPAD6 = &H66

Private Const VK_NUMPAD7 = &H67

Private Const VK_NUMPAD8 = &H68

Private Const VK_NUMPAD9 = &H69

Private Const VK_OEM_CLEAR = &HFE

Private Const VK_PA1 = &HFD

Private Const VK_PAUSE = &H13

Private Const VK_PLAY = &HFA

Private Const VK_PRINT = &H2A

Private Const VK_PRIOR = &H21

Private Const VK_PROCESSKEY = &HE5

Private Const VK_RBUTTON = &H2

Private Const VK_RCONTROL = &HA3

Private Const VK_RETURN = &HD

Private Const VK_RIGHT = &H27

Private Const VK_RMENU = &HA5

Private Const VK_RSHIFT = &HA1

Private Const VK_SCROLL = &H91

Private Const VK_SELECT = &H29

Private Const VK_SEPARATOR = &H6C

Private Const VK_SHIFT = &H10

Private Const VK_SNAPSHOT = &H2C

Private Const VK_SPACE = &H20

Private Const VK_SUBTRACT = &H6D

Private Const VK_TAB = &H9

Private Const VK_UP = &H26

Private Const VK_ZOOM = &HFB

Ответить

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



Вопросов: 10
Ответов: 58
 Профиль | | #2 Добавлено: 10.03.06 19:19
А я написал что мне не очень важно что ты из учебника Падре копировал, мне просто стало обидно за Падре
писал писал учебник старался (за что ему огромное спасибо) так теперь его труды копируют
. Если
от чистого сердца
то почему не написать но хоть автора указывай например Создание объектов(Массивы)
Не обязательно ныкать(Visible=FALSE) на форме объекты, и потом их показывать, можно просто на форму кинуть объект, и потом загружать другие, и ставить им свойства. Так вроде проще?
Начнем`с...
На форму кинь кнопку, потом кликни по ней правой кнопой мыши и выбери в меню Copy. Короче копируй кнопу.
Теперь нажми на форму правой кнопой мыши и выбери Paste. Короче вставь кнопку. После нажатия на Paste появляется окошко, жми на Да. Теперь выдели только что вставленную кнопу, и нажми на Del(твоя миссия удалить вставленную кнопу, т.к. на 1 форме нет места двум кнопкам:-)). Теперь код:
Dim t As Long ' Объявляем переменную

Private Sub Command1_Click(Index As Integer)
For i = 1 To 10' Делаем цикл от 1 до 10, спросишь почему не от 0 до 10? Да потому что объект с индексом 0 у нас есть, если написать от 0 до 10 то начнет ругаться(материться)
t = t + 500' Каждый цикл прибавляем к переменной t пятихатку, это переменная будет задовать высоту создаваемых кнопок, каждая кнопа на 500 ниже предыдущей
Load Command1(i)' Загружаем кнопу с именем Command1, а в скобах индекс( i каждый цикл на 1 больше, начинается с 1 до 10)
Command1(i).Caption = "Кнопа №:" & i' Устанавливаем свойство Caption для каждой кнопки
Command1(i).Top = t' Устанавливаем высоту(t = t + 500)
Command1(i).Left = 1700 ' Устанавливаем свойство Left
Command1(i).Visible = True' Показываем кнопки, т.к. они в начале скрытые
Next i
End Sub


Этот код был скопирован из уччебника Падре
Спасибо ему за это ;)

Ответить

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



Вопросов: 2
Ответов: 12
 Профиль | | #3 Добавлено: 11.03.06 10:25
Ребята ладно с етими клавишами я немного поменял стиль битвы! Так вот счя исходник кину! Конечно может даже точно не професионально но так получилось! Так вот теперь такой вопрос!

1)У меня в игре можно драться токо челавек с человеком! Как сделать чтоб комп мог тоже играть!
2)И вопрос два! У меня растояние стрельбы 1 клетка между обьектами в как прописать так чтоб они могли стрелять на растояние 1 клетки и в упор к друг другу!

Вот исходник http://komatoza.dunham.ru/upload/robo.zip

Помогите плиз! А да насчёт етой игры как вы думаете если сделать магазин! Этоже будет интересней!

А совсем забыл мне надо сделать так чтоб на форме NEWGAME можно было регистрировать нового играка или продолжать старым но так чтоб после каждого боя вся информация победы вид робота и его детали порожения сохранялись!

Зарание спасибо!

PS: Я не прошу чтоб за меня всё зделали я прошу вас токо помочь от чего мне отолкнуться! Дайте ссылочку на какойнибуть анологичный исходник! Или кусочек кода напешите!

Ответить

Номер ответа: 4
Автор ответа:
 Fever



Вопросов: 60
Ответов: 808
 Профиль | | #4 Добавлено: 11.03.06 13:43
Совет: пример John. Хороший пример дискретной игры.

Ответить

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



Вопросов: 2
Ответов: 12
 Профиль | | #5 Добавлено: 11.03.06 13:55
А где он не подскажеш!

Ответить

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



Вопросов: 60
Ответов: 808
 Профиль | | #6 Добавлено: 11.03.06 14:06
Подскажу. На VBNET. В худшем случае на VBRUSSIAN.

Ответить

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



Вопросов: 2
Ответов: 12
 Профиль | | #7 Добавлено: 11.03.06 17:48
Подскажу. На VBNET. В худшем случае на VBRUSSIAN. Т ычтолиб ссылку дал или немного поподробней описал вайл я знаю что на VBNET его нет!

Ответить

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



Вопросов: 2
Ответов: 12
 Профиль | | #8 Добавлено: 12.03.06 09:59
Народ хелп плиз!

Ответить

Страница: 1 |

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



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