エビフライの唐揚げ

今までのことや、技術的なこと、その他を書いていこうと思います。

コンビニ ガチャについて

【アプリ名】
コンビニ ガチャ
【概要】
ローソンの商品を指定金額内でランダムに選び出すガチャ

 

f:id:littlemore:20200525232446p:plain

コンビニ ガチャ

 

【言語】

C#

【サーバー】

WebAPI:Azure

フロントエンド:Firebase

【DB】

csvファイル

 

お昼ごはんを決めるときや、youtubeの企画、700円くじ等に使えるかもしれません。

(ウェブアプリの説明文からそのまんま)

 

これはC#でWebAPIが試したかったということと、Firebaseでホスティングが出来るということで、処理をC#で行い、Firebaseの方のWebページに返すというウェブアプリです。

 

DB使うまでもないなと思ったのでCSVです。

f:id:littlemore:20200525201146p:plain

 

実装方法も単純でお金がなくなるまで商品を選択していく感じです

public IEnumerable<ProductInfo> SelectRandom(int money)
{
	List<ProductInfo> products = new List<ProductInfo>();
	int nowMoney = money;
	while (true)
	{
		var product = _products.Where(p => p.Price <= nowMoney).OrderBy(i => Guid.NewGuid()).FirstOrDefault();

		if (product == null)
			return products;

		nowMoney -= product.Price;

		products.Add(product);
	}
}

 

ここで一番気になるのが、どうやってコンビニの商品データをCSV化したかどうかというところだと思う

それにはスクレイピングという技術を使った

 

今日はここまで