Skip to content

Instantly share code, notes, and snippets.

@mrgarita
Last active November 1, 2017 14:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mrgarita/9728f1a4462432d816d029df282e3175 to your computer and use it in GitHub Desktop.
Save mrgarita/9728f1a4462432d816d029df282e3175 to your computer and use it in GitHub Desktop.
C#:テキストファイルをコレクションに読み取ってプログラムから扱う
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Windows.Forms;
namespace ドラクエデータベース簡易版
{
public partial class Form1 : Form
{
// ドラクエデータ保存用コレクション
static List<string> monsters = new List<string>();
// 読込ファイル名
const string DATAFILE = "monsters.txt";
// 表示中のモンスター番号
static int n;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
// 初期設定
this.Text = Application.ProductName;
label1.Text = "";
button1.Text = "<";
button2.Text = ">";
n = 0;
// データファイル読み込み
loadDataFile();
}
private void loadDataFile()
{
try
{
// ファイルを読み取り形式で開く(UTF-8形式)
StreamReader file = new StreamReader(DATAFILE, Encoding.UTF8);
// ファイルから1行ずつコレクションに追加
string line = "";
while((line = file.ReadLine()) != null)
{
// コレクションに追加
monsters.Add(line);
// コンソールで表示チェック
Console.WriteLine(line);
}
file.Close();
}
catch (FileNotFoundException fnfe) // ファイルが見つからない場合
{
Console.WriteLine(fnfe.Message);
label1.Text = DATAFILE + " が見つかりません";
}
catch (Exception e) // その他例外処理
{
Console.WriteLine(e.Message);
}
// データが存在していたら先頭のデータを表示
if (monsters.Count > 0)
{
label1.Text = monsters[n];
}
}
private void button1_Click(object sender, EventArgs e)
{
if (monsters.Count == 0) return; // データが存在しない場合何もしない
// ひとつ前のデータを表示
n--;
if(n < 0)
{
n = monsters.Count - 1;
}
label1.Text = monsters[n];
}
private void button2_Click(object sender, EventArgs e)
{
if (monsters.Count == 0) return; // データが存在しない場合何もしない
// 次のデータを表示
n++;
if(n >= monsters.Count)
{
n = 0;
}
label1.Text = monsters[n];
}
}
}
スライム
スライムべス
ドラキー
ゴースト
まほうつかい
メイジドラキー
おおさそり
メーダ
メトロゴースト
ドロル
ドラキーマ
がいこつ
まどうし
てつのさそり
リカント
しりょう
メタルスライム
へルゴースト
リカントマムル
メーダロード
ドロルメイジ
キメラ
しのさそり
しりょうのきし
ゴーレム
ゴールドマン
よろいのきし
メイジキメラ
かげのきし
キラーリカント
ドラゴン
スターキメラ
だいまどう
あくまのきし
キースドラゴン
ストーンマン
しにがみのきし
ダースドラゴン
りゅうおう(変身前)
りゅうおう(変身後)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment