SlideShare a Scribd company logo
1 of 41
Download to read offline
ドッターのためのプログラミング
   なにそれおいしいの
   TwitterID:manaten
   http://manaten.net
今日はなすこと
   プログラムとはなんだ
       どんなものか、イメージできる程度に
       プログラミングできるようになるわけではな
        いです
   ドッターに便利なプログラミング
       幾つか使ったことのあるサンプルを紹介
この講演の対象者
   プログラムなにそれおいしいのなドッター
       プログラムってなんだお(^ω^ )
       ゲームが作りたいけど最初の一歩が・・・
       プログラマと仕事する人
   プログラムをドット絵に活用してみたい人
   あくまで知らない人向け
       プログラムバリバリな人にはつまらないかも
       プログラムが書けるようにはならないと思いま
        す
プログラムってなに
プログラムってなに
   PCで動いてるものは、全部プログラム
       WindowsなどのOS
       PowerPointなどのアプリケーション
       ドッター必需品のEDGE, Galeなど
   ゲーム機や携帯電話の中身も
プログラミングってなあに
プログラミングってなあに
   PCにやってほしいこと(を書くこと)!
       でもいきなり、「プレゼンを表示して」とか、
        「ぼくのかんがえたさいきょうのゲームをう
        ごかせ」とかじゃダメ
       PCに理解できるように書かなきゃダメ


        足をお舐め
プログラミングってなあに
   じゃあ、どんなふうに書くのさ
プログラミングってなあに
   じゃあ、どんなふうに書くのさ
       やってほしいこと=目的地、プログラム=道筋
プログラミングってなあに
   じゃあ、どんなふうに書くのさ
       やってほしいこと=目的地、プログラム=道筋
                      駅を北口に出る

                      突き当りを左へ

                    マクドナルドの角を右へ

                      突き当りを右へ

                    セブンイレブンの角を左へ

                      突き当りを左へ
プログラミングってなあに
   じゃあ、どんなふうに書くのさ
       やってほしいこと=目的地、プログラム=道筋
                      駅を北口に出る

                      突き当りを左へ

                    マクドナルドの角を右へ

                      突き当りを右へ

                    セブンイレブンの角を左へ

                      突き当りを左へ
簡単な例
   三角形の面積を計算し表示するプログラム
       底辺3、高さ4の場合


          3×4を計算

        上の結果を2で割る

        上の結果を画面に表示
簡単な例
   三角形の面積を計算し表示するプログラム
       底辺3、高さ4の場合


          3×4を計算
                      val x = 3 * 4
        上の結果を2で割る     val area = x / 2
                      println(area)
        上の結果を画面に表示
簡単な例
   三角形の面積を計算し表示するプログラム
       底辺3、高さ4の場合
          3×4を計算
                        val x = 3 * 4
        上の結果を2で割る       val area = x / 2
                        println(area)
        上の結果を画面に表示




                    6
アクションゲームの例


Bボタンでジャンプ
            敵にあたったら痛い




  十字キーで移動
アクションゲームの例
   大雑把に説明すると・・・
             ボタン入力を受け取る

     方向キーなら移動する        Bボタンならジャンプ

               敵を移動させる

     敵に触れてたらダメージ       敵を踏んづけてたら攻撃

                  以上繰り返し
アクションゲームの例
   大雑把に説明すると・・・
             ボタン入力を受け取る

     方向キーなら移動する        Bボタンならジャンプ

               敵を移動させる

     敵に触れてたらダメージ       敵を踏んづけてたら攻撃

                  以上繰り返し
アクションゲームの例
   ほんとは、もっと複雑

      敵を移動させる
アクションゲームの例
   ほんとは、もっと複雑

      敵を移動させる
                    敵の座標を計算


                  敵の画面上の位置を計算


                 敵の画象を新しい位置に表示
つまり、プログラムってなんじゃ

   基本的には処理の流れ
       〇〇したら、× ×する。そして△ △する。
       枝分かれしたり繰り返したりすることで、複
        雑なこともできるよ
       複雑なものも簡単な処理の積み重ねでできて
        るよ
