|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
30.05.2009, 11:03 | #1 |
Новичок
Джуниор
Регистрация: 11.05.2009
Сообщений: 2
|
Тетрис на VBA
Люди добрые, помогите.
Задали написать тетрис, крайне простой. Нужно только организовать движение влево-вправо,чтобы опускался, и стирал строку при ее заполнении. Всего две-фигуры-горизонтальная и вертикальная палочка. Так вот, у меня проблема как раз со сдвигом влево-вправо. Вроде можно как-то сделать через форму, но как не знаю. Подскажите, как задать эти самые сдвиги, при условии,что еще должно вниз двигаться Первый исходник Dim x As Integer Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer 'коды клавиш - стрелок Sub fig() x = Rnd() If x = 0 Then Call gor Else Call ver End Sub Private Sub gor() Cells(1, 1).Interior.ColorIndex = 3 Cells(1, 2).Interior.ColorIndex = 3 Cells(1, 3).Interior.ColorIndex = 3 For i = 2 To 20 PauseTime = 0.25 Start = Timer Do While Timer < Start + PauseTime DoEvents Loop Finish = Timer If (GetAsyncKeyState(vbKeyRight)) Then Cells(i, c + 1).Interior.ColorIndex = 3 Cells(i - 1, c + 1).Interior.ColorIndex = xlNone Cells(i, c + 2).Interior.ColorIndex = 3 Cells(i - 1, c + 2).Interior.ColorIndex = xlNone Cells(i, c + 3).Interior.ColorIndex = 3 Cells(i - 1, c + 3).Interior.ColorIndex = xlNone c = c + 1 End If If Cells(i, 1).Interior.ColorIndex = xlNone Or Cells(i, 2).Interior.ColorIndex = xlNone Or Cells(i, 3).Interior.ColorIndex = xlNone Then Cells(i, 1).Interior.ColorIndex = 3 Cells(i - 1, 1).Interior.ColorIndex = xlNone Cells(i, 2).Interior.ColorIndex = 3 Cells(i - 1, 2).Interior.ColorIndex = xlNone Cells(i, 3).Interior.ColorIndex = 3 Cells(i - 1, 3).Interior.ColorIndex = xlNone End If Next i End Sub Private Sub ver() Cells(1, 2).Interior.ColorIndex = 2 Cells(2, 2).Interior.ColorIndex = 2 Cells(3, 2).Interior.ColorIndex = 2 For j = 2 To 18 PauseTime = 0.25 Start = Timer Do While Timer < Start + PauseTime DoEvents Loop Finish = Timer If Cells(j + 2, 2).Interior.ColorIndex = xlNone Then Cells(j, 2).Interior.ColorIndex = 3 Cells(j - 1, 2).Interior.ColorIndex = xlNone Cells(j + 1, 2).Interior.ColorIndex = 3 Cells(j + 2, 2).Interior.ColorIndex = 3 End If Next j End Sub Второй исходник Private Sub UserForm_Activate() For y = 1 To 24 PauseTime = 0.3 Start = Timer Do While Timer < Start + PauseTime DoEvents Loop Finish = Timer Cells(y, 7).Interior.ColorIndex = 3 Cells(y - 1, 7).Interior.ColorIndex = xlNone Next y End Sub Первый исходник сделан без формы, второй с формой-но результата на обоих никакого. Подскажите, где неправильно мыслю, плиииз |
30.05.2009, 11:16 | #2 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
А если игру на форму перенести,зто возможно,или необходимо на листе.Если на форме можно-я напишу
Анализ,обработка данных Недорого
|
30.05.2009, 11:32 | #3 |
Новичок
Джуниор
Регистрация: 11.05.2009
Сообщений: 2
|
Ну можно и на форме, просто я никак не могу понять, как поворот нормально сделать
|
30.05.2009, 11:36 | #4 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
А чем Вас не устраивают готовые реализации Тетриса под Excel?
http://www.df.ru/~karpov/Files/Games/Tetris.zip http://sergiex.mylivepage.ru/file/3/313 Врочем,я встречал более удачные реализации, правда, не помню, где... Поищите здесь: http://yandex.ru/yandsearch?p=3&text...%81&clid=14585 |
30.05.2009, 11:37 | #5 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
Движение Image в лево, в право , в низ. И при помощи мышки
Анализ,обработка данных Недорого
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите сделать тетрис! | sid | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 21 | 06.05.2013 20:32 |
Змейка, тетрис, пинг-понг....и т.д. А где найти исходники? | Манжосов Денис :) | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 9 | 05.07.2010 14:37 |
Тетрис! Логика и возможности. | Iceman | Общие вопросы Delphi | 4 | 04.01.2009 01:56 |
Старый добрый тетрис | Format C: | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 15 | 05.07.2007 16:02 |
массив и тетрис | sid | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 04.04.2007 14:41 |