[2D] TradukoLudo Жанр: языковый тренажер Игровой движок: Unity 5 Вид: от первого лица Сюжет: игрок приходит в клуб, садится за игровой стол. Рандомно выбирается слово. Сначала нужно с помощью наводящих подсказок угадать, что это за слово, затем правильно перевести его. Во время угадывания можно выбирать события (пока только парочку придумал), которые могут как уменьшить, так и увеличить очки игрока. Играть можно вдвоем (не по сети, просто за одним компьютером, пошагово), так даже будет интереснее, можно соревноваться, кто быстрее переведет. Платформа: Windows, оконный режим 800х600. Мой уровень: в Unity нулевой. Изучаю почти месяц. Знаю Бейсик и Паскаль. Всюду и всегда говорю, что люблю Бейсик (правда, после этого ко мне начинают относиться пренебрежительно, ну и пусть! ). В профи не мечу, программирую для удовольствия по 1-2 часа в день, поэтому в команду не зову, но буду очень рад всем за помощь в любой форме (в сценарии, подборе картинок, звуков, конструктивной критике кода, преодолении затруднений с кодом). Проект выложу на Dropbox, скачивать смогут все, а у кого там есть аккаунт, может будет оперативно отслеживать изменения кода без дополнительного скачивания всего проекта заново.
Добавлено (22 июля 2016, 11:58) --------------------------------------------- То, что сделано (очень немного) скомпилировал и выложил здесь: https://www.dropbox.com/s/1f7zkoq7pdkji1h/Tradukoludo.exe?dl=0
Ну а здесь сам проект. Наверняка, ужасен. Некоторые части даже толком не понял, т.к. тупо скопировал их с форума. https://www.dropbox.com/sh/adahqxd8fxxtrlc/AAACvqUhkuZw00qzydLH_IwDa?dl=0
19.08.2016 Папку с проектом Юнити пока не обновляю, т.к. все-равно никто ее не смотрит, а на синхронизацию время зря тратить не хочу. Если кому будет интересно, напишите, выложу. Откомпилированный файл буду выкладывать не на Дропбокс, а на родной Яндекс: https://yadi.sk/d/mGQvDTLotEhcr
Сообщение отредактировал Сталекс - Пятница, 19 Августа 2016, 18:49
Да, я знаю. Но рассчитываю на узкую аудиторию - на начинающих эсперантистов. Я сам начал изучать эсперанто, ну а поскольку люблю программировать, то решил и совместить два увлечения. Просто так программировать - выполнять учебные задания, как-то не очень увлекательно, а так гораздо веселее. Можно было бы написать такую простую программу и на знакомом мне языке, но как раз и из-за ее простоты и решился писать ее на новом языке программирования. Самому польза, да и может другим начинающим эсперантистам пригодится.
Спасибо, будет время, поиграю. Нового пока ничего не делал. Решил немного подчистить то, что уже сделано. Столкнулся с трудностью. Список игроков считываю в list users (скрипт Gard). Теперь он нужен в другой сцене. Хотел сделать его static, но не получается. Видно из-за того, что свой собственный класс MyClass использую.
Код
public class MyClass //имена игроков и их деньги { public MyClass(int mon, string nomo) { this.mon = mon; this.nomo = nomo; } public string nomo; public int mon; } public List<MyClass> users = new List<MyClass>();
void Start() {
//считывание таблицы членов клуба File.ReadAllLines("D:/Unity/Zamenhof/Assets/Text/Ludantoj.txt").ToList().ForEach (sr => { var arr = sr.Split(',');//разделитель до которого считываем MyClass nl = new MyClass(int.Parse(arr[0]), arr[1]); users.Add(nl); }); }
Хочу переделать теперь на static Dictionary. Можно было бы считать его заново, но делать так в каждой сцене - мне кажется, что это неправильный подход будет.
Сообщение отредактировал Сталекс - Понедельник, 25 Июля 2016, 11:40
Всё зависит от реализации. Вот например есть две очень классные текстовые игры: "The Martian: Bring Him Home" и "Lifeline". Советую поиграть.
В каждом жанре есть несколько хитов. Но я про общую массу. Аудитория в разы ниже, чем у тех же шутеров, раннеров или файтингов. => там сложнее сделать хит. Дао, выраженное словами, не есть истинное Дао.
Переделал List на Dictionary. Полдня возился с его сортировкой. Нужна сортировка по убыванию. Пытался использовать OrderByDescending, но не смог понять, куда и как ее писать. Потом нашел Reverse. Вот с ним все получилось.
Код
//вывод таблицы игроков ICollection<int> keys = Global.Spis.Keys; foreach (int s in keys.Reverse()) { if (Global.lnomo1 != Global.Spis[s]) {...
Добавлено (31 июля 2016, 15:56) --------------------------------------------- Опять переделывал список игроков. Ключ был по очкам игрока, но потом понял, что так нельзя - количество очков может быть одинаковым у некоторых игроков. Сделал ключом имя игрока. Ну и пришлось из-за этого кучу изменений вводить.
Список переделал. Двигаюсь дальше.
Добавлено (03 августа 2016, 12:17) --------------------------------------------- Есть добавление в программе. Поскольку в сцене регистрации нового игрока спрашивается, сколько у него с собой денег, то скорее всего, все будут указывать максимальное число. Поэтому ввел дополнительную проверку. Чем больше сумму вводит игрок, тем больше вероятность, что девушка ему не поверит .и проверит. Если сумма в пределах сотни, то наверняка она ему поверит. Ссылка та же: https://www.dropbox.com/s/1f7zkoq7pdkji1h/Tradukoludo.exe?dl=0
Добавлено (07 августа 2016, 14:25) --------------------------------------------- Почти закончил блок регистрации нового игрока.
Добавлено (11 августа 2016, 15:25) --------------------------------------------- Да... вот блок почти закончил, но придется похоже все заново начинать. Делал на основе множества маленьких сцен, думал, так проще будет отлаживать. Но возникли проблемы с передачей информации между сценами. Разобрался со всем, кроме "источника звука". В первой сцене я сделал его DontDestroyOnLoad. Но так и смог найти, как его включать/выключать в других сценах. Нашел только Destroy, что мне не очень подходит. Попробую теперь сократить число сцен, делать их более масштабными. И похоже, что никто не следит за моими мученическими попытками что-то сваять)). Поэтому не буду заливать проект для открытого доступа. Хоть и не слишком много времени это занимает, но все-равно надоедает необходимость частой синхронизации.
Добавлено (19 августа 2016, 18:57) --------------------------------------------- Переписываю все с нуля в одной сцене. Пока еще не сделал того, что было ранее. Долго стоял на поисках того, как программно изменять содержимое UI Text. Вот сегодня нашел, как это делается. Готов только выбор игроков из списка. Теперь начну делать блок регистрации нового игрока. --------------------- 12.09.16 Почти полмесяца ничего не делал - комп сломался, вот только вчера запустил. Теперь буду потихоньку продолжать.
Сообщение отредактировал Сталекс - Понедельник, 12 Сентября 2016, 10:05
Ужас!!! Оказывается, мой откомпилированный файл работает совсем не так, как надо (можно сказать, что вообще не работает). Но что самое странное - в режиме тестирования все идет как надо! Не могу понять в чем дело. Придется начинать все заново (уже в третий раз!) и компилировать на каждом шаге, чтобы выловить, на каком месте начинается сбой!