Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.10.2017, 09:37   #11
YbeysaOBSenky
Пользователь
 
Регистрация: 30.09.2017
Сообщений: 14
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Если надо сделать, чтобы 1000-999999 выводило как 1-999К и т.д., то смотрите примеры про КБ, ГБ и т.п., их полно.

https://stackoverflow.com/a/14488941/964478
пожалуй мне ничего не поможет
YbeysaOBSenky вне форума Ответить с цитированием
Старый 07.10.2017, 10:06   #12
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,323
По умолчанию

Цитата:
Сообщение от YbeysaOBSenky Посмотреть сообщение
я очень надеюсь что это мне поможет
Прямо сейчас попробуйте:
  • Извлечь архив Clicker.rar
  • Запустите Unity и вместо создания нового проекта выберите "Open Project" и укажите папку с распакованным архивом
  • В Unity кликните два раза по сцене "Main" в окне Assets: "Scenes" -> "Main"
  • В меню Unity выберите: "Window" -> "Editor Tests Runner"
  • В открывшимся окне кликните правой кнопкой мыши по "CutterTests" и выберите в открывшемся меню "Run"

Напишите в ответе, стали ли тесты зелёными, как на скрине:
GreenCutterTests.png


Вообще открылся ли проект. Не выскочили ли какие-нибудь ошибки.
8Observer8 вне форума Ответить с цитированием
Старый 07.10.2017, 10:31   #13
YbeysaOBSenky
Пользователь
 
Регистрация: 30.09.2017
Сообщений: 14
По умолчанию

открылось нет галочки только возле clicker

Последний раз редактировалось Alex11223; 07.10.2017 в 10:37.
YbeysaOBSenky вне форума Ответить с цитированием
Старый 07.10.2017, 10:36   #14
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Это как? Судя по скриншоту выше там может не быть галочки только если и где-то ниже ее нет.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 07.10.2017, 10:41   #15
YbeysaOBSenky
Пользователь
 
Регистрация: 30.09.2017
Сообщений: 14
По умолчанию

мой скрипт в кликере.

Код:
using UnityEngine;
using UnityEngine.UI;
using System.Collections.Generic;
using System.Collections;
using System;

public class GameClicker_v2 : MonoBehaviour {

	[Header("Текст, отвечающий за отображение денег")]
	public Text scoreText;
	[Header("Магазин")]
	public List<Item> shopItems = new List<Item> ();
	[Header("Текст на кнопках товаров")]
	public Text[] shopItemsText;
	[Header("Кнопки товаров")]
	public Button[] shopBttns;
	[Header("Панелька магазина")]
	public GameObject shopPan;

	private int score; //Валюта
	private int scoreIncrease = 1; //Бонус при клике

	

	private void Start()
	{
		
		updateCosts(); //Обновить текст с ценами
		StartCoroutine(BonusPerSec()); //Запустить просчёт бонуса в секунду
	}

	private void Update()
	{
		scoreText.text = score +  " "; //Отображаем деньги
	}


	public void BuyBttn(int index) //Метод при нажатии на кнопку покупки товара (индекс товара)
	{
		int cost = shopItems[index].cost * shopItems[shopItems[index].itemIndex].bonusCounter; //Рассчитываем цену в зависимости от кол-ва рабочих (к примеру)
		if (shopItems[index].itsBonus && score >= cost) //Если товар нажатой кнопки - это бонус, и денег >= цены(е)
		{
			if (cost > 0) // Если цена больше чем 0, то:
			{
				score -= cost; // Вычитаем цену из денег
				StartCoroutine(BonusTimer(shopItems[index].timeOfBonus, index)); //Запускаем бонусный таймер
			}
			else print("Нечего улучшать то!"); // Иначе выводим в консоль текст.
		}
		else if (score >= shopItems[index].cost) // Иначе, если товар нажатой кнопки - это не бонус, и денег >= цена
		{
			if (shopItems[index].itsItemPerSec) shopItems[index].bonusCounter++; // Если нанимаем рабочего (к примеру), то прибавляем кол-во рабочих
			else scoreIncrease += shopItems[index].bonusIncrease; // Иначе бонусу при клике добавляем бонус товара
			score -= shopItems[index].cost; // Вычитаем цену из денег
			if (shopItems[index].needCostMultiplier) shopItems[index].cost *= shopItems[index].costMultiplier; // Если товару нужно умножить цену, то умножаем на множитель
			shopItems[index].levelOfItem++; // Поднимаем уровень предмета на 1
		}
		else print("Не хватает денег!"); // Иначе если 2 проверки равны false, то выводим в консоль текст.
		updateCosts(); //Обновить текст с ценами
	}
	private void updateCosts() // Метод для обновления текста с ценами
	{
		for (int i = 0; i < shopItems.Count; i++) // Цикл выполняется, пока переменная i < кол-ва товаров
		{
			if (shopItems[i].itsBonus) // Если товар является бонусом, то:
			{
				int cost = shopItems[i].cost * shopItems[shopItems[i].itemIndex].bonusCounter; // Рассчитываем цену в зависимости от кол-ва рабочих (к примеру)
				shopItemsText[i].text = shopItems[i].name + "\n" + cost + " "; // Обновляем текст кнопки с рассчитанной ценой
			}
			else shopItemsText[i].text = shopItems[i].name + "\n" + shopItems[i].cost + " "; // Иначе если товар не является бонусом, то обновляем текст кнопки с обычной ценой
		}
	}

