4 / 4 / 1
Регистрация: 02.07.2011
Сообщений: 39

Как сделать?

11.07.2011, 16:24. Показов 1116. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот, сделал нечто наподбии игры для развития скорости печати.

Демо: http://ctpzblog.hut1.ru/khome-... /easy.html

Однако при нажатии на ссылку "Закончить" оно пишет "Подождите...", а игра не прекращается еще примерно 5 - 8 секунд.

Вот jquery код:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
    function randomFromTo(from, to){
        return Math.floor(Math.random() * (to - from + 1) + from);
    }
 
    var arrstring = new Array("человек", "обои", "фото", "рыба", "кот", "жир", "пиво", "поле", "семья", "блог",  "поиск", "закладка", "вол", "кит", "сеть", "список", "страница", "меню", "мобильный", "кнопка", "элемент", "выбор", "колбаса", "сыр", "мясо", "вода", "яблоко", "груша", "письмо", "пирог", "торт", "топот", "поттоп", "лось", "олень", "зубр", "бизон", "дикость", "брасс", "барс", "снег", "жила", "золото", "серебро", "химия", "лень", "пень", "веник", "самолет", "перекур", "сигарета", "зажим", "сайт", "форум", "Рим", "Милан", "футбол", "баскетбол", "гандбол", "волейбол", "пионербол", "оптимизация", "спидометр", "клавиатура", "лом", "мышь", "монитор", "система", "нипель", "колесо", "таблетка", "программа", "шоу", "слайдер", "смартфон", "дизайн", "мама", "папа", "сервер", "нагрузка", "выдерживать", "заложить", "ссуда", "ломбард", "телевидение", "телеканал", "пульт", "телефон", "сенсор", "плазма", "ноутбук", "окно", "картина", "альбом", "социопат", "психолог", "клаустрофобия", "камин", "ковролин", "домофон", "шкаф", "полка", "диван", "фортепиано", "аккордеон", "минута", "понятие", "словарь", "идиот", "куртка", "пуховик", "липа", "каштан", "тополь", "баян", "береза", "абрикос", "ананас", "персик", "слива", "нектарин", "секунда", "микрон", "фотоэлемент", "лошадь");
 
 
    var score = 0;
 
    $(document).ready(function() {
 
        var children = $("#container").children();
        var child = $("#container div:first-child");
 
        var currentEl;
        var currentElPress;
 
        var win_width = $(window).width();
        var text_move_px = 800;
        var box_left = (win_width / 2) - (text_move_px / 2);
 
        var playGame;
        var stop;
 
        $(".animatedbox").css("left", box_left+"px");
 
        $("#btnplay").click(function() {
 
            if ($(this).text() == "Играть") {
                startPlay();
                playGame = setInterval(startPlay, 23000);
                $(this).text("Закончить");
            } else if ($(this).text() == "Закончить") {
                stop = true;
                if ($("#container").find(".current").length == 0) {
                  $(this).text("Играть");
                } else {
                  $(this).text("Подождите...");
                }
                clearInterval(playGame);
            }
            return false;
        });
 
        var con_height = $("#container").height();
        var con_pos = $("#container").position();
        var min_top = con_pos.top;
 
        // 56 = отступ анимированного прмяоугольника сверху и снизу + размер шрифта
        var max_top = min_top + con_height - 49;
 
        function startPlay() {
 
            child = $("#container div:first-child");
            child.addClass("current");
            currentEl = $(".current");
 
            for (i=0; i<children.length; i++) {
                var delaytime = i * 3500;
                setTimeout(function() {
                    randomIndex = randomFromTo(0, arrstring.length - 1);
                    randomTop = randomFromTo(min_top, max_top);
                    child.animate({"top": randomTop+"px"}, 'slow');
                    child.find(".match").text("");
                    child.find(".unmatch").text(arrstring[randomIndex]);
                    child.show();
                    child.animate({
                       left: "+="+text_move_px
                    }, 8000, function() {
                        currentEl.removeClass("current");
                        currentEl.fadeOut('fast');
                        currentEl.animate({
                            left: box_left+"px"
                        }, 'fast');
                        if (currentEl.attr("id") == "last") {
                            child.addClass("current");
                            currentEl = $(".current");
                            if (stop) {
                               $("#btnplay").text("Играть");
                            }
                        } else {
                            currentEl.next().addClass("current");
                            currentEl = currentEl.next();
                        }
                    });
                    child = child.next();
                }, delaytime);
            }
        }
 
        // В IE $(window).keypress() не работает
        $(document).keypress(function(event) {
            currentElPress = $(".current");
 
            var matchSpan = currentElPress.find(".match");
            var unmatchSpan = currentElPress.find(".unmatch");
            var unmatchText = unmatchSpan.text();
            var inputChar;
 
            if ( $.browser.msie || $.browser.opera ) {
                inputChar = String.fromCharCode(event.which);
            } else {
                inputChar = String.fromCharCode(event.charCode);
            }
 
            if (inputChar == unmatchText.charAt(0)) {
                unmatchSpan.text(unmatchText.replace(inputChar, ""));
                matchSpan.append(inputChar);
                if (unmatchText.length == 1) {
                    currentElPress.stop().effect("explode", 500);
                    currentElPress.animate({
                        left: box_left+"px"
                    }, 'fast');
                    if (currentElPress.attr("id") == "last" && stop) {
                        $("#btnplay").text("Играть");
                    }
 
                    currentElPress.removeClass("current");
                    currentElPress = currentElPress.next();
                    currentElPress.addClass("current");
                    currentEl = currentElPress;
                    score += 50;
                    $("#score").text(score).effect("highlight", {
                        color: '#000000'
                    }, 100000);
                } else {
                    score += 10;
                    $("#score").text(score);
                }
            }
        });
    });
