クラスとオブジェクトの基本概念

はじめに:オブジェクト指向プログラミングの基本

こんにちは!第5週目のブログでは、オブジェクト指向プログラミングの核心である「クラス」と「オブジェクト」の基本的な概念について詳しく解説します。これらの理解は、C#を含む多くのプログラミング言語で効率的なコードを書くために不可欠です。

クラス(Class)とは何か?

クラスはオブジェクトの設計図として機能し、オブジェクトの属性(フィールド)と行動(メソッド)を定義します。

クラスの定義方法

public class Animal
{
    // 属性(フィールド)
    public string Name;
    public int Age;

    // 行動(メソッド)
    public void IntroduceYourself()
    {
        Console.WriteLine("私は " + Name + " で、" + Age + " 歳です。");
    }
}

この例では、「Animal」という名前のクラスが定義されており、'Name''Age'というフィールド(属性)および'IntroduceYourself'というメソッド(行動)を持っています。

オブジェクト(Object)とは何か?

オブジェクトはクラスに基づいて作成される実体です。クラスからオブジェクトを生成することを「インスタンス化」と言います。

オブジェクトの生成と使用

Animal cat = new Animal();
cat.Name = "ミケ";
cat.Age = 3;
cat.IntroduceYourself();

この例では、'Animal'クラスのインスタンスである'cat'オブジェクトを作成し、その属性を設定して、メソッドを呼び出しています。

クラスとオブジェクトの利点

  • 再利用性: クラスを一度定義すれば、何度も同じ構造のオブジェクトを簡単に作成できます。
  • モジュール性: 各クラスは特定の機能をカプセル化し、プログラム全体の管理が容易になります。
  • 拡張性: 既存のクラスに新しい属性やメソッドを追加し、機能を拡張することが可能です。

まとめ

今週は、クラスとオブジェクトの基本概念について学びました。これらの概念は、C#プログラミングの基礎であり、効率的で整理されたコード構造の構築に役立ちます。

次週は、継承や多態性など、より複雑なオブジェクト指向の概念について探求していきます。

それでは、次回も一緒に学びましょう!

블로그 이미지

RIsN

,
C#のデータ構造:配列、コレクション、そして基本的な構造

はじめに:C#でのデータ管理の基礎

こんにちは、皆さん!4週目のブログでは、C#でのデータ管理の基本、特に配列、コレクション、そしてそれらの基本的な構造について深掘りしていきます。これらの概念を理解することは、C#で効果的なプログラミングを行うための基礎を築くことにつながります。

配列(Array)

配列は、同じ型の複数の要素を一つの変数に格納するためのデータ構造です。

  • 使用シナリオ: 事前に要素数が分かっており、固定長のデータを扱う場合に適しています。
  • 特徴: 配列は一度サイズが決まると変更できない固定長で、インデックスを使って効率的に要素にアクセスできます。

:

int[] numbers = new int[5];
numbers[0] = 1;
numbers[1] = 2;
// 他の要素を設定

リスト(List)

List<T>は、サイズが動的に変更可能な配列のようなコレクションです。

  • 使用シナリオ: 要素数が不定で、頻繁に要素の追加や削除を行う場合に適しています。
  • 特徴: リストは動的にサイズが変更可能で、要素の挿入と削除に便利です。

:

List<int> numbers = new List<int>();
numbers.Add(1); // 要素を追加
numbers.Remove(1); // 要素を削除

ディクショナリ(Dictionary)

Dictionary<TKey, TValue>は、キーと値のペアを格納するコレクションです。

  • 使用シナリオ: キーによる高速な検索が必要な場合や、キーと値の関係を表現する場合に適しています。
  • 特徴: ディクショナリは、キーに対して値を迅速に検索できるハッシュテーブルの形式を採用しています。

:

Dictionary<string, int> ages = new Dictionary<string, int>();
ages["Alice"] = 30;
ages["Bob"] = 25;

ハッシュセット(HashSet)

HashSet<T>は、重複しない要素を格納するためのコレクションです。

  • 使用シナリオ: 重複を許さず、要素のユニークさが保証される必要がある場合に適しています。
  • 特徴: ハッシュセットは、要素が重複しないように管理され、要素の検索も高速です。

:

HashSet<int> uniqueNumbers = new HashSet<int>();
uniqueNumbers.Add(1);
uniqueNumbers.Add(2);

まとめ

今回は、C#でのデータ構造の基礎について詳しく見てきました。これらの構造を適切に使用することで、データの管理と操作がより効率的かつ柔軟になります。

それでは、引き続き一緒に学んでいきましょう!

블로그 이미지

RIsN

,
C#の制御構造:条件文、繰り返し文、基本的な制御

はじめに:制御構造の重要性

こんにちは、皆さん!3週目のブログでは、C#の制御構造、特に条件文、繰り返し文、および基本的なプログラムの流れの制御に焦点を当ててみます。これらはプログラムの論理的な流れを作成し、より複雑なタスクを実行可能にする基本的な要素です。

条件文:if、else、switch

C#の条件文は、特定の条件に基づいて異なるアクションを実行するために使用されます。

if文

int number = 10;
if (number > 0) 
{
    Console.WriteLine("数は正です。");
}

else文

if (number > 0) 
{
    Console.WriteLine("数は正です。");
} 
else 
{
    Console.WriteLine("数は0以下です。");
}

switch文

switch (number) 
{
    case 1:
        Console.WriteLine("数は1です。");
        break;
    case 2:
        Console.WriteLine("数は2です。");
        break;
    default:
        Console.WriteLine("数は1でも2でもありません。");
        break;
}

繰り返し文:for、while、do-while

繰り返し文を使用すると、特定のコードブロックを条件が満たされるまで繰り返し実行することができます。

for文

for (int i = 0; i < 5; i++) 
{
    Console.WriteLine(i);
}

while文

int i = 0;
while (i < 5) 
{
    Console.WriteLine(i);
    i++;
}

do-while文

int i = 0;
do 
{
    Console.WriteLine(i);
    i++;
} while (i < 5);

まとめ

今週は、C#の基本的な制御構造を学びました。これらの構造は、プログラムの流れを制御し、特定の条件に基づいて異なるアクションを実行するのに重要です。

次週は、配列、コレクション、および文字列操作について詳しく見ていきます。これらの知識は、C#でより複雑なプログラムを作成する基盤となります。

それでは、次回も一緒に学んでいきましょう!

블로그 이미지

RIsN

,
C#の基本:構文、変数、データ型の理解

はじめに:C#プログラミングの基礎

こんにちは、皆さん!2週目のブログでは、C#プログラミングの基本、特に基本的な構文、変数の使用方法、そしてデータ型に焦点を当ててみます。これらはC#プログラミングの基盤を形成し、効率的なコードを書くための第一歩です。

基本的な構文

C#はC言語に基づいており、JavaやC++と似た構文を持っています。C#プログラムは、'namespace'宣言から始まり、少なくとも一つの'class'を含みます。そして、すべての実行可能なプログラムは'Main'メソッドから開始します。

using System;

namespace HelloWorld
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello, World!");
        }
    }
}

上記の例は、C#の基本的な「Hello, World!」プログラムです。ここでは、コンソールに文字列を出力する単純なコードを見ることができます。

変数とデータ型

変数はデータを格納するために使用されるコンテナです。C#では、変数を宣言する際にデータ型を指定する必要があります。C#は静的型付け言語であるため、変数の型はコンパイル時に決定されます。

C#には様々なデータ型がありますが、基本的なものには以下が含まれます:

  • 整数型:int, long, short, byte
  • 浮動小数点型:float, double, decimal
  • 文字型:char
  • ブーリアン型:bool
  • 文字列型:string
int myNumber = 30;
float myFloat = 30.5f;
bool isCSharpFun = true;
string greeting = "Hello, World!";

型変換

異なるデータ型間での値の変換は、型変換によって行われます。C#では、明示的な型変換(キャスト)と暗黙的な型変換があります。

// 明示的な型変換
int myInt = (int)myFloat;

// 暗黙的な型変換
double myDouble = myInt;

まとめ

今週はC#の基本的な構文、変数の宣言と使用、そして基本的なデータ型について学びました。これらの概念は、C#でのプログラミングにおいて非常に重要であり、今後のトピックの基盤となります。

次週は、C#の制御構造、つまりif文やループについて詳しく見ていきたいと思います。プログラミングの基本をしっかり理解することで、より複雑なコンセプトにスムーズに進むことができます。

それでは、引き続き一緒に学んでいきましょう!

블로그 이미지

RIsN

,
新しい挑戦:日本での就職とC#との旅路

はじめに:このブログについて

こんにちは、皆さん!私はジェイと申します。このブログは、私が新たな旅立ちを迎えるにあたって始めることにしました。日本での就職を機に、C#の基礎から学び直し、日本のプログラミング用語にも触れていくことがこのブログの目的です。


C#への入門:C#の特徴と利点

C#(シーシャープ)は、マイクロソフトによって2000年に初めて公開されたオブジェクト指向プログラミング言語です。.NETフレームワークの主要な言語として開発され、幅広いアプリケーションの開発に利用されています。

1. オブジェクト指向言語

C#はオブジェクト指向プログラミングを基本としています。これにより、開発者はデータとそのデータを操作する手続きを「オブジェクト」として一つにまとめることができます。これは、コードの再利用、拡張性、管理のしやすさを促進します。

2. 強力な.NETフレームワークとの連携

.NETフレームワークとの連携により、C#は強力なライブラリのアクセスを提供します。これには、GUIアプリケーション、データベースアクセス、ウェブ開発など、幅広い開発ニーズに対応するための豊富な機能が含まれています。

3. クロスプラットフォーム開発

最近の.NET Coreの導入により、C#はWindowsだけでなく、LinuxやmacOSなど他のプラットフォームでの開発もサポートしています。これにより、より多くの環境でのアプリケーション開発が可能になりました。

4. 安全で効率的なコード

C#は自動的なメモリ管理(ガベージコレクション)や型安全性を提供し、メモリリークや他の一般的なプログラミングエラーを減らすのに役立ちます。また、強力なコンパイラによるエラーチェック機能も、より安全で信頼性の高いコードを書くのに寄与します。

5. 幅広い用途

C#は、デスクトップアプリケーション、モバイルアプリケーション(Xamarinを介して)、ウェブアプリケーション(ASP.NET)、ゲーム開発(Unityエンジン)など、さまざまな種類のアプリケーションの開発に使用されています。

このような特徴を持つC#は、現代のソフトウェア開発において非常に重要な言語の一つとなっています。これからのブログの投稿で、これらのコンセプトとC#を使った具体的な開発手法について掘り下げていきたいと思います。


私の経験と今後の目標

これまでの私の経験は、主にUnityとC#を使用したゲーム開発に携わってきましたが、技術は常に進化しています。日本の会社で働くにあたり、より幅広い技術スキルを磨くことが必要です。私の目標は、年齢や国籍に関わらず、世界的に活躍できるビジネスマンになることです。技術以上の何かを常に追い求めていきたいと思います。

このブログでの学び

毎週、C#に関する基礎知識から始め、徐々に深い内容へと進んでいきます。初心者から上級者まで、幅広い方々にとって有益な情報を共有していきますので、ぜひ一緒に学びましょう!

皆さんの応援とフィードバックが、この新しい冒険の励みになります。次回は、C#の基本的な概念について詳しく見ていきたいと思います。それでは、この新しい冒険の始まりに、皆さんを心より歓迎します。

블로그 이미지

RIsN

,

https://youtu.be/44CY3_txi6w

Download: Steam

Dear Players,

I deeply apologize for the delayed updates on "Stations in Seoul", which diverged from our initial promises.

I must admit, my need to secure a job impacted my ability to manage this project. While preparing for interviews, I thought I could balance both, but unfortunately, I couldn't. This led to my inability to communicate effectively, particularly in creating videos and developer logs, which became unexpectedly stressful. However, I'm committed to continuing the developer logs, even without videos or images.

Now, as my job interviews are winding down, I'm finding more time to dedicate to this project. There are still some pending tasks, so I can't commit to a specific timeline for completion yet, and I apologize for this.

Reflecting on the project, I've made several decisions regarding its direction. Primarily, we'll focus on the card game aspect, aiming to expand the deck to 120 cards for diverse combinations. This might mean deprioritizing the story aspect for now.

Additionally, we plan to develop new maps that enhance the roguelike elements, diverging from the current strategy-simulation-based maps. This will require some trial and error, but we're excited about this change.

Lastly, the developer logs will not follow a weekly schedule but will be posted as they're ready, due to my current job preparations. However, I assure you that I am dedicated to completing this project.

I'll return soon with a more structured plan. Thank you for your understanding and support.

Creator

Patreon Link

블로그 이미지

RIsN

,

https://youtu.be/7qbkgMCgaO8

Download: GooglePlay / Steam

Dear Players,

I apologize sincerely for the unexpected delay in our updates. It was never my intention to keep you waiting, and I regret any disappointment this may have caused.

The delay was largely due to my need to secure a job for my livelihood. I had hoped to balance job hunting with project development, but this proved more challenging than anticipated. My mental focus was divided, and I feel deeply sorry for not meeting your expectations. Creating videos and writing developer logs, which I usually enjoy, unexpectedly became sources of stress, leading to a communication gap. However, I am committed to maintaining regular developer logs, even if they don't always include videos or pictures.


Fortunately, I'm now finding some time to dedicate to this project again as my job interviews and related tasks are concluding. However, there are still a few obligations I need to fulfill, so I cannot promise a fixed timeline for the project's completion at this moment. Please accept my apologies for this uncertainty.


On a positive note, this period of reflection has helped me make some key decisions regarding the project's direction. The narrative will now move forward with two main arcs: 'The Past of LJ8' and 'Charasi's Independence'. The storyline is expected to unfold as follows: 'Past of LJ8' -> 'LJ8 and Charasi' -> 'Charasi's Independence'.


In terms of gameplay, I am exploring puzzle designs that emphasize strategy over luck, though this may require some trial and error. I promise to keep you updated on these developments.


As for the developer logs, they will not adhere to a weekly schedule but will be shared as and when they are ready. My current focus on securing a stable livelihood may impact the regularity of these updates. However, I assure you that I am fully committed to seeing this project through to completion.


I'll be back soon with a more detailed plan. Your understanding and continuous support mean the world to me.


Thank you for your patience and dedication to our journey together.

Creator

Patreon Link

'_Diary > Dev' 카테고리의 다른 글

1週=新しい挑戦:日本での就職とC#との旅路  (0) 2023.12.01
[Stations In Seoul] Devlog #14  (0) 2023.11.14
[Run for Seoul] Devlog #2  (0) 2023.10.10
[Stations In Seoul] Devlog #13  (0) 2023.10.10
[Find with Seoul] Devlog #22  (0) 2023.10.10
블로그 이미지

RIsN

,

https://youtu.be/zwCxZfkOodk

Hello everyone, and welcome to the 2nd development log for "Run for Seoul." I appreciate your continued support as I navigate through the challenges of game development.

Progress and Challenges

I'm gradually getting back to my original work schedule, but I haven't fully shaken off a lingering sense of lethargy. This has led to some delays, and I'm currently behind the initial roadmap. Despite this, I'm committed to making up for lost time and completing all planned tasks by the end of this month.

Current Work

Right now, I'm working on character movements, following the existing roadmap. It's an exciting phase as it brings the characters to life and adds a dynamic element to the game.

Feedback is Always Welcome

Your feedback is invaluable to me. Whether it's bugs, features, or general thoughts on the game, I'm eager to hear what you have to say and make improvements accordingly.

2nd Roadmap

Creator

Patreon Link

'_Diary > Dev' 카테고리의 다른 글

[Stations In Seoul] Devlog #14  (0) 2023.11.14
[Find with Seoul] Devlog #23  (0) 2023.11.14
[Stations In Seoul] Devlog #13  (0) 2023.10.10
[Find with Seoul] Devlog #22  (0) 2023.10.10
[Run for Seoul] Devlog #1  (0) 2023.10.04
블로그 이미지

RIsN

,

https://youtu.be/44CY3_txi6w

Download: Steam

13th Roadmap
13th Roadmap 50

Hello everyone, and welcome to the 13th development log for "Stations in Seoul." I'm thrilled to announce that the game is now in Early Access!

Early Access Launch

The game has officially entered Early Access, and I couldn't have done it without your support. This is a significant milestone, and I'm excited to see where we go from here.

Progress and Challenges

While I'm slowly getting back to my original work schedule, I haven't fully recovered from a lingering sense of lethargy. This has caused some delays, and I'm currently behind the initial roadmap. Despite this, I'm committed to catching up and completing all planned tasks by the end of this month.

Post-Early Access Adjustments

I'm currently making adjustments based on the Early Access release, in line with the existing roadmap. Fine-tuning the game based on initial feedback and observations is my top priority right now.

Feedback is Always Welcome

Your feedback is invaluable. Whether it's bugs, features, or general thoughts, I'm all ears and eager to improve the game based on your input.

Creator

Patreon Link

'_Diary > Dev' 카테고리의 다른 글

[Find with Seoul] Devlog #23  (0) 2023.11.14
[Run for Seoul] Devlog #2  (0) 2023.10.10
[Find with Seoul] Devlog #22  (0) 2023.10.10
[Run for Seoul] Devlog #1  (0) 2023.10.04
[Stations In Seoul] Devlog #12  (0) 2023.10.04
블로그 이미지

RIsN

,

https://youtu.be/7qbkgMCgaO8

Download: GooglePlay / Steam

22nd Roadmap
22nd Roadmap 50

Hello everyone, and welcome to the 22nd development log for "Find with Seoul." I appreciate your continued support, especially during these challenging times.

Progress and Challenges

I'm gradually returning to my original work schedule, but I haven't fully recovered from a lingering sense of lethargy. This has led to delays, and I'm currently behind the initial roadmap. Despite this, I'm committed to catching up and completing all planned tasks by the end of this month.

Current Work

At the moment, I'm working on a new story and map for a character named Cassis, following the existing roadmap. I'm excited about the depth and complexity this will add to the game.

Feedback is Always Welcome

Your feedback is not just welcome; it's invaluable. Whether it's bugs, features, or general thoughts, I'm all ears and eager to improve the game based on your input.

Creator

Patreon Link

'_Diary > Dev' 카테고리의 다른 글

[Run for Seoul] Devlog #2  (0) 2023.10.10
[Stations In Seoul] Devlog #13  (0) 2023.10.10
[Run for Seoul] Devlog #1  (0) 2023.10.04
[Stations In Seoul] Devlog #12  (0) 2023.10.04
[Find with Seoul] Devlog #21  (0) 2023.10.03
블로그 이미지

RIsN

,