Воскресенье, 21 Июля 2019, 12:12

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 33
  • 1
  • 2
  • 3
  • 32
  • 33
  • »
Форум игроделов » Записи участника » DivES [643]
Результаты поиска
DivESДата: Воскресенье, 07 Июля 2019, 02:28 | Сообщение # 1 | Тема: Ищу 3д двиг
Blender 2.49b user
Сейчас нет на сайте
Aizark, могу посоветовать попробовать Blender 3D (как и всегда, собственно, советую). Версии, 2.7x и ниже, так как, к сожалению, насколько я слышал, в последующих развитие или даже поддержку игрового движка Blender Game Engine убрали.
Что мы имеем? Полный 3d пакет (да и не только 3d, программу можно использовать даже как видео-редактор!).
Отсюда: моделирование, текстурирование, риггинг, создание сцен, и запуск игры, -- всё в одном окне.
За "игровую" часть тут отвечает упомянутый выше BGE, представленный в первую очередь визуальным программированием.
Собираем "логические" кирпичики и наши 3d-объекты обзаводятся поведением.
"Самая базовая" (в кавычках, так как с этим я бы поспорил, так как знаю скриптовую реализацию) камера реализуется тремя подобными кирпичиками, например. Для более продвинутого уровня конечно же существует привязка скриптов, тут они на Python (если надумаешь начать программировать, то это один из самых простых языков для новичка).
В общем, не попробуешь -- не узнаешь.
Но факт остаётся фактом: сделать простенькую с точки зрения механики и хорошую визуально игру можно и без помощи программирования!
^_^
DivESДата: Суббота, 29 Июня 2019, 23:14 | Сообщение # 2 | Тема: Помогите определиться с выбором профессии
Blender 2.49b user
Сейчас нет на сайте
afq, месяцы, годы пройдут, прежде чем инди-проект принесёт хотя бы какой-то заработок (если, конечно, вообще принесёт).
Web-разработка -- заработок стабильный: или по выполнению заказа, или, если работаешь в компании, по дням выдачи зарплаты.

Вообще, повезти может как в одном, так и в другом. Но, всё же, для того, чтобы была возможность разработки своего инди-проекта, прежде всего нужен стабильный заработок, чтобы на него жить банально. И даже если этот инди-проект будет завершён, совсем не факт, что он принесёт хотя бы что-нибудь.
DivESДата: Суббота, 29 Июня 2019, 22:38 | Сообщение # 3 | Тема: Помогите определиться с выбором профессии
Blender 2.49b user
Сейчас нет на сайте
afq, что ж, раз уж это "Флейм", то могу посоветовать Вам профессию программиста!

Добавлено (29 Июня 2019, 22:42)
---------------------------------------------
Ну а если серьёзно:
Если хотите программировать из дома, то можно попробовать фриланс.
Об образовании никто не спросит, заказчикам важен лишь опыт и скорость. Посему крайне необходимо наработать портфолио.
Оно должно включать какие-нибудь типовые проекты, алгоритмы или страницы сайтов, в зависимости от того, в какой области и на каком языке программирования хотите работать.

DivESДата: Среда, 13 Февраля 2019, 23:22 | Сообщение # 4 | Тема: Вопрос-Ответ (C++)
Blender 2.49b user
Сейчас нет на сайте
allods, как и написал drcrack, это - список инициализации.
Можешь поискать по запросу "список инициализации классов c++" ^_^
DivESДата: Среда, 13 Февраля 2019, 22:45 | Сообщение # 5 | Тема: Вопрос-Ответ (C++)
Blender 2.49b user
Сейчас нет на сайте
allods, что именно интересует? EventCondition? Или стиль присваивания через m_Name(name)?
DivESДата: Среда, 13 Февраля 2019, 00:10 | Сообщение # 6 | Тема: Вопрос-Ответ (C++)
Blender 2.49b user
Сейчас нет на сайте
Цитата allods ()
А 1 байт это замок номер 1. то есть 011111111 я знаю что этого замка в списке уже нет. Если 255 то значит 511-255 = 256 а это последний замок. то значит 111111110.

В двоичной системе исчисления самый старший разряд - крайний левый (то есть в 0111 1111 самым старшим является 0, самым младшим - крайняя справа единица).
Так что отсутствие замка под номером один (обозначаемого 1 битом) будет выглядеть как 111111110.
Так же как и отсутствие десятого замка (256 бит) будет выглядеть как 011111111.
Возможно, подтолкнёт на какие-либо мысли. Если, конечно, ещё есть неразрешённые вещи в этом твоём коде :)


Сообщение отредактировал DivES - Среда, 13 Февраля 2019, 00:13
DivESДата: Вторник, 12 Февраля 2019, 23:39 | Сообщение # 7 | Тема: Вопрос-Ответ (C++)
Blender 2.49b user
Сейчас нет на сайте
allods, а как ты преобразовываешь тот код, что уже показывал?
Я вот лично пока что не вижу реализации твоей идеи через тот код :(

Добавлено (12 Февраля 2019, 23:40)
---------------------------------------------

Цитата allods ()
если не стирать нули

Где именно стирать?
DivESДата: Вторник, 12 Февраля 2019, 23:14 | Сообщение # 8 | Тема: Вопрос-Ответ (C++)
Blender 2.49b user
Сейчас нет на сайте
Цитата allods ()
собственно для проверки я могу просто разобрать 111111111 в Лист
и через цикл проверить 0 или 1 ? я правильно понял ?

Разобрать конечно можно и проверить тоже, если это требуется.
Но по идее, двоичный 0 он и в Африке - ноль (в десятичной системе, имеется в виду).
То есть, 0 (в десятичной) = 0 (тут и далее - в двоичной) = 00 = 000 = 0000 =...
То есть, проверка if (двоичное число) будет срабатывать только в том случае, когда в этом двоичном числе есть хотя бы одна единичка :)

Добавлено (12 Февраля 2019, 23:23)
---------------------------------------------

Цитата allods ()
players[i].allowedFactions.erase(fact); и еще что такое erase
я посмотрел и насколько я понял оно убирает значение == fact ?

По этому поводу ничего не скажу, не совсем понимаю, с чем мы работаем. Но судя по названию функции/ метода она и правда "стирает" значение.
Цитата allods ()
вообщем странно немного. С этим кодом что я написал в самом начале. Я получаю не в двоичной системе не 111111111 а 511
в итоге все остальне не работает. Так как я не вижу преобразования 511 в 111111111
В итоге если преобразовать в двоичую систему все сходится. Или я что то не понял

Преобразовывать не нужно, по идее. Раньше ведь всё работало?
DivESДата: Вторник, 12 Февраля 2019, 22:38 | Сообщение # 9 | Тема: Вопрос-Ответ (C++)
Blender 2.49b user
Сейчас нет на сайте
allods, 123456789 в двоичной системе это 111010110111100110100010101.
Побитовые операции на то и побитовые, что работают с битами :D
То есть числа всегда прежде переводятся в соответствующую систему координат.
По поводу 111010110111100110100010101 << 5... результат такой: 11101011011110011010001010100000 (в двоичной) или 3950617248 (в десятичной). Проверил на C++ и через перевод из одной системы в другую.
Как видишь, в данном случае всё сдвинулось влево на пять знаков.
Но для правильной работы мне пришлось работать с типом long int.
В твоём же случае работа идёт с ui16, то есть unsinged int. При этом в двоичной записи там сможет поместиться лишь 16 бит, насколько я понимаю :)

Добавлено (12 Февраля 2019, 22:46)
---------------------------------------------

Цитата allods ()
а здесь почему ui16 ? в чем его фишка

Я уже успел опередить этот вопрос своим ответом, но ещё дополню.