プログラミング言語
   プログラムを記述するためのもの
       用途によって様々なものが存在
           動作が早かったり、ある事柄を簡単に書けたり
           目的や、プログラマの趣味によって選択
       たくさんあるよ!
           C, C++, C#, Java, JavaScript, PHP, Python,
            BASIC, Ruby, Perl, ActionScript, Scala,
            Haskell, Lua,…
       ドット絵で言うと、ツールに近い
           EDGEを使うか、Galeを使うか
いろいろなプログラミング言語

   なんでも素早く    掲示板など、
     こなす。    サーバー言語の
    かなり硬派。     人気者。




      柔軟に     柔軟かつ
   なんでもこなす   スピーディな
     便利屋。    若手ホープ。
いろいろなプログラミング言語

int x = 3 * 4;        $x = 3 * 4;
int area = x / 2;     $area = $x / 2;
printf(“%d”, area);   echo $area;


          C                     PHP



x = 3 * 4             val x = 3 * 4
area = x / 2          val area = x / 2
puts area             println(area)


         Ruby                   Scala
ドッターのためのプログラミング

   じゃあ実際どんな厄にたつの?
   いくつかの例
       たくさんの画像をひとつに纏める!
       画像のフォーマットを揃える
       画像を合成してエフェクトを作る!
       おまけ・パレットで遊ぶ!
たくさんの画像をひとつに纏める
たくさんの画像をひとつに纏める
たくさんの画像をひとつに纏める

    画像ファイルを読み込む

    結合後のの大きさの空画象を
          作る

    読み込んだ画象をそれぞれ空
      画像に配置していく

    配置が終わった画象をファイ
        ルに書き出す
たくさんの画像をひとつに纏める
たくさんの画像をひとつに纏める
          画像ファイルを読み込む




         結合後のの大きさの空画象を
               作る



         読み込んだ画象をそれぞれ空
           画像に配置していく



         配置が終わった画象をファイ
             ルに書き出す
画像のフォーマットを揃える



                24bit BMP




8bit GIF



           8bit PNG
画像のフォーマットを揃える



                24bit BMP                     32bit PNG




8bit GIF                    32bit PNG



           8bit PNG                     32bit PNG
画像のフォーマットを揃える

    画像ファイルを読み込む

   それぞれに対し、同じ大きさ
   の空画象を同じフォーマット
        で作る

   読み込んだ画象をそれぞれ描
       き込んでいく

   配置が終わった画象をファイ
       ルに書き出す
画像のフォーマットを揃える
画像のフォーマットを揃える


         画像ファイルを読み込む

        それぞれに対し、同じ大きさ
        の空画象を32bitPNGで作る

        それぞれ、読み込んだ画象を
           それぞれ描き込む
        配置が終わった画象をファイ
            ルに書き出す
画像を合成してエフェクトを作る




元絵1   元絵2    出力
画像を合成してエフェクトを作る

    画像ファイルを読み込む

    出力用の同じサイズの画像を
         用意する

    読み込んだ画象のすべてのピ
    クセルに対して、それぞれ足
    しあわせた値を出力用の画像
       に描き込んでいく

    配置が終わった画象をファイ
        ルに書き出す
画像を合成してエフェクトを作る
画像を合成してエフェクトを作る

          画像ファイルを読み込む


         出力用の同じサイズの画像を
              用意する



         読み込んだ画象のすべてのピ
         クセルに対して、それぞれ足
         しあわせた値を出力用の画像
           に描き込んでいく


         配置が終わった画象をファイ
             ルに書き出す
おまけ・パレットで遊ぶ
まとめ
   プログラミングはなんなんだ
       PCにやってほしいことを教えること
       教えるための言語=プログラミング言語
   プログラミングは面白いよ!
       アイデア次第でなんでもできるよ
       面白いドット絵、プログラム、(出来ればゲー
        ム)を作ったら教えてね!
ドッターのためのプログラミングなにそれおいしいの

More Related Content

Viewers also liked

ドット絵にありがちなミスとその改善法
ドット絵にありがちなミスとその改善法ドット絵にありがちなミスとその改善法
ドット絵にありがちなミスとその改善法heriet
 
ドット絵ってなんだ
ドット絵ってなんだドット絵ってなんだ
ドット絵ってなんだheriet
 
Cc dx lib72-p
Cc dx lib72-pCc dx lib72-p
Cc dx lib72-pCHY72
 
ドット絵講座メイキング(わたがし)
ドット絵講座メイキング(わたがし)ドット絵講座メイキング(わたがし)
ドット絵講座メイキング(わたがし)九州大学物理研究部2015
 
ディープラーニングフレームワーク とChainerの実装
ディープラーニングフレームワーク とChainerの実装ディープラーニングフレームワーク とChainerの実装
ディープラーニングフレームワーク とChainerの実装Ryosuke Okuta
 
サルでもできるWebデザイン:SwapSkills
サルでもできるWebデザイン:SwapSkillsサルでもできるWebデザイン:SwapSkills
サルでもできるWebデザイン:SwapSkillsSatoshi Kikuchi
 
これくらいはやってほしいWebデザイン
これくらいはやってほしいWebデザインこれくらいはやってほしいWebデザイン
これくらいはやってほしいWebデザインYuya Takahashi
 
色で失敗しない為に 〜理論に基づく配色フロー〜
色で失敗しない為に 〜理論に基づく配色フロー〜色で失敗しない為に 〜理論に基づく配色フロー〜
色で失敗しない為に 〜理論に基づく配色フロー〜Yuudai Tachibana
 
現在のDNNにおける未解決問題
現在のDNNにおける未解決問題現在のDNNにおける未解決問題
現在のDNNにおける未解決問題Daisuke Okanohara
 
Sprint demo tws 100111
Sprint demo   tws 100111Sprint demo   tws 100111
Sprint demo tws 100111twman55
 
Константин Нагаев. КазГео - Едем на Юг
Константин Нагаев. КазГео - Едем на ЮгКонстантин Нагаев. КазГео - Едем на Юг
Константин Нагаев. КазГео - Едем на ЮгSocialMediaClubCA
 
E2D3 ver. 0.2 API説明書
E2D3 ver. 0.2 API説明書E2D3 ver. 0.2 API説明書
E2D3 ver. 0.2 API説明書E2D3.org
 

Viewers also liked (20)

ドット絵にありがちなミスとその改善法
ドット絵にありがちなミスとその改善法ドット絵にありがちなミスとその改善法
ドット絵にありがちなミスとその改善法
 
ドット絵講座メイキング(yossy)
ドット絵講座メイキング(yossy)ドット絵講座メイキング(yossy)
ドット絵講座メイキング(yossy)
 
ドット絵講座メイキング(ちくわ)
ドット絵講座メイキング(ちくわ)ドット絵講座メイキング(ちくわ)
ドット絵講座メイキング(ちくわ)
 
ドット絵ってなんだ
ドット絵ってなんだドット絵ってなんだ
ドット絵ってなんだ
 
Cc dx lib72-p
Cc dx lib72-pCc dx lib72-p
Cc dx lib72-p
 
第三回グラフィック講座スライド
第三回グラフィック講座スライド第三回グラフィック講座スライド
第三回グラフィック講座スライド
 
ドット絵講座メイキング(わたがし)
ドット絵講座メイキング(わたがし)ドット絵講座メイキング(わたがし)
ドット絵講座メイキング(わたがし)
 
ディープラーニングフレームワーク とChainerの実装
ディープラーニングフレームワーク とChainerの実装ディープラーニングフレームワーク とChainerの実装
ディープラーニングフレームワーク とChainerの実装
 
サルでもできるWebデザイン:SwapSkills
サルでもできるWebデザイン:SwapSkillsサルでもできるWebデザイン:SwapSkills
サルでもできるWebデザイン:SwapSkills
 
これくらいはやってほしいWebデザイン
これくらいはやってほしいWebデザインこれくらいはやってほしいWebデザイン
これくらいはやってほしいWebデザイン
 
色で失敗しない為に 〜理論に基づく配色フロー〜
色で失敗しない為に 〜理論に基づく配色フロー〜色で失敗しない為に 〜理論に基づく配色フロー〜
色で失敗しない為に 〜理論に基づく配色フロー〜
 
現在のDNNにおける未解決問題
現在のDNNにおける未解決問題現在のDNNにおける未解決問題
現在のDNNにおける未解決問題
 
Cambrian college
Cambrian collegeCambrian college
Cambrian college
 
Faridabad(1)
Faridabad(1)Faridabad(1)
Faridabad(1)
 
Family2
Family2Family2
Family2
 
Sprint demo tws 100111
Sprint demo   tws 100111Sprint demo   tws 100111
Sprint demo tws 100111
 
Facebook Changes
Facebook Changes Facebook Changes
Facebook Changes
 
Константин Нагаев. КазГео - Едем на Юг
Константин Нагаев. КазГео - Едем на ЮгКонстантин Нагаев. КазГео - Едем на Юг
Константин Нагаев. КазГео - Едем на Юг
 
Slide blog
Slide blogSlide blog
Slide blog
 
E2D3 ver. 0.2 API説明書
E2D3 ver. 0.2 API説明書E2D3 ver. 0.2 API説明書
E2D3 ver. 0.2 API説明書
 

Similar to ドッターのためのプログラミングなにそれおいしいの

ハードウェアを用いてPythonを学ぶ
ハードウェアを用いてPythonを学ぶハードウェアを用いてPythonを学ぶ
ハードウェアを用いてPythonを学ぶYuta Kitagami
 
とことんF#よぷよ! F# + XNA ゲームプログラミング入門
とことんF#よぷよ!  F# + XNA ゲームプログラミング入門とことんF#よぷよ!  F# + XNA ゲームプログラミング入門
とことんF#よぷよ! F# + XNA ゲームプログラミング入門zecl1231
 
アプリ開発・端末毎の解像度の違いを吸収する方法 Android Bazaar and Conference 2011 Summer
アプリ開発・端末毎の解像度の違いを吸収する方法 Android Bazaar and Conference 2011 Summer アプリ開発・端末毎の解像度の違いを吸収する方法 Android Bazaar and Conference 2011 Summer
アプリ開発・端末毎の解像度の違いを吸収する方法 Android Bazaar and Conference 2011 Summer Kunimasa Noda
 
openFrameworks Workshop in Kanazawa v001
openFrameworks Workshop in Kanazawa v001openFrameworks Workshop in Kanazawa v001
openFrameworks Workshop in Kanazawa v001Teruaki Tsubokura
 
1.29.user,user,user
1.29.user,user,user1.29.user,user,user
1.29.user,user,userTonny Xu
 
ふるたに流プログラミング学習法
ふるたに流プログラミング学習法ふるたに流プログラミング学習法
ふるたに流プログラミング学習法Kazuma Furutani
 
岡山県立大学オープンキャンパス資料
岡山県立大学オープンキャンパス資料岡山県立大学オープンキャンパス資料
岡山県立大学オープンキャンパス資料Takeo Kunishima
 
ABC2013 Spring デザインナーとエンジニアの連携プレイのコツ
ABC2013 Spring デザインナーとエンジニアの連携プレイのコツABC2013 Spring デザインナーとエンジニアの連携プレイのコツ
ABC2013 Spring デザインナーとエンジニアの連携プレイのコツMori Keita
 
20150725 オープンキャンパス資料
20150725 オープンキャンパス資料20150725 オープンキャンパス資料
20150725 オープンキャンパス資料Takeo Kunishima
 
「オリジナル時計」事前課題用テキスト
「オリジナル時計」事前課題用テキスト「オリジナル時計」事前課題用テキスト
「オリジナル時計」事前課題用テキストTairo Moriyama
 
TypeScript と Visual Studio Code
TypeScript と Visual Studio CodeTypeScript と Visual Studio Code
TypeScript と Visual Studio CodeAkira Inoue
 
苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 1
苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 1苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 1
苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 1Takuya Mukohira
 
Developers Summit 2013【14-E-4】デザインをするときにデザイナーが考えること〜デザイナーの頭の中〜
Developers Summit 2013【14-E-4】デザインをするときにデザイナーが考えること〜デザイナーの頭の中〜Developers Summit 2013【14-E-4】デザインをするときにデザイナーが考えること〜デザイナーの頭の中〜
Developers Summit 2013【14-E-4】デザインをするときにデザイナーが考えること〜デザイナーの頭の中〜Chihiro Tomita
 