	IEnumerator BonusPerSec() // Бонус в секунду
	{
		while (true) // Бесконечный цикл
		{
			for (int i = 0; i < shopItems.Count; i++) score += (shopItems[i].bonusCounter * shopItems[i].bonusPerSec); // Добавляем к игровой валюте бонус рабочих (к примеру)
			yield return new WaitForSeconds(2); // Делаем задержку в 2 секунды
		}
	}

	IEnumerator BonusTimer(float time, int index) // Бонусный таймер (длительность бонуса (в сек.),индекс товара)
	{
		shopBttns [index].interactable = false; // Выключаем кликабельность кнопки бонуса
		shopItems [shopItems [index].itemIndex].bonusPerSec *= 2; // Удваиваем бонус рабочих в секунду (к примеру)
		yield return new WaitForSeconds (time); // Делаем задержку на столько секунд, сколько указали в параметре
		shopItems [shopItems [index].itemIndex].bonusPerSec /= 2; // Возвращаем бонус в нормальное состояние
		shopBttns [index].interactable = true; // Включаем кликабельность кнопки бонуса
		}
		

	public void showShopPan() // 
	{
		shopPan.SetActive(!shopPan.activeSelf); // панель магазина вкл,выкл.
	}

	public void OnClick() 
	{
		score += scoreIncrease; // К игровой валюте прибавляем бонус при клике
	}

	[Serializable]
	public class Item // Класс товара
	{
		[Tooltip("Название используется на кнопках")]
		public string name;
		[Tooltip("Цена товара")]
		public int cost;
		[Tooltip("Бонус, который добавляется к бонусу при клике")]
		public int bonusIncrease;
		[HideInInspector]
		public int levelOfItem; // Уровень товара
		[Space]
		[Tooltip("Нужен ли множитель для цены?")]
		public bool needCostMultiplier;
		[Tooltip("Множитель для цены")]
		public int costMultiplier;
		[Space]
		[Tooltip("Этот товар даёт бонус в секунду?")]
		public bool itsItemPerSec;
		[Tooltip("Бонус, который даётся в секунду")]
		public int bonusPerSec;
		[HideInInspector]
		public int bonusCounter; // Кол-во рабочих (к примеру)
		[Space]
		[Tooltip("Это временный бонус?")]
		public bool itsBonus;
		[Tooltip("Множитель товара, который управляется бонусом (Умножается переменная bonusPerSec)")]
		public int itemMultiplier;
		[Tooltip("Индекс товара, который будет управляться бонусом (Умножается переменная bonusPerSec этого товара)")]
		public int itemIndex;
		[Tooltip("Длительность бонуса")]
		public float timeOfBonus;
	}

Последний раз редактировалось YbeysaOBSenky; 07.10.2017 в 10:42. Причина: не дописал
YbeysaOBSenky вне форума Ответить с цитированием
Старый 07.10.2017, 10:47   #16
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,323
По умолчанию

Цитата:
Сообщение от YbeysaOBSenky Посмотреть сообщение
открылось нет галочки только возле clicker
Вы не могли бы показать скриншот. Хочется понять в чём проблем. И ещё попробуйте кликнуть правок кнопкой мыши на то место, где должна быть галочка и если появится контекстное меню, то выберите "Run". Если не появляется такое меню, то напишите.
8Observer8 вне форума Ответить с цитированием
Старый 07.10.2017, 10:50   #17
YbeysaOBSenky
Пользователь
 
Регистрация: 30.09.2017
Сообщений: 14
По умолчанию

http://pixs.ru/showimage/Screenshot_...6_27792422.png
YbeysaOBSenky вне форума Ответить с цитированием
Старый 07.10.2017, 10:52   #18
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,323
По умолчанию

А вот, теперь понял, где галочки нет. А если нажать кнопку "Run All"? Эту кнопку видно на скриншоте.
8Observer8 вне форума Ответить с цитированием
Старый 07.10.2017, 10:54   #19
YbeysaOBSenky
Пользователь
 
Регистрация: 30.09.2017
Сообщений: 14
По умолчанию

нажимал... может добавлю вас в соц.сеть и вы поможете,если захотите конечно.
Цитата:
Сообщение от 8Observer8 Посмотреть сообщение
А вот, теперь понял, где галочки нет. А если нажать кнопку "Run All"? Эту кнопку видно на скриншоте.
YbeysaOBSenky вне форума Ответить с цитированием
Старый 07.10.2017, 11:03   #20
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,323
По умолчанию

Эта галочка не нужна. Главное, что на всех тестах она стоит. Теперь вы можете добавлять новые тесты в файл CutterTests.cs, если вам нужно будет дополнительное новое поведение статического метода Cutter.Cut(num)

Кстати, вы же поняли, что этот метод принимает число и возвращает строку по требованиям которое вы написали в первом сообщении:
Цитата:
Сообщение от YbeysaOBSenky Посмотреть сообщение
1416 = 1К
2233 = 2К
1005456 = 1М
2452351 = 2М
Задача выполнена? Или есть какие-то дополнительные требования? Может что-то типа:
Цитата:
5342589334 = 5B
Здесь "B" - billion, то есть миллиард. Такой тест вы можете дописать, и сразу запустить тесты, тогда этот один новый тест будет красным. Попробуйте, если, конечно, нужна эта дополнительная функциональность. Надесь, вы понимаете о чём я.
8Observer8 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кликер на Delphi Nastya1998 Помощь студентам 4 25.07.2014 07:16
Нужен кликер Lem Ist Io Фриланс 2 22.02.2012 08:35
кликер Е animevolk Помощь студентам 28 29.05.2011 17:31
Кликер KoLLleu Общие вопросы C/C++ 8 27.12.2010 15:17
Кликер Federal Помощь студентам 10 06.08.2010 22:52