ultra piet

72
最強のPietでゲームを作る KMC2回生 murata 2016/3/9(水) @KMC春合宿講座

Upload: -

Post on 15-Apr-2017

2.331 views

Category:

Software


5 download

TRANSCRIPT

Page 1: Ultra piet

最強のPietでゲームを作る

KMC2回生 murata

2016/3/9(水) @KMC春合宿講座

Page 2: Ultra piet

自己紹介ID:murata所属:京大工学部情報学科計算機2回生役職:代表(会長の繰り上がり)

今年の活動:Unityでゲームを作ろう2015超あほげー(数%マーケット)YAPC(銅鑼パーソン)

大体一年以上使った言語:Piet C# C++ VB62

Page 3: Ultra piet

この講座の主張

3

Page 4: Ultra piet

おしながき

4

Page 5: Ultra piet

Piet5

Page 6: Ultra piet

Pietの概要

> < + - . , [ ]

ptr++ ptr-- (*ptr)++ (*ptr)-- output input if(0) to ] if(!0) to [

6

Page 7: Ultra piet

Pietの概要

7

Page 8: Ultra piet

Pietの概要

8

Page 9: Ultra piet

Pietの概要

v @_ v>0"!dlroW"v v :# < >" ,olleH" v

^ <9

Page 10: Ultra piet

Pietの概要

10

Page 11: Ultra piet

Pietの概要

11

Page 12: Ultra piet

Pietの概要

12

Page 13: Ultra piet

Pietの概要

13

Page 14: Ultra piet

Pietの概要

14

Page 15: Ultra piet

Pietの概要

15

Page 16: Ultra piet

Pietのおさらい

16

Page 17: Ultra piet

Pietのおさらい

17

Page 18: Ultra piet

Pietのおさらい

18

Page 19: Ultra piet

Pietのおさらい

⇛ ⇛

⇛ ⇛

⇛ ⇛ ⇛19

Page 20: Ultra piet

Pietのおさらい

このコードの動作が

わかるかなー???

20

Page 21: Ultra piet

Pietのおさらい8をPush

9をPush掛け算

72出力

終了

8をPush

9をPush

掛け算

72出力

どちらも先述の通り,72を出力するコード 21

Page 22: Ultra piet

Pidetのおさらい

https://github.com/kndama/Pidet

22

Page 23: Ultra piet

Pietのおさらい終了

23

Page 24: Ultra piet

UltraPiet

24

Page 25: Ultra piet

UltraPietとは

25

Page 26: Ultra piet

UltraPietとは

26

Page 27: Ultra piet

UltraPietとは

27

Page 29: Ultra piet

UltraPietとは

29

Page 30: Ultra piet

UltraPietとは

30

Page 31: Ultra piet

UltraPietとは

1

スタックの先頭

12

スタックの先頭

スタックの先頭

スタックの先頭

Push 2 Add Out(n)

31

Page 32: Ultra piet

UltraPietとは

A

スタックの先頭

AKMC3

Push K,M,C,3

Push 0 Mod

AKMC30

A[K,M,C]

32

Page 33: Ultra piet

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

Page 34: Ultra piet

UltraPietとは

77

[K,M,C]“KMC”

K M C

K M

C

[[K,M],C]["KM",C]

[]""

34

Page 35: Ultra piet

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

Page 36: Ultra piet

UltraPietとは

36

Page 37: Ultra piet

UltraPietとは

37

Page 38: Ultra piet

UltraPietとは

38

Page 39: Ultra piet

UltraPietとは

39

Page 40: Ultra piet

UltraPietとは

40

Page 41: Ultra piet

UltraPietとは

41

Page 42: Ultra piet

UltraPietでゲームを作る

42

Page 43: Ultra piet

UltraPietでゲームを作る

43

Page 44: Ultra piet

木構造の演算

44

Page 45: Ultra piet

木構造の演算

45

Page 46: Ultra piet

木構造の演算

46

Page 47: Ultra piet

木構造の演算

⇛47

Page 48: Ultra piet

木構造の演算

48

Page 49: Ultra piet

木構造の演算

⇛49

Page 50: Ultra piet

木構造の演算

⇛50

Page 51: Ultra piet

木構造の演算

51

Page 52: Ultra piet

木構造の演算

⇛52

Page 53: Ultra piet

木構造の演算

⇛53

Page 54: Ultra piet

木構造の演算

⇛ ⇛

54

Page 55: Ultra piet

木構造の演算

⇛55

Page 56: Ultra piet

木構造の演算

56

Page 57: Ultra piet

木構造の演算

⇛57

Page 58: Ultra piet

木構造の演算

58

Page 59: Ultra piet

木構造の演算

⇛ 59

Page 60: Ultra piet

木構造の演算

60

Page 61: Ultra piet

UltraPiet

61

Page 62: Ultra piet

UltraPiet

⇛62

Page 63: Ultra piet

UltraPiet

↑キーの判定

↓キーの判定

上下の移動処理

敵追加処理

敵描画

あたり判定

移動処理

敵の配列ループ処理

死亡判定& 順序整理

スペースが足りない

63

Page 64: Ultra piet

UltraPiet

64

Page 65: Ultra piet

UltraPiet

65

Page 66: Ultra piet

Qt

66

Page 67: Ultra piet

Qtとは

67

Page 68: Ultra piet

Qtとは

68

Page 69: Ultra piet

Qtとは

⇛ ⇛

69

Page 70: Ultra piet

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 +")");

});

Page 72: Ultra piet

ありがとうございました

72