ultra piet
TRANSCRIPT
最強のPietでゲームを作る
KMC2回生 murata
2016/3/9(水) @KMC春合宿講座
自己紹介ID:murata所属:京大工学部情報学科計算機2回生役職:代表(会長の繰り上がり)
今年の活動:Unityでゲームを作ろう2015超あほげー(数%マーケット)YAPC(銅鑼パーソン)
大体一年以上使った言語:Piet C# C++ VB62
この講座の主張
3
おしながき
4
Piet5
Pietの概要
> < + - . , [ ]
ptr++ ptr-- (*ptr)++ (*ptr)-- output input if(0) to ] if(!0) to [
6
Pietの概要
7
Pietの概要
8
Pietの概要
v @_ v>0"!dlroW"v v :# < >" ,olleH" v
^ <9
Pietの概要
10
Pietの概要
11
Pietの概要
12
Pietの概要
13
Pietの概要
14
Pietの概要
15
Pietのおさらい
17
Pietのおさらい
18
Pietのおさらい
⇛ ⇛
⇛ ⇛
⇛ ⇛ ⇛19
Pietのおさらい
このコードの動作が
わかるかなー???
20
Pietのおさらい8をPush
9をPush掛け算
72出力
終了
8をPush
9をPush
掛け算
72出力
どちらも先述の通り,72を出力するコード 21
Pietのおさらい終了
23
UltraPiet
24
UltraPietとは
25
UltraPietとは
26
UltraPietとは
27
UltraPietとは
29
UltraPietとは
30
UltraPietとは
1
スタックの先頭
12
スタックの先頭
3
スタックの先頭
スタックの先頭
Push 2 Add Out(n)
31
UltraPietとは
A
スタックの先頭
AKMC3
Push K,M,C,3
Push 0 Mod
AKMC30
A[K,M,C]
32
UltraPietとは
77
[K,M,C]
K M C
[[7,2],[K,[],M,[[]],C]]
K M
C
[[K,M],C] []
7 2 K M C
33
UltraPietとは
77
[K,M,C]“KMC”
K M C
K M
C
[[K,M],C]["KM",C]
[]""
34
UltraPietとは
Mod 0
"CHIHAYA"[K,M,C]A[[x,y],[X,Y]]3
"CHIHAYA"[[K,M,C],A,[[x,y],[X,Y]]]
K M C
A
x y X Y K M C
A
x y X Y
35
UltraPietとは
36
UltraPietとは
37
UltraPietとは
38
UltraPietとは
39
UltraPietとは
40
UltraPietとは
41
UltraPietでゲームを作る
42
UltraPietでゲームを作る
43
木構造の演算
44
木構造の演算
45
木構造の演算
46
木構造の演算
⇛
⇛
⇛47
木構造の演算
⇛
48
木構造の演算
⇛
⇛49
木構造の演算
⇛
⇛
⇛50
木構造の演算
⇛
⇛
51
木構造の演算
⇛
⇛52
木構造の演算
⇛
⇛53
木構造の演算
⇛
⇛
⇛ ⇛
54
木構造の演算
⇛
⇛55
木構造の演算
56
木構造の演算
⇛57
木構造の演算
58
木構造の演算
⇛
⇛
⇛
⇛
⇛
⇛
⇛ 59
木構造の演算
60
UltraPiet
61
UltraPiet
⇛62
UltraPiet
↑キーの判定
↓キーの判定
上下の移動処理
敵追加処理
敵描画
あたり判定
移動処理
敵の配列ループ処理
死亡判定& 順序整理
スペースが足りない
63
UltraPiet
64
UltraPiet
65
Qt
66
Qtとは
67
Qtとは
⇛
68
Qtとは
⇛
70
connect(ui->horizontalSlider,&QSlider::valueChanged,[this](int value){
ui->lineEdit->setText(QString::number(value));
});
connect(ui->pushButton,&QPushButton::clicked,[this](bool clicked){
auto filePath = QFileDialog::getOpenFileName(this,tr("Image"), "", tr("Image Files (*.png *.jpg )"));
this->setStyleSheet("background-image: url(" + filePath +")");
});
ありがとうございました
72