Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 1
Регистрация: 18.12.2014
Сообщений: 14
1

Моя первая "игра" на js) Но есть ужасный баг :C

27.10.2015, 21:25. Показов 902. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Принцип игры в том чтобы угадать слово,но когда встречаются слова с двумя одинаковыми буквами вторая не открывается, никак не смог исправить ошибку,надеюсь на вашу помощь))
Вот и сам код.
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
var bar = "korova";
    var bar_arr = bar.split('');
    console.log(bar_arr);
    var sxal = 0;
    var h = 0; 
    function f1 (val) {
        tar = bar.indexOf(val);
        html  = document.getElementById("write").innerHTML;
                document.getElementById("tar_"+val).disabled = true;
        if(tar != "-1"){
            document.getElementById("tac_"+val).innerHTML  = val;
            document.getElementById("tar_"+val).style.background   = "#00FF4E"; 
            h++;
            if(h == bar.length){
                alert("2222");
                location.reload();  
            }
        }else{
            document.getElementById("tar_"+val).style.background   = "red";
            sxal++;
                if(sxal == 3){
                    alert("1111");
                    location.reload();
                }
        }           
    }
    for (var i = 0; i < bar.length; i++) {
        html  = document.getElementById("write").innerHTML;
        html += "<span class='asd' id='tac_"+bar[i]+"'>?</span>";
        document.getElementById("write").innerHTML  = html;
    };
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.10.2015, 21:25
Ответы с готовыми решениями:

Моя первая игра на C++
На днях доделал свою первую игру на C++. До этого написал первую часть игры на C# (и вообще свою...

Моя первая игра
Создал игру, есть ракета которая стреляет пулями, проблема в том что при нажатии на клавишу ПРОБЕЛ...

Моя первая игра на Unity
Делюсь концептом первой игры (файл apk!) Скажите, есть ли здесь что-то стоящее внимания? Стоит ли...

Моя первая консольная игра :D
Всем доброго времени суток! Сегодня я хочу показать вам свою первую игру, правда пока она работает...

TowerDrot (моя первая игра)
Вот уже 5-й месяц пишу свою первую игрушку на XNA. Классическая towerdefense. Выложил демку с...

