Mar. 29th, 2024

Чистовичок:


 StoryInit

<<set $sumka = []>> /*объявляю "пустое" множество предметов в сумке*/

 

В пассаже с предметом код ссылки:
 

 

<<set $apple = {

name: "яблоко",

color: "красное",

taste: "сладкое",

weight: random(80, 300),

price: 0 // Инициализация цены перед расчетом

}>>

 

<<set $apple.price = $apple.weight / 10>> // Рассчет цены пропорционально весу

 

<<link "Положить яблоко в сумку">>

<<set $sumka.push($apple)>>

Положить яблоко <<print $apple.color>> <<print $apple.taste>> весом <<print $apple.weight>> ценой <<print $apple.price>>

<</link>>

в пассаже сумка:

 

 

<<if $sumka.length > 0>>

 

    <h2>Предметы в вашем инвентаре:</h2>

 

    <<for $item range $sumka>>

        <<link "Посмотреть <<print $item.name>> - Цвет: <<print $item.color>>, Вкус: <<print $item.taste>>, Вес: <<print $item.weight>>, Цена: <<print $item.price>>">>

            <<print $item.name>>

        <</link>>

 

        <br>

    <</for>>

 

<<else>>

 

    <p>Ваш инвентарь пуст.</p>

 

<</if>>

----------------------

обожаю игры, где в инвентарь можно собрать всё без ограничений: черных дыр пять штука, пару стаков звездолетов, но у моего ГГ сумка будет иметь ограничения. Например 5 кг. Будем реалистам с большими весами еще не каждый солдат каждый день бегает.

но этим я займусь уже завтра... худо-бедно, а с помощью ИИ дело стало трогаться с места.

 

Черновичок:

 

Для подсчета общего веса всех предметов в сумке, вы можете добавить следующий код:
html
<<set  $totalWeightSumka = 0>> /*подсчет общего веса предметов в сумке*/
 
<<if $sumka.length > 0>>
 
    <h2>Предметы в вашем инвентаре:</h2>
 
    <<for $item range $sumka>>
        <<set $totalWeightSumka += $item.weight>>
 
        <<link "Посмотреть <<print $item.name>> - Цвет: <<print $item.color>>, Вкус: <<print $item.taste>>, Вес: <<print $item.weight>>, Цена: <<print $item.price>>">>
            <<print $item.name>>
        <</link>>
 
        <br>
    <</for>>
 
    <p>Общий вес предметов в инвентаре: <<print $totalWeightSumka>> грамм</p>
 
<<else>>
 
    <p>Ваш инвентарь пуст.</p>
 
<</if>>
 
Здесь мы:
Создаем переменную _totalWeight (эта переменная была заменена на $totalWieghtSumka так понятнее для меня на случай, если кроме сумки еще будет что-то и для SugarCube2, который не любит переменные с нижним подчеркиванием в начале) и инициализируем ее значение 0.
В цикле <<for>> добавляем вес каждого предмета ($item.weight) к _totalWeight.
После цикла выводим общий вес предметов в инвентаре.
Таким образом, пользователь будет видеть общий вес всех предметов, находящихся в его инвентаре.
 


Если скобки будут квадратными в контексте инициализации переменной, это будет означать создание пустого массива
Формат JSON (JavaScript Object Notation) - это легкий формат обмена данными, основанный на синтаксисе JavaScript. JSON используется для передачи структурированных данных между компьютерами и является популярным форматом для работы с данными веб-приложений. Он представляет собой текстовый формат, который легко читается как человеком, так и машиной.
JSON представляет данные в виде пар "ключ: значение", где ключи и значения могут быть строками, числами, объектами, массивами, логическими значениями или null. Пример JSON-объекта:
json
{
  "name": "John Doe",
  "age": 30,
  "isStudent": false,
  "hobbies": ["reading", "traveling"],
  "address": {
    "street": "123 Main St",
    "city": "Anytown"
  }
}

А, если скобки сделдать квадратными?

