/// /// Исходный код текстовой онлайн игры "Пример - Случайные Имени для НПС" скачан с сайта https://apero.ru/ /// Пройти онлайн или скачать последнюю версию этой игры можно по адресу: https://apero.ru/Текстовые-игры/Пример-Случайные-Имени-для-НПС /// Авторы: Kamazok /// Версия: от 2021-04-13 13:03:01 /// \запуск //-------- //Создаём массив с именами, всего их 50 \Запуск \(Массив=("Винни";"Алладина";"Джафара";"Яго";"Пяточка";"Жасмин";"Кролика";"Ариеэль";"Ослика";"Совы";"Робина";"Иа-Иа";"Кенги";"Шапокляк";"Тигры";"Букли";"Моськи";"Дяди Фёдора";"Матроскина";"Шарика";"Печкина";"Галчёнка";"Мамонтёнка";"Кузи";"Фунтика";"Енота";"Леопольда";"Чебурашки";"Кеши";"Львёнка";"Ёжика";"Умки";"Маугли";"Багиры";"Балу";"Акеллы";"Карлсона";"Чипполино";"Колобка";"К.Шапочки";"Незнайки";"Зайца";"Волка";"Ивангая";"Кибальчиша";"Мартышки";"Врунгеля";"Фукса";"Балбеса";"Коровина")) \(Номер=\(АПЕРО.случайно(1;50))) \(Имя=Массив(Номер)) Спроси имя у \(Имя)? \СТОП //Сортируем имена по кол-ву человек НПС //В нашем случае, их трое и 3 отрезка имён из массива \(Имена1=\(АПЕРО.случайно(1;17))) \(Имена2=\(АПЕРО.случайно(18;37))) \(Имена3=\(АПЕРО.случайно(38;50))) \(Список1=Имена1) \(Список2=Имена2) \(Список3=Имена3) //Делаем цикл с условием, в котором раздаём имена //Опять же - это цикл для 3ёх имён. //Чем больше имён, тем больше будет цикл. \(Номер=1) \ЦИКЛ(Номер<51) \СДЕЛАТЬ ( \ЕСЛИ (Список1=Номер) \ТО \(Имя1=Массив(Номер)) \ЕСЛИ (Список1=Номер) \ТО \(Номер=18) \ЕСЛИ (Список2=Номер) \ТО \(Имя2=Массив(Номер)) \ЕСЛИ (Список2=Номер) \ТО \(Номер=38) \ЕСЛИ (Список3=Номер) \ТО \(Имя3=Массив(Номер)) \ЕСЛИ (Список3=Номер) \ТО \(Номер=51) \ЕСЛИ (Список3>Номер) \ТО \(Номер=Номер+1) \) //Второй цикл, перемешиваем имена. //Не обязательно, но желательно - для разнообразия имён //При желании, хватит и 25 первых строчек кода \(Имя01=Имя1) \(Имя02=Имя2) \(Имя03=Имя3) \(Условие=1) \(Условие1=1) \(Условие2=1) \(Условие3=1) //Разбивает цикл на 3 этапа \(Имена=\(АПЕРО.случайно(99))) \ЦИКЛ(Условие<2) \СДЕЛАТЬ ( //Если число <34 То порядок имён один //Соотв, >34 или >67, то другой. \ЕСЛИ (Имена<34) \ТО \ЦИКЛ (Условие3<2) \СДЕЛАТЬ ( \(Имя3=Имя01) \(Имя2=Имя02) \(Имя1=Имя03) \(Условие3=Условие3+1) \) \ЕСЛИ (Имена>34) \ТО \ЦИКЛ (Условие2<2) \СДЕЛАТЬ ( \(Имя2=Имя01) \(Имя1=Имя02) \(Имя3=Имя03) \(Условие2=Условие2+1) \) \ЕСЛИ (Имена<67) \ТО \ЦИКЛ (Условие1<2) \СДЕЛАТЬ ( \(Имя1=Имя01) \(Имя3=Имя02) \(Имя2=Имя03) \(Условие1=Условие1+1) \) \(Условие=Условие+1) \) //Доп имена для животных //Сделаны проще - через \ЕСЛИ //Но если имён хотите много - надо цикл \(Животное=\(АПЕРО.случайно(6))) \ЕСЛИ (Животное=1) \ТО \(Животное="Собака") \ЕСЛИ (Животное=2) \ТО \(Животное="Кошка") \ЕСЛИ (Животное=3) \ТО \(Животное="Тёща") \ЕСЛИ (Животное=4) \ТО \(Животное="Квочка") \ЕСЛИ (Животное=5) \ТО \(Животное="Игуана") \ЕСЛИ (Животное=6) \ТО \(Животное="Свекровь") //-------- //А вот, и сами примеры. [table] [tr] [td #9999ff]У \(Имя01) была \(Животное), Он(а) её очень любил(а). \(Животное) сьела кусок мяса, Он(а) её прибил(а).[/td] [td #ff9999]У \(Имя01) украли кларнет. А у \(Имя02) украли кораллы. Не было у \(Имя01) кларнета, Тогда у \(Имя02) кораллов нету. Сказали, что у и \(Имя03) тоже.[/td] [/tr] [/table] \(Запуск, Раздать Имена) \(Конец, Продолжить) --- \СТОП \Конец Это всё - конец примера. Код открыт и описано, Что - да как было сделано. Спасибо. Лайк :) \(АПЕРО.конец=1) \СТОП \запуск \(Массив=("Винни-Пуха";"Алладина";"Джафара";"Яго";"Умки")) \(Номер=\(АПЕРО.случайно(1;5))) \(Имя=Массив(Номер)) Спроси имя у \(Имя)? \СТОП