オブジェクト指向について、調べれば調べるほど疑問が募ります。低レベルで粗末な疑問かも知れませんが、ご教授願いたいです。
・データと振る舞いをまとめる?
まとめると何か良いことあるの?
ファイルあるいはモジュールにはまとまってるよね?
丁度いい単位があるのに、何故わざわざオブジェクトという概念を導入するの?
(Javaには1ファイル1クラスという文化あるらしいけど)
・カプセル化?
モジュールのimport, exportでも実現出来るよね?
(構造体などへのアクセスを制限できれば)
・ポリモーフィズム?
別にデータと振る舞いをまとめなくても実現出来るよね?
・モノのように扱いたい?
モノとして扱いたいときに扱えば良くない? なんでわざわざ全てをオブジェクトにするの?
探検
オブジェクト指向を教えてくれ!
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2021/03/16(火) 17:06:02.41ID:VhqTt897785デフォルトの名無しさん
2021/04/12(月) 11:32:46.54ID:yZXPyOt1 >>782
割り込みとイベントは似てるようで違う
割り込みは他の割り込みをブロックしないように短時間でその処理を終えなければいけない
イベントはそうではない。時間がかかる処理を行ってもいい。
その間に割り込みがブロックされることはない。処理するレイヤーが全く違っている。
割り込みとイベントは似てるようで違う
割り込みは他の割り込みをブロックしないように短時間でその処理を終えなければいけない
イベントはそうではない。時間がかかる処理を行ってもいい。
その間に割り込みがブロックされることはない。処理するレイヤーが全く違っている。
786デフォルトの名無しさん
2021/04/12(月) 11:56:09.87ID:AGjFdU+p 動作アプリと静止アプリという程度の違いと思われるが、
>>779
>ゲーム開発と一般的なアプリケーション開発の違いについて
調査機関IBISWorldの調査によれば、企業がERPソフトウエアに支払う費用は2012年以来、1年につきほぼ
2パーセント減少してきています。同社は、顧客が今日ERPのソフトウエア・ライセンスに支払うと予測される
平均価格は1ユーザー、1年について約$1,911と言います。さらに、この先3年間、ERPソフトウエアの価格にプレッシャーが
掛かり続けて下落し、2018年迄に年間ライセンス料は1ユーザーにつき平均$1,800まで下がると予測しています。
https://www.e-bellnet.com/category/jungle/1512/1512-829.html
↑
ワードやエクセルも含めて、事務処理用の静止アプリは、年々衰退しつつあるのでは?
>>779
>ゲーム開発と一般的なアプリケーション開発の違いについて
調査機関IBISWorldの調査によれば、企業がERPソフトウエアに支払う費用は2012年以来、1年につきほぼ
2パーセント減少してきています。同社は、顧客が今日ERPのソフトウエア・ライセンスに支払うと予測される
平均価格は1ユーザー、1年について約$1,911と言います。さらに、この先3年間、ERPソフトウエアの価格にプレッシャーが
掛かり続けて下落し、2018年迄に年間ライセンス料は1ユーザーにつき平均$1,800まで下がると予測しています。
https://www.e-bellnet.com/category/jungle/1512/1512-829.html
↑
ワードやエクセルも含めて、事務処理用の静止アプリは、年々衰退しつつあるのでは?
787デフォルトの名無しさん
2021/04/12(月) 12:12:55.21ID:LRhqKPdk クズ同士のマウント合戦で糞スレ上げるなよ
788デフォルトの名無しさん
2021/04/12(月) 12:13:10.74ID:G4m+DR25 スゲーな
俺も含めてだけど
ゲーム脳指向
チンポシコシコ指向
カタワ指向と
基地外がよりどりみどりだわw
俺も含めてだけど
ゲーム脳指向
チンポシコシコ指向
カタワ指向と
基地外がよりどりみどりだわw
789デフォルトの名無しさん
2021/04/12(月) 12:25:30.01ID:yZXPyOt1790デフォルトの名無しさん
2021/04/12(月) 12:47:01.64ID:AGjFdU+p https://youtu.be/08W9VWUdkjI
NHKの子供向け番組で、突然ど下ネタがぶっこまれる事案が発生「NHKから怒られる」「受信料払うことにした」
https://togetter.com/li/1075927
>>631
>オブジェクト志向に関する議論において、
>「シコシコ」という言葉を恣意的に使って
『シコシコシコシコしこランド!』って、問題になったらしいぞ?
NHKの子供向け番組で、突然ど下ネタがぶっこまれる事案が発生「NHKから怒られる」「受信料払うことにした」
https://togetter.com/li/1075927
>>631
>オブジェクト志向に関する議論において、
>「シコシコ」という言葉を恣意的に使って
『シコシコシコシコしこランド!』って、問題になったらしいぞ?
791デフォルトの名無しさん
2021/04/12(月) 12:48:08.65ID:A3OoULtt >>786
Switchや新型XBOXの売れ行きが好調なのと
スマホのソーシャルゲーム系がそこそこ行けてるからね
家電量販店辺り行くとLiteでないSwitch、XBOXのXシリーズ辺りは慢性的に品切れだよ
PS5はたまに売ってるけど、それでもこれも慢性的に品切れと言えるね
ただPS5は逆鞘なのでソフトが出ないと売れれば売れるほど損失が出るからソフトが揃うの待ち
CS業界ではSwitchが出てからずっと好調かな
カタワ指向君が言う通りゲーム脳だからこのくらいのことは即答出来るよ
Switchや新型XBOXの売れ行きが好調なのと
スマホのソーシャルゲーム系がそこそこ行けてるからね
家電量販店辺り行くとLiteでないSwitch、XBOXのXシリーズ辺りは慢性的に品切れだよ
PS5はたまに売ってるけど、それでもこれも慢性的に品切れと言えるね
ただPS5は逆鞘なのでソフトが出ないと売れれば売れるほど損失が出るからソフトが揃うの待ち
CS業界ではSwitchが出てからずっと好調かな
カタワ指向君が言う通りゲーム脳だからこのくらいのことは即答出来るよ
792デフォルトの名無しさん
2021/04/12(月) 13:13:14.41ID:AGjFdU+p793デフォルトの名無しさん
2021/04/12(月) 13:29:08.92ID:AGjFdU+p ゲーム脳というが、ゲームに例えるとプログラミングがわかりやすくなる!
静的変数(コンティニュー可)
例 ドラゴンクエスト
自動変数(コンティニュー不可)
例 テトリス
静的変数(コンティニュー可)
例 ドラゴンクエスト
自動変数(コンティニュー不可)
例 テトリス
794デフォルトの名無しさん
2021/04/12(月) 13:36:26.09ID:yZXPyOt1 オブジェクト指向と関係ない話を始めた理由は、みなさんわかりますよね?w
795デフォルトの名無しさん
2021/04/12(月) 13:44:35.85ID:G4m+DR25 みなさんて誰?
ここには基地外しかいないが
ここには基地外しかいないが
796デフォルトの名無しさん
2021/04/12(月) 18:28:56.46ID:XB1ybHa5 なんかよくわかってないというかそもそもスマホの“OS”レベルの動作から知らない人がいるっぽいんだけど
iOSなんかはWindowsCEとかのクソ遅いアプリレスポンスを反面教師として設計されたから
OSが画面タッチをOSの最優先処理として監視しているので毎秒何フレームとかいうレベルじゃなくて
触れた瞬間に最優先割り込みが起動して、画面のその場所のパーツレイヤーに重ね順番に沿って即座に
「この場所のオブジェクト!タッチイベントに反応できる?する?」ってリクエストが飛ぶ仕組みなんだけど…
全画面をスプライトとか扱うゲームキットレイヤで覆えば
ゲームキット側で「オーケーあとはうちで」ともできるし
可視、不可視ボタンオブジェクト置いといてそっちでイベントフックしてもいいし
それはアプリ設計側の自由だし。
また、逆に「割り込み」ってCPUレベルの機能知らないなら書いておくけど
「割り込み」はメインループが回ってようがリクエストが来た瞬間に
メイン処理を棚上げにして、割り込みで割り当てられた処理を優先するハードウェア機能ね。
アプリどころかOSの処理に画面タッチ関連が最優先割り込み指定されてるの。
iOSなんかはWindowsCEとかのクソ遅いアプリレスポンスを反面教師として設計されたから
OSが画面タッチをOSの最優先処理として監視しているので毎秒何フレームとかいうレベルじゃなくて
触れた瞬間に最優先割り込みが起動して、画面のその場所のパーツレイヤーに重ね順番に沿って即座に
「この場所のオブジェクト!タッチイベントに反応できる?する?」ってリクエストが飛ぶ仕組みなんだけど…
全画面をスプライトとか扱うゲームキットレイヤで覆えば
ゲームキット側で「オーケーあとはうちで」ともできるし
可視、不可視ボタンオブジェクト置いといてそっちでイベントフックしてもいいし
それはアプリ設計側の自由だし。
また、逆に「割り込み」ってCPUレベルの機能知らないなら書いておくけど
「割り込み」はメインループが回ってようがリクエストが来た瞬間に
メイン処理を棚上げにして、割り込みで割り当てられた処理を優先するハードウェア機能ね。
アプリどころかOSの処理に画面タッチ関連が最優先割り込み指定されてるの。
797デフォルトの名無しさん
2021/04/12(月) 19:08:50.10ID:FHLyrm59 >>796
わかってないのはお前でどのOSもタッチとか割り込みで処理されてるの
ゲームが例外でタッチが割り込みで処理されてるにもかからわず
毎秒何フレームのポーリングで処理するんだよ
そもそも毎秒何フレームとかいう考え方自体がゲーム特有で
1秒間に何回も画面を書き換えてるの(もちろん工夫して書き換える量を減らしてる)
その書き換えのタイミングで(割り込み)ではなくタッチの状態をスキャンしてるんだよ
ゲームは基本的に何も触らなくても画面が書き換わるし
割り込みが発生時でやる処理によってタイミングがずれるのは困るから
割り込みで正確にタイミングを測るのが難しい。だからOSやハードウェアでは
割り込みを持っていたとしても、それを使わない(正確に言えば状態を更新するだけ)で
あと毎秒何フレームのメインループで処理するんだよ
わかってないのはお前でどのOSもタッチとか割り込みで処理されてるの
ゲームが例外でタッチが割り込みで処理されてるにもかからわず
毎秒何フレームのポーリングで処理するんだよ
そもそも毎秒何フレームとかいう考え方自体がゲーム特有で
1秒間に何回も画面を書き換えてるの(もちろん工夫して書き換える量を減らしてる)
その書き換えのタイミングで(割り込み)ではなくタッチの状態をスキャンしてるんだよ
ゲームは基本的に何も触らなくても画面が書き換わるし
割り込みが発生時でやる処理によってタイミングがずれるのは困るから
割り込みで正確にタイミングを測るのが難しい。だからOSやハードウェアでは
割り込みを持っていたとしても、それを使わない(正確に言えば状態を更新するだけ)で
あと毎秒何フレームのメインループで処理するんだよ
798デフォルトの名無しさん
2021/04/12(月) 19:41:23.31ID:iOiHPkVC 割り込みはデバイスドライバがやるので
その情報は漏れなくOSに伝わってる
格闘ゲームとかコントローラの操作で入力が
反映されないのは何かの性能が悪いから
ネットゲームはメインのプログラムがサーバー上にあるので
それの作り次第
たくさん人がいると本当のリアルタイムのような
ことは難しくなる
その情報は漏れなくOSに伝わってる
格闘ゲームとかコントローラの操作で入力が
反映されないのは何かの性能が悪いから
ネットゲームはメインのプログラムがサーバー上にあるので
それの作り次第
たくさん人がいると本当のリアルタイムのような
ことは難しくなる
799デフォルトの名無しさん
2021/04/12(月) 19:53:28.93ID:wo2ZdM5G >>798
そういう話じゃないんだよね。
割り込み(イベント)はメインの処理をしてるときに割り込まれてくるだから割り込み
ゲームに置いてメインの処理として画面描画を行っている
このときに割り込みが入って、そこですぐにプレイキャラを動かしたりしたら問題があるんだよ
例えばプレイヤーが連射なんかしたら、割り込みが入る分、画面描画が遅れてしまう
割り込みのほうが優先だからね
だから逆に画面描画のタイミングでバランスを取って、そのタイミングでボタンが押されていれば
それに応じた処理をするという設計になってる
そういう話じゃないんだよね。
割り込み(イベント)はメインの処理をしてるときに割り込まれてくるだから割り込み
ゲームに置いてメインの処理として画面描画を行っている
このときに割り込みが入って、そこですぐにプレイキャラを動かしたりしたら問題があるんだよ
例えばプレイヤーが連射なんかしたら、割り込みが入る分、画面描画が遅れてしまう
割り込みのほうが優先だからね
だから逆に画面描画のタイミングでバランスを取って、そのタイミングでボタンが押されていれば
それに応じた処理をするという設計になってる
800デフォルトの名無しさん
2021/04/12(月) 19:57:14.46ID:XB1ybHa5 OSが無い大昔のPCゲーやアーケードでもなきゃ
OSが割り込み取ってゲームキットに伝えてるってのに
そのOSからの「いま入力来たで!」を非同期的に受け取ってるアプリ側から
「ゲームアプリはフレームごとにメインループ処理してんだよ」って…
あの…別にゲームは30とか60とかそんな「遅い」反応しなくてもいいんですよ?
OSが割り込み取ってゲームキットに伝えてるってのに
そのOSからの「いま入力来たで!」を非同期的に受け取ってるアプリ側から
「ゲームアプリはフレームごとにメインループ処理してんだよ」って…
あの…別にゲームは30とか60とかそんな「遅い」反応しなくてもいいんですよ?
801デフォルトの名無しさん
2021/04/12(月) 19:57:40.11ID:A3OoULtt >>796
ふーんスマホではタッチが最優先割込みになるんだ
たださっきメインループとか雑な説明のリンクをカタワ指向君が貼っててそういうもんだとみんな錯覚しているかも知れないけど、
そういう仕組みにすることもあればタイマで起動時間を区切ってその間隔単位で処理することもあれば
画面上を走査線が走り終わったタイミングの割込みを見ることもあるんだよ。
上の二つはともかく、走査線の割込みについては
俺はてっきり画面系の割込みが最優先だと思ってて
まぁハードウェアによってそういうこともあるのかなと思ってちょっと調べてみたけど
https://ja.m.wikipedia.org/wiki/割り込み_(コンピュータ)
これ見てるとやっぱり走査線の割込みが優先順位高いみたいだね。
IiPgone辺りはCPU、ARMじゃなかったっけ?
まぁスマホという枠を外れればキー割込み自体が存在しないハードがあることも考えればそれも納得なんだけれどね。
まぁメインループとか言ってる方式は言わずもがな、タイマによる割込みはソフトウェア割込みだからそこではタッチ割り込みが優先されるよ
ドンマイ!
ふーんスマホではタッチが最優先割込みになるんだ
たださっきメインループとか雑な説明のリンクをカタワ指向君が貼っててそういうもんだとみんな錯覚しているかも知れないけど、
そういう仕組みにすることもあればタイマで起動時間を区切ってその間隔単位で処理することもあれば
画面上を走査線が走り終わったタイミングの割込みを見ることもあるんだよ。
上の二つはともかく、走査線の割込みについては
俺はてっきり画面系の割込みが最優先だと思ってて
まぁハードウェアによってそういうこともあるのかなと思ってちょっと調べてみたけど
https://ja.m.wikipedia.org/wiki/割り込み_(コンピュータ)
これ見てるとやっぱり走査線の割込みが優先順位高いみたいだね。
IiPgone辺りはCPU、ARMじゃなかったっけ?
まぁスマホという枠を外れればキー割込み自体が存在しないハードがあることも考えればそれも納得なんだけれどね。
まぁメインループとか言ってる方式は言わずもがな、タイマによる割込みはソフトウェア割込みだからそこではタッチ割り込みが優先されるよ
ドンマイ!
802デフォルトの名無しさん
2021/04/12(月) 19:59:52.02ID:iOiHPkVC ゲームプログラムが割り込み受ける仕組みがあるのか
それは知らなかったな
何というクラスで受け取ってるの?
デバイスドライバから直で?
それは知らなかったな
何というクラスで受け取ってるの?
デバイスドライバから直で?
803デフォルトの名無しさん
2021/04/12(月) 20:14:09.37ID:wo2ZdM5G804デフォルトの名無しさん
2021/04/12(月) 20:18:58.60ID:AGjFdU+p ところでイベントループが休んでいる時に、どうやってイベントログをリアルタイムで監視するんだ?
集中管理するログデータの安全性確保、データの有効活用のための効果的な対策が求められます。
そのためには、リアルタイムで問題や予兆を管理者が知ることのできる仕組みも必要です。たとえばWindows
イベントログのひとつであるセキュリティログを監視することにより、
ネットワーク経由の異常なアクセスやアクセス許可のないデータへのアクセス試行を検知し、
大事に至る前に追跡・対策することが可能となります。
https://www.manageengine.jp/products/EventLog_Analyzer/windows-event-log-monitoring.html
772 デフォルトの名無しさん sage 2021/04/12(月) 10:53:49.34 ID:yZXPyOt1
>>768
> 左側の太い線で書いたループはイベントループと呼ばれ、発生するイベントを常に監視しています。
メインループとイベントループをごっちゃにするな
イベントループはイベント(マウスボタン押下など)が発生しない限り何もせず休んでいる
ゲームのメインループは、一定間でボタンの状態をスキャンしている
全く別のものだ
集中管理するログデータの安全性確保、データの有効活用のための効果的な対策が求められます。
そのためには、リアルタイムで問題や予兆を管理者が知ることのできる仕組みも必要です。たとえばWindows
イベントログのひとつであるセキュリティログを監視することにより、
ネットワーク経由の異常なアクセスやアクセス許可のないデータへのアクセス試行を検知し、
大事に至る前に追跡・対策することが可能となります。
https://www.manageengine.jp/products/EventLog_Analyzer/windows-event-log-monitoring.html
772 デフォルトの名無しさん sage 2021/04/12(月) 10:53:49.34 ID:yZXPyOt1
>>768
> 左側の太い線で書いたループはイベントループと呼ばれ、発生するイベントを常に監視しています。
メインループとイベントループをごっちゃにするな
イベントループはイベント(マウスボタン押下など)が発生しない限り何もせず休んでいる
ゲームのメインループは、一定間でボタンの状態をスキャンしている
全く別のものだ
805デフォルトの名無しさん
2021/04/12(月) 20:29:26.92ID:wo2ZdM5G > ところでイベントループが休んでいる時に、どうやってイベントログをリアルタイムで監視するんだ?
マルチタスクOSって知ってる?
ゲーム脳だから、実行中のプロセスは一つだけという前提なのか?w
マルチタスクOSって知ってる?
ゲーム脳だから、実行中のプロセスは一つだけという前提なのか?w
806デフォルトの名無しさん
2021/04/12(月) 20:29:44.51ID:iOiHPkVC イベントログはポーリングするapiみたいなのがある
例えばプロセスが起動したら教えてくれる
例えばプロセスが起動したら教えてくれる
807デフォルトの名無しさん
2021/04/12(月) 21:01:58.55ID:AGjFdU+p 『実行中のプロセス』がいくつあろうが、マウスクリックへの反応が後回しになるんか???
805 デフォルトの名無しさん sage 2021/04/12(月) 20:29:26.92 ID:wo2ZdM5G
> ところでイベントループが休んでいる時に、どうやってイベントログをリアルタイムで監視するんだ?
マルチタスクOSって知ってる?
ゲーム脳だから、実行中のプロセスは一つだけという前提なのか?w
805 デフォルトの名無しさん sage 2021/04/12(月) 20:29:26.92 ID:wo2ZdM5G
> ところでイベントループが休んでいる時に、どうやってイベントログをリアルタイムで監視するんだ?
マルチタスクOSって知ってる?
ゲーム脳だから、実行中のプロセスは一つだけという前提なのか?w
808デフォルトの名無しさん
2021/04/12(月) 21:13:57.67ID:Ggr3enQ8 >>803
最近のゲームは描画ループとゲームループは分かれてること多くてな、内部的には120とか240で回してたりすることもあるんよ
ちなみにむかしのゲームはvブランク割り込みって言うやつに同期してることが多いからゲームループは60とか50だったりする
最近のゲームは描画ループとゲームループは分かれてること多くてな、内部的には120とか240で回してたりすることもあるんよ
ちなみにむかしのゲームはvブランク割り込みって言うやつに同期してることが多いからゲームループは60とか50だったりする
809デフォルトの名無しさん
2021/04/12(月) 21:19:41.60ID:2nuKPDwB お前らオブジェクト指向の話見失ってない?
いつまでゲームプログラムの実装の話してるの?
いつまでゲームプログラムの実装の話してるの?
810デフォルトの名無しさん
2021/04/12(月) 21:19:50.40ID:AGjFdU+p >>808
>最近のゲームは描画ループとゲームループは分かれてること多くてな、
そのために『死亡ラグ』が起こってしまうらしいね!
>自分がいつ死んでいるのか分からず突然死んで突然画面が切り替わってしまう。
サーバー側のバトルシステムと、プレイヤー側の描画システムが乖離してる!
>最近のゲームは描画ループとゲームループは分かれてること多くてな、
そのために『死亡ラグ』が起こってしまうらしいね!
>自分がいつ死んでいるのか分からず突然死んで突然画面が切り替わってしまう。
サーバー側のバトルシステムと、プレイヤー側の描画システムが乖離してる!
811デフォルトの名無しさん
2021/04/12(月) 21:30:03.94ID:wo2ZdM5G812デフォルトの名無しさん
2021/04/12(月) 21:30:38.33ID:o1bf8P7D アプリのレイヤーから見れば
iOSならRunloop、AndroidならLooperでイベントループ回して
ループ単位でUIイベント処理してるんだから考え方は一緒なんだよなぁ
画面タッチでハードウェア割り込みが発生しようが
それによってアプリの処理が直接割り込まれるわけじゃなくて
アプリのイベントループ内でチェックするイベントキューにメッセージが送られるだけ
イベントキューをチェックするフェーズが過ぎてからイベントが発生したら次のイテレーションに回される
ゲームはタイミングコントロールのためにゲームループを一定時間で回すものが多いけど
それもイベントループという意味では同じ
iOSならRunloop、AndroidならLooperでイベントループ回して
ループ単位でUIイベント処理してるんだから考え方は一緒なんだよなぁ
画面タッチでハードウェア割り込みが発生しようが
それによってアプリの処理が直接割り込まれるわけじゃなくて
アプリのイベントループ内でチェックするイベントキューにメッセージが送られるだけ
イベントキューをチェックするフェーズが過ぎてからイベントが発生したら次のイテレーションに回される
ゲームはタイミングコントロールのためにゲームループを一定時間で回すものが多いけど
それもイベントループという意味では同じ
813デフォルトの名無しさん
2021/04/12(月) 21:30:56.96ID:wo2ZdM5G >>810
一人で空回りしてるとこ悪いけど、オンラインゲームの話はしてないからw
一人で空回りしてるとこ悪いけど、オンラインゲームの話はしてないからw
814デフォルトの名無しさん
2021/04/12(月) 21:32:22.27ID:wo2ZdM5G >>812
> ゲームはタイミングコントロールのためにゲームループを一定時間で回すものが多いけど
> それもイベントループという意味では同じ
違うのはループじゃなくて、ボタンの話だよ
アプリはボタンが押された時のイベントに応じて処理を行う
ゲームはループの中でボタンの状態を検知して処理を行う
> ゲームはタイミングコントロールのためにゲームループを一定時間で回すものが多いけど
> それもイベントループという意味では同じ
違うのはループじゃなくて、ボタンの話だよ
アプリはボタンが押された時のイベントに応じて処理を行う
ゲームはループの中でボタンの状態を検知して処理を行う
815デフォルトの名無しさん
2021/04/12(月) 21:36:13.24ID:A3OoULtt >>808
>ちなみにむかしのゲームはvブランク割り込みって言うやつに同期してることが多いからゲームループは60とか50だったりする
なーんか遠い昔vblankと言うのはあった気が・・・
ゲームボーイだっけ?
>ちなみにむかしのゲームはvブランク割り込みって言うやつに同期してることが多いからゲームループは60とか50だったりする
なーんか遠い昔vblankと言うのはあった気が・・・
ゲームボーイだっけ?
816デフォルトの名無しさん
2021/04/12(月) 21:48:52.33ID:hU41fQqw スレ違いや板違いの書き込みをするやつは詳しいやつがいないと見込んで調子に乗っている卑怯者の荒らし
そんなのが何回真っ赤になって書き込んでいるんだ情けない
そんなのが何回真っ赤になって書き込んでいるんだ情けない
817デフォルトの名無しさん
2021/04/12(月) 21:58:50.78ID:A3OoULtt >>816
全くだよね
全くだよね
818デフォルトの名無しさん
2021/04/12(月) 21:59:27.66ID:o1bf8P7D >>814
>ゲームはループの中でボタンの状態を検知して処理を行う
アプリが直接ハードウェアの状態チェックするようなコードを今どき本当に書いてる?
少なくともモバイルアプリならボタンイベントを受け取ってそれを処理する
コンソールゲームでも一緒じゃないの?
そのレベルの抽象化すらされてなくてゲームごとに実装しなきゃいけないってかなり昔の話に聞こえる
>ゲームはループの中でボタンの状態を検知して処理を行う
アプリが直接ハードウェアの状態チェックするようなコードを今どき本当に書いてる?
少なくともモバイルアプリならボタンイベントを受け取ってそれを処理する
コンソールゲームでも一緒じゃないの?
そのレベルの抽象化すらされてなくてゲームごとに実装しなきゃいけないってかなり昔の話に聞こえる
819デフォルトの名無しさん
2021/04/12(月) 22:00:02.81ID:wo2ZdM5G 自覚があるようだw
820デフォルトの名無しさん
2021/04/12(月) 22:00:08.60ID:o1bf8P7D モバイルアプリってモバイルのゲームね
821デフォルトの名無しさん
2021/04/12(月) 22:02:29.09ID:wo2ZdM5G822デフォルトの名無しさん
2021/04/12(月) 22:03:00.32ID:AGjFdU+p するとスマホのタッチとパソコンのマウスクリックは違うのか?
>>796
>アプリどころかOSの処理に画面タッチ関連が最優先割り込み指定されてるの。
その辺は俺もあまり自信無いなぁ・・・
1.4. 割り込み Interrupt
割り込みとは、CPUが受けとる緊急の処理要求信号である。
割り込みは、割り込み要求信号線と割り込みハンドラプログラムの開始番地からなる。
(割り込みに種類があるときは、開始番号もそれぞれ決めておく。ベクタ割り込みという。)
CPUの割込み要求信号線(IRQ = Interrupt ReQuest)に信号が発生すると
現在実行中のプログラムを(ほんのわずかの時間だけ)中断して、緊急に(割り込んで)、
対応するプログラム(割り込みハンドラ)を実行する。
http://www.cs.gunma-u.ac.jp/~nakano/OS16/intro.html
785 デフォルトの名無しさん sage 2021/04/12(月) 11:32:46.54 ID:yZXPyOt1
>>782
割り込みとイベントは似てるようで違う
割り込みは他の割り込みをブロックしないように短時間でその処理を終えなければいけない
イベントはそうではない。時間がかかる処理を行ってもいい。
その間に割り込みがブロックされることはない。処理するレイヤーが全く違っている。
>>796
>アプリどころかOSの処理に画面タッチ関連が最優先割り込み指定されてるの。
その辺は俺もあまり自信無いなぁ・・・
1.4. 割り込み Interrupt
割り込みとは、CPUが受けとる緊急の処理要求信号である。
割り込みは、割り込み要求信号線と割り込みハンドラプログラムの開始番地からなる。
(割り込みに種類があるときは、開始番号もそれぞれ決めておく。ベクタ割り込みという。)
CPUの割込み要求信号線(IRQ = Interrupt ReQuest)に信号が発生すると
現在実行中のプログラムを(ほんのわずかの時間だけ)中断して、緊急に(割り込んで)、
対応するプログラム(割り込みハンドラ)を実行する。
http://www.cs.gunma-u.ac.jp/~nakano/OS16/intro.html
785 デフォルトの名無しさん sage 2021/04/12(月) 11:32:46.54 ID:yZXPyOt1
>>782
割り込みとイベントは似てるようで違う
割り込みは他の割り込みをブロックしないように短時間でその処理を終えなければいけない
イベントはそうではない。時間がかかる処理を行ってもいい。
その間に割り込みがブロックされることはない。処理するレイヤーが全く違っている。
823デフォルトの名無しさん
2021/04/12(月) 22:04:06.73ID:wo2ZdM5G 話を元に戻すと、ゲームではこのボタンの状態をチェックするクラスが登場するわけさ
724 名前:デフォルトの名無しさん[sage] 投稿日:2021/04/11(日) 08:28:12.36 ID:CjAFb9gH [17/24]
> 「ボタンを押している状態」をクラス
ButtonPressedClass
> 「ボタンの状況」を把握するクラスを作ること
ButtonStateScannerClass
ぜんぜん違うだろ
724 名前:デフォルトの名無しさん[sage] 投稿日:2021/04/11(日) 08:28:12.36 ID:CjAFb9gH [17/24]
> 「ボタンを押している状態」をクラス
ButtonPressedClass
> 「ボタンの状況」を把握するクラスを作ること
ButtonStateScannerClass
ぜんぜん違うだろ
824デフォルトの名無しさん
2021/04/12(月) 22:06:58.46ID:wo2ZdM5G そして、ボタンを押してるか押してないかというのが
ボタンクラスの属性であって
「ボタンを押している状態」をクラスにするのはアホ
そして更にゲーム脳はこの話を聞いて
「ボタンの状況」を把握するクラスのことだと勘違いしてる
マヌケだろ
ボタンクラスの属性であって
「ボタンを押している状態」をクラスにするのはアホ
そして更にゲーム脳はこの話を聞いて
「ボタンの状況」を把握するクラスのことだと勘違いしてる
マヌケだろ
825デフォルトの名無しさん
2021/04/12(月) 22:09:24.16ID:A3OoULtt と言う言葉遊びを指摘されて
カタワ指向君は今朝から大ハッスルだったのさ
カタワ指向君は今朝から大ハッスルだったのさ
826デフォルトの名無しさん
2021/04/12(月) 22:12:44.39ID:wo2ZdM5G >>825
それはお前の感想ですよね
それはお前の感想ですよね
827デフォルトの名無しさん
2021/04/12(月) 22:19:52.28ID:AGjFdU+p おっと俺も間違い!
>>751
>イベントドリブンによる割り込み処理
アプリが直接ハードウェアの状態チェックする『割り込み』は違う!
812 デフォルトの名無しさん sage 2021/04/12(月) 21:30:38.33 ID:o1bf8P7D
アプリのレイヤーから見れば
iOSならRunloop、AndroidならLooperでイベントループ回して
ループ単位でUIイベント処理してるんだから考え方は一緒なんだよなぁ
画面タッチでハードウェア割り込みが発生しようが
それによってアプリの処理が直接割り込まれるわけじゃなくて
アプリのイベントループ内でチェックするイベントキューにメッセージが送られるだけ
イベントキューをチェックするフェーズが過ぎてからイベントが発生したら次のイテレーションに回される
ゲームはタイミングコントロールのためにゲームループを一定時間で回すものが多いけど
それもイベントループという意味では同じ
>>751
>イベントドリブンによる割り込み処理
アプリが直接ハードウェアの状態チェックする『割り込み』は違う!
812 デフォルトの名無しさん sage 2021/04/12(月) 21:30:38.33 ID:o1bf8P7D
アプリのレイヤーから見れば
iOSならRunloop、AndroidならLooperでイベントループ回して
ループ単位でUIイベント処理してるんだから考え方は一緒なんだよなぁ
画面タッチでハードウェア割り込みが発生しようが
それによってアプリの処理が直接割り込まれるわけじゃなくて
アプリのイベントループ内でチェックするイベントキューにメッセージが送られるだけ
イベントキューをチェックするフェーズが過ぎてからイベントが発生したら次のイテレーションに回される
ゲームはタイミングコントロールのためにゲームループを一定時間で回すものが多いけど
それもイベントループという意味では同じ
828デフォルトの名無しさん
2021/04/12(月) 22:22:33.21ID:wo2ZdM5G >827
アプリがハードウェアの状態をチェックするなら割り込みじゃないよ
まったくそこから知らんのか
アプリがハードウェアの状態をチェックするなら割り込みじゃないよ
まったくそこから知らんのか
829デフォルトの名無しさん
2021/04/12(月) 22:25:39.21ID:AGjFdU+p 『割り込み』はハードウェアへのアクセスであり、
>割り込みとは、CPUが受けとる緊急の処理要求信号である。
OSによるイベントループ・イベントキューとは全く異なる!
>割り込みとは、CPUが受けとる緊急の処理要求信号である。
OSによるイベントループ・イベントキューとは全く異なる!
830デフォルトの名無しさん
2021/04/12(月) 22:45:09.30ID:AGjFdU+p 揚げ足取りで申し訳無いが、
>>828
>アプリがハードウェアの状態をチェックするなら割り込みじゃないよ
プリンターのSDカードをチェックする、割り込み印刷するアプリも有るけどね。
優先的に印刷する(割り込み印刷)
08RU-07L
今処理中の印刷ジョブを止めて先に印刷するモードです。止められた印刷ジョブは、プリンターのSDカードに保持され、割り込み印刷の印刷ジョブが終わると、印刷しなおされます。
プリンタードライバーの「出力方法」で「割り込み印刷」を選択して印刷します。
https://oip.manual.canon/USRMA-0207-zz-SS-jaJP/contents/08100000.html
>>828
>アプリがハードウェアの状態をチェックするなら割り込みじゃないよ
プリンターのSDカードをチェックする、割り込み印刷するアプリも有るけどね。
優先的に印刷する(割り込み印刷)
08RU-07L
今処理中の印刷ジョブを止めて先に印刷するモードです。止められた印刷ジョブは、プリンターのSDカードに保持され、割り込み印刷の印刷ジョブが終わると、印刷しなおされます。
プリンタードライバーの「出力方法」で「割り込み印刷」を選択して印刷します。
https://oip.manual.canon/USRMA-0207-zz-SS-jaJP/contents/08100000.html
831デフォルトの名無しさん
2021/04/12(月) 23:07:52.77ID:AGjFdU+p 例 マウスの動きをチェックしたい
方法1(ポーリング)(割り込みではない方式です)
マウスが動くとあるメモリの値が変化するようにハードウェアを設計する。
定期的にそのメモリの値をチェックする方式(ポーリング=定期的なチェック)だと
次のような欠点がある。
(1)プログラムが複雑になる。
(2)他の部分の処理が長びくと、チェックが遅れるかもしれない。
(3)頻繁にチェックしなくてはならないので、CPUの負担が大きい。
方法2(割り込み)
マウスが動くとハードウェアからCPUの割込み要求端子へ信号が発生するようにハードを設計する。
この信号が発生すると、CPUは、実行中の(他の)プログラムを中断して、割り込みに対応した
プログラム(割り込みハンドラ)を、すぐに(ごく短い時間だけ)実行する。
その後、中断したプログラムを再開する。
(ポーリングのように定期的にメモリをチェックする必要はない!)
http://www.cs.gunma-u.ac.jp/~nakano/OS16/intro.html
1980年代の『互換性の無いハードウェア依存システム』になりそうな気がする・・・
821 デフォルトの名無しさん sage 2021/04/12(月) 22:02:29.09 ID:wo2ZdM5G
>>818
直接ハードウェアの状態をチェックするなんて言ってないよ
ハードウェアを仮想化したデバイスの状態をチェックしてると言ってる
論点はイベントを使うか使わないかだから
方法1(ポーリング)(割り込みではない方式です)
マウスが動くとあるメモリの値が変化するようにハードウェアを設計する。
定期的にそのメモリの値をチェックする方式(ポーリング=定期的なチェック)だと
次のような欠点がある。
(1)プログラムが複雑になる。
(2)他の部分の処理が長びくと、チェックが遅れるかもしれない。
(3)頻繁にチェックしなくてはならないので、CPUの負担が大きい。
方法2(割り込み)
マウスが動くとハードウェアからCPUの割込み要求端子へ信号が発生するようにハードを設計する。
この信号が発生すると、CPUは、実行中の(他の)プログラムを中断して、割り込みに対応した
プログラム(割り込みハンドラ)を、すぐに(ごく短い時間だけ)実行する。
その後、中断したプログラムを再開する。
(ポーリングのように定期的にメモリをチェックする必要はない!)
http://www.cs.gunma-u.ac.jp/~nakano/OS16/intro.html
1980年代の『互換性の無いハードウェア依存システム』になりそうな気がする・・・
821 デフォルトの名無しさん sage 2021/04/12(月) 22:02:29.09 ID:wo2ZdM5G
>>818
直接ハードウェアの状態をチェックするなんて言ってないよ
ハードウェアを仮想化したデバイスの状態をチェックしてると言ってる
論点はイベントを使うか使わないかだから
832デフォルトの名無しさん
2021/04/12(月) 23:15:54.11ID:AGjFdU+p すると例えばキャノンのプリンタードライバーのような仮想化デバイスを、
>>821
>ハードウェアを仮想化したデバイス
キーボードやマウスやUSBメモリにも適用させようと???
デバイスのインストールと起動が面倒くさいことになりそうだな!
>>821
>ハードウェアを仮想化したデバイス
キーボードやマウスやUSBメモリにも適用させようと???
デバイスのインストールと起動が面倒くさいことになりそうだな!
833デフォルトの名無しさん
2021/04/12(月) 23:51:09.13ID:o1bf8P7D >>821
OSやフレームワークが提供するイベントを使わなくてもやってることは変わらないよね?
デバイスの状態をチェックしてアプリケーションにとって意味ある入力(=イベント)として解釈するレイヤーと
発生した入力(=イベント)を使ってアプリケーションの管理する状態を更新するレイヤーとは別でしょ?
それを混在させるメリットある?
適切にレイヤー分けできてないだけに思える
OSやフレームワークが提供するイベントを使わなくてもやってることは変わらないよね?
デバイスの状態をチェックしてアプリケーションにとって意味ある入力(=イベント)として解釈するレイヤーと
発生した入力(=イベント)を使ってアプリケーションの管理する状態を更新するレイヤーとは別でしょ?
それを混在させるメリットある?
適切にレイヤー分けできてないだけに思える
834デフォルトの名無しさん
2021/04/13(火) 01:12:16.02ID:CfPnmjiF >>824
後者については同意するけど前者については状況次第
Stateパターンすら知らないなら君もゲーム脳もどんぐり
https://gameprogrammingpatterns.com/state.html
ついでにこの辺も読んでおくといい
https://gameprogrammingpatterns.com/game-loop.html
https://gameprogrammingpatterns.com/event-queue.html
後者については同意するけど前者については状況次第
Stateパターンすら知らないなら君もゲーム脳もどんぐり
https://gameprogrammingpatterns.com/state.html
ついでにこの辺も読んでおくといい
https://gameprogrammingpatterns.com/game-loop.html
https://gameprogrammingpatterns.com/event-queue.html
835デフォルトの名無しさん
2021/04/13(火) 01:33:29.72ID:OTSe3bp7 ゲームプログラムクイズ大会終わったかい?
836デフォルトの名無しさん
2021/04/13(火) 08:06:49.79ID:oma1nuVq837デフォルトの名無しさん
2021/04/13(火) 09:12:34.46ID:3BHTfEQN838デフォルトの名無しさん
2021/04/13(火) 09:50:56.99ID:oma1nuVq839デフォルトの名無しさん
2021/04/13(火) 11:03:47.18ID:3qmwHhLR 業務用システムでもいろんなわけわからん条件に応じて
いろんなコントロールが友好になったり無効になったりするときに
Stateパターンでスッキリするときはあるぞ
Stateパターン使うというより
ステートマシンが必要なら作るという
それだけの話だが
いろんなコントロールが友好になったり無効になったりするときに
Stateパターンでスッキリするときはあるぞ
Stateパターン使うというより
ステートマシンが必要なら作るという
それだけの話だが
840デフォルトの名無しさん
2021/04/13(火) 11:14:28.37ID:5GJi7nDK841デフォルトの名無しさん
2021/04/13(火) 11:15:52.16ID:oma1nuVq だから最初に「ボタンを押している状態をクラスにするのはアホ」と書いた
よく読まないから恥をかく
824デフォルトの名無しさん2021/04/12(月) 22:06:58.46ID:wo2ZdM5G
そして、ボタンを押してるか押してないかというのが
ボタンクラスの属性であって
「ボタンを押している状態」をクラスにするのはアホ
よく読まないから恥をかく
824デフォルトの名無しさん2021/04/12(月) 22:06:58.46ID:wo2ZdM5G
そして、ボタンを押してるか押してないかというのが
ボタンクラスの属性であって
「ボタンを押している状態」をクラスにするのはアホ
842デフォルトの名無しさん
2021/04/13(火) 11:34:36.99ID:CfPnmjiF843デフォルトの名無しさん
2021/04/13(火) 12:38:45.51ID:oma1nuVq > ポーリングした結果をイベントに変換するだけでしょ
だからゲームではしないんだよ
だからゲームではしないんだよ
844デフォルトの名無しさん
2021/04/13(火) 12:39:08.78ID:oma1nuVq > 〜の場合はボタン押しっぱなし、〜場合はボタン立ち上がり、〜場合はボタン立ち下がり
> というイベントに変換してるじゃん
イベントは発生するもの。はぁ。そこからかよ
> というイベントに変換してるじゃん
イベントは発生するもの。はぁ。そこからかよ
845デフォルトの名無しさん
2021/04/13(火) 12:40:59.44ID:oma1nuVq > イベントを発行する低レイヤーの処理がポーリング使ってようがいまいが
低レイヤーの話はしてない。
ゲームアプリの実装はイベントを受け取らず定期的にボタンの状態をスキャンしてるの
ゲーム脳がなぜ「ボタンの状況を把握するクラスを作る」ものだと思ってるのかわかってないでしょ?
724 名前:デフォルトの名無しさん[sage] 投稿日:2021/04/11(日) 08:28:12.36 ID:CjAFb9gH [17/24]
> 「ボタンを押している状態」をクラス
ButtonPressedClass
> 「ボタンの状況」を把握するクラスを作ること
ButtonStateScannerClass
ぜんぜん違うだろ
低レイヤーの話はしてない。
ゲームアプリの実装はイベントを受け取らず定期的にボタンの状態をスキャンしてるの
ゲーム脳がなぜ「ボタンの状況を把握するクラスを作る」ものだと思ってるのかわかってないでしょ?
724 名前:デフォルトの名無しさん[sage] 投稿日:2021/04/11(日) 08:28:12.36 ID:CjAFb9gH [17/24]
> 「ボタンを押している状態」をクラス
ButtonPressedClass
> 「ボタンの状況」を把握するクラスを作ること
ButtonStateScannerClass
ぜんぜん違うだろ
846デフォルトの名無しさん
2021/04/13(火) 12:48:22.34ID:5GJi7nDK また適当なことを・・・
まぁいいや、続けて
まぁいいや、続けて
847デフォルトの名無しさん
2021/04/13(火) 12:50:02.65ID:oma1nuVq なにも言い返してないことに対して続けてと言われても
反論がないならレスしなくていいのよ
反論がないならレスしなくていいのよ
848デフォルトの名無しさん
2021/04/13(火) 12:51:36.36ID:5GJi7nDK 反論するかどうかはその話が完結したら決めるよ
849デフォルトの名無しさん
2021/04/13(火) 12:53:50.55ID:Fs1rsRs1 ああ、いつまでも完結してないことにして
反論できないことを、ごまかすって言ってるわけねw
反論できないことを、ごまかすって言ってるわけねw
850デフォルトの名無しさん
2021/04/13(火) 12:55:34.26ID:5GJi7nDK まぁそう受けとってもいいよ。今はね。
邪魔をして悪かった。続けて。
邪魔をして悪かった。続けて。
851デフォルトの名無しさん
2021/04/13(火) 13:00:12.70ID:Fs1rsRs1 受け取るも何も、反論は出てません。で終わりだよw
852デフォルトの名無しさん
2021/04/13(火) 13:03:14.65ID:5GJi7nDK なら何もID変えるほどビビることもないだろ?
自信があるならどうぞ続けてください
自信があるならどうぞ続けてください
853デフォルトの名無しさん
2021/04/13(火) 13:04:18.10ID:Fs1rsRs1 IDは勝手に変わるんだから仕方ないだろw
854デフォルトの名無しさん
2021/04/13(火) 13:04:52.99ID:Fs1rsRs1 おっとIDの話にすり替えようとしても、お前の反論がないというこの状況に変化はないぞw
855デフォルトの名無しさん
2021/04/13(火) 13:06:03.58ID:5GJi7nDK いいよ、今は反論がないということで
だから続けなよ
だから続けなよ
856デフォルトの名無しさん
2021/04/13(火) 13:11:46.04ID:Fs1rsRs1 だからレスがあれば続けてるだろw
857デフォルトの名無しさん
2021/04/13(火) 13:40:35.29ID:CfPnmjiF >>844
なるほど、自分でイベントを発生させたことがないんだね
それでイベントドリブンを語るのはStateパターンすら知らずにオブジェクト指向語るのと同レベルだわ
ゲーム脳に比べると君のほうが常識人に感じてたが
視野狭窄という意味でやっぱりゲーム脳とどんぐりだな
レスバする理由がよくわかった
なるほど、自分でイベントを発生させたことがないんだね
それでイベントドリブンを語るのはStateパターンすら知らずにオブジェクト指向語るのと同レベルだわ
ゲーム脳に比べると君のほうが常識人に感じてたが
視野狭窄という意味でやっぱりゲーム脳とどんぐりだな
レスバする理由がよくわかった
858デフォルトの名無しさん
2021/04/13(火) 13:42:41.77ID:Fs1rsRs1 > なるほど、自分でイベントを発生させたことがないんだね
なぜゲームではイベントを使わずに
ポーリングでボタンの状態を検出するというだけの話から
そんな発想が出てくるんだろうか?
意味わからんよねw
なぜゲームではイベントを使わずに
ポーリングでボタンの状態を検出するというだけの話から
そんな発想が出てくるんだろうか?
意味わからんよねw
859デフォルトの名無しさん
2021/04/13(火) 14:13:56.82ID:a0fpMlgS 印刷中は電源オフ要求があったら下の領域でラッチして覚えておき、印刷が終わったところでラッチを調べ、
電源オフ要求があったならば、電源オフ処理を始める。
このように、何かをやっている最中に、何かが起きることを覚えておきたい、というときに、直交合成状態を使うことができる。
この形のことを Latch State (ラッチステート)パターンと言う。リアルタイムUMLワークショップという本の中で、ブルースダグラスさんが命名している。
https://qiita.com/saltheads/items/abd039ec2df18bdd7995
839 デフォルトの名無しさん sage 2021/04/13(火) 11:03:47.18 ID:3qmwHhLR
業務用システムでもいろんなわけわからん条件に応じて
いろんなコントロールが友好になったり無効になったりするときに
Stateパターンでスッキリするときはあるぞ
Stateパターン使うというより
ステートマシンが必要なら作るという
それだけの話だが
電源オフ要求があったならば、電源オフ処理を始める。
このように、何かをやっている最中に、何かが起きることを覚えておきたい、というときに、直交合成状態を使うことができる。
この形のことを Latch State (ラッチステート)パターンと言う。リアルタイムUMLワークショップという本の中で、ブルースダグラスさんが命名している。
https://qiita.com/saltheads/items/abd039ec2df18bdd7995
839 デフォルトの名無しさん sage 2021/04/13(火) 11:03:47.18 ID:3qmwHhLR
業務用システムでもいろんなわけわからん条件に応じて
いろんなコントロールが友好になったり無効になったりするときに
Stateパターンでスッキリするときはあるぞ
Stateパターン使うというより
ステートマシンが必要なら作るという
それだけの話だが
860デフォルトの名無しさん
2021/04/13(火) 14:17:37.36ID:5GJi7nDK861デフォルトの名無しさん
2021/04/13(火) 14:54:10.93ID:5GJi7nDK >>859
正直リンク先見たとき英語で記載されてて
俺じじいだし英語読めないし
DEEPLE先生で翻訳しても訳分からないし
Stateパターンって名前がついているのは知らなかったけど、
クラス図見たとき「ああ、あのアレか」と思うほど結構使われてるやつだったよ
ま、そう言うとまたゲーム脳って言われるんだろうけど
正直リンク先見たとき英語で記載されてて
俺じじいだし英語読めないし
DEEPLE先生で翻訳しても訳分からないし
Stateパターンって名前がついているのは知らなかったけど、
クラス図見たとき「ああ、あのアレか」と思うほど結構使われてるやつだったよ
ま、そう言うとまたゲーム脳って言われるんだろうけど
862デフォルトの名無しさん
2021/04/13(火) 15:21:17.51ID:a0fpMlgS データベースとオブジェクト指向の間には溝があります。インピーダンスミスマッチと呼ばれていますが、
ゲームを構築する際にも、インピーダンスミスマッチが生じています。
ゲーム世界をプログラムコードに落とす上で、継承という仕組みは貧弱すぎるのです。
https://qiita.com/tshinsay/items/739ad875cc3925d51f12
一般的なゲームプログラミングで使われるオブジェクト指向は、サブクラスではなくインナークラスのほう。
オブジェクト指向は要らないという意見もあるが、サブクラスについては人工知能に活用したいところ。
例えばクリントン大統領はチンポ【が】シコシコしてしまったのが『不適切な関係』だったとか。
1 インナークラス(オシッコをするときのチンポ)
ネットワーク、メッセージング、イベントドリブン、同期処理・・・
2 サブクラス(勃起・射精するときのチンポ)
自然言語処理、人工知能・・・
ゲームを構築する際にも、インピーダンスミスマッチが生じています。
ゲーム世界をプログラムコードに落とす上で、継承という仕組みは貧弱すぎるのです。
https://qiita.com/tshinsay/items/739ad875cc3925d51f12
一般的なゲームプログラミングで使われるオブジェクト指向は、サブクラスではなくインナークラスのほう。
オブジェクト指向は要らないという意見もあるが、サブクラスについては人工知能に活用したいところ。
例えばクリントン大統領はチンポ【が】シコシコしてしまったのが『不適切な関係』だったとか。
1 インナークラス(オシッコをするときのチンポ)
ネットワーク、メッセージング、イベントドリブン、同期処理・・・
2 サブクラス(勃起・射精するときのチンポ)
自然言語処理、人工知能・・・
863デフォルトの名無しさん
2021/04/13(火) 15:33:19.55ID:a0fpMlgS こういう場合は、サブクラスとして『ひげそり機を使っている状態のFred』を再定義するしかないかも。
829 デフォルトの名無しさん 2018/11/11(日) 09:52:59.70 ID:y84pWKv0
(第1章 はじめに 2頁)
たとえば、CycはFredという名前の男が朝にひげをそるという話が理解できなかった。
Cycの推論エンジンは、この話の中に矛盾を見つけた。Cycは人間には電気の部品がないことは知っているが、
Fredが電気カミソリを持っていたので、エンティティ「Fredがひげそり中(FredWhileShaving)」
には電気の部品が含まれていると考えた。したがって、CycはFredがひげをそっている間、
Fredはそれでも人間なのかと尋ねた。
『深層学習』
著者:
Ian Goodfellow, イアングッドフェロー,
Yoshua Bengio, ヨシュアベンジオ,
Aaron Courville, アーロンカービル
一般的なアプリやゲームやプリンターにおいては『状態』そのものをオブジェクトには出来ないが、
>>626
> 乗っ取られるという状態変化を起こしたクリントンがシコっていることに変わりはない
人工知能とか自然言語処理なら、シコシコしたチンポにクリントンがシコられたと解釈したいところ。
250 デフォルトの名無しさん sage 2021/03/21(日) 16:00:54.94 ID:rWfpUSZ4
状態をオブジェクトにするな
は昔からよく言われている
「ボタンを押している状態」
をクラスにしてしまうと
プログラムが無茶無茶になる
「モノ」をオブジェクトにする
これがオブジェクト指向の本質
829 デフォルトの名無しさん 2018/11/11(日) 09:52:59.70 ID:y84pWKv0
(第1章 はじめに 2頁)
たとえば、CycはFredという名前の男が朝にひげをそるという話が理解できなかった。
Cycの推論エンジンは、この話の中に矛盾を見つけた。Cycは人間には電気の部品がないことは知っているが、
Fredが電気カミソリを持っていたので、エンティティ「Fredがひげそり中(FredWhileShaving)」
には電気の部品が含まれていると考えた。したがって、CycはFredがひげをそっている間、
Fredはそれでも人間なのかと尋ねた。
『深層学習』
著者:
Ian Goodfellow, イアングッドフェロー,
Yoshua Bengio, ヨシュアベンジオ,
Aaron Courville, アーロンカービル
一般的なアプリやゲームやプリンターにおいては『状態』そのものをオブジェクトには出来ないが、
>>626
> 乗っ取られるという状態変化を起こしたクリントンがシコっていることに変わりはない
人工知能とか自然言語処理なら、シコシコしたチンポにクリントンがシコられたと解釈したいところ。
250 デフォルトの名無しさん sage 2021/03/21(日) 16:00:54.94 ID:rWfpUSZ4
状態をオブジェクトにするな
は昔からよく言われている
「ボタンを押している状態」
をクラスにしてしまうと
プログラムが無茶無茶になる
「モノ」をオブジェクトにする
これがオブジェクト指向の本質
864デフォルトの名無しさん
2021/04/13(火) 17:32:21.52ID:lxQvoCB8 このスレでゲーム脳って言われてる人って
アーケードか家庭用ゲーム機で作ってたりするん?
老舗あるいは有名メーカーだったりするん?
アーケードか家庭用ゲーム機で作ってたりするん?
老舗あるいは有名メーカーだったりするん?
865デフォルトの名無しさん
2021/04/13(火) 18:47:14.48ID:/ZU5S8St メッセージループでメッセージを受け取る->処理する
送り側はメッセージキューに送る
すべてそれで理解できる
何年も何にも変わってない
送り側はメッセージキューに送る
すべてそれで理解できる
何年も何にも変わってない
866デフォルトの名無しさん
2021/04/13(火) 19:14:28.11ID:5GJi7nDK867デフォルトの名無しさん
2021/04/13(火) 19:17:17.22ID:3qmwHhLR 引用の仕方も分からないKYって典型的だよな
868デフォルトの名無しさん
2021/04/13(火) 19:26:48.22ID:Fs1rsRs1 >>865
Windows 3.1や95の初期あたりの頃とかはそうだった
プログラマがウインドウメッセージを直接処理していた
今はそういったものはライブラリが処理し
アプリケーションプログラマから見るとウインドウメッセージは
イベントとして受け取る形でプログラミングできるようになってる
時代は変わってるんだよ
Windows 3.1や95の初期あたりの頃とかはそうだった
プログラマがウインドウメッセージを直接処理していた
今はそういったものはライブラリが処理し
アプリケーションプログラマから見るとウインドウメッセージは
イベントとして受け取る形でプログラミングできるようになってる
時代は変わってるんだよ
869デフォルトの名無しさん
2021/04/13(火) 19:48:02.89ID:fFoE8jgx >>868
95の初期とか、、、MFCなんて使わないしWindowsXPくらいまでは普通にメッセージ処理してたわいw
95の初期とか、、、MFCなんて使わないしWindowsXPくらいまでは普通にメッセージ処理してたわいw
870デフォルトの名無しさん
2021/04/13(火) 19:53:52.51ID:5GJi7nDK さて、仕事も終わったことだし
昼頃に言い淀んだことの説明をするか
実はカタワ指向君に反論ではなく>>842に
苦情をいいたかったんだ
カタワ指向君の後にレスしたからカタワ指向が自分のことと思って俺にレスしてきたから
悪いとは思ったけどちょっと面白くなって濁らしたんだ。すまんな、俺は人格破綻者なんだ。
さて
>>842
>>>679のゲーム脳の例でも
>〜の場合はボタン押しっぱなし、〜場合はボタン立ち上がり、〜場合はボタン立ち下がり
>というイベントに変換してるじゃん
いつ俺がイベントに変換しているなんて言ったよ
変に曲解して俺が変なことを言ったように風潮するのは止めて頂きたい
そっちがイベント作成して飛ばすのは勝手だがな。
昼頃に言い淀んだことの説明をするか
実はカタワ指向君に反論ではなく>>842に
苦情をいいたかったんだ
カタワ指向君の後にレスしたからカタワ指向が自分のことと思って俺にレスしてきたから
悪いとは思ったけどちょっと面白くなって濁らしたんだ。すまんな、俺は人格破綻者なんだ。
さて
>>842
>>>679のゲーム脳の例でも
>〜の場合はボタン押しっぱなし、〜場合はボタン立ち上がり、〜場合はボタン立ち下がり
>というイベントに変換してるじゃん
いつ俺がイベントに変換しているなんて言ったよ
変に曲解して俺が変なことを言ったように風潮するのは止めて頂きたい
そっちがイベント作成して飛ばすのは勝手だがな。
871デフォルトの名無しさん
2021/04/13(火) 20:21:32.34ID:Fs1rsRs1 >>869
> 95の初期とか、、、MFCなんて使わないしWindowsXPくらいまでは普通にメッセージ処理してたわいw
それはお前が選択したものの話であって、Delphi、C++Builder、VB、Javaなんでもありました。
その頃になればC#も登場してますね
> 95の初期とか、、、MFCなんて使わないしWindowsXPくらいまでは普通にメッセージ処理してたわいw
それはお前が選択したものの話であって、Delphi、C++Builder、VB、Javaなんでもありました。
その頃になればC#も登場してますね
872デフォルトの名無しさん
2021/04/13(火) 20:46:40.42ID:fFoE8jgx873デフォルトの名無しさん
2021/04/13(火) 20:50:12.12ID:5GJi7nDK >>225
開発あるあるだなw
そうか、確かにVBAだと後ろが伸びるだけになるかも知れないね。
他のある程度大きいシステムになると
・客先から上がって来ない要件定義
・客先だから強く言えないチームのリーダー
・差し迫る納期
・焦りが出てきてイラつく俺ら。それを宥めるリーダー
この辺からが違うところかな
・システム間の連携や他システムとの連携のため伸ばせない納期
・更に焦る俺ら。宥めきれなくなるリーダー
・上がって来る要件定義、血眼で設計書を作る俺ら
・時間がなくて客先との対面レビューのはずが回覧レビューになる設計書
・PGしながら単体テストケース作りながら単位テストしながらエビデンス取る俺ら
・超える納期、無くなる休日、伸びまくる勤務時間、倒れる仲間
・覆る要件定義、設計種ミス発覚、他の嶋から助っ人入るも焼石に水、発狂する助っ人
・何とかSTまで終了。飛ばされるリーダー、バグだらけの成果物、昇天する俺ら
最悪こんな感じかな。
開発あるあるだなw
そうか、確かにVBAだと後ろが伸びるだけになるかも知れないね。
他のある程度大きいシステムになると
・客先から上がって来ない要件定義
・客先だから強く言えないチームのリーダー
・差し迫る納期
・焦りが出てきてイラつく俺ら。それを宥めるリーダー
この辺からが違うところかな
・システム間の連携や他システムとの連携のため伸ばせない納期
・更に焦る俺ら。宥めきれなくなるリーダー
・上がって来る要件定義、血眼で設計書を作る俺ら
・時間がなくて客先との対面レビューのはずが回覧レビューになる設計書
・PGしながら単体テストケース作りながら単位テストしながらエビデンス取る俺ら
・超える納期、無くなる休日、伸びまくる勤務時間、倒れる仲間
・覆る要件定義、設計種ミス発覚、他の嶋から助っ人入るも焼石に水、発狂する助っ人
・何とかSTまで終了。飛ばされるリーダー、バグだらけの成果物、昇天する俺ら
最悪こんな感じかな。
874デフォルトの名無しさん
2021/04/13(火) 20:51:15.98ID:5GJi7nDK おっと誤爆した
すまんな
すまんな
875デフォルトの名無しさん
2021/04/13(火) 22:49:41.14ID:Fs1rsRs1876デフォルトの名無しさん
2021/04/13(火) 22:50:36.03ID:Fs1rsRs1 訂正
だからゲームでボタンの状態をクラスにする例をだしたのち
だからゲームでボタンの状態をクラスにする例をだしたのち
877デフォルトの名無しさん
2021/04/13(火) 23:09:13.52ID:a0fpMlgS 話を戻すが、「チンポがシコシコする」という日本語表現は、学術的に正しいと言えるのか?
チンポ「を」シコシコするのではなくて、チンポ「が」シコシコする。この場合、「チンポ」は主語となる。
オブジェクト指向で言う「集約」は2種類あって、全体(俺)と部分(チンポ)が繋がっている場合と、
全体(俺)と部分(チンポ)が別々になっている場合とが考えられる。けれども「チンポ」はそれ自体
が独立した生き物であり、所有者の意思とは無関係に、自ら勃起して「シコシコする」。
例えば寝てる時にエロい夢みて朝起きてみたらチンコが勃起して射精してたとか。
違うか?
「胸がドキドキする」は良いが、「チンポがシコシコする」はダメな理由を、50字以内で述べろ!
チンポ「を」シコシコするのではなくて、チンポ「が」シコシコする。この場合、「チンポ」は主語となる。
オブジェクト指向で言う「集約」は2種類あって、全体(俺)と部分(チンポ)が繋がっている場合と、
全体(俺)と部分(チンポ)が別々になっている場合とが考えられる。けれども「チンポ」はそれ自体
が独立した生き物であり、所有者の意思とは無関係に、自ら勃起して「シコシコする」。
例えば寝てる時にエロい夢みて朝起きてみたらチンコが勃起して射精してたとか。
違うか?
「胸がドキドキする」は良いが、「チンポがシコシコする」はダメな理由を、50字以内で述べろ!
878デフォルトの名無しさん
2021/04/13(火) 23:43:05.50ID:lT81cFcU >>873
あったかいなあ
あったかいなあ
879デフォルトの名無しさん
2021/04/14(水) 05:40:25.28ID:jCprHRHj880デフォルトの名無しさん
2021/04/14(水) 08:15:11.50ID:jCprHRHj にしても
>>250
>状態をオブジェクトにするな
>は昔からよく言われている
>「ボタンを押している状態」
>をクラスにしてしまうと
>プログラムが無茶無茶になる
>「モノ」をオブジェクトにする
>これがオブジェクト指向の本質
これが未だに釈然としない
もうゲーム脳認定されてるから遠慮なくそっちの話で書くけど
正直、ボタンの状態をイベントで取ろうが
ポーリングで取ろうがCやC++で直接I/Oポートアドレスの値読みに行こうがそんなことはどうでもいい。
キチンと処理に同期してボタン状態が取得出来れば手段はこの話の本質とは関係ない。
以前、イベントでボタンの立ち上がりやキーの立ち下がりは取得出来るから必要ないとの意見もあったけど、
格闘ゲームなどではコマンド入力の判断を行うため、ある程度の期間ボタンの状態をどこぞに格納するのはザラ。
それがエンティティのクラスだからって何故プログラムが滅茶苦茶になるのか理解出来ない。
一般業務になるとどのような制限を受けるのか分からんけど、
処理は無駄になるかも知れないけど、無茶苦茶になるとは思えない。
Object指向的な制約があって、そういうこともあるのかググってみたけど、どれも釈然としない。
終いには昨日聞いたStateパターンの話が出てくる始末。
で、知りたいのは「何故ボタンの状態をクラスにすると無茶苦茶になる」のか、どういう原理で無茶苦茶になるのかと言うところ。
ちなみにカタワ指向君と昨日Stateパターンの話をした人はこの件について別にレスする必要はないと思ってる。
カタワ指向君は既に一般業務以外のものは対象外とバッサリ切り捨てているし、
Stateパターンの話をした人は状態をクラスに持つことを許容していると分かっているからね。
>>250
>状態をオブジェクトにするな
>は昔からよく言われている
>「ボタンを押している状態」
>をクラスにしてしまうと
>プログラムが無茶無茶になる
>「モノ」をオブジェクトにする
>これがオブジェクト指向の本質
これが未だに釈然としない
もうゲーム脳認定されてるから遠慮なくそっちの話で書くけど
正直、ボタンの状態をイベントで取ろうが
ポーリングで取ろうがCやC++で直接I/Oポートアドレスの値読みに行こうがそんなことはどうでもいい。
キチンと処理に同期してボタン状態が取得出来れば手段はこの話の本質とは関係ない。
以前、イベントでボタンの立ち上がりやキーの立ち下がりは取得出来るから必要ないとの意見もあったけど、
格闘ゲームなどではコマンド入力の判断を行うため、ある程度の期間ボタンの状態をどこぞに格納するのはザラ。
それがエンティティのクラスだからって何故プログラムが滅茶苦茶になるのか理解出来ない。
一般業務になるとどのような制限を受けるのか分からんけど、
処理は無駄になるかも知れないけど、無茶苦茶になるとは思えない。
Object指向的な制約があって、そういうこともあるのかググってみたけど、どれも釈然としない。
終いには昨日聞いたStateパターンの話が出てくる始末。
で、知りたいのは「何故ボタンの状態をクラスにすると無茶苦茶になる」のか、どういう原理で無茶苦茶になるのかと言うところ。
ちなみにカタワ指向君と昨日Stateパターンの話をした人はこの件について別にレスする必要はないと思ってる。
カタワ指向君は既に一般業務以外のものは対象外とバッサリ切り捨てているし、
Stateパターンの話をした人は状態をクラスに持つことを許容していると分かっているからね。
881デフォルトの名無しさん
2021/04/14(水) 08:18:56.51ID:wfAil9SV なんだか分からねえが熱いバトルが続いてることは伝わったぜ…!
882デフォルトの名無しさん
2021/04/14(水) 08:24:22.68ID:5GuB5jpc >「ボタンを押している状態」
>をクラスにしてしまうと
「ボタンの状態をクラスにするな」と言われてるのに
> 正直、ボタンの状態をイベントで取ろうが
とボタンの状態を取る方法の話だと思ってしまう人は
オブジェクト指向の設計を全く理解してない
根本的に理解していない
>をクラスにしてしまうと
「ボタンの状態をクラスにするな」と言われてるのに
> 正直、ボタンの状態をイベントで取ろうが
とボタンの状態を取る方法の話だと思ってしまう人は
オブジェクト指向の設計を全く理解してない
根本的に理解していない
883デフォルトの名無しさん
2021/04/14(水) 08:26:36.80ID:5GuB5jpc 何かしらの状態をクラスにすることはありえるが
「ボタンの状態」をクラスにするなと言われてることが
まだわかってない
「ボタンの状態」をクラスにするなと言われてることが
まだわかってない
884デフォルトの名無しさん
2021/04/14(水) 08:28:22.54ID:jCprHRHj885デフォルトの名無しさん
2021/04/14(水) 08:33:01.28ID:dloO9z3Z > 状態をオブジェクトにするな
> は昔からよく言われている
ちなみにこれどこ界隈で言われてたんす?
よく言われてるとのことだが聞き覚えは無いんで
> は昔からよく言われている
ちなみにこれどこ界隈で言われてたんす?
よく言われてるとのことだが聞き覚えは無いんで
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国側が首相答弁の撤回要求、日本側拒否 [夜のけいちゃん★]
- 債券・円・株「トリプル安」に…長期金利1.755%まで上昇、円は対ユーロで史上最安値 [蚤の市★]
- 映画「鬼滅の刃」の興行収入急減、日本行き航空券大量キャンセル…中国メディア報道 [蚤の市★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★5 [ぐれ★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 【大分】佐賀関で大規模火災、170棟以上が延焼中 70代男性1人と連絡取れず [ぐれ★]
- 麻生太郎氏、高市政権と距離を置きはじめる(´・ω・`) [399259198]
- 【悲報】中国営業に熱心な日本人タレントたち、中国のイベントが続々と中止に… まだ予定中のアイドルとか歌手とかたくさんいるけど [452836546]
- 自閉症が「んなっしょい」と連呼するお🏡
- 【悲報】高市効果で「1ドル=160円」が相場へwwwwwwwwwwwwwwwwwwwwwwwwwwwww 止まらぬ高市円安💥💥 [871926377]
- 高市総理で期待してるかもしれないけど、自民党はもうダメだから、超党派の勢力が出てくるみたいだぞ。 [134367759]
- トヨタ、反日だった。2027年に中国にレクサスのEV工場を設立。高市 [931948549]