Добавлено через 1 минуту
Как исправить этот баг?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.07.2011, 16:24
Ответы с готовыми решениями:

Как сделать так чтобы страничка при увеличения разрешения не двигалась в разные стороны, и как сделать чтобы при открытии в опере и в других браузерах
все обьекты на странице не двигались в разные стороны???

Как сделать таймер обратного отсчёта по нажатию на кнопку и сделать её неактивной
Снова пишу сюда, ибо нигде больше помощи не дождёшься:( Мне тут нужно сделать такую штуку: чтобы при нажатии на кнопку сработал таймер...

Как сделать из постоянной ссылки сделать относительную?
Есть ссылка: url: 'http://my-site.ru/wp-content/themes/stratforce/'+ $(this).attr('href')+'.html', Как сделать ее относительной, чтобы...

8
692 / 383 / 51
Регистрация: 22.01.2009
Сообщений: 1,135
11.07.2011, 16:27
Попробовал демку. У меня игра даже не начинается. (Chromium 13.0.782.24)
0
4 / 4 / 1
Регистрация: 02.07.2011
Сообщений: 39
11.07.2011, 16:40  [ТС]
Ну это у вас проблема с браузером. Многие тестировали и все впорядке.
0
692 / 383 / 51
Регистрация: 22.01.2009
Сообщений: 1,135
11.07.2011, 16:42
Цитата Сообщение от ctpz Посмотреть сообщение
Ну это у вас проблема с браузером.
Это не у меня, а у гугла
0
4 / 4 / 1
Регистрация: 02.07.2011
Сообщений: 39
11.07.2011, 16:45  [ТС]
Не у всего гугла, а именно у Chromium'a.
Google Chrome отлично все отображает.
0
692 / 383 / 51
Регистрация: 22.01.2009
Сообщений: 1,135
11.07.2011, 16:48
В фф 4.0.1 тоже никакой реакции на начало игры.

Добавлено через 59 секунд
Только в опере нормально запустилось.
0
4 / 4 / 1
Регистрация: 02.07.2011
Сообщений: 39
11.07.2011, 16:51  [ТС]
Я же говорю. Chromium виноват.
0
692 / 383 / 51
Регистрация: 22.01.2009
Сообщений: 1,135
11.07.2011, 17:34
Цитата Сообщение от ctpz Посмотреть сообщение
Я же говорю. Chromium виноват.
Прочитайте повнимательнее:
Цитата Сообщение от FunDuck Посмотреть сообщение
В фф 4.0.1 тоже никакой реакции на начало игры.
Добавлено через 59 секунд
Только в опере нормально запустилось.
Добавлено через 41 минуту
Только сейчас заметил. У вас после </html> идет куча закрывающих тегов и скрипт.
0
4 / 4 / 1
Регистрация: 02.07.2011
Сообщений: 39
11.07.2011, 18:56  [ТС]
Это хостер виноват.
 Комментарий модератора 
Внимательно перечитайте правила форума.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.07.2011, 18:56
Помогаю со студенческими работами здесь

Как сделать передвижение квадрата в Unity 2d Как сделать так что бы он двигался как в игре Read BAll 4
Помогите с передвижением квадрата в Unity 2d Как сделать так что бы он двигался как в игре Read BAll 4. Чтобы получается он перекатывался....

В упор не понимаю как сделать столкновение персонажа с объектами. Как мне это сделать?
//Source.cpp #include &lt;SFML/Graphics.hpp&gt; #include &lt;iostream&gt; #include &lt;string&gt; #include &quot;map.h&quot; using namespace sf; using...

Как сделать,у меня сервер обычная XP,как мне правильно сделать так,что бы некоторые компы отрезать от инета,но не от базы данных(К+ и 1С и т.п)
Система токая,инет идет на модем,с модема идет на хаб,с хаба на всех??? какой прогой лучше воспльзываться?? если есть возможнасть то...

Как сделать перемещение нескольких файлов с заменой? И как это сделать проще?
Как сделать перемещение нескольких файлов с заменой? Например я ввожу в текстбокс название файлов, потом эти файлы переношу в...

Как сделать модель движения заряженной частицы в однородном магнитном поле? И как сделать эту модель визуально видимой?
Для проекта в школе нужно создать компьютерную модель движения заряженной частицы в однородном магнитном поле. Я не силён в созданиях...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru