41

Re: King's Bounty

ви ж не якась гарна молоденька тьолочка, аби я був з вами, і допомагав. Більше не буду, читайте книжки.

Подякували: 0xDADA11C71

42

Re: King's Bounty

І на тому спасибі. Ви й так на мене багато зусиль потратили. Дюкую...

Подякували: 0xDADA11C7, FakiNyan, /KIT\3

43

Re: King's Bounty

FakiNyan написав:

ви ж не якась гарна молоденька тьолочка, аби я був з вами, і допомагав. Більше не буду, читайте книжки.

Прихований текст

Віталік вийшов на полювання!
тьолочки, ховайтеся!  :D

elektryk написав:

І на тому спасибі. Ви й так на мене багато зусиль потратили. Дюкую...

пишіть ще - хтось та допоможе

44

Re: King's Bounty

elektryk написав:
221VOLT написав:
var arr = [];
arr.push([7,8,9]);
arr.push([1,2,3]);
arr.push(["this", "is", "js"]);
console.log(arr);

Відкравається пустий масив.
заповнюється значеннями вручну.
виводиться на кран.
А як відкрити двомірний масив??
Як заповнити його випадковими значеннями??
Припустимо значенням 00 має бути заповнено 50% клітинок.
01 - 10%
02 - 10%
03 - 10%
04 - 20%

створюється одновимірний, закидається 2й вимір
в результаті у нас на руках двовимірний масив

45 Востаннє редагувалося 221VOLT (25.09.2017 20:16:15)

Re: King's Bounty

elektryk написав:
221VOLT написав:
var arr = [];
arr.push([7,8,9]);
arr.push([1,2,3]);
arr.push(["this", "is", "js"]);
console.log(arr);

Відкравається пустий масив.
заповнюється значеннями вручну.
виводиться на кран.
А як відкрити двомірний масив??
Як заповнити його випадковими значеннями??
Припустимо значенням 00 має бути заповнено 50% клітинок.
01 - 10%
02 - 10%
03 - 10%
04 - 20%

//рандом число від 1 до 100
function random1to100(){
  return Math.floor((Math.random() * 100) + 1);
}

//повернення значення в залежності від % та значень
function get_my_value(x){
  //пропишемо наші відсоткові значення
  var percents = [50,10,10,10,20];  
  if(x <= percents[0]){
    return '00';
  }
  var z1 = percents[0] + percents[1];
  if(x <= z1){
    return '01';
  }
  var z2 = z1 + percents[2];
  if(x <= z2){
    return '02';
  }
  var z3 = z2 + percents[3];
  if(x <= z3){
    return '03';
  }
  return '04';
}

//генеруємо двовимірну карту, для прикладу 10 на 10 клітинок
function generate_random_map(x,y){
  var z = [];
  var z2 = [];
  for(var i=0;i<x;i++){
    for(var j=0;j<y;j++){
      z2.push(get_my_value(random1to100()));
    }
    z.push(z2);
    z2 = [];
  }
  return z;
}

var my_map = generate_random_map(10,10);
console.log(my_map);

отак. а ооп залишимо збоченцям!

46

Re: King's Bounty

221VOLT написав:
elektryk написав:
221VOLT написав:
var arr = [];
arr.push([7,8,9]);
arr.push([1,2,3]);
arr.push(["this", "is", "js"]);
console.log(arr);

Відкравається пустий масив.
заповнюється значеннями вручну.
виводиться на кран.
А як відкрити двомірний масив??
Як заповнити його випадковими значеннями??
Припустимо значенням 00 має бути заповнено 50% клітинок.
01 - 10%
02 - 10%
03 - 10%
04 - 20%

//рандом число від 1 до 100
function random1to100(){
  return Math.floor((Math.random() * 100) + 1);
}

//повернення значення в залежності від % та значень
function get_my_value(x){
  //пропишемо наші відсоткові значення
  var percents = [50,10,10,10,20];  
  if(x <= percents[0]){
    return '00';
  }
  var z1 = percents[0] + percents[1];
  if(x <= z1){
    return '01';
  }
  var z2 = z1 + percents[2];
  if(x <= z2){
    return '02';
  }
  var z3 = z2 + percents[3];
  if(x <= z3){
    return '03';
  }
  return '04';
}

//генеруємо двовимірну карту, для прикладу 10 на 10 клітинок
function generate_random_map(x,y){
  var z = [];
  var z2 = [];
  for(var i=0;i<x;i++){
    for(var j=0;j<y;j++){
      z2.push(get_my_value(random1to100()));
    }
    z.push(z2);
    z2 = [];
  }
  return z;
}

var my_map = generate_random_map(10,10);
console.log(my_map);

отак. а ооп залишимо збоченцям!

САме так, але "z.push(z2)" - і є оте ООП. Ну та то таке...
Метод push додає елемент до масиву. А як перевизначить елемент??

47 Востаннє редагувалося FakiNyan (25.09.2017 21:04:18)

Re: King's Bounty

var arr = [1, 2, 3];
arr[3]=5;
arr.dick="head";
arr.push(6);
arr// [1, 2, 3, 5, 5, head]

варіянти додавання елементу до масиву, якщо на тому місці вже був елемент, то він перезапишеться

48

Re: King's Bounty

А як робити прихований текст??

49

Re: King's Bounty

opacity: 0;
visibility: hidden;
display: none;
width: 0;
height: 0;
transform: rotateY(180deg);

ще можна поверх тексту поставити елемент з position: absolute;

50 Востаннє редагувалося elektryk (27.09.2017 17:59:11)

Re: King's Bounty

Чомусь не можна приєднати файл з розширенням *.html??
Тому я приєдную його з розширенням *.txt
Як зробити, щоб менший квадарт накладався на більший??
Бо в мене вони поряд розміщуються.

Post's attachments

brod2.3.txt 2.1 kb, 466 downloads since 2017-09-25 

51

Re: King's Bounty

elektryk написав:
221VOLT написав:
//рандом число від 1 до 100
function random1to100(){
  return Math.floor((Math.random() * 100) + 1);
}

//повернення значення в залежності від % та значень
function get_my_value(x){
  //пропишемо наші відсоткові значення
  var percents = [50,10,10,10,20];  
  if(x <= percents[0]){
    return '00';
  }
  var z1 = percents[0] + percents[1];
  if(x <= z1){
    return '01';
  }
  var z2 = z1 + percents[2];
  if(x <= z2){
    return '02';
  }
  var z3 = z2 + percents[3];
  if(x <= z3){
    return '03';
  }
  return '04';
}

//генеруємо двовимірну карту, для прикладу 10 на 10 клітинок
function generate_random_map(x,y){
  var z = [];
  var z2 = [];
  for(var i=0;i<x;i++){
    for(var j=0;j<y;j++){
      z2.push(get_my_value(random1to100()));
    }
    z.push(z2);
    z2 = [];
  }
  return z;
}

var my_map = generate_random_map(10,10);
console.log(my_map);

отак. а ооп залишимо збоченцям!

САме так, але "z.push(z2)" - і є оте ООП. Ну та то таке...
Метод push додає елемент до масиву. А як перевизначить елемент??

добре, яким парадигмам ооп відповідає "z.push(z2)" ?

52

Re: King's Bounty

221VOLT написав:
elektryk написав:
221VOLT написав:
//рандом число від 1 до 100
function random1to100(){
  return Math.floor((Math.random() * 100) + 1);
}

//повернення значення в залежності від % та значень
function get_my_value(x){
  //пропишемо наші відсоткові значення
  var percents = [50,10,10,10,20];  
  if(x <= percents[0]){
    return '00';
  }
  var z1 = percents[0] + percents[1];
  if(x <= z1){
    return '01';
  }
  var z2 = z1 + percents[2];
  if(x <= z2){
    return '02';
  }
  var z3 = z2 + percents[3];
  if(x <= z3){
    return '03';
  }
  return '04';
}

//генеруємо двовимірну карту, для прикладу 10 на 10 клітинок
function generate_random_map(x,y){
  var z = [];
  var z2 = [];
  for(var i=0;i<x;i++){
    for(var j=0;j<y;j++){
      z2.push(get_my_value(random1to100()));
    }
    z.push(z2);
    z2 = [];
  }
  return z;
}

var my_map = generate_random_map(10,10);
console.log(my_map);

отак. а ооп залишимо збоченцям!

САме так, але "z.push(z2)" - і є оте ООП. Ну та то таке...
Метод push додає елемент до масиву. А як перевизначить елемент??

добре, яким парадигмам ооп відповідає "z.push(z2)" ?

кхм, push - функція, що належить об'єкту z. Вона викликається як метод, через крапку, і оперує над об'єктом z.
Якби воно виглядало як

push(z, z2);

тоді б це було функціональщиною, а так ні це - оопещина.

53

Re: King's Bounty

Чомусь не можна приєднати файл з розширенням *.html??
Тому я приєдную його з розширенням *.txt
Як зробити, щоб менший квадарт накладався на більший??
Бо в мене вони поряд розміщуються.

Post's attachments

brod2.3.txt 2.1 kb, 471 downloads since 2017-09-27 

54

Re: King's Bounty

FakiNyan написав:

кхм, push - функція, що належить об'єкту z. Вона викликається як метод, через крапку, і оперує над об'єктом z.
Якби воно виглядало як

push(z, z2);

тоді б це було функціональщиною, а так ні це - оопещина.

згода, обєкт

незгода, це було би процедурщиною
відмінностей між імперативщиною і функціональщиною є трохи більше, ніж відсутність крапки
наприклад, розпочинаючи з особливостей роботи

55 Востаннє редагувалося elektryk (14.04.2020 00:10:48)

Re: King's Bounty

koala написав:

Будь ласка, не створюйте зайвих тем.
Що саме вам написати? Функцію на JS, що генерує якусь подобу двовимірного масиву, випадково заповненого відповідно до вимог?
https://ideone.com/cch1BT

Так. Це саме те що треба. А можна перекласти на JavaScript??

56

Re: King's Bounty

<script>
var field_types = "WLFS"; //water, land, forest, sand
 
function random_map() {
    var map = [];
    for(var i=0;i<66;++i) {
        line = "";
        for(var j=0;j<66;++j) {
            if(i<5||61<=i||j<5||61<=j) {
                //line.push("W");
                line += "W";
            } else {
                line += field_types[Math.floor(Math.random()*field_types.length)];
            }
        }
        //console.log(line);
        map.push(line);
    }
    return map;
}
var map = random_map();
for( var line in map ) {
    console.log(map[line]);
}
</script>

57

Re: King's Bounty

itakal написав:
<script>
var field_types = "WLFS"; //water, land, forest, sand
 
function random_map() {
    var map = [];
    for(var i=0;i<66;++i) {
        line = "";
        for(var j=0;j<66;++j) {
            if(i<5||61<=i||j<5||61<=j) {
                //line.push("W");
                line += "W";
            } else {
                line += field_types[Math.floor(Math.random()*field_types.length)];
            }
        }
        //console.log(line);
        map.push(line);
    }
    return map;
}
var map = random_map();
for( var line in map ) {
    console.log(map[line]);
}
</script>

Велике СПАСИБІ,
але видає помилку Uncaught TypeError: map[line].join is not a function
    at indexgra.html:30
До того ж хотілось би вивід на екран, а не на консоль.
Я консолями не впевнено користуюсь...

58

Re: King's Bounty

Uncaught TypeError: map[line].join is not a function

А де у мене в кодi є отой join :) що ви курите компiлюєте?

До того ж хотілось би вивід на екран, а не на консоль.

перепишiть console.log на innerHTML чи куди ви там виводите..

ви взагалi щось вмiєте в JS крiм копiпасту?

59 Востаннє редагувалося elektryk (14.04.2020 21:59:25)

Re: King's Bounty

itakal написав:

Uncaught TypeError: map[line].join is not a function

А де у мене в кодi є отой join :) що ви курите компiлюєте?

До того ж хотілось би вивід на екран, а не на консоль.

перепишiть console.log на innerHTML чи куди ви там виводите..

ви взагалi щось вмiєте в JS крiм копiпасту?

Заморився зі мною??
Я вибачаюсь, але в мене знову не виходить...

var map = random_map();
for( var line in map ) {
    console.log(map[line]);
innerHTML = map[line];
}

Що тут не так??
Може треба так??
map[line].innerHTML;

60

Re: King's Bounty

Може треба вiдкрити книжку по javascript, i перестати задавати дурнi питання?