ニートぼく「オブジェクト指向がよくわかんないよ」 犬「?」ヘッヘッヘッヘ


    1 :名無しさん 2018/07/31(火) 22:29:11.150 ID:8zXtTy0P0.net
    わかんないよお!!

    3 :名無しさん 2018/07/31(火) 22:31:35.101 ID:dSGDy9X+M.net
    class Dog(Animal)

    4 :名無しさん 2018/07/31(火) 22:31:44.155 ID:xSEgvn490.net
    犬に聞くのが間違ってる
    インコに聞け

    5 :名無しさん 2018/07/31(火) 22:31:49.278 ID:NyhD/tFa0.net
    オブジェクト指向は愚かな考え
    排便メソッドを実装した人間クラスから美少女クラスが作れない

    12 :名無しさん 2018/07/31(火) 22:36:44.005 ID:vFDlnk+Z0.net
    >>5
    そしたら人間クラスの粒度をもっと荒くして人間クラスを継承した愚民クラスと美少女クラスを作ればいいのでは

    16 :名無しさん 2018/07/31(火) 22:41:30.400 ID:g7MV7gUIM.net
    >>5
    俺なら排便メソッドオーバーライドしてわたあめリターンするわ

    6 :名無しさん 2018/07/31(火) 22:32:53.389 ID:8zXtTy0P0.net
    例えばぼくの家にぼくと犬がいるとするじゃん?
    の前に
    家クラスを作るじゃん?
    で、なんかひとつクラス作って
    家クラスとぼくと犬を宣言するじゃん?
    ここまではあってる?

    7 :名無しさん 2018/07/31(火) 22:33:40.770 ID:blrNkcGP0.net
    日本語としてまず例えにクラスを使うなよ

    8 :名無しさん 2018/07/31(火) 22:34:03.728 ID:+4Sedr4za.net
    読む側が都合よく補正してくれれば合ってるけど何言いたいかわかりにくい

    9 :名無しさん 2018/07/31(火) 22:34:32.061 ID:HowWwDVzM.net
    Cで書ければ完璧

    10 :名無しさん 2018/07/31(火) 22:35:08.563 ID:8zXtTy0P0.net
    で、犬とぼくのクラスの中に犬とぼくが存在しているかのフラグを作るじゃん?
    さらにx座標と、y座標を作るとさらに1階、2階のzフラグも作るじゃん?
    これはぼくと犬がどこにいるかを現す座標じゃん?
    ここまではあってる?

    11 :名無しさん 2018/07/31(火) 22:35:11.590 ID:QnmX0JRm0.net
    頭が痛くなる
    畑が違い過ぎる

    13 :名無しさん 2018/07/31(火) 22:37:38.456 ID:8zXtTy0P0.net
    まず犬クラスを見よう
    コンストラクタにフラグはFALSEにする、z、y、zも0を入れとく
    これにより宣言されても犬は居ないことになるじゃん?
    で、犬POP関数を作り
    もし呼ばれたらフラグをTRUEにするじゃん?
    さらに犬のXYZ関数を作り座標を入力してあげるじゃん?
    ここまではあってる?

    14 :名無しさん 2018/07/31(火) 22:40:15.152 ID:4WSbtcmE0.net
    >>13
    お前は自分の座標を知っているのか?

    15 :名無しさん 2018/07/31(火) 22:40:40.508 ID:8zXtTy0P0.net
    さらに家、犬、ぼくを宣言したクラスで
    Draw関数を作るじゃん?
    で、家と犬とぼく関数の中にそれぞれ表示するDraw関数を作るじゃん?
    で、もしFLG(存在しているか)がTRUEならDraw関数の中で表示するようにするじゃん?
    さらに家、犬、ぼくを宣言したクラスのDraw関数の中で、家、犬、ぼくのDraw関数を呼び出すじゃん?
    これによりFLAGがTRUEなら家が表示されて、犬とぼくも表示されるじゃん?
    ここまであってる?

    17 :名無しさん 2018/07/31(火) 22:43:46.240 ID:8zXtTy0P0.net
    さらに家、犬、ぼくを宣言したクラスでUpdateクラスを作るじゃん?
    ぼくと犬クラスの中にもUpdateクラスを用意して呼び出すじゃん?
    犬は寝る、歩く、食べる関数を作ってFLAGを1個用意してランダムにどれかを呼び出すじゃん?
    そうすると画面の中で犬が勝手に寝るか歩くか食べる関数を呼び出してランダムに行動し始めるじゃん?

    18 :名無しさん 2018/07/31(火) 22:44:02.605 ID:vFDlnk+Z0.net
    はい

    19 :名無しさん 2018/07/31(火) 22:46:36.196 ID:8zXtTy0P0.net
    犬の中の寝る関数の場合
    時間変数を作ってさらに時間カウント変数を作るじゃん?
    犬の中の寝る関数が呼び出された瞬間初期化するじゃん?
    さらにランダムに時間変数に1〜3時間くらいを入力していれるじゃん?
    で、あとはその時間までこいつは寝るように
    さらにエフェクトクラスを作るじゃん?
    で、エフェクトクラスの中の寝る関数に犬の座標を送って
    表示させて犬の上に表示するじゃん?

    20 :名無しさん 2018/07/31(火) 22:48:12.752 ID:vFDlnk+Z0.net
    はい

    21 :名無しさん 2018/07/31(火) 22:49:55.845 ID:8zXtTy0P0.net
    で、さらに犬の歩く関数の場合
    ランダムを用意してどっかの方向にランダムに歩くじゃん?
    その時に障害物があるかもしれないから家クラスから家の間取りマップを貰わないといけないじゃん?
    dog.update(家クラス.家の間取りマップ);←これに家の間取りマップを引数として書くじゃん?
    で、犬が歩く方向に障害物がなければ歩くようにするじゃん?
    ここまではあってる?

    22 :名無しさん 2018/07/31(火) 22:50:26.781 ID:vFDlnk+Z0.net
    はい

    23 :名無しさん 2018/07/31(火) 22:53:01.820 ID:8zXtTy0P0.net
    さらに
    犬を2匹宣言した時に歩く時に重なる可能性あるじゃん?
    つまり犬も障害物にしないといけないじゃん?
    つまり家クラスの中に間取りクラスと実際に歩けるかの座標マップも作らないといけないのか
    納得した

    25 :名無しさん 2018/07/31(火) 22:55:53.834 ID:NyhD/tFa0.net
    そのまんまRPGツクールで実装できそう

    27 :名無しさん 2018/07/31(火) 22:58:03.646 ID:8zXtTy0P0.net
    オブジェクト指向の場合さらにあらたに当たり判定マップがいるのか

    28 :名無しさん 2018/07/31(火) 23:05:39.429 ID:BWCcQQKM0.net
    ぼくは人クラスのインスタンスな
    人も犬も家もdrawってメソッド持ってるならDrawableインターフェース作ってそれをインプリすべき

    29 :名無しさん 2018/07/31(火) 23:09:09.986 ID:8zXtTy0P0.net
    >>28
    何言ってるのかよくわからない

    30 :名無しさん 2018/07/31(火) 23:11:53.753 ID:8zXtTy0P0.net
    オブジェクト指向難しすぎるもういやだ

    31 :名無しさん 2018/07/31(火) 23:13:33.913 ID:BWCcQQKM0.net
    存在フラグとかいらんだろ
    家クラスのインスタンスから犬のインスタンスや人のインスタンスにnull代入をもって存在しない事にすればいい
    犬や人クラスに座標を持たせるのではなく空間クラスのインスタンス中にオブジェクトを座標指定で複数配置できるようにすべき
    そうしないと家や人や犬のインスタンス全部見なきゃどこに何があるか分からなくなるし

    32 :名無しさん 2018/07/31(火) 23:15:33.525 ID:8zXtTy0P0.net
    >>31
    犬やぼくに座標を持たせず
    空間クラスを作るほうがいいの?
    NULLを入れておけばいいってのはよくわからない

    38 :名無しさん 2018/07/31(火) 23:22:17.175 ID:BWCcQQKM0.net
    >>32
    家のインスタンスに人のインスタンスや犬のインスタンスをメンバ変数として持たせるんだろ?
    それをもって「存在している」と定義する
    家インスタンスに持たせた人や犬のメンバ変数がnullなら存在していないとみなす
    それだけ

    39 :名無しさん 2018/07/31(火) 23:23:16.008 ID:8zXtTy0P0.net
    >>38
    いや家のなかで犬とぼくは宣言しない
    さらにフラグ使えばいいだけなので却下

    44 :名無しさん 2018/07/31(火) 23:30:35.188 ID:BWCcQQKM0.net
    >>39
    じゃあ空間のインスタンスに家や人や犬インスタンスをセットしたら存在してるってて意義だな
    フラグとかオブジェクト指向的じゃないし

    33 :名無しさん 2018/07/31(火) 23:16:40.702 ID:8zXtTy0P0.net
    当たり判定がものすごくごちゃつく
    さらに犬を増やすとさらにごちゃつく

    34 :名無しさん 2018/07/31(火) 23:17:55.388 ID:8zXtTy0P0.net
    いっそのこと最初の犬と家とぼくを定義したクラスで当たり判定して
    可能なら歩けって感じにしたほうがいいのか悩む

    37 :名無しさん 2018/07/31(火) 23:20:28.306 ID:8zXtTy0P0.net
    ダメだ全然わかんない

    40 :名無しさん 2018/07/31(火) 23:25:33.010 ID:8zXtTy0P0.net
    最初はぼくも家の中で犬とぼくを宣言したんだけど
    家もクラスにしてその3つを宣言するクラスを用意したほうがいいと気づいたんだよ

    41 :名無しさん 2018/07/31(火) 23:28:03.953 ID:8zXtTy0P0.net
    そうすることでさらに家を増やせる

    42 :名無しさん 2018/07/31(火) 23:28:23.412 ID:sFElt3ScM.net
    NULL嫌いなんか

    45 :名無しさん 2018/07/31(火) 23:31:50.338 ID:8zXtTy0P0.net
    >>42
    フラグでいいじゃん
    犬クラスフラグを用意して
    TRUEなら表示やUPDATE処理を行う
    FALSEならランダムPOPも可能になる
    NULLってのがまずそもそも意味がわからない
    動的に作り出すというならそこまでオブジェクト指向理解してない

    43 :名無しさん 2018/07/31(火) 23:30:26.743 ID:8zXtTy0P0.net
    3つを宣言するクラスを空間クラスにしたらいいのかな?
    その空間クラスで当たり判定をして可能ならば各種のクラスの関数を呼び出す

    47 :名無しさん 2018/07/31(火) 23:33:59.309 ID:8zXtTy0P0.net
    動的に関しては知らん・・・
    無限に犬がわくってのが最終的にはいんだと思うけど

    48 :名無しさん 2018/07/31(火) 23:43:21.293 ID:8zXtTy0P0.net
    勉強が圧倒的に足りないんだろうな・・・もうやりたくない

    この記事へのコメント

    • マイルドな名無しさん

      わからないくせに人の言ったこと否定したり却下したりガイジかよ
      2018年08月01日 22:14
    • マイルドな名無しさん

      ヌルがわからんとかオブジェクト指向がどうとか言うレベルか?
      2018年08月01日 22:22
    • マイルドな名無しさん

      画面描画の出力を
      データ入力や中間処理と同じレイヤに記述するようなコーディングの時点で無能感がやべえ
      2018年08月02日 01:05
    • マイルドな名無しさん

      そりゃ家の中に人と犬作るより
      外で作った人と犬を家に読んだ方がわかりやすいじゃろ
      2018年08月02日 01:09
    • マイルドな名無しさん

      おもしろすぎワロタ
      2018年08月02日 06:46