SlideShare ist ein Scribd-Unternehmen logo
1 von 45
Downloaden Sie, um offline zu lesen
ドット絵でプログラミング!
難解言語『Piet』勉強会
KC3 2017 勉強会
KMC base64 (@basemusi)
目次
突然ですが皆さん、
目次
あの!話題の画期的な
プログラミング言語
目次
Pietを
知っていますか!?
近況
京都大学プログラミングコンテスト
KUPCの運営をやっています
競技プログラミングに
興味のある人は是非参加を!!
日時:10/1(日)13:00~18:00
目次
1. 環境構築
2. Pietの紹介
3. 実際にPietを描いてみる
4. 実際にPietを描いてみる
5. 実際に……
6. ……
∞. おわりに
このスライドとほぼ同じ内容のものが
下のリンク先にあるので参照してください
https://goo.gl/ouJC2Z
環境構築
Pietの本格的な勉強会に移る前にまず、
KMCのdama氏製作の便利なのPietのIDE、Pidetを
インストールしてもらいます
1. “pidet”で検索
2. “dnek/Pidet: IDE for Piet. – Github”
3. “releases”をクリックし、 “Pidet20170614”をダウンロード
下のリンクからでも可
https://github.com/dnek/Pidet/releases/download/ver20170614/Pidet20170614.zip
環境構築
ダウンロードが終わったら、適当な場所に展開した後
“Pidet.exe”を実行してPidetが起動することを確認してください
目次
1. 環境構築
2. Pietの紹介
3. 実際にPietを描いてみる
4. 実際にPietを描いてみる
5. 実際に……
6. ……
そもそもPietって何
 読み方は「ピエト」であり、「ピエット」ではない
 ソースコードがドット絵である難解プログラミング言語
 David Morgan-Mar氏が考案
 Piet Mondrianの作品に影響を受け、名前もこれに由来
 雑に描いても抽象画っぽくなる
Pietで描かれたバブルソートのプログラム→
KMCとPiet
KMCでは、これまで3年間ほどPiet勉強会が続き、
日本ではほぼ最先端で、Pietに関する様々な活動をやってきた
その一部始終は「Piet」で検索するとKMC関連のページが多く
ヒットすることからも明らかであろう
その中で特に大きい出来事を紹介する
京大Pietクラブ
 2016年のエイプリルフール企画で、
KMCのウェブページをPietのサーバーで動かした
 京大Pietクラブへ改名
Piet08事件
私がプログラミングコンテストにPietを使って出た話をブログに
挙げていたら、UTMCの部員からPidetの仕様が間違っている
という趣旨のメッセージが飛んでくる
↓
Pidetの挙動が公式のものと一部違うことが判明
(2008年に明確化された仕様が取り込まれていなかったらしい)
KMC部員が3年間ぐらい頑張って書いてきたものは
実はPietではなかった!!
Pietってどうやって動くの
とりあえずPidetを使ってプログラムを実行してみる
Pietってどうやって動くの
デモだけだと雰囲気しかわからないので、
詳細を説明していきます
コーデル(codel)
 Pietのコードを構成する最小単位の正方形のドットのこと
 Pidetでは画像の読み込み時と保存時に1コーデルが何ピクセ
ルか指定する
真ん中の青い部分が1コーデル
カラーブロック
 同色のコーデルが縦横に並んでいるもの
 Pietのコードの基本単位
1コーデル
6コーデル
8コーデル
プログラムの実行の仕方
Pietのコードの上をPP(プログラムポインター)と呼ばれる点が
移動しながら命令が実行される
最初PPは左上隅のコーデルにあり、DPとCCに従って
移動していく
PPの移動元と移動先の色の差によって異なる命令が実行される
DPとは
↑・↓・←・→の4状態あり、PPの移動方向を決める
PPは現在位置のカラーブロックの中で最もDP方向にある
コーデルから、DP方向にあるカラーブロックに移動する(仮)
DPとは
現在のPPの位置 PPの移動先
例えば、DPが「→」のとき、下図のように移動する
最もDP方向にある
コーデル DP方向に移動
DPだけでは困る
DPが「→」のとき、PPが下図の緑のカラーブロックから
移動しようとすると、移動先が分からない
このとき、移動先をCCによって決める
?
?
?
CCとは
左(L)・右(R)の2状態ある
PPは、現在位置のカラーブロックの中で最もDP方向にある
コーデルのうち、DP方向に向かって最もCC側にある
コーデルからDP方向に移動する
?
?
?
DP→, CC左の場合 DP→, CC右の場合
DPとCC
緑のカラーブロックからPPが移動するとき……
DP→, CC左 DP→, CC右
DPとCC
緑のカラーブロックからPPが移動するとき……
DP↓, CC左 DP↓, CC右
DPとCC
緑のカラーブロックからPPが移動するとき……
DP←, CC左 DP←, CC右
DPとCC
緑のカラーブロックからPPが移動するとき……
DP↑, CC左 DP↑, CC右
Pietで使える色
Pietで使用できる色は 3(明度) * 6(色相) + 2(白黒) = 20種類
それ以外の色はPidetでは白と解釈する
白と黒は他の色とは異なり、特殊な扱いがされる
黒の扱いと終了条件
PPの移動先が黒のコーデルやコードの外側になったときは、
PPは移動に失敗する
移動に失敗した場合は、CCを切り替えてもう一度移動しよう
とする
それでも移動に失敗したら、DPを時計回りに90度変えて移動
しようとする
それでも移動に失敗したら、CCを……
CCとDPを交互に切り替えて、連続で8回移動に失敗すると
プログラムが停止する
白の扱い
白のカラーブロックは大きさが1コーデルのものだけであり、
白のコーデル同士が隣接していても別のカラーブロックとみなす
移動元もしくは移動先が白のコーデルのとき、移動時に
命令が実行されない
ただし、白のコーデルだけで移動が無限ループ
した場合はプログラムが停止する
命令
白と黒を除いた18色を用いて、PPの移動元と移動先の
色の差によって17種類の命令が実行できる
なお、記憶領域として使えるのは整数のスタック一つのみ
変数などというややこしいものは使えないので楽です(嘘)
スタックについて(簡単な説明)
イメージとしては数の積み木
一番上に数を積むpushと一番上の積み木を取り出すpopの操作がある
空 3 3 3
5
7
4
5
3
5
3
5
3
5
3
3 push 5 push 4 push 7 pushpop pop pop
4 7 5
命令(スタック)
 push・・・移動元のカラーブロックのコーデル数をpushする
 pop・・・1回popする
 dup・・・1回popし、popした数を2回pushする
3
4
5
dup
3
4
5
4
命令(演算)
 add・・・2回popし、popした数の和をpushする
 sub・・・2回popし、2回目にpopした数-1回目の数をpushする
 multi・・・ 2回popし、popした数の積をpushする
 div・・・ 2回popし、2回目にpopした数÷1回目をpushする
(端数切捨て)
 mod・・・2回popし、2回目にpopした数 mod 1回目をpushする
3
4
5
sub
3
1
命令(論理)
 not・・・1回popし、popした数が0ならば1を、そうでなけれ
ば0をpushする
 great・・・2回popし、2回目にpopした数>1回目ならば1を、そ
うでなければ0をpushする
命令(DPとCC)
 point・・・1回popし、DPを時計回りに
(popした数)×90度回転させる
 switch・・・ 1回popし、popした数の回数CCを切り替える
命令(roll)
 roll・・・スタックの中身を回転させるやっかいな命令
まず2回popし、1回目にpopされた数をn、2回目をdとする
その後、スタックのtopからd個の要素をn回、回す
3
4
5
7
3
2 roll(d=3, n=2)
3
4
5
7
d=3個
3
4
5
7
3
4
5
7
1回転 2回転 3
4
5
7
命令(入出力)
 in(n)・・・標準入力から整数を受け取り、その数をpushする
 in(c)・・・標準入力から文字を受け取り、そのUnicode値を
pushする
 out(n)・・・1回popし、popした数を標準出力に出力する
 out(c)・・・1回popし、popした数をUnicode値として持つ
1文字を標準出力に出力する
(10をout(c)すると改行できて便利)
目次
1. 環境構築
2. Pietの紹介
3. 実際にPietを描いてみる
4. 実際にPietを描いてみる
5. 実際に……
6. ……
∞. おわりに
Task1 簡単なPietプログラム
 2つの整数を標準入力から受け取り、その和を標準出力に出
力するPietのプログラムを描いてください
 時間が余って余裕がある人はコードを小さくしたり、見た目
を改善したりするとよいです
 KMCでのPietコードゴルフ界隈では、コードの対角線の長さ
が小さいほどよいことになっています
Task2 簡単なループ
 1つの正整数を標準入力から受け取り、その数が0になるまで
2で割り続け、その過程を標準出力に出力するPietのプログラ
ムを描いてください
例. 入力:“7” 出力:“7310”
入力:“16” 出力:“1684210”
 最初にもともとの数を出力するかどうか、最後に0を出力す
るかどうかは自由にしてよいです
 数と数の間に区切りを入れるとよい (入力7に対して7,3,1,0等)
Task3 rollを理解する
 1つの非負整数Nを標準入力から受け取り、N!を出力するPiet
プログラムを描いてください
例. 入力:“3” 出力:“6”
入力:“5” 出力:“120”
 roll命令を使わないと多分無理です
Task4 ほどよい難易度
 2つの正整数a, bを標準入力から受け取り、aとbの最大公約数
を出力するPietプログラムを描いてください
例. 入力:“4 8” 出力:“4”
入力:“15 6” 出力:“3”
 最小公倍数でもよいです
 ユークリッドの互除法を使いましょう
Task5 Pietを完全に理解する
 時間が余ってしょうがない人向けです
 生半可な覚悟で取り掛からないようにしましょう
 非負整数Nと項数Nの数列xを標準入力から受け取りxを昇順
にソートした数列を出力してください
 入力形式: N x_1 x_2 , … , x_N
例. 入力:“3 2 1 4” 出力:“1 2 4”
入力:“5 4 10 2 2 -2” 出力:“-2 2 2 4 10”
 しんどい
目次
1. 環境構築
2. Pietの紹介
3. 実際にPietを描いてみる
4. 実際にPietを描いてみる
5. 実際に……
6. ……
∞. おわりに
おわりに
 きっとPietの分岐とループの描き方を学んだはず。
これで任意のPietコードが描けるはず
 絵や文字っぽいプログラムを描くときは、先に絵を
用意してからPietに 修正していくと描きやすいらしい
 QRコードとしても意味を持つPietコードは先にQRコードを
用意して、白い部分に明るい色を、黒い部分に暗い色を使うと
できる
 俺たちのPietライフはまだまだ始まったばかりだ
 (ちなみに私はもうPietは飽きた)

Weitere ähnliche Inhalte

Was ist angesagt?

プログラミングコンテストでの動的計画法
プログラミングコンテストでの動的計画法プログラミングコンテストでの動的計画法
プログラミングコンテストでの動的計画法
Takuya Akiba
 
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
kiki utagawa
 
メタプログラミングって何だろう
メタプログラミングって何だろうメタプログラミングって何だろう
メタプログラミングって何だろう
Kota Mizushima
 

Was ist angesagt? (20)

プログラミングコンテストでの動的計画法
プログラミングコンテストでの動的計画法プログラミングコンテストでの動的計画法
プログラミングコンテストでの動的計画法
 
If文から機械学習への道
If文から機械学習への道If文から機械学習への道
If文から機械学習への道
 
明日使えないすごいビット演算
明日使えないすごいビット演算明日使えないすごいビット演算
明日使えないすごいビット演算
 
ChatGPTは思ったほど賢くない
ChatGPTは思ったほど賢くないChatGPTは思ったほど賢くない
ChatGPTは思ったほど賢くない
 
優れた研究論文の書き方
優れた研究論文の書き方優れた研究論文の書き方
優れた研究論文の書き方
 
それでも私が研究を続ける理由
それでも私が研究を続ける理由それでも私が研究を続ける理由
それでも私が研究を続ける理由
 
メッセージとストーリーのない発表はカスだ アカデミック・プレゼンテーションのコツ
メッセージとストーリーのない発表はカスだ アカデミック・プレゼンテーションのコツメッセージとストーリーのない発表はカスだ アカデミック・プレゼンテーションのコツ
メッセージとストーリーのない発表はカスだ アカデミック・プレゼンテーションのコツ
 
研究分野をサーベイする
研究分野をサーベイする研究分野をサーベイする
研究分野をサーベイする
 
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
 
データ活用をするための組織
データ活用をするための組織データ活用をするための組織
データ活用をするための組織
 
時系列予測にTransformerを使うのは有効か?
時系列予測にTransformerを使うのは有効か?時系列予測にTransformerを使うのは有効か?
時系列予測にTransformerを使うのは有効か?
 
最適化超入門
最適化超入門最適化超入門
最適化超入門
 
機械学習で泣かないためのコード設計 2018
機械学習で泣かないためのコード設計 2018機械学習で泣かないためのコード設計 2018
機械学習で泣かないためのコード設計 2018
 
研究法(Claimとは)
研究法(Claimとは)研究法(Claimとは)
研究法(Claimとは)
 
先端技術とメディア表現1 #FTMA15
先端技術とメディア表現1 #FTMA15先端技術とメディア表現1 #FTMA15
先端技術とメディア表現1 #FTMA15
 
プログラムを高速化する話
プログラムを高速化する話プログラムを高速化する話
プログラムを高速化する話
 
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
 
研究の基本ツール
研究の基本ツール研究の基本ツール
研究の基本ツール
 
メタプログラミングって何だろう
メタプログラミングって何だろうメタプログラミングって何だろう
メタプログラミングって何だろう
 

Ähnlich wie ドット絵でプログラミング!難解言語『Piet』勉強会

勉強会で発表してみようかなという方へ(BPStudy)
勉強会で発表してみようかなという方へ(BPStudy)勉強会で発表してみようかなという方へ(BPStudy)
勉強会で発表してみようかなという方へ(BPStudy)
Haruo Sato
 
【A-L】コミュニティが成長させるマルチクラウド環境でのデータ管理の世界 ~Docker Hubで500,000ダウンロード達成、Scality S3サー...
【A-L】コミュニティが成長させるマルチクラウド環境でのデータ管理の世界 ~Docker Hubで500,000ダウンロード達成、Scality S3サー...【A-L】コミュニティが成長させるマルチクラウド環境でのデータ管理の世界 ~Docker Hubで500,000ダウンロード達成、Scality S3サー...
【A-L】コミュニティが成長させるマルチクラウド環境でのデータ管理の世界 ~Docker Hubで500,000ダウンロード達成、Scality S3サー...
Developers Summit
 
千葉大学図書館情報技術論2017 第08回授業補足スライド:自宅でSQLite3
千葉大学図書館情報技術論2017 第08回授業補足スライド:自宅でSQLite3千葉大学図書館情報技術論2017 第08回授業補足スライド:自宅でSQLite3
千葉大学図書館情報技術論2017 第08回授業補足スライド:自宅でSQLite3
Kosetsu IKEDA
 

Ähnlich wie ドット絵でプログラミング!難解言語『Piet』勉強会 (20)

こわくないPython
こわくないPythonこわくないPython
こわくないPython
 
勉強会で発表してみようかなという方へ(BPStudy)
勉強会で発表してみようかなという方へ(BPStudy)勉強会で発表してみようかなという方へ(BPStudy)
勉強会で発表してみようかなという方へ(BPStudy)
 
[2013_04]新入生用スライド
[2013_04]新入生用スライド[2013_04]新入生用スライド
[2013_04]新入生用スライド
 
