1.

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using Newtonsoft.Json;

namespace _230112
{
    class App
    {
        public App()
        {
            Item item = new Item("장검", 10);

            string json = JsonConvert.SerializeObject(item);
            Console.WriteLine(json);

            File.WriteAllText("my_item.json", json);
        }
    }
}

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using Newtonsoft.Json;

namespace _230112
{
    class App
    {
        public App()
        {
            string json = File.ReadAllText("./my_item.json");
            Item item = JsonConvert.DeserializeObject<Item>(json);
            Console.WriteLine(item);
            Console.WriteLine("{0} {1}", item.name, item.damage);
        }
    }
}

 

2.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using Newtonsoft.Json;

namespace _230112
{
    class App
    {
        public App()
        {
            List<Item> items = new List<Item>();
            items.Add(new Item("장검", 10));
            items.Add(new Item("단검", 5));
            items.Add(new Item("도끼", 7));

            string json = JsonConvert.SerializeObject(items);
            Console.WriteLine(json);

            File.WriteAllText("./my_items.json", json);
        }
    }
}

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using Newtonsoft.Json;

namespace _230112
{
    class App
    {
        public App()
        {
            string json = File.ReadAllText("./my_items.json");

            Item[] items = JsonConvert.DeserializeObject<Item[]>(json);

            Console.WriteLine(json);

            for(int i = 0; i < items.Length; i++)
            {
                Item item = items[i];
                Console.WriteLine("{0} {1}", item.name, item.damage);
            }
        }
    }
}

 

3.

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using Newtonsoft.Json;

namespace _230112
{
    class App
    {
        public App()
        {
            Monster[] monsters = new Monster[3];

            monsters[0] = new Monster() { Name = "Slime", MaxHp = 50, Hp = 25 };
            monsters[1] = new Monster() { Name = "Goblin", MaxHp = 30, Hp = 30 };
            monsters[2] = new Monster() { Name = "Wolf", MaxHp = 100, Hp =76 };

            string monmsterStatus = JsonConvert.SerializeObject(monsters);
            Console.WriteLine(monmsterStatus);

            File.WriteAllText("./monster_status.json", monmsterStatus);      
        }
    }
}

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using Newtonsoft.Json;

namespace _230112
{
    class App
    {
        public App()
        {
            string monsterStatus = File.ReadAllText("./monster_status.json");
            Monster[] monsters = JsonConvert.DeserializeObject<Monster[]>(monsterStatus);

            Console.WriteLine(monsterStatus);
            
            for(int i = 0; i < monsters.Length; i++)
            {
                Monster monster = monsters[i];
                Console.WriteLine("{0} {1}/{2}", monster.Name, monster.Hp, monster.MaxHp);
            }
        }
    }
}

4.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using Newtonsoft.Json;

namespace _230112
{
    class App
    {

        public App()
        {
            Item[] items =
            {
                new Item("장검", 10),
                new Item("단검", 5),
                new Item("목검", 2),
                new Item("강철검", 8),
                new Item("부러진 검", 1),
                new Item("집행검", 100),
            };

            IEnumerable<string> weaponStatus = from item in items
                                               where item.damage >= 5
                                               orderby item.damage
                                               select item.name;

            

            string json = JsonConvert.SerializeObject(weaponStatus);
            Console.WriteLine(json);
            File.WriteAllText("./weapons.json", json);

        }
    }
}

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using Newtonsoft.Json;

namespace _230112
{
    class App
    {

        public App()
        {
            string itemName = File.ReadAllText("./weapons.json");
            Console.WriteLine(itemName);

            string[] items = JsonConvert.DeserializeObject<string[]>(itemName);

            for(int i = 0; i < items.Length; i++)
            {
                string item = items[i];
                Console.WriteLine(item);
            }         
        }
    }
}

 

5. 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using Newtonsoft.Json;

namespace _230112
{
    class App
    {

        public App()
        {
            Monster monster = new Monster();
            monster.onDie = (item) =>
            {
                Console.WriteLine("{0}을 드랍했습니다.", item.name);
            };

            monster.Die();

            string json0 = JsonConvert.SerializeObject(monster);

            File.WriteAllText("./mon.json", json0);            
        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
using System.IO;

namespace _230112
{
    class Monster
    {
        public Action<Item> onDie;

        public Monster()
        {

        }

        public void Die()
        {
            Item item = new Item("장검", 10);
            this.onDie(item);
            string json1 = JsonConvert.SerializeObject(item);
            File.WriteAllText("./drop_item.json", json1);
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using Newtonsoft.Json;

namespace _230112
{
    class App
    {

        public App()
        {
            string mon = File.ReadAllText("./mon.json");
            string item = File.ReadAllText("./drop_item.json");

            Action<Item> monsters = JsonConvert.DeserializeObject<Action<Item>>(mon);
            Item items = JsonConvert.DeserializeObject<Item>(item);

            Console.WriteLine(monsters);
            Console.WriteLine(items.name);
        }
    }
}

마지막 예쩨 형식 오류 해결하기

'C# > 수업 과제' 카테고리의 다른 글

이진 탐색 알고리즘이란  (0) 2023.01.26
인벤토리 제작하기  (0) 2023.01.25
List<T>를 이용한 인벤토리 구현  (0) 2023.01.10
배열을 활용한 인벤토리 구현2  (0) 2023.01.09
배열을 활용한 인벤토리 구현  (0) 2023.01.06

+ Recent posts