Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
最強のPietでゲームを作る
KMC2回生 murata
2016/3/9(水)
@KMC春合宿講座
自己紹介
ID:murata
所属:京大工学部情報学科計算機2回生
役職:代表(会長の繰り上がり)
今年の活動:Unityでゲームを作ろう2015
超あほげー(数%マーケット)
YAPC(銅鑼パーソン)
大体一年以上使った言語:Piet C# ...
この講座の主張
3
おしながき
4
Piet
5
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のおさらい
16
Pietのおさらい
17
Pietのおさらい
18
Pietのおさらい
⇛ ⇛
⇛ ⇛
⇛ ⇛ ⇛ 19
Pietのおさらい
このコードの
動作が
わかるかなー
???
20
Pietのおさらい
8をPush
9をPush掛け算
72出力
終了
8をPush
9をPush
掛け算
72出力
どちらも先述の通り,72を出力するコード 21
Pidetのおさらい
https://github.com/kndama/Pidet
22
Pietのおさらい
終了
23
UltraPiet
24
UltraPietとは
25
UltraPietとは
26
UltraPietとは
27
UltraPietとは
28
UltraPietとは
29
UltraPietとは
30
UltraPietとは
1
スタックの
先頭
1
2
スタックの
先頭
3
スタックの
先頭
スタックの
先頭
Push 2 Add Out(n)
31
UltraPietとは
A
スタックの
先頭
A
K
M
C
3
Push
K,M,C,3
Push 0 Mod
A
K
M
C
3
0
A
[K,M,C]
32
UltraPietとは
7
7
[K,M,C]
K M C
[[7,2],[K,[],M,[[]],C]]
K M
C
[[K,M],C] []
7 2 K M C
33
UltraPietとは
7
7
[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
...
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とは
⇛ ⇛
69
Qtとは
⇛
70
connect(ui->horizontalSlider,&QSlider::valueChanged,[this](int value){
ui->lineEdit->setText(QString::number(val...
まとめ
71
ありがとう
ございました
72
Upcoming SlideShare
Loading in …5
×

Ultra piet

2,756 views

Published on

Piet に木構造を追加したUltrapiet でゲームを作ってみたという話です

Published in: Software
  • Be the first to comment

Ultra piet

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

×