8
Ренегат
Эксперт HTML/CSS
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
27.10.2015, 23:06 2
Paedus, выложите пожалуйста на jsfiddle
0
0 / 0 / 1
Регистрация: 18.12.2014
Сообщений: 14
27.10.2015, 23:31  [ТС] 3
Я вот залил но я им не пользовался,и не работает :C
http://jsfiddle.net/r8Lsw4rq/
0
Ренегат
Эксперт HTML/CSS
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
27.10.2015, 23:39 4
Paedus, вот мой способ, только я просто ваш код заставил работать
я не нашёл багов
0
0 / 0 / 1
Регистрация: 18.12.2014
Сообщений: 14
27.10.2015, 23:43  [ТС] 5
BANO, Когда в слове которую нужно угадать есть 2 или более одинаковых букв, то при нажатии на эту букву открывается только одна(первая) из этих(одинаковых) букв.Я никак не смог заставить программу открыть сразу все)
0
Ренегат
Эксперт HTML/CSS
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
27.10.2015, 23:56 6
Paedus, всё всё
я потом решил поиграть
вот нормальный код
1
0 / 0 / 1
Регистрация: 18.12.2014
Сообщений: 14
28.10.2015, 00:00  [ТС] 7
BANO, Большое спасибо,с меня +реп,но знаю это очень мало за такую работу))И можно я вас добавлю в друзья?Я просто только начал учить JavaScript и у меня наверное будут еще пара вопросов)
0
347 / 322 / 203
Регистрация: 27.06.2014
Сообщений: 762
28.10.2015, 01:23 8
Мне стало скучно решил вам помочь
PHP/HTML
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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Документ без названия</title>
    <style>
        *{margin:0px; padding:0px; box-sizing:border-box; -moz-box-sizing:border-box;}
        .bGame{margin: 50px auto; width: 550px; min-height: 250px; border: solid 1px #555555; position: relative; background: rgba(255,255,0, 0.15)}
        .bGame .bControll, .bGame .bMessage{position: absolute;width: 200px;border: solid 1px #555555;text-align: center;}
        .bGame .bControll{border-bottom: 0px;left: -210px;top: 0px;}
        .bGame .bMessage{
            height: 50px;
            padding: 5px 7px;
            right: -210px;
            top: 0px;
            background: rgba(0,255,210,0.4);
            border:solid 1px rgba(0,160,210,1);
            box-shadow: inset 0px 0px 10px rgba(0,255,210,.7), 0px 0px 10px rgba(0,255,210,.7);
            color: #666;
            transition: all .5s;
        }
        .bGame .bMessage[data-status="win"]{
            background: rgba(40,255,40,0.4);
            border:solid 1px rgba(40,225,70,1);
            box-shadow: inset 0px 0px 10px rgba(40,255,0,.7), 0px 0px 10px rgba(40,255,0,.7);
        }
        .bGame .bMessage[data-status="fail"]{
            background: rgba(255,0,0,0.4);
            border:solid 1px rgba(255,0,0,1);
            box-shadow: inset 0px 0px 10px rgba(255,0,0,.7), 0px 0px 10px rgba(255,0,0,.7);
        }
        .bGame .bMessage[data-status="true"]{
            background: rgba(0,255,210,0.4);
            border:solid 1px rgba(0,160,210,1);
            box-shadow: inset 0px 0px 10px rgba(0,255,210,.7), 0px 0px 10px rgba(0,255,210,.7);
        }
        .bGame .bMessage[data-status="false"]{
            background: rgba(255,180,0,0.4);
            border:solid 1px rgba(225,120,0,1);
            box-shadow: inset 0px 0px 10px rgba(255,180,0,.7), 0px 0px 10px rgba(255,180,0,.7);
        }
        .bGame .bControll > div{padding: 4px;border-bottom: solid 1px #555555;}
        .bGame .qText, .bGame .qWord, .bGame .keyboard .ruWrapp, .bGame .keyboard .enWrapp{
            margin: 15px auto;
            padding: 4px 10px;
            border-bottom: solid 1px #555555;
            text-align: center;
        }
        .bGame .qWord .qSymbol, .bGame .keyboard .kSymbol{
            padding: 5px;
            width: 30px;
            height: 30px;
            display: inline-block;
            border: solid 1px #999;
            border-radius: 4px;
        }
        .bGame .keyboard .kSymbol{margin: 2px 1px; transition: all .3s; -webkit-user-select:none;}
        .bGame .keyboard .kSymbol:hover{background: #CCC;}
        .bGame .keyboard .kSymbol:active{transition: none; box-shadow: inset 0px 0px 25px #FFF;}
        .fastEnd{text-align: center;}
        .fastEnd .label{padding: 0px 0px 15px 0px;}
        .fastEnd input[type="text"]{margin: 10px 0px 5px 0px;padding: 5px 10px;width: 300px;outline: 0px;}
        .fastEnd input[type="button"]{display: block;margin: 5px auto 20px auto;padding: 5px 10px;outline: 0px;}
    </style>
    <script src="jquery-2.1.4.min.js"></script>
    <script src="jquery-ui/jquery-ui.min.js"></script>
    <link rel="stylesheet" href="jquery-ui/jquery-ui.min.css">
    <script>
        var game = (function () {
            var ru_symbols = "ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ".split (""),
                en_symbols = "QWERTYUIOPASDFGHJKLZXCVBNM".split (""),
                game = {};
            game.try = 5;
            game.start = function (questions) {
                console.log ("game - start");
                this.chooseQuestion (questions);
                this.createKeyboard ();
                this.outWord ();
                document.getElementsByClassName ("gResult")[0].innerHTML = this.try;
            }
            game.createKeyboard = function () {
                var str = "";
                for (var i = 0; i < ru_symbols.length; i++) {
                    str += "<div class='kSymbol'>"+ru_symbols[i]+"</div>";
                }
                document.getElementsByClassName ("ruWrapp")[0].innerHTML = str;
                str = "";
                for (var i = 0; i < en_symbols.length; i++) {
                    str += "<div class='kSymbol'>"+en_symbols[i]+"</div>";
                }
                document.getElementsByClassName ("enWrapp")[0].innerHTML = str;
                document.getElementsByClassName ("keyboard")[0].addEventListener ("click", this.selectSymb);
                document.getElementById("fEnd").addEventListener ("click", this.fastEnd);
            }
            game.chooseQuestion = function (q) {
                this.question = q[Math.floor(Math.random() * q.length)];
                this.question.word = this.question.startWord = this.question.word.toUpperCase();
                this.openWord = this.question.word.split ("").map (function () {return "_"});
                document.getElementsByClassName ("qText")[0].innerHTML = this.question.text;
            }
            game.outWord = function () {
                var word = this.openWord, str = "";
                for (var i = 0; i < word.length; i++) {
                    str += "<div class='qSymbol'>"+word[i]+"</div>";
                }
                document.getElementsByClassName ("qWord")[0].innerHTML = str;
            }
            game.info = function (text) {
                document.getElementsByClassName ("bMessage")[0].innerHTML = text;
            }
            game.res = function () {
                if (this.try === 0) {
                    this.info ("У вас закончились попытки, вы проиграли.");
                    this.messStatus ("fail");
                    game.end ();
                }
                else {
                    document.getElementsByClassName ("gResult")[0].innerHTML = --this.try;
                    game.info ("Такой буквы нет в этом слове!!");
                    this.messStatus ("false");
                }
            }
            game.end = function () {
                document.getElementsByClassName ("keyboard")[0].removeEventListener ("click", this.selectSymb);
                document.getElementById("fEnd").removeEventListener ("click", this.fastEnd);
            }
            game.messStatus = function (status) {
                document.getElementsByClassName ("bMessage")[0].setAttribute ("data-status", status);
            }
            game.fastEnd = function () {
                var reply = document.getElementById ("fText").value.toUpperCase ();
                if (game.question.startWord == reply) {
                    game.end ();
                    game.info ("Вы угадали сразу все слово!");
                    game.messStatus ("win");
                }
                else {
                    game.end ();
                    game.info ("Вам не удалось угадать слово, вы проиграли!");
                    game.messStatus ("fail");
                }
            }
            game.selectSymb = function (e) {
                var elem = e.target, symb, w;
                if (!elem.classList.contains("kSymbol")) return;
                symb = elem.innerHTML;
                w = game.question.word.split ("");
                if (w.indexOf (symb) !== -1) {
                    game.info ("Вы угалади букву!");
                    game.messStatus ("true");
                    while (w.indexOf (symb) !== -1) {
                        var i = w.indexOf (symb);
                        game.openWord[i] = symb;
                        w[i] = "_";
                    }
                    game.question.word = w.join("");
                    game.outWord ();
                }
                else {
                    game.res ();
                }
                if (game.openWord.indexOf("_") === -1) {
                    game.info ("Вы выиграли!");
                    game.messStatus ("win");
                    game.end ();
                }
            }
            return game;
        } ());
 
 
        /**массив с объектами вопросов и ответов**/
        var questions = [
            {text:"Друг Степашки?", word:"хрюша"},
            {text:"Имя главного героя книг А. Сапковского о ведьмаке?", word:"геральт"},
            {text:"Что кладут в чай?", word:"сахар"}
        ];
        
        window.addEventListener ("load", function () {
            game.start (questions);
        });
    </script>
</head>
<body>
    <div class="bGame">
        <div class="bControll">
            <div class="gLabel">Количество попыток</div>
            <div class="gResult"></div>
        </div>
        <div class="bMessage"></div>
        <div class="qText"></div>
        <div class="qWord"></div>
        <div class="keyboard">
            <div class="ruWrapp"></div>
            <div class="enWrapp"></div>
            <div class="fastEnd">
                <div class="label">Угадать все слово сразу (в случае неудачи вы проигрываете игру)!</div>
                <input type="text" id="fText">
                <input type="button" id="fEnd" value="Угадать">
            </div>
         </div>
     </div>
 </body>
 </html>
0
0 / 0 / 1
Регистрация: 18.12.2014
Сообщений: 14
28.10.2015, 07:17  [ТС] 9
arcmag, Спасибо большое
0
28.10.2015, 07:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.10.2015, 07:17
Помогаю со студенческими работами здесь

Addplus - моя первая математическая игра на скорость счета
https://play.google....addplus.android Необходимо выбирать шарики так, чтобы их сумма была равна...

Strategy Of Colors (free android game) - моя первая игра на Unity
Strategy of Colors это новая логическая игра в 3D которая создана при помощи Unity. Поле игры...

Моя первая игра "Магический квадрат" РПГ
Когда-то как у многих из вас у меня в голове крутились идеи по созданию своей собственной игры......

ПЛЮШКИ - русский язык, ужасный баг
VOT TAKAIA problema. Ispol'zuiu gotovyj skript magazina. Kogda vstavliaiu tovarv bd - na russ....

Баг или моя безграмотность?
Суть в том что после компиляции кода, запуска а после и конца программы я пытаюсь изменить код. Но...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru