1

Тема: Допоможіть написати тетріс на jQuery

Хай. Ну я взагалі новенький в JS та jQuery і мало чого знаю, от що я зараз наробив
http://jsfiddle.net/GVG3A/ по суті є тільки створення фігурки і її рух донизу, а от як рухати вліво вправо я поки що не розібрався, ну я знаю, як відслідковувати натиснення кніпочок і т.д., але не знаю, як реалізувати оці рухи, ну ви зрозуміли... Подивіться на той код, може там повна фігня і треба робити зовсім іншим шляхом той тетріс?

2

Re: Допоможіть написати тетріс на jQuery

Розробляти тетріс можна у різний спосіб.
Для того що б рухати фігуру вліво вправо вам необхідно знати її поточні координати, і знати координати де вона має бути.
Відштовхуватись можна наприклад від крайнього правого кута або навпаки від крайнього лівого і відповідно прораховувати координати.
Якщо у вас є точка у якій має знаходитись ваша фігура - дальше просто робимо animate =)

3

Re: Допоможіть написати тетріс на jQuery

funivan написав:

Розробляти тетріс можна у різний спосіб.
Для того що б рухати фігуру вліво вправо вам необхідно знати її поточні координати, і знати координати де вона має бути.
Відштовхуватись можна наприклад від крайнього правого кута або навпаки від крайнього лівого і відповідно прораховувати координати.
Якщо у вас є точка у якій має знаходитись ваша фігура - дальше просто робимо animate =)

animate, а навіщо? oO в мене там зафарбовуються клітинки таблиці котрі представляють з себе фігуру, так що мені ще треба запам'ятовувати  якби поточні координати, потім рухати на наступні координати (замальовувати наступні клітинки), і розмальовувати минулі клітинки

4

Re: Допоможіть написати тетріс на jQuery

Ну я сказав яка логіка а реалізація це уже ваша справа. Знаєте координати і вперед, проблем не має бути

5

Re: Допоможіть написати тетріс на jQuery

Так от я ж і хтів на рахунок реалізації запитати! В мене є один метод, котрий рухає фігурку вниз, а як мені реалізувати рух фігурки при натисненні клавіш? Запихнути перевірку на натиснення клавіш в той самий метод чи зробити інший?

6

Re: Допоможіть написати тетріс на jQuery

зробити інший
відловлювати натиснення клавіші вліво і викликати move_left
і так дальше ;)

7

Re: Допоможіть написати тетріс на jQuery

Робіть в тому самому. Тільки не перевірку на натиснення, а перевірку на стан черги наказів. А чергу при натисканнях формуйте окремо, іншим методом.

8

Re: Допоможіть написати тетріс на jQuery

от і розійшлись думки

9

Re: Допоможіть написати тетріс на jQuery

Справа в тому, що метод, котрий рухає донизу фігурку викликається setInterval'ом, тому якщо я натисну вліво, то фігурка рухнеться вліво тільки коли викличеться отой метод, а не відразу.

10

Re: Допоможіть написати тетріс на jQuery

І правда. Ну то якщо ви все знаєте - нащо питаєте? :D

11

Re: Допоможіть написати тетріс на jQuery

контент для гугла, теж потрібно

12

Re: Допоможіть написати тетріс на jQuery

поки що таке зробив http://jsfiddle.net/G9PMK/ зараз треба прикрутити, аби воно перевіряло, якщо під фігурою є зафарбована клітинка, то не можна рухатись

13

Re: Допоможіть написати тетріс на jQuery

там його ще рухати можна, просто той джфідле дурний

14

Re: Допоможіть написати тетріс на jQuery

ааа, нєєє, рухати можна, просто треба англійську розкладку клави хД

15

Re: Допоможіть написати тетріс на jQuery

поки що таке http://jsfiddle.net/9Sy88/ тепер найцікавіше, поворот фігур...

16

Re: Допоможіть написати тетріс на jQuery

Дивіться. Кожна фігура в мене складається з чотирьох частин, і задається двовимірним масивом.
Наприклад,
[[0,0],[0,1],[0,1][0,1]] малює просту лінію.
Тут перше число каже, в котру сторону треба будувати фігуру, вверх чи вниз:
0 - не будувати
1 - будувати вверх
-1 - будувати вниз
Друге число відповідає за горизонталь:
0 - не будувати
1 - будувати вправо
-1 - будувати вліво.
Перший підмасив завжди буде [0,0] тому що це початкова точка, з котрої вилазять фігурки.
Фігурка в формі буки Г буде задаватись таким масивом
[[0,0],[1,0],[1,0],[0,1]] - малюємо початкову точку, далі вверх, ще раз вверх, і вправо.
А як мені тепер повертати ці фігурки? Наприклад, давайте повернемо ось цю фігурку в формі букви Г.
Повертаємо вправо. Ставим початкову точку, далі йдемо вправо, ще раз вправо, і вниз
[[0,0],[0,1],[0,1],[-1,0]]
Якщо подивитись на цей масив, то від вертикальної компоненти кожного (окрім першого) підмасива віднялась одиниця. А до горизонтальної компоненти додалась, окрім останнього масиву... Коротше кажучи, я вважаю, що тут для кожної фігурки треба знаходити якийсь свій алгоритм повороту, а ви як думаєте?