BG Development


Страници: (2) [1] 2   ( Първото ново мнение ) Reply to this topicStart new topicStart Poll

> Трябва да опиша начина ми на игра, JavaScript
3p0
Публикувано на: 01-02-2021, 16:42
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 903
Регистриран на: 18.06.05



Написах една малка игра на JavaScript, обаче освен да мога да играя от името на двамата противници, ми се ще да напиша вариант, в който противник да ми е компютъра - това означава, че трябва да опиша чрез JavaScript начина ми на игра и когато е избран Радио-бутон "Comp." да играе като мой противник.
Донякъде работи - в някои случаи взема решения, в други още не - има още доста да се програмира ....

Стигнах до момент, в който си задавам въпроса, дали бих могъл да стартирам функции в цикъл, като имам имената на функциите в стрингов масив ? ( В смисъл, че правя проверки в цикъл и при определени условия да стартирам функция, като имам нейното име в масив използвайки управляващата променлива на цикъла за индекс в масива )


--------------------
Линукс MX-19.3 "patito feo"
Intel® Celeron® CPU G540 2.50GHz; MB=Gigabyte H61M-S2V-B3 rev.1.0; RAM=16gb DDR3; SPS=Trend Sonic ADK-A500W.
PM
Top
thrawn
Публикувано на: 01-02-2021, 16:56
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 3076
Регистриран на: 17.01.17



Опитваш се да откриеш автоматите ми се струва...
Иначе, за чий ти е да трупаш имена на функции в масив? Събирай си адресите на самите функции.
PMEmail Poster
Top
3p0
Публикувано на: 01-02-2021, 17:00
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 903
Регистриран на: 18.06.05



Калашников icon_lol.gif

Къде са тези адреси ?
Нали съм декларирал функция OnClick при самата декларарация на бутона ....


--------------------
Линукс MX-19.3 "patito feo"
Intel® Celeron® CPU G540 2.50GHz; MB=Gigabyte H61M-S2V-B3 rev.1.0; RAM=16gb DDR3; SPS=Trend Sonic ADK-A500W.
PM
Top
code2
Публикувано на: 01-02-2021, 18:27
Quote Post



Име:
Група: Потребител
Ранг: Редовен член

Мнения: 452
Регистриран на: 11.06.16



CODE
function hello()
{alert("hello")}
var world=function ()
{alert("world")}

var r1=[hello,world];
var r2=["hello","world"];


Ето ти пример. При r1 имаме адреси, докато при r2 имаме низови променливи.
При първия вариант изпълнение имаме с "r1[0]()", докато при втория се ползва това: "window[r2[0]]()".

По отношение на автоматите, то човека имаше предвид софтуерни автомати. Трябва да забравиш за хардуерни автомати като Калашников, защото те са патентовани и ще сгазиш лука. А и без патенти може да загазиш, защото "Калашников" не е шега работа. За сравнение ще кажа, че досега не съм чувал за разстрелян със софтуерен автомат човек (всъщност не съм търсим много - може и да има такива клипове в youtube).

Това мнение е било редактирано от code2 на 01-02-2021, 18:31
PMEmail Poster
Top
3p0
Публикувано на: 01-02-2021, 20:28
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 903
Регистриран на: 18.06.05



Тази сутрин по малките часове четох в един сайт точно такива примери за функции, обаче ми се сториха много "префърцунени" стигнах до края на примерите и ме питат дали са ми били
- HELPFULL ?
Казвам си на ум, ей сега ще ви разкажа играта, друг път да измислите как да се ползват функции в масиви и натискам
- NO
Те ме контрират с
- WHATS WRONG ?
Аз тъпо им обяснявам, че:
- I need to use 12 independent functions as an array of functions, but I don't know how to do that ( if it is possible ).

Тея са си казали, ние това му обясняваме на тоя тъпанар, а той - NO


--------------------
Линукс MX-19.3 "patito feo"
Intel® Celeron® CPU G540 2.50GHz; MB=Gigabyte H61M-S2V-B3 rev.1.0; RAM=16gb DDR3; SPS=Trend Sonic ADK-A500W.
PM
Top
3p0
Публикувано на: 02-02-2021, 03:20
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 903
Регистриран на: 18.06.05



Изпробвах и достигнах до извода, че:
CODE
function hello()
{alert("hello")}
var world=function ()
{alert("world")}

var r1=[hello(),world()];
работи чрез извикване на измислен код:
CODE
for (j = 0; j < 2; j++) {
   if (j == 1) {
       r1[j]();
   }
}


Това мнение е било редактирано от 3p0 на 02-02-2021, 03:21


--------------------
Линукс MX-19.3 "patito feo"
Intel® Celeron® CPU G540 2.50GHz; MB=Gigabyte H61M-S2V-B3 rev.1.0; RAM=16gb DDR3; SPS=Trend Sonic ADK-A500W.
PM
Top
thrawn
Публикувано на: 02-02-2021, 07:26
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 3076
Регистриран на: 17.01.17



Айде сега се пробвай да откриеш разликите между това което ти е дадено като пример и това над което си медитирал, и можеш да разкрие загадката на измисления код...
PMEmail Poster
Top
3p0
Публикувано на: 02-02-2021, 07:42
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 903
Регистриран на: 18.06.05



CODE
var r1=[hello,world];

Горното не дава грешка, но не работи, предполагам бразузъра връща адреси nil

CODE
var r1=[hello(),world()];

Горното работи, бразузъра връща истинските адреси на функциите и като правя обръщение чрез r[0]() или r[1]() те работят - точно което исках!

( Представям си браузъра като един интерпретатор на JavaScript, който е превърнал моя скрипт в изпълним код или в паметта или в кеша - негова си работа и всяко нещо си има адрес )

Това мнение е било редактирано от 3p0 на 02-02-2021, 07:42


--------------------
Линукс MX-19.3 "patito feo"
Intel® Celeron® CPU G540 2.50GHz; MB=Gigabyte H61M-S2V-B3 rev.1.0; RAM=16gb DDR3; SPS=Trend Sonic ADK-A500W.
PM
Top
3p0
Публикувано на: 02-02-2021, 08:17
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 903
Регистриран на: 18.06.05



Ако искам да проработят и двете функции последователно:
или
CODE
r1[0]();
r1[1]();


или
CODE
for (j = 0; j < 2; j++) {
      r1[j]();
}


--------------------
Линукс MX-19.3 "patito feo"
Intel® Celeron® CPU G540 2.50GHz; MB=Gigabyte H61M-S2V-B3 rev.1.0; RAM=16gb DDR3; SPS=Trend Sonic ADK-A500W.
PM
Top
3p0
Публикувано на: 02-02-2021, 10:34
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 903
Регистриран на: 18.06.05



Последното ми мнение е, че работят двата начина за деклариране на масивите с адреси на функциите:
CODE
var r1=[hello(),world()];

Работи

CODE
var r1=[hello,world];

Работи


--------------------
Линукс MX-19.3 "patito feo"
Intel® Celeron® CPU G540 2.50GHz; MB=Gigabyte H61M-S2V-B3 rev.1.0; RAM=16gb DDR3; SPS=Trend Sonic ADK-A500W.
PM
Top
1 потребители преглеждат тази тема в момента (1 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Страници: (2) [1] 2  Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2019 | BG Development | All Rights Reserved
RSS 2.0