組み込み向けC++のやり方を探る - mbedで楽しい組み込みプログラミング -
組み込み向けC++のやり方を探る - mbedで楽しい組み込みプログラミング -組み込み向けC++のやり方を探る - mbedで楽しい組み込みプログラミング -
組み込み向けC++のやり方を探る - mbedで楽しい組み込みプログラミング -
 
[クリエイティブハント2018]LT 道場破りしたらできちゃった/// #ゴーハント
[クリエイティブハント2018]LT 道場破りしたらできちゃった/// #ゴーハント[クリエイティブハント2018]LT 道場破りしたらできちゃった/// #ゴーハント
[クリエイティブハント2018]LT 道場破りしたらできちゃった/// #ゴーハント
 
Raspberrypitraining20171027
Raspberrypitraining20171027Raspberrypitraining20171027
Raspberrypitraining20171027
 
企業主催勉強会BPStudy〜個人が輝くコミュニティを目指して
企業主催勉強会BPStudy〜個人が輝くコミュニティを目指して企業主催勉強会BPStudy〜個人が輝くコミュニティを目指して
企業主催勉強会BPStudy〜個人が輝くコミュニティを目指して
 
プログラミング研修資料 新潟県田上町20170807
プログラミング研修資料 新潟県田上町20170807プログラミング研修資料 新潟県田上町20170807
プログラミング研修資料 新潟県田上町20170807
 
【A-L】コミュニティが成長させるマルチクラウド環境でのデータ管理の世界 ~Docker Hubで500,000ダウンロード達成、Scality S3サー...
【A-L】コミュニティが成長させるマルチクラウド環境でのデータ管理の世界 ~Docker Hubで500,000ダウンロード達成、Scality S3サー...【A-L】コミュニティが成長させるマルチクラウド環境でのデータ管理の世界 ~Docker Hubで500,000ダウンロード達成、Scality S3サー...
【A-L】コミュニティが成長させるマルチクラウド環境でのデータ管理の世界 ~Docker Hubで500,000ダウンロード達成、Scality S3サー...
 
GTMF 2015: 株式会社アトミテック
GTMF 2015: 株式会社アトミテックGTMF 2015: 株式会社アトミテック
GTMF 2015: 株式会社アトミテック
 
Chrome拡張で改善 表紙
Chrome拡張で改善 表紙Chrome拡張で改善 表紙
Chrome拡張で改善 表紙
 
ゼロから深層学習を学ぶ方法 - CMS大阪夏祭り2017
ゼロから深層学習を学ぶ方法 - CMS大阪夏祭り2017ゼロから深層学習を学ぶ方法 - CMS大阪夏祭り2017
ゼロから深層学習を学ぶ方法 - CMS大阪夏祭り2017
 
Python & PyConJP 2014 Report
Python & PyConJP 2014 ReportPython & PyConJP 2014 Report
Python & PyConJP 2014 Report
 
デブサミ2017【17-E-5】エンタープライズにおけるDevOpsの実態!Cloud Native Application Platformの選択
デブサミ2017【17-E-5】エンタープライズにおけるDevOpsの実態!Cloud Native Application Platformの選択デブサミ2017【17-E-5】エンタープライズにおけるDevOpsの実態!Cloud Native Application Platformの選択
デブサミ2017【17-E-5】エンタープライズにおけるDevOpsの実態!Cloud Native Application Platformの選択
 
初学者のためのプロンプトエンジニアリング実践.pptx
初学者のためのプロンプトエンジニアリング実践.pptx初学者のためのプロンプトエンジニアリング実践.pptx
初学者のためのプロンプトエンジニアリング実践.pptx
 
千葉大学図書館情報技術論2017 第08回授業補足スライド:自宅でSQLite3
千葉大学図書館情報技術論2017 第08回授業補足スライド:自宅でSQLite3千葉大学図書館情報技術論2017 第08回授業補足スライド:自宅でSQLite3
千葉大学図書館情報技術論2017 第08回授業補足スライド:自宅でSQLite3
 
[PyConJP2019]Pythonで切り開く新しい農業
[PyConJP2019]Pythonで切り開く新しい農業[PyConJP2019]Pythonで切り開く新しい農業
[PyConJP2019]Pythonで切り開く新しい農業
 