То это уже будет массив, а не объект. Вот как будет выглядеть инициализация переменной с пустым массивом:

javascript
<<set $items = []>> /* Инициализация переменной $items как пустого массива */
 

Разница между фигурными скобками {} (для объектов) и квадратными скобками [] (для массивов) в формате JSON или в JavaScript заключается в следующем:
Фигурные скобки {} для объектов: Используются для создания объектов, где данные хранятся в формате "ключ: значение". Пример: { "name": "John", "age": 30 }.
Квадратные скобки [] для массивов: Используются для создания массивов, где данные хранятся в виде упорядоченного списка. Пример: ``.

Таким образом, при использовании квадратных скобок [] вы создаете пустой массив, который может содержать элементы, а при использовании фигурных скобок {} вы создаете пустой объект, который может содержать пары "ключ: значение". Каждая структура имеет свои особенности и применение в зависимости от необходимости хранения и организации данных.
==============================================

в массиве в JavaScript можно хранить не только примитивные значения, но и объекты или другие массивы. Это позволяет создавать структурированные данные и хранить их в удобной форме. Вы можете объявить объекты или массивы в других частях кода и добавить их в основной массив. Вот пример:

javascript

// Объявление объектов

<<set $apple = { name: "яблоко", color: "красное" }>>

<<set $banana = { name: "банан", color: "желтый" }>>

 

// Объявление массива и добавление объектов

<<set $fruits = [$apple, $banana]>>

 

В этом примере $apple и $banana - это объекты, которые затем добавляются в массив $fruits. Таким образом, в массиве $fruits будут храниться объекты $apple и $banana. При необходимости вы можете добавлять в массив и другие объекты или массивы, создавая структурированные данные для вашего приложения.
================================
 

Да, в JavaScript можно добавить массив в качестве свойства объекта. Это позволяет структурировать данные и хранить массивы внутри объектов. Вот пример того, как можно добавить массив в объект:

javascript

// Создание объекта с массивом в качестве свойства

const myObject = {

    name: "John",

    age: 30,

    hobbies: ["reading", "painting", "gardening"]

};

 

В этом примере hobbies - это свойство объекта myObject, которое содержит массив с хобби. Таким образом, вы можете легко хранить массивы внутри объектов, что удобно для организации и доступа к данным в вашем коде.

Вон оно чо, Хоттабыч... поди сразу улови эту разницу... А зато сколько всякого разного такого можно навертеть... Так.... А в чо это только в массивы добавлены в качестве значений? А в качестве ключей можно добавлять массивы в объекты? Ась? Ну, и пирожоновых...

==================================

В JavaScript нельзя добавить массив в качестве ключа в объекте. Ключи объекта должны быть строками или символами. Попытка использовать массив в качестве ключа приведет к неожиданному поведению или ошибке. Вот пример того, как ключи объекта должны быть строками или символами:

javascript

// Некорректное использование массива в качестве ключа

const myObject = {

    [1, 2, 3]: 'value' // Некорректное использование массива в качестве ключа

};

 

В данном примере использование массива `` в качестве ключа объекта myObject является некорректным и приведет к ошибке. Ключи объекта должны быть строками или символами для корректной работы.

Облом, ну, ладно, перетопчемся... А не в JS? Можна?

--------------------------------

Да, существуют языки программирования, в которых можно использовать массивы в качестве ключей в объектах. Например, в языке PHP такая возможность есть. В PHP можно использовать массивы в качестве ключей в ассоциативных массивах. Вот пример использования массива в качестве ключа в PHP:

php

// Использование массива в качестве ключа в PHP

$myArray = array('key1' => 'value1', array('nestedKey1' => 'nestedValue1') => 'value2');

 

В данном примере, массив array('nestedKey1' => 'nestedValue1') используется в качестве ключа в ассоциативном массиве $myArray

------------------------

ну, вот, а жизнь то налаживается....

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

 


Profile

blocknote

August 2025

S M T W T F S
     12
345678 9
1011 1213141516
17181920212223
24252627282930
31      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Powered by Dreamwidth Studios