Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
第一回ゲームプログラミング講座
Search
softmedia
April 25, 2019
Technology
160
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
第一回ゲームプログラミング講座
softmedia
April 25, 2019
Other Decks in Technology
See All in Technology
継続的なAIコスト最適化
bgpat
1
340
Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
1
580
Metadata - Section 1: HTML Basics
mohab1
0
120
20261017福岡devIO 「AIは"良いダッシュボード"を作れるか?
jtakeda
0
140
AI × アーキテクト 第1・2章|生成AIの課題とアーキテクトの素養
daidaidai
0
170
1つのリクエストを追って理解する - llm-dのP/D分離
akhino
1
160
JAWSUG TOHOKU 青森支部 「LoGoチャット」のAWS移行で 乗り越えたこと
taketakekaho
0
330
Webの常識が通じないHTMLメールのダークモード
teamlab
PRO
0
120
Classmethod Company Deck
satoshi7
1
680
10年後、Engineering 行為を剥奪されるとして、わたしたちは、どう、何を創ればいいだろうか。 / If Engineering Is Taken Away in 10 Years, How and What Should We Create?
bitkey
PRO
1
190
大型犬好きによるPugの紹介
yamanoku
1
160
Rust で関数型ドメインモデリング
takonda
0
140
Featured
See All Featured
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
Darren the Foodie - Storyboard
khoart
PRO
4
4k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
530
We Are The Robots
honzajavorek
0
400
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
570
Exploring anti-patterns in Rails
aemeredith
4
540
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
710
Optimising Largest Contentful Paint
csswizardry
37
4k
Building an army of robots
kneath
307
47k
The SEO identity crisis: Don't let AI make you average
varn
0
590
Transcript
第1回 初級 ゲームプログラミング講座 講師:かがりび
今日やること 文字の出力 変数のデータの出力 四則演算とその結果の出力 if文
for文
プログラムとは コンピュータに対する命令 ↓大まかな流れ↓ プログラマーはコーディングの部分でプログラミング する 実際はもっと複雑 コーディング
実行 コンパイル
Template.cppの導入 配布したTemplate.cppをソリューションエクスプ ローラーのソースファイルに入れる ※ソースファイルにはTemplate.cppのみ ※ヘッダーファイル,リソースファイルは何も入っ ていない状態 次ページのようになればOK!
注意
Template.cppの説明① #include “DxLib.h” ゲームを作る際に使用するDXライブラリのヘッ ダーを使う,という宣言 ※今回は詳しくやりません int WINNAPI
WinMain(略) メイン関数という ここに書いてある処理を実行する
Template.cppの説明② SetGraphMode(800, 600, 32) 画面サイズを指定する 例:x軸方向に800,y軸の方向に600,解像度32bit ChangeWindowMode(TRUE or
FALSE) 画面の表示方法を変える TRUE:ウィンドウモード FALSE:フルスクリーンモード
Template.cppの説明③ if (DxLib_Init() != 0) { return -1; }
DxLib_Init()でDXライブラリを初期化 書かないと動かない return -1でエラーがでたら終了する
Template.cppの説明④ SetDrawScreen(DX_SCREEN_BACK) 裏画面に描画 基本的にこの処理を書く ※今回は詳しくはやりません DxLib_End() DXライブラリを終了させる ゲームを終了させる場合これを呼ぶ必要がある
Template.cppの説明⑤ return 0 戻り値,返り値という メイン文にある場合は0を返したとき正常にプログ ラムが終了したということになる ※今回は詳しくはやりません
文字の出力 次の関数を使う DrawFormatString(x, y, Getcolor(R,G,B),“string”); x → x座標,y
→ y座標 x, y 共に整数 Getcolor → 色指定の関数 string → 好きな文字列を 最後は ; (セミコロン)を付ける 0 x y
GetColor(R,G,B)について 色を指定する関数 R,G,Bをそれぞれ0~255の整数で指定する
実際に出力してみよう! 次の文を入力しよう! この文
このウィンドウがでたらOK! このウィンドウがでたらOK!
Q. 文字しか表示できないの? A. 文字以外に変数の中身も出力で きます!
変数の復習 変数とは数値などを入れておく箱のようなもの コードを見やすくするためにも分かりやすい変数名を 付ける(num,age,countなど) 変数には種類がある 名前が必要! num1
データ(整数) 10 10 整数型の変数(箱)
変数の種類 int型 (整数型) 整数を扱う 例:int num = 1;
double型 (倍精度浮動小数点数型) 実数を扱う 例:double num =1.0; char型 (文字型) 文字を扱う 例:char moji = ‘a’; char moji[]= “Hello”; 一文字の場合 文字列の場合 この書き方は今後やります
変数命名の注意 使える文字は半角英数字とアンダーバーのみ 変数名の先頭は必ず英字 すでに使われている文字列は使えない 予約語など return や
int など 大文字と小文字は区別される NUM と num は全くの変数
代入演算子 [変数] = [データ]; 意味:変数にデータを代入する 数学の = とは異なるので注意
この “=” を代入演算子という 例:int num = 10; num1 データ(整数) 10 10 整数型の変数(箱)
変数データの出力 DrawFormatString(x, y, Getcolor(R,G,B),“string”); の string の部分に出力変換指定子というものを使う 例:DrawFormatString(…,
” %d ”,num); %d :整数を出力 %f :少数を含む実数を出力 %c :文字(一文字)を出力 日本語不可 %s :文字列(文)を出力 日本語OK! 出力したい 変数
実際に出力してみよう! 次を書き写して実行してみよう!
変数データの出力 このウィンドウがでたらOK!
四則演算 プログラムでも四則演算が行える + 足し算 - 引き算 *
掛け算 / 割り算 % 割り算の余り 数値が入った変数なら変数同士の計算も可能
四則演算の諸注意 計算の優先順位は普段の計算と同じ 括弧 > 乗除 > 加減 括弧は
() のみ使える 計算式は右辺,結果を入れる変数は左辺 int ans = 4 / 3 ans は 1 になる (小数点以下切り捨て) 少数がでる計算の結果はdouble型などに入れる 整数と実数の計算結果は実数になる
実際に出力してみよう! 次のプログラムを書き写そう! y軸の値が変わってるので注意! % は %% と入力しないと表示されないので注意!
四則演算 このウィンドウがでたらOK!
課題1 縦 3cm,横 4cm,高さ 5cmの 直方体の体積と表面積を求めよ 変数名は縦が ver,横が
width,高さが heightとする 計算結果の変数は体積が v ,表面積が s とする ↓のように表示する
if文 条件を満たすとき,満たさないときで分岐し,分岐後の処 理を行う if(条件1){ //条件1を満たすときの処理 } else if(条件2){
//条件2を満たすときの処理 } else{ //どちらの条件も満たさないときの処理 } 条件1 処理 満たす 満たさない 条件2 処理 満たさない 満たす
条件演算子 if(条件),else if(条件)の条件部分で使う a == b aとbが等しい a !=
b aとbが等しくない a > b, a >= b aがbより大きい,aがb以上 a < b, a <= b aがb未満,aがb以下 a || b a,bのどちらか満たす (or) a && b a,bの両方満たす (and)
||と&&の補足 条件と条件の間に書く ||の例: if(a>5 || a<10){ //a>5 と
a<10どちらか満たすときの処理 } &&の例: if(a>5 && a<10){ //a>5 と a<10両方満たすときの処理 }
実際にやってみよう! 次のプログラムを書き写そう!
if文 このウィンドウがでたらOK! numを5以下にして結果が変わることも確認しよう!
課題2 numが10以上かつ20以下のときnumを出力するプ ログラムを作れ elseの場合も書くこと(例:error や num = 5
など) 出力の例:
発展課題1 0~100の整数を変数に入れ,次の条件を実装せよ ・100以下90以下のとき S ・90未満80以上のとき A ・80未満70以上のとき B ・70未満60以上のとき
C ・60未満0以上のとき D
for文 条件が “真” である限り処理をループさせる for (i = 0; i
< 10; i++){ //処理 } ()の中は(変数初期化, 条件, 変数可変) 文字列を出力する処理なら, DrawFormatStringのx軸,y軸に 変数を使うと文字列が重ならなくできる i < 10ならtrue 処理 true false
for文 変数初期化 ()の中で可変にする変数を初期化する 条件 処理をループさせる条件 変数可変 変数をどのくらいずつ可変させるか書く
実際にやってみよう! 次のプログラムを書き写そう! y軸に変数を使って 文字列をずらしている
for文 このウィンドウがでたらOK!
i++について i = i + 1;を省略したもの i--もあり,これは i
= i – 1;を省略したもの 複数回ループさせるときによく使う i++をインクリメント,i--をデクリメントという
課題3 iの二乗をi = 0からi = 9まで出力するプログラムを 作れ 出力の例:
最後に 今回習ったことはプログラミングの基礎! これができないと何もできない! 何も考えずに今回の内容をプログラミングできる くらい復習しよう!