1. ソルラジ 〜ゲーム開発の挫折共有ラジオ〜
  2. #game67  グローバル変数と..
2025-04-23 24:19

#game67  グローバル変数とローカル変数でゲームプログラミングがはかどる!前編 〜主観と客観を使いこなす〜

グローバル変数とローカル変数の説明スライド

https://docs.google.com/presentation/d/1Qm5qgO0MekEB5Oq8fgiRCdtSHm-QLonxB7xSkDcMVCM/edit?usp=sharing


プログラミングが学べるゲームEXEACT体験版はこちらから遊べます⁠⁠

⁠⁠https://solventer.jp/exeact/⁠⁠


内容:

・ローカル変数とグローバル変数

・グローバル変数は客観的数字

・ローカル変数は主観的数字

・HPは変数

・フィールドの大きさ

・意識して変数を使う

・コンピュータの理解に合わせる


SOLVENTERとは?

「世の中のつまらないことを無くし、好きな事で生きる世界を作る」を理念として立ち上がったゲーム開発チームです!

現在は、プログラミング学習の挫折率を下げたい!

という想いで

プログラミングが楽しく学べる

「EXEACT(エグゼアクト)」を開発しています!


SOLVENTER RADIO(ソルラジ)とは?

ゲーム開発の日々の挫折をRADIOで発信していきます。

開発の苦悩を面白おかしく共有していきます!


SOLVENTER

X/Twitter(フォローよろしくお願いします!)

⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠▼https://twitter.com/Solventer_jp⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠


EXEーACT

(今回の開発以前の内容)最新版は概要欄一番上の内容です。

<ブラウザで遊べます!開発中のゲームはこちら>

プログラミングが学べる3Dブラウザゲーム

⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠▼https://unityroom.com/games/exe_act_stage01⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠

⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠▼https://unityroom.com/games/exe_act_stage02⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠

⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠▼https://unityroom.com/games/exe_act_stage05⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠


プログラミングが学べる2Dブラウザゲーム

⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠▼https://unityroom.com/games/test0000test⁠⁠⁠⁠⁠⁠⁠

サマリー

このエピソードでは、プログラミングにおけるグローバル変数とローカル変数について深く掘り下げ、特にゲーム開発におけるこれらの変数の使い方の重要性が強調されています。エラーの原因や変数の意義が分かりやすく解説され、初学者が直面しやすい課題についても触れられています。ゲームプログラミングにおけるグローバル変数とローカル変数の重要性が説明され、HPなどのステータスをゲームキャラクターに適切に割り当てる方法が紹介されています。特に、プレイヤーとエネミーのHPを区別する必要性が強調され、エラーを避けるためのデバッグの視点も提供されています。ゲームプログラミングにおけるグローバル変数とローカル変数の使い方について考察され、データの整理の重要性が強調されています。プログラムの処理速度を向上させるためには、効率的な変数名の付け方や情報の整理が鍵であることが示されています。

ゲーム開発の基本
ソルラジ  ゲーム開発の挫折共有トーク
この番組は、素人ゲーム開発者たちがプログラミングにおける挫折を、つれづれなるままに共有していく番組です。
ゲーム開発に興味のある方や、開発者の方の参考になることを目指した番組です。
じゃあ、ソルラジ始めていきたいと思いまーす。
お願いします。
SOLVENTER代表のパギジョです。
SOLVENTERのヤブです。
SOLVENTERのソウマです。
よろしくお願いします。
お久しぶりですね。僕ラジオ久しぶりです。
お久しぶりです。ラジオはね、収録はね。収録は収録ですね。
3人で。
今日めっちゃ話したいテーマありますよ。
めっちゃ話したいの?
ところで、ところで、めっちゃ話したいテーマ。
なになに?
グローバル変数とローカル変数についてめっちゃ話したいですね。
一文字もわからんかったけど。
一文字もわからなかった?
なんか話したいんやなって。
プログラミング。
グローバル変数とローカル変数について、やっぱね、日常生活してるとね、めっちゃ話したくなるんですよ。それについて。
ちょっと1ミリも共感できてないけど。
あ、そうだね。
それをね、ちょっと紐解いて共感してもらえると思ってるので。
あ、なるほど。
しなかったらしないって言ってね。全然いいか。それで。
100万人のリスナーみんな首かしげとるけど。
いや、でもね。
今のところ。
俺ね、結構の人共感してくれると思ってるから。
俺この場が、そう、ソマさんとヤブさんが共感しなくても絶対共感してくれる人がいると信じてるから。
そうだね。
ちょっとこの話させて。
100万人おらんけどね。
あ、そもそもね。ごめんごめん。
なんか当たり前のことになられたけど。
変数の理解
そうね。ジョーク100万人全然おらんけどね。
ごめんごめんごめん。
100万おったら1万ぐらいおるっしょみたいな。
ごめんごめん。
割合ね、割合。
えっとさ、プログラミングさ、もちろん知らない人向けだから、それでちょっと話したいんだけど、プログラミングって変数ってあるのわかります?ソマさん。
変数。もう一回おさらいで変数って何か聞いてもいい?
変数は、数字とか数字が入るような言葉だったりを変数ってちょっとイメージしてもらえばいいと思ってて。
例えば、HPって言葉あるじゃないですか。
ヒットポイント。
ゲームとかでヒットポイントってHPとかMPとかスタミナとかそれそれ数字の情報入ってますね。
例えば、今自分のHPは10ですとか満タンですとかって言うじゃないですか。
だからHPっていうものってなんか変化する値持ってるじゃないですか、イメージ的に。
例えば、なんかなんて言えばいいんだろうな。
だから人間の高さとか身長ね。
あー。
ごめん。
物みたいな。
ごめんごめん。
だいたい平均1.7メートルぐらいだよね。
成人端数ね。
身長って言葉もさ、数字持てそうじゃん。
高さを表すから1.7とか。
でも、例えば自分のパギジョウって言葉は、パギジョウって言葉は変数にできるっちゃできるんだけど、数字のイメージあんまないじゃん。
だから変数のイメージは、情報とか数字とかを持つ言葉のイメージなんですよ。
ゲームで言うと最初名前入れる箱みたいな感じ?
そうそう、名前っていうのも、プレイヤー名っていうのも文字データとして入力しますよね。
情報を入れますよね。
ってことは、プレイヤー名っていうのにはパギジョウっていう文字が入ってます。
っていうような紐付け方できますよね。
だからそのプレイヤー名っていうのは変数の1つってことで言えるんですよね。
入れるものが変わる可能性がある箱みたいな感じ?
そう、よく教科書に書いてある変数の説明は、変数とは箱のようなものであって、数字とか文字とか情報を入れたり出したりすることができるものですっていうふうに説明よくされるんです。
箱なんだね、ザクッと概念としては。
そうそう、使い方としては箱なんだけど、具体的なイメージ例としてはHPとかMPって自分はよく言う、そっちの方がわかりやすいからね。
なんか増減したりとか固定されないものだね。
そう、だから例えばゲーム作るときは変数とかもちろんプログラミングだったらよく使うから、
いろいろとあるんだけど、変数とはそういうHPとかMPとかも変数ですよっていう簡単な認識で問題ないです、今日は。
了解、それが変数ね。
今回話したいのはグローバル変数とローカル変数ってやつね。
グローバル変数とローカル変数。
そう、今回話したいことはこの変数の中のちょっと特殊な変数のイメージね、言葉としては。変数の一部なんですけど。
ちょっと変わり種があるのね。
エラーとプログラミング
そう、ちなみにさ、そんばさんグローバルとローカルって意味合い的なイメージとかなんかあります?言葉。
言葉のイメージ?もうなんかもう言葉だけだと海外と日本みたいな感じかも。
あーめっちゃ、めっちゃそう、そんな感じでいいと思う。
そう、グローバルってなんかその国際的なみたいなイメージない?なんか世界規模なみたいな。
要は自分の国を超えた範囲みたいなイメージなんですよ。
要はあの幅広い範囲っていうのがグローバルのイメージで、ローカルっていうとなんか各地域だから自分の地域とか、
あのそういう地域に特定、絞ったイメージだからローカルっていうのはなんか狭い意味合い持ってるんですよね。
だからグローバルはなんか国際的な、あの世界的な変数って意味。
でローカル変数っていうのは、なんかちょっと閉ざされた、日本とかの変数のイメージ。
閉ざされたっていうかちょっとね、あの囲った感じのちょっと。
なんか変数にもじゃあ基準があって、国際的に使われている変数となんかが日本だけ使われている変数みたいなのがあるってこと?
そう。
あ、そうなんだ。
ごめん、本当にその意味で捉えてほしくて。
国際的と日本的っていうのはあくまで、グローバルとローカルの意味を説明する言葉の、そのあやというか例としてなんだけど。
一例としてね。
一例として、うん。
なんだけど、その今回ね、ラジオでは3枚画像を添付するようにするので、それを使って、
あとは言葉でも、ちょっとラジオでも、グローバル変数とローカル変数のちょっと違いについて説明したいと思うんですよね。
でまず、これね、ゲーム開発初めとかプログラミング初心者としては、エラーって嫌じゃないですか。
エラー起きるの。
いやもう、本当エラーつらい。
あの三角ボタン押して赤文字が続くあの恐怖。
そうそう。
そのエラーの最初よくある一つだと思ってる。
変数の使い方が間違ってて、エラーよく出るんすよ。
グローバル変数は一言で言うと、グローバル変数を使うと、
あれ、こんなタイミングでこの変数変わるっけみたいな、なんかよくわかんない変数の中身が変わったりする。
例えばHPが10で、プレイヤーHP10で、プレイヤーが敵に攻撃するのに、攻撃した時に自分のプレイヤーのHPが下がるみたいな、
よくわかんない挙動が起きたりする時は、グローバル変数、ローカル変数の使い方ちょっと上手くない時、そんなことが起きたりします。
予期せぬ挙動が起きちゃうのね。
予期せぬ挙動、そうそう。
で、ローカル変数とかまた間違い、グローバル変数なんか理解してないと、
触っちゃいけない変数とか出てきたりするんですよ。
アクセスできない変数、アクセス不可ですとか、
そういうエラーとかが出てきて、何のこと?ってなる。
そうか、じゃあゲーム開発でもこの変数よくわかってないと、そういうことが起きちゃうんだ。
そう、だからそれもちょっと話したい。
なるほどね。
しかも日常でもめっちゃ思うことがあるから、最初に言った共感するってやつ、それもちょっと話したいから、
ちょっと早速簡単に説明しますね。
今これプレゼンテーションを開いて、こうズームで見せてくれてるのね。
これを貼ってくれてる。
そうそう、これはアップするラジオ、この3枚をラジオに貼る予定。
詳細の概要欄からね、これが見れますと。
ちょっと待って、ちょっと戻ります。
今画像に見せてるのが、自分キャラクター、プレイヤーでもいいんだけど、
プレイヤーが回復する関数っていうものと、
敵が回復する関数っていうのをちょっと簡単に書いてます。
関数はちょっとあんまり理解しなくていいです。
関数は要はプログラムって思っていいです。
今はこれが走ると、プログラムが走るとゲーム上で実際にそれが起こるみたいなイメージ。
だから今、自分のキャラが回復する関数で、
HPっていうのがあって、HPプラス10ってやると、
自分のHPが回復した感じあるじゃないですか。
プラスイコール10っていうのは、HPに10追加したやつを入れますよみたいな意味なんで、
これがHPプラスイコール10は、HPが10回復するみたいなイメージで捉えてもらえればいいです。
でも自分のキャラ以外にも、敵にもHPっていうのは存在しますよね。
だって自分の体力、敵の体力ってあるように、
敵も体力があってHP、敵が回復するときって、
HPプラスイコール10ってやりたくなるじゃないですか。
でもこれやるとどうなるかっていうと、
今HPっていうのが敵キャラなのか自キャラなのか分からなくないですか。
変数の混同とその解決
HPって言葉1個だけだと。
確かに。
プログラミングの変数って。
HP持ってる人もいっぱいいるわけだよね、ゲームの登場キャラで。
そう。
どれに対するプラスなのか分からないね。
分かんないよねこれ。
こういうのが、
これ実はなんですけど、プログラミングでHPって言葉だけで使って、
それ使っちゃうと、プログラムどのHPのことか分かんなくなっちゃうんですよ。
だからこういうのを、今これHPはこれ間違った使い方してるっていう例で、
HPはグローバルな感じの変数になっちゃってるから、
プレイヤーが回復する関数なんだけど、
HPがプラス10になります、プレイヤーが回復する感じ。
だからこれでもしもプレイヤーが回復するとするじゃないですか。
だけどエネミーが回復するタイミングでも、
結局同じことやってエネミーが回復するはずなのにプレイヤーが回復しちゃうみたいな、
そういう混同が起きちゃうんですよね。
なるほどね。もうザクッとプレイヤーが敵か分かんないところが指定されてるから、
HPプラス10がどっちに付与されるかが今分かんない状態になってるね。
そういうことそういうこと。ってなると、
よくやるのが変数名を分けること。
例えばプレイヤーHPっていう変数名にしてあげるのと、
エネミーHPっていうふうな変数名を書いてあるっていうのが、
一つのやり方ですよね。
そうだね。誰のHPを増やすっていうのをプログラミング上もちゃんと指定しておくってことだよね。
そうそうそうそう。
なんだけど、そうやって区別するのはいいんだけど、
そんなことやってると実は変数めちゃくちゃいっぱい宣言しないといけなくて大変になるんですよ。
例えば敵が1匹だったらいいけど、
敵が多分10匹一気に来たとき、
1個ずつ変数をやってあげますかって超大変じゃない?
エネミー1HP、エネミー2HPみたいな。
エネミーごとにちゃんとプログラミングを走らせないといけないってことか。
変数をプログラマーが書かないといけないから、
設計超大変でプログラミング余計嫌になります。
ちょっとめんどくさいかも。
嫌じゃないですか。
そういったときに、
クラスってよく言ったりするんですけど、
クラスって聞いたことある人いるかわからないけど、
クラスとか構造体とかプログラミングの難しい言葉あるんですよ。
そういうのを置いといて、
プレイヤーっていうものにはHPっていうのを持ってます。
プレイヤーとHPっていう、
プレイヤーというキャラクターにHPを持たせます。
エネミーにHPという変数を持たせますっていうのは、
プログラミングで書き方があって、テクニックの。
そういう書き方ができるんですよね。
そういったときにプレイヤー.HPっていうふうに書けば、
プレイヤーの中のHP、
エネミー.HPみたいな感じで書くと、
エネミーのHPっていう、
そういう使い分けができるようになるんですね。
ここはあんまりいいや。
要は言いたいのは、プレイヤーの同じHPって言っても、
HPって一言で言うと、誰のHPかわからなくなるよねって。
だからわからなくなっちゃうから、それは特定するために、
プレイヤーのHPか、エネミーのHPか、
そういう情報を付け加えてあげた方がいいよねっていう話をした感じです。
フィールドサイズの理解
なるほど。
機械側がわかんなくなっちゃうってことだね。
HP増やせっていうことだけだと。
どこの誰っていう。
そういうこと。
例えば、図は基本ここまでなんだけど、
さっきさ、
HPって一言で言っちゃうと、
誰かわかんないよってなるんだけど、
例えば、
地球一周とか。
急に地球一周出てくる。
地球一周の大きさ。
地球一周だったり、
フィールドの大きさ。
ゲームで言うと、フィールドの大きさ。
地球一周でフィールドの大きさがいいか。
フィールドの大きさって、
例えば、
フィールドサイズっていう変数名を作ったりできると思うけど、
好きに名前付けれるからね。
フィールドサイズ。
サイズっていうのは、
例えば、1km×1kmですみたいな。
フィールドサイズの大きさ、
フィールドの大きさっていうのは、
これって、
別にプレイヤーのフィールドサイズだったり、
敵のフィールドサイズとか、
あんま区別する必要なくて、
プレイヤーも敵も
一つのフィールドにいるから、
フィールドの大きさっていうのは、
もっと幅、
大きい意味合いがあるんですよね。
区別する必要ないですよね。
HPみたいに。
フィールドバトルでそのまま戦うゲームだったらね、
フィールドなんていうか、
都度分けなくていいよね。
フィールドが1個しかなかったら特にそうだよね。
いろんなステージがあって、
それぞれフィールドがあるんだったら、
区別は必要だけど、
今の話だと、フィールドは1つあります。
そこのフィールドに、
プレイヤーとエネミーが1人ずついます。
っていうことを状況を考えた時に、
HPっていうのは、
プレイヤーのHPとエネミーのHP、
それぞれあるから、2個あるよね。
でも、フィールドの大きさっていうのは、
フィールドは1個しかないから、
フィールドの大きさって決めちゃえば、
別に混乱することはないよね。
1個しかないんですから。
このフィールドの大きさが増減するんだったら、
それを1つ設定すれば、
敵にも味方にも全部、
影響を及ぶって感じだよね。
そうなんですよ。
この例でいうと、
フィールドの大きさっていうのが、
グローバル変数なんですよ。
なるほど。すべからくそこにいる人たちに、
エラーを回避するための意識
共通的な影響を与えるものっていう感じなんだね。
そう。
この例でいうと、
プレイヤーとエネミーの、
HPってやつですね。
HPっていう変数は、
それはローカル変数ってやつなんですよ。
より具体的に個別に、
これっていうものが増減する必要があるんだね。
そう。
よくある、ゲーム作るときに、
よくあるミスっていうのは、
あの、
なんていうんだ、
これか、
プレイヤーというキャラクターに、
HPっていうのを作るじゃないですか。
ステータスとして、
HPを用意してあげたり、
MPっていうのを用意してあげたり、
時には経験値とかEXPも用意しますよね。
あとは攻撃力、
アタックとか防御力、
ディフェンスとか、
そういうステータスっていうのは、
基本変数なんですけど、
だからプレイヤーにはHPもあったり、
MPもあったりっていう。
もちろん敵側にもHPとかレベルとか、
強さ、パワーとか、
ディフェンスとか、用意してあげるじゃないですか。
で、ゲーム設計中に、
よく混乱しがちなのが、
HPを、プレイヤーのHP回復したいときに、
なんかプログラム書いて、
HPはプラス10ですみたいな。
そしたら、
実際に実行しようとしたら、
エラーが出てきて、
このHPっていうのは、
なんだ、
アクセスしちゃいけないHPですっていうような、
怒られ方するんですよ。
エラーが出る。
そういうときは、
意識してほしいのは、
細かいところを見るのも大事だけど、
イメージ的に、プレイヤーのHP動かしたいのに、
敵のHPだったり、
違うところのHPを、
操作しようとしてるんだなって。
そういうのでエラーしてるから、
自分のいじってる変数は、
具体的にどんな変数なんだろう、
っていう観点で、
見ると、
結構デバッグしやすいというか、
エラーがなくなりやすいっていう話ですね。
なるほど。
今作ってる側からすると、
これがグローバルなのか、ローカルなのか、
っていうのを理解して、
プログラミング組んでいった方がいいんだね。
グローバルなのか、ローカルなのか、
もっと言うと、
ローカルっていった場合は、
誰の変数なのかっていうね。
いろんな人が持ってるから、
同じ名前で持ったりすることがあるからね。
プレイヤーのHPなの?エネミーのHPなの?
味方2のHPなの?
エネミー3のHPなの?
そういうのを、
プログラミングでは、
混同防いだりするための
機能があって、
一言で言うと、
すげーざっくり言うと、
プレイヤーに関する
処理をするときに、
プレイヤーに関する
プログラムっていうのがあったときに、
例えばプレイヤーがダメージを受けたとき
HP減るし、
ガードしたときはガードモーションするしとか、
プレイヤーについてのプログラム、
ゲームプログラミングの基礎
これを書いてるところには、
敵のHPとかを
書いちゃいけないんですよね。
だってそれはプレイヤーについての
プログラムだから、あくまでも
変わるのはプレイヤーのHPだけ。
関係があるのはプレイヤーのHP。
だけどそこに敵のHP云々とかは
基本書いちゃいけないみたいな
考え方があるんですよね。やり方はあるんだけど
いろいろね。イメージはそんな感じ。
これってなんか、書いてるときに
具体的に
ヤブさんに聞いてみたいんですけど
意識してこういうの
作ってるもんなんですか?
意識して作ってるかどうかって言われると
そこまで今は意識してないかな。
それでも作れちゃうと。
意識する
ここあれだと思うけど
一言言うとヤブさん
似たような変数名
変数名に
数字よくつける。なんちゃら1
なんちゃら2とか。
じゃあもうちょっと意識できるかもしれんね。
っていう感じかな。変数名に
名前つける
イコール、そういうのは
クラスにしたりして共通化できたり
する可能性もあるから。
本当は、例えば
日本語で話すときに
HPはソマさんのHP
パギジョウのHP
ヤブさんのHP。そういう言葉で
HPの使い分けするじゃん。
誰のHPみたいな話するとき。
なのにプログラミングでは
HP1、HP2、HP3
って書いてるんですよ。ヤブさん
一言で言うと。変数名に数字をつける
イコール。で、HP1っていうのは
ソマさんのことだな
HP2はパギジョウの
HPのことだなっていう
そういう意味合いは作った人にしか
わかんないんですよ。
数字をつけた人にしかわかんない。
だからそういうところの
そういう場合は
それぞれ
ソマさんも
ヤブさんも
パギジョウも、まず一人の
人間ですっていうクラスを作ってあげて
概念としてね。人間です
っていうのがあって、人間には
HPというものを持っています
っていうルールを作ってあげて
で、ソマさんは人間ですよ
パギジョウも人間ですよ
ヤブさんも人間ですよって言ってあげたら
コンピューターに。言ってあげたら
ソマさんにはHPというのを
持ってるんだなっていう。その人間の
作りを説明してあげて、人間の
例としてソマさんですって言って
あげたら、あとはパソコンは
コンピューターは
ソマさんは人間だからHPというものを
持ってるし、ヤブさんは
人間だからHP
というものも持っています。それぞれがHP
というものを持っていますっていうのをコンピューターが理解してくれるんですよ
だからHP1とか
HP2とかそもそも
変数に数字をつけるっていうことは
必要なくなるってことなんですよね
それは人間を
回復しておいて通じるからってこと
そういう
今話してるのは
書き方の違いって感じかな
どっちでも
うまくいくっちゃうまくいくんですよ
ただどっちの方が分かりやすくて
いいプログラムで
言えますかっていう話に近いから
これもちょっと
話し始めるとキリがないから
今聞いてて
ソルダの作り方に似てるなと思った
あ、そんな感じ
データの整理の仕方
ソルダの中に全部個別の名前でバーって
ラレットされていっぱいある
ソルダと最初のところに
営業課とか総務課で分かれて
その総務課の中に名前が並んでるパターン
だったら何かとか
あった方が分かりやすいわ
そうそうそうそう
変数のプログラミングって
データの
整理の仕方もすごく一個の
大きな仕事の
役割の一つだから
情報の整理って意味では
変数の整理の考え方と
リアルとプログラミングがある程度
データ整理の重要性
結構共通するところがあると思ってるんですよね
だから今
相馬さんめっちゃいい例だと思う
フォルダの整理の仕方で
一個一個
例えばデータ
データ名に
何番とか数字とか付けると
誰の顔が分からなかったりしちゃったり
似たようなファイルがいっぱい
ずらーってあると
どこのかのものが分からなくなったりとか
フォルダを分けてあげて
それぞれのフォルダで
入れてあげた方がいいよね
ゲームの内容によっては
処理コース増えると
負荷が高まるとかもありそうだよね
あるある
整理した方がアクションとか良さそう
処理がいっぱいありそうな
ゲーム
例えば一つの
フォルダに
いっぱいデータがあるとするじゃん
要は
全社員のデータが
一つのフォルダにありましたってやったら
多分
CPUはまず一回そのフォルダを開いて
全員分のフォルダ
データの中身を見て
これが欲しいって言って引っ張ってくる
だけどフォルダ分けを上手くしてあげると
CPUは
データ見るときに
例えば
総務の課だけ
営業課の
フォルダのみを見に行って
営業課にあるデータの中から
引っ張ってくるだけでいいから
読む時間減るんですよね
CPUが見に行くときの
いらない課は今回興味ないから
見に行かないっていう
そういう工夫した見方できるから明らかに
プログラムの処理速度早くなるんですよね
なるほどねだからそういうのを概念化して
ちょっと組んでいくとだいぶ違うんだね
うんそうそうそう
人間で例えても一緒だよね
データにグザってあったら
マウススクロールしながら一個一個どこかなー
って探すみたいなもんだから
データの
整理っていう方法として
一つの方法としてグローバル変数と
ローカル変数っていうのも結構大事な
考え方の一つですよ
っていう話ね
処理速度っていうところに影響しそうっていうのは
勉強になるね
ここから日常編に
日常に関係する
納得のとこまで行きたいって言ってたよね
行きたい行きたい
24:19

コメント

スクロール