您需要使用 C# 代码在 Windows 10 的个性化设置中更改颜色。
我找不到任何关于如何在 C# 中执行此操作的示例。
无法删除单元格。不要严格判断,所以我扔掉了最少的代码,所以只有需要的。评论不是为堆栈溢出而写的,只是决定离开。
public delegate string Message();
public class Item //класс предметов
{
public string name; //имя
public string type; //тип предмета
public int damage; //урон у оружия -, у эелексира +
public int numbers = 1; //колличество предметов в инвентаре
public Message mes; //экземляр делегата для того чтобы проверить мою догадку о использовании предмета (и это зависит от его типа)
public void ItemType() //исползовать после добавлении нового предмета в AllItems.at
{
if (type == "Оружие") //тип предмета оружие
{
mes = WeaponUse; //присваиваем экземпляру делегата, то как мы будем использовать предмет
}
else if (type == "Элексир")
{
mes = ElexirUse;
}
else //если предмет не имеет своего типа или просто хлам, вроде камня
{
mes = OtherUse;
}
}
public string useItem() //через этот метод мы используем предмет
{
return mes(); // возвращаем строку (еще пока нет взаимодействия предета и игрока с игроком, вроде удара или выпитого элексира)
}
public string WeaponUse() //использование оружия
{
return "Ударил и нанес " + damage + " урона!!!";
}
public string ElexirUse() //использование элексира
{
return "Выпил элексил и востановил " + damage + " здоровья!!!";
}
public string OtherUse() //осмотр хлама
{
return "Название предмета: " + name + "\n" + "Тип предмета: " + type;
}
}
public class AllItems //тут есть односвязный список со всеми предметами которые можно дать игроку
{
public List<Item> at = new List<Item>(); //тот самый односвязный список
public AllItems() //при создании экземляра класса AllItems создает все предметы и дает им тип предмета
{
at.Add(new Item() { name = "Меч", type = "Оружие", damage = -25 });
at[0].ItemType();
at.Add(new Item() { name = "Элексир здоровья", type = "Элексир", damage = 25 });
at[1].ItemType();
at.Add(new Item() { name = "Камень", type = "Хлам" });
at[2].ItemType();
}
}
public class Person //класс игрока или моба гумоноидного тип. Еще не придаманы рассы
{
AllItems items = new AllItems(); //добавляем игроку или мобу предметы, чтобы потом можно было их добавлять, и еще нет передачи между мобами или игроками, или поднятия с земли.
public Item[] outfit = new Item[5];
public string name; //имя лол
public string sex; //пол
int healthPointMax = 100; //максимальное колличество здоровья которое может иметь игрок
int healthPoint = 100; //колличество здоровья на данный момент
bool dead = false; //мертв игрок или нет
public List<Item> inventory = new List<Item>(); //инвентарь
public void PutOn(string name) //Метод для надивания экипировки (не готов)
{
}
public void PutOnHel() //Метод для надивания шлема (не готов)
{
}
public void PutOnBib() //Метод для надивания нагрудника (не готов)
{
}
public void PutOnLeg() //Метод для надивания поножей (не готов)
{
}
public void PutOnBoot() //Метод для надивания обуви (не готов)
{
}
public void TakeWeapon() //Метод для взятие в руку оружия (не готов) (сделаю потом просто две руки)
{
}
public void CheckDead() //проверяем жив ли игрок по очкам здоровья
{
if (healthPoint <= 0)
dead = true;
else
dead = false;
}
public void AddItem(int number, int kolvo = 1) //метод для добавления предмета в инвентарь (поиск по уже известному ID) (вещи стакаются)
{
if (number >= 0 && number <= items.at.Count)
{
string name = items.at[number].name; //узнаем и присваиваем имя предмета из списка со всеми вещами
try
{
int num = Convert.ToInt32(SearchIdItem(name)); //узнаем наличие нужного предмета, чтобы застакать все в одной кучке
inventory[num].numbers += kolvo; //если все таки предмет есть то мы инкриментируем numbers в инвентаре
}
catch
{
if (kolvo > 1)
{
inventory.Add(items.at[number]); //добавляем этот самый предмет
inventory[inventory.Count - 1].numbers += kolvo - 1;
}
else
{
inventory.Add(items.at[number]);
}
}
}
}
public void AddItem(string name, int kolvo = 1) //метод для добавления предмета в инвентарь (поиск по уже известному имен) (вещи стакаются)
{
int num; //переменная в которой будет храниться значение ID предмета в главном списке Items.at
try
{
num = Convert.ToInt32(SearchIdAT(name)); //происходит поиск есть ли этот предмет вообще, и если есть то какой ID (если нет то ошибка при попытки приоьразовать string в int)
int num2; //переменная в которой будет храниться значение ID предмета в inventory
try
{
num2 = Convert.ToInt32(SearchIdItem(name)); //происходит поиск, если предмет есть то мы получаем ID в противном свлучае ошибка
inventory[num2].numbers += kolvo; //инкрементируем значение переменной numbers для того, чтобы стакать предметы
}
catch
{
if (kolvo > 1)
{
inventory.Add(items.at[num]); //добавляем этот самый предмет
inventory[inventory.Count - 1].numbers += kolvo - 1;
}
else
{
inventory.Add(items.at[num]);
}
}
}
catch
{
}
}
public void DelItem(int number, int kolvo = 1)
{
if (number >= 0 && number <= items.at.Count)
{
string name = items.at[number].name;
try
{
int num = Convert.ToInt32(SearchIdItem(name));
if (inventory[num].numbers - kolvo < 1)
{
inventory.Remove(num);
}
else
{
inventory[num].numbers -= kolvo;
}
}
catch
{
}
}
}
public string SearchIdItem(string name)
{
int numL = items.at.Count;
for (int l = 0; l < numL; l++)
{
if (name == inventory[l].name)
{
return Convert.ToString(l);
}
}
return "NO";
}
public string SearchIdAT(string name)
{
int numL = items.at.Count;
for (int i = 0; i < numL; i++)
{
if (name.ToLower() == items.at[i].name.ToLower())
{
return Convert.ToString(i);
}
}
return "NO";
}
}
无法添加组件。
无法添加脚本组件“PlayerController”,因为找不到脚本类。确保没有编译错误并且文件名和类名匹配。
控制台中没有错误。
我是坐着的,所以 hello world 给自己写信,我在想怎么做,这样方法就可以有任何其他方法来代替参数。
static void Hello(){
WriteLine("Hello World");
}
static void ShowDt(){
WriteLine(DateTime.Now.ToString("HH:mm:ss"));
}
这两种方法需要使用另一种方法来推断。