スマートファクトリーを支えるIoTインフラをつくった話
スマートファクトリーを支えるIoTインフラをつくった話スマートファクトリーを支えるIoTインフラをつくった話
スマートファクトリーを支えるIoTインフラをつくった話
 
Get started with future C# .Net development with Docker
Get started with future C# .Net development with DockerGet started with future C# .Net development with Docker
Get started with future C# .Net development with Docker
 
Microsoft Copilot Studio.pdf
Microsoft Copilot Studio.pdfMicrosoft Copilot Studio.pdf
Microsoft Copilot Studio.pdf
 

Mehr von 京大 マイコンクラブ

Mehr von 京大 マイコンクラブ (20)

テキストファイルを読む💪 第1回
テキストファイルを読む💪  第1回テキストファイルを読む💪  第1回
テキストファイルを読む💪 第1回
 
かわいくなろうとしたら語彙力が下がった話
かわいくなろうとしたら語彙力が下がった話かわいくなろうとしたら語彙力が下がった話
かわいくなろうとしたら語彙力が下がった話
 
Common Lisp入門
Common Lisp入門Common Lisp入門
Common Lisp入門
 
多倍長整数の乗算と高速フーリエ変換
多倍長整数の乗算と高速フーリエ変換多倍長整数の乗算と高速フーリエ変換
多倍長整数の乗算と高速フーリエ変換
 
つくってあそぼ ラムダ計算インタプリタ
つくってあそぼ ラムダ計算インタプリタつくってあそぼ ラムダ計算インタプリタ
つくってあそぼ ラムダ計算インタプリタ
 
Geometry with Unity
Geometry with UnityGeometry with Unity
Geometry with Unity
 
セミコロンレスc++
セミコロンレスc++セミコロンレスc++
セミコロンレスc++
 
エンジニアと健康
エンジニアと健康エンジニアと健康
エンジニアと健康
 
女の子になれなかった人のために
女の子になれなかった人のために女の子になれなかった人のために
女の子になれなかった人のために
 
もし太陽のコアがIntelCoreだったら
もし太陽のコアがIntelCoreだったらもし太陽のコアがIntelCoreだったら
もし太陽のコアがIntelCoreだったら
 
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
 
プログラムを高速化する話Ⅱ 〜GPGPU編〜
プログラムを高速化する話Ⅱ 〜GPGPU編〜プログラムを高速化する話Ⅱ 〜GPGPU編〜
プログラムを高速化する話Ⅱ 〜GPGPU編〜
 
No SSH (@nojima; KMC関東例会)
No SSH (@nojima; KMC関東例会)No SSH (@nojima; KMC関東例会)
No SSH (@nojima; KMC関東例会)
 
DTM練習会2017第1.5回 「伴奏の付け方」
DTM練習会2017第1.5回 「伴奏の付け方」DTM練習会2017第1.5回 「伴奏の付け方」
DTM練習会2017第1.5回 「伴奏の付け方」
 
hideya流 テストプレイ観察術
hideya流 テストプレイ観察術hideya流 テストプレイ観察術
hideya流 テストプレイ観察術
 
暗号技術入門 秘密の国のアリス 総集編
暗号技術入門 秘密の国のアリス 総集編暗号技術入門 秘密の国のアリス 総集編
暗号技術入門 秘密の国のアリス 総集編
 
Altseed
AltseedAltseed
Altseed
 
C#でゲームを作る2016 第8回
C#でゲームを作る2016 第8回C#でゲームを作る2016 第8回
C#でゲームを作る2016 第8回
 
C#でゲームを作る2016 第7回
C#でゲームを作る2016 第7回C#でゲームを作る2016 第7回
C#でゲームを作る2016 第7回
 
C#でゲームを作る2016 第5回
C#でゲームを作る2016 第5回C#でゲームを作る2016 第5回
C#でゲームを作る2016 第5回
 

ドット絵でプログラミング!難解言語『Piet』勉強会