OpenCVとRGB-Dセンサで作ろう壁面タッチパネル
OpenCVとRGB-Dセンサで作ろう壁面タッチパネルOpenCVとRGB-Dセンサで作ろう壁面タッチパネル
OpenCVとRGB-Dセンサで作ろう壁面タッチパネルTakashi Yoshinaga
 
プログラマとデザイナが共有すべきUIに関するAndroidの10の機能
プログラマとデザイナが共有すべきUIに関するAndroidの10の機能プログラマとデザイナが共有すべきUIに関するAndroidの10の機能
プログラマとデザイナが共有すべきUIに関するAndroidの10の機能youten (ようてん)
 
p5.js 授業テキスト
p5.js 授業テキストp5.js 授業テキスト
p5.js 授業テキストSuzuki Junko
 
Hokkaido.pm.casual #03 slide
Hokkaido.pm.casual #03 slideHokkaido.pm.casual #03 slide
Hokkaido.pm.casual #03 slideTohru Shinohara
 

Similar to ドッターのためのプログラミングなにそれおいしいの (20)

ハードウェアを用いてPythonを学ぶ
ハードウェアを用いてPythonを学ぶハードウェアを用いてPythonを学ぶ
ハードウェアを用いてPythonを学ぶ
 
はじめての「R」
はじめての「R」はじめての「R」
はじめての「R」
 
とことんF#よぷよ! F# + XNA ゲームプログラミング入門
とことんF#よぷよ!  F# + XNA ゲームプログラミング入門とことんF#よぷよ!  F# + XNA ゲームプログラミング入門
とことんF#よぷよ! F# + XNA ゲームプログラミング入門
 
アプリ開発・端末毎の解像度の違いを吸収する方法 Android Bazaar and Conference 2011 Summer
アプリ開発・端末毎の解像度の違いを吸収する方法 Android Bazaar and Conference 2011 Summer アプリ開発・端末毎の解像度の違いを吸収する方法 Android Bazaar and Conference 2011 Summer
アプリ開発・端末毎の解像度の違いを吸収する方法 Android Bazaar and Conference 2011 Summer
 
openFrameworks Workshop in Kanazawa v001
openFrameworks Workshop in Kanazawa v001openFrameworks Workshop in Kanazawa v001
openFrameworks Workshop in Kanazawa v001
 
1.29.user,user,user
1.29.user,user,user1.29.user,user,user
1.29.user,user,user
 
ふるたに流プログラミング学習法
ふるたに流プログラミング学習法ふるたに流プログラミング学習法
ふるたに流プログラミング学習法
 
岡山県立大学オープンキャンパス資料
岡山県立大学オープンキャンパス資料岡山県立大学オープンキャンパス資料
岡山県立大学オープンキャンパス資料
 
ABC2013 Spring デザインナーとエンジニアの連携プレイのコツ
ABC2013 Spring デザインナーとエンジニアの連携プレイのコツABC2013 Spring デザインナーとエンジニアの連携プレイのコツ
ABC2013 Spring デザインナーとエンジニアの連携プレイのコツ
 
20150725 オープンキャンパス資料
20150725 オープンキャンパス資料20150725 オープンキャンパス資料
20150725 オープンキャンパス資料
 
「オリジナル時計」事前課題用テキスト
「オリジナル時計」事前課題用テキスト「オリジナル時計」事前課題用テキスト
「オリジナル時計」事前課題用テキスト
 
Oitec
OitecOitec
Oitec
 
TypeScript と Visual Studio Code
TypeScript と Visual Studio CodeTypeScript と Visual Studio Code
TypeScript と Visual Studio Code
 
苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 1
苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 1苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 1
苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 1
 
SFC Design theory 2012 6/6
SFC Design theory 2012 6/6SFC Design theory 2012 6/6
SFC Design theory 2012 6/6
 
Developers Summit 2013【14-E-4】デザインをするときにデザイナーが考えること〜デザイナーの頭の中〜
Developers Summit 2013【14-E-4】デザインをするときにデザイナーが考えること〜デザイナーの頭の中〜Developers Summit 2013【14-E-4】デザインをするときにデザイナーが考えること〜デザイナーの頭の中〜
Developers Summit 2013【14-E-4】デザインをするときにデザイナーが考えること〜デザイナーの頭の中〜
 
OpenCVとRGB-Dセンサで作ろう壁面タッチパネル
OpenCVとRGB-Dセンサで作ろう壁面タッチパネルOpenCVとRGB-Dセンサで作ろう壁面タッチパネル
OpenCVとRGB-Dセンサで作ろう壁面タッチパネル
 
プログラマとデザイナが共有すべきUIに関するAndroidの10の機能
プログラマとデザイナが共有すべきUIに関するAndroidの10の機能プログラマとデザイナが共有すべきUIに関するAndroidの10の機能
プログラマとデザイナが共有すべきUIに関するAndroidの10の機能
 
p5.js 授業テキスト
p5.js 授業テキストp5.js 授業テキスト
p5.js 授業テキスト
 
Hokkaido.pm.casual #03 slide
Hokkaido.pm.casual #03 slideHokkaido.pm.casual #03 slide
Hokkaido.pm.casual #03 slide
 

Recently uploaded

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 

Recently uploaded (8)

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 

ドッターのためのプログラミングなにそれおいしいの

  • 1. ドッターのためのプログラミング なにそれおいしいの TwitterID:manaten http://manaten.net
  • 2. 今日はなすこと  プログラムとはなんだ  どんなものか、イメージできる程度に  プログラミングできるようになるわけではな いです  ドッターに便利なプログラミング  幾つか使ったことのあるサンプルを紹介
  • 3. この講演の対象者  プログラムなにそれおいしいのなドッター  プログラムってなんだお(^ω^ )  ゲームが作りたいけど最初の一歩が・・・  プログラマと仕事する人  プログラムをドット絵に活用してみたい人  あくまで知らない人向け  プログラムバリバリな人にはつまらないかも  プログラムが書けるようにはならないと思いま す
  • 5. プログラムってなに  PCで動いてるものは、全部プログラム  WindowsなどのOS  PowerPointなどのアプリケーション  ドッター必需品のEDGE, Galeなど  ゲーム機や携帯電話の中身も
  • 7. プログラミングってなあに  PCにやってほしいこと(を書くこと)!  でもいきなり、「プレゼンを表示して」とか、 「ぼくのかんがえたさいきょうのゲームをう ごかせ」とかじゃダメ  PCに理解できるように書かなきゃダメ 足をお舐め
  • 8. プログラミングってなあに  じゃあ、どんなふうに書くのさ
  • 9. プログラミングってなあに  じゃあ、どんなふうに書くのさ  やってほしいこと=目的地、プログラム=道筋
  • 10. プログラミングってなあに  じゃあ、どんなふうに書くのさ  やってほしいこと=目的地、プログラム=道筋 駅を北口に出る 突き当りを左へ マクドナルドの角を右へ 突き当りを右へ セブンイレブンの角を左へ 突き当りを左へ
  • 11. プログラミングってなあに  じゃあ、どんなふうに書くのさ  やってほしいこと=目的地、プログラム=道筋 駅を北口に出る 突き当りを左へ マクドナルドの角を右へ 突き当りを右へ セブンイレブンの角を左へ 突き当りを左へ
  • 12. 簡単な例  三角形の面積を計算し表示するプログラム  底辺3、高さ4の場合 3×4を計算 上の結果を2で割る 上の結果を画面に表示
  • 13. 簡単な例  三角形の面積を計算し表示するプログラム  底辺3、高さ4の場合 3×4を計算 val x = 3 * 4 上の結果を2で割る val area = x / 2 println(area) 上の結果を画面に表示
  • 14. 簡単な例  三角形の面積を計算し表示するプログラム  底辺3、高さ4の場合 3×4を計算 val x = 3 * 4 上の結果を2で割る val area = x / 2 println(area) 上の結果を画面に表示 6
  • 15. アクションゲームの例 Bボタンでジャンプ 敵にあたったら痛い 十字キーで移動
  • 16. アクションゲームの例  大雑把に説明すると・・・ ボタン入力を受け取る 方向キーなら移動する Bボタンならジャンプ 敵を移動させる 敵に触れてたらダメージ 敵を踏んづけてたら攻撃 以上繰り返し
  • 17. アクションゲームの例  大雑把に説明すると・・・ ボタン入力を受け取る 方向キーなら移動する Bボタンならジャンプ 敵を移動させる 敵に触れてたらダメージ 敵を踏んづけてたら攻撃 以上繰り返し
  • 18. アクションゲームの例  ほんとは、もっと複雑 敵を移動させる
  • 19. アクションゲームの例  ほんとは、もっと複雑 敵を移動させる 敵の座標を計算 敵の画面上の位置を計算 敵の画象を新しい位置に表示
  • 20. つまり、プログラムってなんじゃ  基本的には処理の流れ  〇〇したら、× ×する。そして△ △する。  枝分かれしたり繰り返したりすることで、複 雑なこともできるよ  複雑なものも簡単な処理の積み重ねでできて るよ
  • 21. プログラミング言語  プログラムを記述するためのもの  用途によって様々なものが存在  動作が早かったり、ある事柄を簡単に書けたり  目的や、プログラマの趣味によって選択  たくさんあるよ!  C, C++, C#, Java, JavaScript, PHP, Python, BASIC, Ruby, Perl, ActionScript, Scala, Haskell, Lua,…  ドット絵で言うと、ツールに近い  EDGEを使うか、Galeを使うか
  • 22. いろいろなプログラミング言語 なんでも素早く 掲示板など、 こなす。 サーバー言語の かなり硬派。 人気者。 柔軟に 柔軟かつ なんでもこなす スピーディな 便利屋。 若手ホープ。
  • 23. いろいろなプログラミング言語 int x = 3 * 4; $x = 3 * 4; int area = x / 2; $area = $x / 2; printf(“%d”, area); echo $area; C PHP x = 3 * 4 val x = 3 * 4 area = x / 2 val area = x / 2 puts area println(area) Ruby Scala
  • 24. ドッターのためのプログラミング  じゃあ実際どんな厄にたつの?  いくつかの例  たくさんの画像をひとつに纏める!  画像のフォーマットを揃える  画像を合成してエフェクトを作る!  おまけ・パレットで遊ぶ!
  • 27. たくさんの画像をひとつに纏める 画像ファイルを読み込む 結合後のの大きさの空画象を 作る 読み込んだ画象をそれぞれ空 画像に配置していく 配置が終わった画象をファイ ルに書き出す
  • 29. たくさんの画像をひとつに纏める 画像ファイルを読み込む 結合後のの大きさの空画象を 作る 読み込んだ画象をそれぞれ空 画像に配置していく 配置が終わった画象をファイ ルに書き出す
  • 30. 画像のフォーマットを揃える 24bit BMP 8bit GIF 8bit PNG
  • 31. 画像のフォーマットを揃える 24bit BMP 32bit PNG 8bit GIF 32bit PNG 8bit PNG 32bit PNG
  • 32. 画像のフォーマットを揃える 画像ファイルを読み込む それぞれに対し、同じ大きさ の空画象を同じフォーマット で作る 読み込んだ画象をそれぞれ描 き込んでいく 配置が終わった画象をファイ ルに書き出す
  • 34. 画像のフォーマットを揃える 画像ファイルを読み込む それぞれに対し、同じ大きさ の空画象を32bitPNGで作る それぞれ、読み込んだ画象を それぞれ描き込む 配置が終わった画象をファイ ルに書き出す
  • 36. 画像を合成してエフェクトを作る 画像ファイルを読み込む 出力用の同じサイズの画像を 用意する 読み込んだ画象のすべてのピ クセルに対して、それぞれ足 しあわせた値を出力用の画像 に描き込んでいく 配置が終わった画象をファイ ルに書き出す
  • 38. 画像を合成してエフェクトを作る 画像ファイルを読み込む 出力用の同じサイズの画像を 用意する 読み込んだ画象のすべてのピ クセルに対して、それぞれ足 しあわせた値を出力用の画像 に描き込んでいく 配置が終わった画象をファイ ルに書き出す
  • 40. まとめ  プログラミングはなんなんだ  PCにやってほしいことを教えること  教えるための言語=プログラミング言語  プログラミングは面白いよ!  アイデア次第でなんでもできるよ  面白いドット絵、プログラム、(出来ればゲー ム)を作ったら教えてね!