Рандомная алхимия v1.2
В этом моде 62 элементов и 43617 реакций. Автор: pqr88888.Здесь можно соединять **любые два элемента** --- Если Вы нашли какую-нибудь забавную реакцию - напишите в комментариях --- v1.1 Добавлены реакции с двумя одинаковыми элементами v1.2 Добавлены реакции с тремя элементами
Ссылка на этот мод:
Код для вставки в блог или на сайт
Список версий
Статистика:
В этот мод играли 6885 раз.Зарегистрированных пользователей играло: 1184.
Добавили в «любимые»: 30 ( Ещё... )
Не все соединяются, не выходит соединить 2 одинаковых
Так и должно быть...
Изменено. Теперь можно соединять два одинаковых элемента
очень прикольно 60 из 62 открыла ничего не использовала
Габибат Алибекова,
Спасибо за комментарий
Это 1953 реакции, КАРЛ!
Максим Фомин, Это 1953 БЕСПОЛЕЗНЫЕ реакции и целая куча БЕСПОЛЕЗНО потраченного времени!
KTOTO, это не целая куча бесполезно потраченного времени.
На создание мода ушёл примерно час, реакции создавались с помощью генератора (программы, которая создаёт код, который просто потом копируется в текстовый редактор).
А вот реакции действительно бесполезные :)
pqr88888, Тогда уже совсем оценку не за что ставить. Ну да ладно, живи уж)
Но кому-то же понравилось. Не зря 10 пятёрок стоят :)
Если интересно, могу написать код генератора в комментариях.
pqr88888, Не думаю конечно что мне он пригодится, но посмотреть на него было бы интересно)
ОК
r = open('c.in', 'r')
w = open('c.out', 'w')
w2 = open('c2.out', 'w')
import random
random.seed()
S = []
n = int(r.readline())
m = 0
st = ""
x = ""
for i in range(0,n):
s = r.readline()
if (i<n-1): s = s[:len(s)-1]
S.append(s)
for i in range(0,n):
for j in range(i+1,n):
m = random.randint(0,n-1)
st = S[m]
if (i==n-2) and (j==n-1):
x = ' "'+S[i]+'+'+S[j]+'": ["'+st+'", "'+S[i]+'", "'+S[j]+'"]'
else:
x = ' "'+S[i]+'+'+S[j]+'": ["'+st+'", "'+S[i]+'", "'+S[j]+'"],'
a = w.write(x+'\n')
for i in range(0,n):
m = random.randint(0,n-1)
st = S[m]
x = ' "'+S[i]+'+'+S[i]+'": ["'+st+'", "'+S[i]+'", "'+S[i]+'"],'
a = w.write(x+'\n')
print(x)
r.close()
w.close()
Скопировалось без табуляции.
Входные данные из файла c.in, выходные из файла c.out. Файлы должны быть в той же папке.
В c.in пишется число элементов, затем все элементы на разных строках.
В c.out выводится список реакций.
Код на python 3.
На 12,13,14,16,25,26,27,28,29 строке должен быть один Tab.
На 17,18,19,21,23 строке два Tab(а).
На 20,22 строке - 3 Tab(а). Иначе не работает.
Таким образом можно создать подобный мод на большее число элементов.
Оу... мне этого не понять... Откуда ты это взял? Сам придумал?
Да
pqr88888, Вау! Да ты прям проф программист! Не думал заняться чем то более масштабным чем написание кодов для рандомных реакций? - Например мог бы открывать новые возможности алхимии и делать с ними моды; я просто уверен что в текстовом редакторе можно сделать гораздо больше всего чем написано!
С помощью генераторов можно сделать множество однообразных реакций. Например, если есть несколько человек, несколько противников, характеристики, система боя, то можно сделать генератор, который обрабатывает соединение каждого человека с каждым противником.
лава и спирт=дерево!!!
pqr88888, а КТОТО прав, открывай новые возможности алхимии может даже норм игру (не в алхимии создашь) кинешь ссылку если что
планктон+планктон=огнестрельное оружие :)
Сделай реакции с тремя элементами.
С тремя?
Тогда в моде будет +37820 реакций.
Ок. Сделаю в ближайшие дни.
Сделано. Теперь в моде 43617 реакций.
pqr88888, 43617 реакций это конечно круто, но в чём смысл?
pqr88888, Прикольно. Спасибо ^_^
В моде 43617 реакций. 4+3+6+1+7=21. 43617 оканчивается на 7. 21:7=3. У треугольника 3 угла. ИЛЛЮМИНАНТЫ ПРИСЛЕДУЮТ НАС!!!
:)
Opbyzorixop, а не проще ли просто выявить в числе 43617 цифру три?
Открыл все элементы, было очень весело! 5.
BlackEldar, спасибо
DemonFoxovichLoveAnimals, Так не интересно:-)
Opbyzorixop, ну, как-бэ да.
pqr88888, r = open('c.in', 'r')
w = open('c.out', 'w')
w2 = open('c2.out', 'w')
import random
random.seed()
S = []
n = int(r.readline())
m = 0
st = ""
x = ""
for i in range(0,n):
s = r.readline()
if (i<n-1): s = s[:len(s)-1]
S.append(s)
for i in range(0,n):
for j in range(i+1,n):
m = random.randint(0,n-1)
st = S[m]
if (i==n-2) and (j==n-1):
x = ' "'+S[i]+'+'+S[j]+'": ["'+st+'", "'+S[i]+'", "'+S[j]+'"]'
else:
x = ' "'+S[i]+'+'+S[j]+'": ["'+st+'", "'+S[i]+'", "'+S[j]+'"],'
a = w.write(x+'\n')
for i in range(0,n):
m = random.randint(0,n-1)
st = S[m]
x = ' "'+S[i]+'+'+S[i]+'": ["'+st+'", "'+S[i]+'", "'+S[i]+'"],'
a = w.write(x+'\n')
print(x)
r.close()
w.close()
pqr88888 (автор) обратиться 27 декабря 2015 г. 19:55:38
Скопировалось без табуляции.
Входные данные из файла c.in, выходные из файла c.out. Файлы должны быть в той же папке.
В c.in пишется число элементов, затем все элементы на разных строках.
В c.out выводится список реакций.
Код на python 3.
На 12,13,14,16,25,26,27,28,29 строке должен быть один Tab.
На 17,18,19,21,23 строке два Tab(а).
На 20,22 строке - 3 Tab(а). Иначе не работает.
Таким образом можно создать подобный мод на большее число элементов.
сделай гайд
Крутая игра нашел только 61 из 62
Полторы минуты заняло полное прохождение лол.
Ютуб, го подскажу чего не хватает?
Забавная Медь+Огонь+Тайфун=Пар моя последняя реакция(случайно соединял).
Team, методом "это сюда так быстро быстро ещё ещё ну то есть элементы друг на друга и получается их очень много" я нашёл 61 элемент, Пар нашёл подсказкой.
Прямо как я мечтал,соединять ЛЮБЫЕ ДВА ЭЛЕМЕНТА!
Планктон+Планктон=огнестрельное оружие
огнестрельное оружие+огнестрельное оружие=спирт
>сделай гайд<
>
r = open('c.in', 'r')
w = open('c.out', 'w')
<
В этих строках программы указывается входной файл
(с названиями элементов) c.in, и выходной файл, куда
после работы программы будут записаны реакции.
>
import random
random.seed()
<
Загружается генератор случайных чисел
>
S = []
n = int(r.readline())
m = 0
st = ""
x = ""
<
Задаются нулевые значения некоторых переменных, а также считывается кол-во
элементов в Алхимии.
>
for i in range(0,n):
s = r.readline()
if (i<n-1): s = s[:len(s)-1]
S.append(s)
<
Все элементы из файла считываются в массив S
(Например, S=["вода","огонь","земля","воздух"])
>
for i in range(0,n):
for j in range(i+1,n):
m = random.randint(0,n-1)
st = S[m]
if (i==n-2) and (j==n-1):
x = ' "'+S[i]+'+'+S[j]+'": ["'+st+'", "'+S[i]+'", "'+S[j]+'"]'
else:
x = ' "'+S[i]+'+'+S[j]+'": ["'+st+'", "'+S[i]+'", "'+S[j]+'"],'
a = w.write(x+'\n')
<
Происходит переход от набора элементов до реакций
>
for i in range(0,n):
m = random.randint(0,n-1)
st = S[m]
x = ' "'+S[i]+'+'+S[i]+'": ["'+st+'", "'+S[i]+'", "'+S[i]+'"],'
a = w.write(x+'\n')
<
Реакции между одинаковыми элементами
>
print(x)
<
Вывод этих реакций на экран
>
r.close()
w.close()
<
Закрытие файлов.
Пример работы:
Входные данные в файле 'c.in':
4
земля
огонь
вода
воздух
Выходные данные в файле c.out:
"земля+огонь": ["огонь", "земля", "огонь"],
"земля+вода": ["вода", "земля", "вода"],
"земля+воздух": ["вода", "земля", "воздух"],
"огонь+вода": ["воздух", "огонь", "вода"],
"огонь+воздух": ["огонь", "огонь", "воздух"],
"вода+воздух": ["воздух", "вода", "воздух"]
"земля+земля": ["земля", "земля", "земля"],
"огонь+огонь": ["земля", "огонь", "огонь"],
"вода+вода": ["огонь", "вода", "вода"],
"воздух+воздух": ["земля", "воздух", "воздух"],
Есть небольшая ошибка с запятыми, но эту ошибку можно исправить вручную
Аффтар, можете сделать мне конкретную рандомную реакцию? Реагенты Пещерный человек, Лес и Время (между собой они не должны быть рандомными, только вместе, только если их все 3 соединить получится определённый результат), а продукты реакции — ягоды, грибы, фрукты, злаки.
А то я мало что поняла из вашего гайда, хех
Если я правильно понял комментарий, то нужно сделать так, чтобы при соединении "человек+лес+время" появлялся один из четырёх случайных элементов. Так сделать не получится, потому что реакции с одинаковыми элементами всегда будут с одинаковым результатом. Можно сделать несколько элементов "лес", и результаты этих реакций будут идти в определённой последовательности:
человек+лес[1]+время=человек, лес[2], время, ягоды
человек+лес[2]+время=человек, лес[3], время, злаки
Суть этого мода не в том, что результат одной реакции будет случайным (что сделать невозможно), а в том, что можно соединять любой элемент с любым
pqr88888, понятно, спасибо
pqr88888, здравствуй! Если ты обладаешь таким опытом в программировании, может ты сделаешь что-то вроде "компилятора" модов на алхимию? Я даю словарь с реакциями, а это все переводится на язык jd. Пример словаря - {("огонь", "воздух"):"Энергия", ("Энергия","Болото"): ("Жизнь", "Человек")}
Арам Мардоян, вот ссылка, откуда можно скачать программу:
https://drive.google.com/open?id=0BzruYk9cQ0X-ZmctS2I1R0dIdVk
Формат записи реакций в словаре немного изменён, реакции записываются без фигурных скобок и не разделяются запятыми, а записываются на разных строчках.
Извините за это, но я вам взамен тоже поставил один. Если хотите, чтобы элементы оставались после реакций - то просто сделайте их статиками.
Кстати, я отменю эту оценку, только коргда поиграю, и наслажусь. А если дерьмо будет - не отменю.
отменил