Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.10.2012, 14:04
Аватар для Maxmaxmахimus
司会
Отправить личное сообщение для Maxmaxmахimus Посмотреть профиль Найти все сообщения от Maxmaxmахimus
 
Регистрация: 29.02.2012
Сообщений: 198

Тут собираем годные задачи (javascript)
Этот пост будет пополняться лучшими задачами которые мы будем писать в каментах)
а пока тут пусть полежит ссылочка на это видео http://www.youtube.com/watch?v=KaqC5FnvAEc

__________________________________________________

Задача № 0

Создать переменную видимую только в блоке (аналог let в ECMA6).

for ( var i = 0; i < 10; i++ ){
    var ololo = i; // сделать так чтобы ololo  был виден только в блоке с циклом

}

// но не тут
window.ololo // undefined




__________________________________________________

Задача № 1

Составить функцию, которая продолжала бы числовую последовательность (арифметическую).

Например :

var mySequence = continueSequence([  1, 4, 7, 10  ]);
 
mySequence(); // 13
 
mySequence(); // 16




__________________________________________________

Задача № 2

Реализовать функцию для сложения чисел, которые превышают Number.MAX_VALUE
plus(    "1e500", "1e500" ); // "2e500"



(экпоненциальный вид для краткости. думаю, все знают про них)

Последний раз редактировалось Maxmaxmахimus, 09.10.2012 в 18:21.
Ответить с цитированием
  #2 (permalink)  
Старый 07.10.2012, 17:53
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

Интересная задача которая возникла пока с 2d игрался.
Определение коллизий 2х спрайтов.

Принадлежность точки прямоугольнику, это элементарно.

а вот столкновение двух прямоугольников как определить ?
придумал вот такое алгоритм.
Идея в том что, разница между двумя крайними точками системы из двух столкнувшихся прямоугольников,будет всегда меньше суммы ширин, двух прямоуоугольников. Если условие выполняется для высоты и ширины, значит есть пересечение.

r=function(x,y,w,h,x1,y1,w1,h1){
			    var sx=x<x1?x:x1,
			        sy=y<y1?y:y1,
			        ex=x+w>x1+w1?x+w:x1+w1,
			        ey=y+h>y1+h1?y+h:y1+h1;
                return ex-sx<w+w1 && ey-sy<h+h1;
 
			    //if (ex-sx<w+w1 && ey-sy<h+h1)return true;
			    //else return false
			}

                        // true
			alert(r(
				0,0,100,100, 
				50,50,100,100
			));
                        // false
			alert(r(
				0,0,100,100, 
				150,50,100,100
			));

                        // true
			alert(r(
				51,51,100,100, 
				50,50,100,100
			));


                        // (один квадрат внутри другого) true
			alert(r(
				0,0,100,100, 
				50,50,10,10
			));
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 07.10.2012 в 20:19.
Ответить с цитированием
  #3 (permalink)  
Старый 07.10.2012, 17:57
Аватар для Maxmaxmахimus
司会
Отправить личное сообщение для Maxmaxmахimus Посмотреть профиль Найти все сообщения от Maxmaxmахimus
 
Регистрация: 29.02.2012
Сообщений: 198

Просто проверяешь принадлежит ли каждая вершина многоугольника к другому, если ни одна не принадлежит, то проверяешь пересекаются ли их отрезки друг с другом.

Последний раз редактировалось Maxmaxmахimus, 07.10.2012 в 20:36.
Ответить с цитированием
  #4 (permalink)  
Старый 07.10.2012, 18:23
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Задача № 0

Составить функцию, которая продолжала бы числовую последовательность (арифм.).

Например :
var mySequence = continueSequence([  1, 4, 7, 10  ]);

mySequence(); // 13

mySequence(); // 16


Последний раз редактировалось melky, 08.10.2012 в 06:09.
Ответить с цитированием
  #5 (permalink)  
Старый 07.10.2012, 19:07
Аватар для Maxmaxmахimus
司会
Отправить личное сообщение для Maxmaxmахimus Посмотреть профиль Найти все сообщения от Maxmaxmахimus
 
Регистрация: 29.02.2012
Сообщений: 198

Сообщение от DjDiablo
Идея в том что, разница между двумя крайними точками системы из двух столкнувшихся прямоугольников,будет всегда меньше суммы ширин, двух прямоуоугольников. Если условие выполняется для высоты и ширины, значит есть пересечение.
только для выпуклых?

Сообщение от melky
Задача № 0
разве для этого не придется писать ИИ?

Последний раз редактировалось Maxmaxmахimus, 07.10.2012 в 19:09.
Ответить с цитированием
  #6 (permalink)  
Старый 07.10.2012, 19:28
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Ссылка битая, новая ссылка:

http://www.youtube.com/watch?v=kKJRPPA6NBQ
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
  #7 (permalink)  
Старый 07.10.2012, 19:36
Аватар для Maxmaxmахimus
司会
Отправить личное сообщение для Maxmaxmахimus Посмотреть профиль Найти все сообщения от Maxmaxmахimus
 
Регистрация: 29.02.2012
Сообщений: 198

Эту не выбрал потому что там концовку ждать долго
Ответить с цитированием
  #8 (permalink)  
Старый 07.10.2012, 20:07
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

Цитата:
только для выпуклых?
что такое выпуклый прямоугольник в 2D пространстве?

Был бы многоугольник веротно пришлось бы бить на треугольники.
Алгоритм вроде тесты проходит, но в движок встроить неудаётся.
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 07.10.2012 в 20:22.
Ответить с цитированием
  #9 (permalink)  
Старый 07.10.2012, 20:17
Интересующийся
Отправить личное сообщение для DimaJS Посмотреть профиль Найти все сообщения от DimaJS
 
Регистрация: 14.08.2012
Сообщений: 26

Сообщение от DjDiablo
что такое выпуклый прямоугольник ?
да, это прикольно - сделать невыпуклый прямоугольник , впрочем кажется на какой то другой плоскости это вроде можно сделать (хотя не знаю )
Ответить с цитированием
  #10 (permalink)  
Старый 07.10.2012, 20:35
Аватар для Maxmaxmахimus
司会
Отправить личное сообщение для Maxmaxmахimus Посмотреть профиль Найти все сообщения от Maxmaxmахimus
 
Регистрация: 29.02.2012
Сообщений: 198

Стоп так ты про прямоугольники паришься? так это вообще не задача даже О_О это же слишком сложно для простых умов..

Я то думал ты про многоугольники.

Сообщение от DjDiablo
Был бы многоугольник веротно пришлось бы бить на треугольники.
я уже рассказал что надо было бы делать если бы это был многоугольник.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задачи по Java and JavaScript Другое Имя Работа 1 26.10.2011 00:11
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 19:40
Подходит ли Javascript для решения следующей задачи? alikol Оффтопик 4 24.10.2010 22:40
Подходит ли Javascript для решения следующей задачи? alikol Общие вопросы Javascript 7 24.10.2010 14:10
Выдвет ошибку JavaScript Ромио Opera, Safari и др. 4 21.10.2010 20:34