Смотри, 65535 (десятичное) - верхний предел типа unsigned int (ui16).
В двоичном виде это 1111111111111111 (их 16).
Если мы попытаемся сдвинуть значение переменной этого типа на один влево (<< 1), то получим 1111111111111110, так как биты, сдвинутые за пределы - теряются.
1111111111111111 << 3 = 1111111111111000,
1111111111111111 << 8 = 1111111100000000 (ровно до "половины") и так далее :)

Добавлено (12 Февраля 2019, 22:50)
---------------------------------------------
Кстати, сначала меня ввело в заблуждение ui16. Потому что эта аббревеатура означает unsigned int (а он 32-ух битный).
В то время как usi16 было бы логичнее - unsigned short int :)

Добавлено (12 Февраля 2019, 22:58)
---------------------------------------------
Кстати, ui16 - это просто своего рода псевдоним типа данных.
Мы сами можем задать свой псевдоним используя typedef:

Код
typedef unsigned short int ui16;

- как в твоём случае, например :)
То есть typedef тип имя;
DivESДата: Вторник, 12 Февраля 2019, 22:11 | Сообщение # 10 | Тема: Вопрос-Ответ (C++)
Blender 2.49b user
Сейчас нет на сайте
allods, объяснить в точности не смогу, но "помочь понять", как просишь - постараюсь :)
Начнём с &. Это поразрядная конъюнкция (или умножение).
То есть, если взядь два числа, например 110 и 100, то результатом 110 & 100 будет 100.
Возьмём 110 и 010, результат 110 & 010 = 10. Результат равен "умножению" чисел.
1*0 = 0, 1*1 = 1, 0*0 = 0 -> получаем 10, так как 0 слева отбрасывается. Объяснил, как смог, в остальном можешь почитать на тему конъюнкции!

Далее идёт <<. Это побитовый сдвиг. Тут понять проще.
01 << 1 = 10 (в двоичной) или 2 (в десятичной).
0010 << 1 = 0100.
0110 << 1 = 1100.
0110 << 2 = 1000. (биты, сдвинуты за пределы - теряются)
То есть просто перемещаем битовые значения по разрядам.

Ну а теперь мы подошли к пониманию этой условной конструкции. Она будет срабатывать до тех пор, пока значение во внутренних скобках будет равняться нулю. Ведь только в этом случае значение во внешних скобках будет принимать значение истины.
Поправьте, если ошибся ^_^

Добавлено (12 Февраля 2019, 22:25)
---------------------------------------------
(allowedFactions & (1 << fact)) - внутренние скобки;
(!(allowedFactions & (1 << fact))) - внешние.
Вот что имелось в виду :)

DivESДата: Среда, 06 Февраля 2019, 09:23 | Сообщение # 11 | Тема: Хочу делать любые 3D игры! С чего начать?
Blender 2.49b user
Сейчас нет на сайте
Logos300, Blender 3D. По сути - 3D редактор (с множеством других функций), в котором имеется свой игровой движок Blender Game Engine.
Моделируем -> размещаем объекты на сцене -> "прописываем" игровую логику -> запускаем -> играем!
В качестве скриптового языка программирования используется Python.
DivESДата: Суббота, 26 Января 2019, 17:38 | Сообщение # 12 | Тема: Помогите наладить прыжок.
Blender 2.49b user
Сейчас нет на сайте
Тут, как минимум, опечатка в "Ground":
Код
void OnCollisionEnter2D (Collision2D collision){
        if(collision.gameObject.tag == "Groung")
         isGrounded = true;

Да и вообще. Почему два метода при столкновении с поверхностью земли одновременно присваивают и true, и false флагу isGrounded?
Хотя, наверное я не понимаю Unity ^_^

Добавлено (26 Января 2019, 17:43)
---------------------------------------------
Хотя, видимо ...Enter2d срабатывает при столкновении, а ...Exit2d - при "отсутствии" столкновения. В таком случае, попробуй и правда опечатку убрать :)

DivESДата: Четверг, 24 Января 2019, 15:29 | Сообщение # 13 | Тема: Нахождение среднего значения и стандартного отклонения
Blender 2.49b user
Сейчас нет на сайте
graniza, можно поподробнее? Желательно с кодом :)
DivESДата: Четверг, 24 Января 2019, 14:53 | Сообщение # 14 | Тема: Нахождение среднего значения и стандартного отклонения
Blender 2.49b user
Сейчас нет на сайте
graniza, трудности с добавлением этих двух параметров?
DivESДата: Четверг, 24 Января 2019, 12:22 | Сообщение # 15 | Тема: Нахождение среднего значения и стандартного отклонения
Blender 2.49b user
Сейчас нет на сайте
С числом ходов да, скорее всего от discard. А для среднего числа точек принятия решения я бы ввёл новую переменную в этом if-е:
Код
# Place card in it's corresponding spot if game isn't over yet
        if (None in board) and (len(discard)<6):

Ведь по идее именно тут происходит принятие решения. Или я не прав?


Сообщение отредактировал DivES - Четверг, 24 Января 2019, 12:23
DivESДата: Четверг, 24 Января 2019, 11:43 | Сообщение # 16 | Тема: Нахождение среднего значения и стандартного отклонения
Blender 2.49b user
Сейчас нет на сайте
Irbis, блин, а ведь точно! Не обратил внимания на то что на форуме отступы съехали. Посмотрел, что синтаксис подсветился и отправил :D
Сейчас должно быть правильно:


Сообщение отредактировал DivES - Четверг, 24 Января 2019, 11:47
DivESДата: Четверг, 24 Января 2019, 10:58 | Сообщение # 17 | Тема: Нахождение среднего значения и стандартного отклонения
Blender 2.49b user
Сейчас нет на сайте
graniza, в Geany, это обычный блокнот.
Нужно чётко выставить расположение блоков с помощью табуляций, заменив ими (табуляциями) появившиеся после копирования пробелы.
Сам столкнулся с этим, когда копировал код отсюда :o

Добавлено (24 Января 2019, 11:10)
---------------------------------------------
drcrack, ошибка "unindent does not match any outer indentation level", проверяй :D

DivESДата: Среда, 23 Января 2019, 23:48 | Сообщение # 18 | Тема: Нахождение среднего значения и стандартного отклонения
Blender 2.49b user
Сейчас нет на сайте
graniza, вечером? Я только с работы вечером вернусь :(
Попробую сейчас дописать, что смогу. Не отвечай, я просто дополню сообщение!

Добавлено (24 Января 2019, 00:13)
---------------------------------------------
Тут старый код:


Добавлено (24 Января 2019, 00:14)
---------------------------------------------
Первые две строчки можешь удалить, они для работы кириллицы в Linux.
И да, не забывай про важность табуляций в Python ^_^
Можешь успеть спросить что-нибудь, пока я не ушёл)

Добавлено (24 Января 2019, 00:53)
---------------------------------------------
Код
from random import randint
from statistics import mean, stdev, pvariance

# 52 deck of cards ranked 1-13
# shuffle the deck at game start
# board of 10 spots
# discard pile
# rank: ace=low k=high
# when placing card, every space to left is empty or lower rank
# every space to right is empty or higher rank
# loss = 6th discard
# win = at least one card on every spot on board

lossCount = 0;
winCount = 0;

#Список полученных результатов (очков):
scoresList = list();

#Даём пользователю возможность ввести количество пасьянсов
#(без каких-либо проверок: ожидаем, что пользователь не дурак и введёт число)
solitaireCount = input("Введите количество пасьянсов: ");

for z in range(0, solitaireCount):
    # new deck
    deck = list();
    # new discard pile
    discard = list();
    # 4 of each card
    for i in range(1,5):
  for x in range(1,14):
   deck.append(x);

    # shuffling the deck
    for z in range(0,51):
  w = randint(z,51)
  tempCard = deck[z];
  deck[z] = deck[w];
  deck[w] = tempCard;

    #print deck;
    #print len(deck);

    # Initializing the board
    board = [None]*10;
    # Automating card draws from the deck
    for i in range(0,51):
  #print board;
  card = deck.pop();

  # Place card in it's corresponding spot if game isn't over yet
  if (None in board) and (len(discard)<6):
   if len(board)>=card:
    board[card-1] = card;
   else:
    discard.append(card);

    # Loss conditions
    if len(discard)==6:
  lossCount +=1;
  print ("Поражение!");

    # Win conditions
    if ((None in board) == False):
  winCount +=1;
  print ("Победа! :)");

    #Записываем результат в список:
    score = 0;
    for curCard in board:
  if (None != curCard):
   score += curCard;
    scoresList.append(score);

    print (board)
    print (discard)
print (winCount);
print ("% побед: " + str((100*float(winCount)/float(solitaireCount))) +"%\n");

#Записываем результаты в файл:
print ("Записываем результаты в текстовый файл... \n");
with open("scores_out.txt", "w") as file:
    for line in scoresList:
  file.write(str(line) + "\n")
    file.close();

#Считываем результаты из файла в список:
print ("Считываем результаты из текстового файла... \n");
scoresFromFile = [];
with open("scores_out.txt", "r") as file:
    for line in file:
  scoresFromFile.append(line.strip());
    file.close();

print ("Работаем со статистикой... \n");
mean = mean(scoresList);
pvariance = pvariance(scoresList);
stdev = stdev(scoresList);

#Записываем полученную статистику в файл:
print ("Записываем полученную статистику в конец файла... \n");
with open("scores_out.txt", "a") as file:
    file.write("Mean = " + str(mean) + "\n");
    file.write("Pvariance = " + str(pvariance) + "\n");
    file.write("Stdev = " + str(stdev) + "\n");
    file.close();

А вот и новый вариант с действующей статистикой (надеюсь, я всё сделал правильно :D ) и с записью/чтением файла. Пусть и без тех дополнительных данных.
Парочка моментов:
1. Будет ругаться на кириллицу - замени все слова на русском (в том числе комменты) на английские.
2. По поводу многострадального statistics. Скачивай прямиком с гит-хаба, если у тебя ещё нет этого модуля.
Переходишь сюда, открывается .py файл.
Сохраняешь его (ПКМ -> "Сохранить как") прямо в папку со своим "проектом". Должен сохраниться как "statistics.py".
Ну, вроде бы всё)
Успехов тебе завтра! B)


Сообщение отредактировал DivES - Четверг, 24 Января 2019, 00:56
DivESДата: Среда, 23 Января 2019, 23:34 | Сообщение # 19 | Тема: Нахождение среднего значения и стандартного отклонения
Blender 2.49b user
Сейчас нет на сайте
graniza, оперируешь такими терминами и не можешь решить такую простецкую задачу :(
Счёт и ввод количества пасьянсов сделал.
Статистику не сделал - у меня отсутствует та самая statistics, о которою я уже трижды запнулся :D
Сегодня уже не закончу. Могу попробовать завтра, если ещё поздно не будет)


Сообщение отредактировал DivES - Среда, 23 Января 2019, 23:34
DivESДата: Среда, 23 Января 2019, 22:47 | Сообщение # 20 | Тема: Нахождение среднего значения и стандартного отклонения
Blender 2.49b user
Сейчас нет на сайте
graniza, а счёт - это число карт в списке board? (то есть 10 для победного кейса)
Или же сумма всех карт в том же списке? (то есть 55 в случае победы)
Форум игроделов » Записи участника » DivES [643]
  • Страница 1 из 33
  • 1
  • 2
  • 3
  • 32
  • 33
  • »
Поиск:

Все права сохранены. GcUp.ru © 2008-2019 Рейтинг