2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

ねねっちと一緒にプログラムを勉強するスレ

1 :デフォルトの名無しさん:2017/01/26(木) 16:17:13.10 ID:XK9FJlSe.net
ぬるぽって何?

2 :デフォルトの名無しさん:2017/01/26(木) 16:29:41.75 ID:AnAc7r+V.net
コテハンつけろ、NG するから。

3 :デフォルトの名無しさん:2017/01/26(木) 18:47:21.04 ID:voohouec.net
ねねっちって誰?

4 :デフォルトの名無しさん:2017/01/26(木) 19:15:44.58 ID:i5VasQmQ.net
ねづっち

5 :デフォルトの名無しさん:2017/01/26(木) 19:38:57.69 ID:bzEbZ39i.net
javaは嫌どす。けど、一緒にやりたいと思いました。

なんで、ねねっちやねん。せめて、アハゴンにせいや!

6 :デフォルトの名無しさん:2017/01/26(木) 21:10:17.24 ID:8Y97xkh6.net
じゃあC++な

7 :デフォルトの名無しさん:2017/01/26(木) 23:07:35.41 ID:wasE+GOD.net
if (isMyCaramelPudding) {
eat();
} else {
eat();
}

8 :片山博文MZ ◆T6xkBnTXz7B0 :2017/01/27(金) 00:17:24.61 ID:QiqUcfrL.net
音声の波形を表示したり、加工したり、フーリエ変換してみたりしたいな。

9 :デフォルトの名無しさん:2017/01/27(金) 17:37:41.27 ID:i9mC3iQV.net

sssp://o.8ch.net/nwz9.png

10 :デフォルトの名無しさん:2017/01/28(土) 02:58:54.39 ID:tYYoqnnC.net
if(marriage == true){
var love = man * woman;
love++;
}else{
var love = man % girl;
love--;
}

11 :デフォルトの名無しさん:2017/02/01(水) 20:54:57.26 ID:8ReyjKDy.net
誘導されてきましたーヽ( 'ω')ノ
こっちでプログラミング勉強さしてもらいます

12 :ぬーぶ ◆upkqfrxkrw :2017/02/01(水) 20:58:37.17 ID:8ReyjKDy.net
>>11です。宜しくお願いします。
…人が居ない…(´・ω・`)

13 :デフォルトの名無しさん:2017/02/01(水) 21:00:00.52 ID:KG87RO2X.net
スレッド移動元:
初心者プログラマーの寺子屋 #2 [無断転載禁止]・2ch.net
http://tamae.2ch.net/test/read.cgi/prog/1485855405/

14 :デフォルトの名無しさん:2017/02/01(水) 21:01:04.19 ID:toiSGdoE.net
>>12
オッス!

15 :デフォルトの名無しさん:2017/02/01(水) 21:03:36.18 ID:fGZSlE9v.net
こっちでははじめてなんだから言語や環境、今どのあたり勉強してるかぐらい書こうか?

16 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/01(水) 21:12:19.15 ID:KG87RO2X.net
今日はゲームモードの話をするよ。まず、グローバル変数int mode = 0;をソースの上の方に定義しておく。次にメインループはswitchと変数modeで分岐する。
switch (mode) {
case 0: //スタート画面
mode0(); break;
case 1: //ゲームモード
mode1(); break;
case 2: //ゲーム終了
mode2(); break;
}
続く。

17 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/01(水) 21:13:37.19 ID:KG87RO2X.net
続き。さらにmode0,mode1,mode2という3つの関数をvoid mode0() { ... }のようにソースの上の方に定義する。それぞれで画面描画を行う。modeの値を変更すればゲームモードが切り替わる。
注意。関数の中の変数は他の関数では使えない。

18 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/01(水) 21:22:52.01 ID:KG87RO2X.net
mode0関数では、文字列描画でちゃちゃっとスタート画面を作ってくれ。
さらにスタート画面でキー入力でゲーム中(mode1)に切り替わるようにしてくれ。
今日は以上だ。

19 :ぬーぶ ◆upkqfrxkrw :2017/02/01(水) 21:45:48.94 ID:8ReyjKDy.net
>>14
オッス!おらぬーぶ!
宜しくお願いしますデス。

20 :ぬーぶ ◆upkqfrxkrw :2017/02/01(水) 21:46:40.54 ID:8ReyjKDy.net
>>15
せやね、書く

21 :ぬーぶ ◆upkqfrxkrw :2017/02/01(水) 21:53:02.40 ID:8ReyjKDy.net
開発言語:C++
開発環境:Visual Studio C++ 2015
目標:3Dゲーム作り
その他:DXライブラリ使用

C++の進行状況:ゲームに関係するものを優先し基本文法勉強中
好きな関数:if
苦手な関数:while、for、return

英語:中学校範囲クリア / スラング使用可能 / 英語のドキュメントの解読可能(多分)



こんなんで良いかな。

22 :ぬーぶ ◆upkqfrxkrw :2017/02/01(水) 21:56:41.57 ID:8ReyjKDy.net
>>16-18
ど、どういう事なの…
switch文を調べてみればいいのか。

23 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/01(水) 22:01:19.21 ID:KG87RO2X.net
switchは、変数の値に応じて次のように処理が分かれる。
switch (mode) {
case 0: //mode==0だったら
... break;
case 1: //mode==1だったら
... break;
case 2: //mode==2だったら
... break;
}
簡単だろ?

24 :デフォルトの名無しさん:2017/02/01(水) 22:04:37.70 ID:fGZSlE9v.net
>>21
ifやwhileは制御文であって関数では無いぞ?本当に本読んだ?

25 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/01(水) 22:05:11.95 ID:KG87RO2X.net
今までのメインループの処理をmode1関数に移動して、メインループにはswitchを書く。
mode0関数ではスタート画面を表示し、キーが押されたらmode = 1;にする。
これでゲームモードはプレイ中に移行する。

26 :ぬーぶ ◆upkqfrxkrw :2017/02/01(水) 22:12:28.24 ID:8ReyjKDy.net
>>23
おー!なるほど!
もっと詳しく調べてみる。

27 :ぬーぶ ◆upkqfrxkrw :2017/02/01(水) 22:13:00.95 ID:8ReyjKDy.net
>>24
もう関数の定義が分かりません( ??? )
命令全部を関数と呼ぶ始末…

28 :ぬーぶ ◆upkqfrxkrw :2017/02/01(水) 22:13:21.05 ID:8ReyjKDy.net
あ、文字化けしちゃった…(´・ω・`)

29 :デフォルトの名無しさん:2017/02/01(水) 22:15:51.87 ID:lpyRA1Jp.net
ひとまず飽きるまで基本文法に集中しよう
今のレベルなら間違いなく「全て」ゲームに関係するよ

30 :ぬーぶ ◆upkqfrxkrw :2017/02/01(水) 22:18:55.76 ID:8ReyjKDy.net
>>29
で、ですよねー…(´・ω・`)
基本文法ってどこまでが基本文法なの?
最低限覚えるべき命令が明確だと
区切りがついて集中しやすいかも。

31 :ぬーぶ ◆upkqfrxkrw :2017/02/01(水) 22:19:31.53 ID:8ReyjKDy.net
あ、あと質問なんだけど
!extend:checked:vvvvv:1000:512
↑これってこの板で使える?

32 :デフォルトの名無しさん:2017/02/01(水) 22:21:38.94 ID:fGZSlE9v.net
>>27
値を返すサブルーチンだよ
このくらい理解出来ないとゲーム作りとか夢物語だよ?

33 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/01(水) 22:24:14.29 ID:KG87RO2X.net
#include "DxLib.h"
int mode = 0;
void mode0() {
//スタート画面
}
void mode1() {
//プレイ中
}
void mode2() {
//ゲームエンド
}
int WINAPI WinMain(...) {
...
//メインループ
while (...) {
switch (mode) {...}
}
... }

34 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/01(水) 22:32:24.13 ID:KG87RO2X.net
どうだ? 出来そうか?

35 :デフォルトの名無しさん:2017/02/01(水) 22:32:53.47 ID:fGZSlE9v.net
よし、もう寝ろ 

寝床に就いたら「しっかり学業を終えて卒業する」と6回唱えよ

朝起きたら「今日1日しっかり学業する」と3回唱えよ

36 :デフォルトの名無しさん:2017/02/01(水) 22:36:10.03 ID:lpyRA1Jp.net
>>30
C++は成り立ちが特殊なのもあって何が基本ってのが伝えにくいな

ひとまず下のサイトの「標準C++文字列」
までのコード部分が読めれば問題ない...かな?
http://next1.msi.sk.shibaura-it.ac.jp/MULTIMEDIA/CPPPUBLISH/CPPPUBLISH.html

37 : ◆BrBq2CJg6HGd :2017/02/01(水) 23:36:39.36 ID:f7+O1dJJ.net
皆さん初めまして、プログラマー板から来た34アスペです。
よろしくお願いします。

38 :デフォルトの名無しさん:2017/02/02(木) 08:23:03.51 ID:z7302t8D.net
>>36
どちらかというと派生クラスまで必要じゃね?

39 :ぬーぶ ◆upkqfrxkrw :2017/02/02(木) 14:53:53.77 ID:89CMRg/p.net
ただいまー

40 :ぬーぶ ◆upkqfrxkrw :2017/02/02(木) 14:55:33.63 ID:89CMRg/p.net
>>32
今現在完全に夢物語やね…(´・ω・`)
returnってゲーム作りにおいてそんなに重要なのか…

41 :ぬーぶ ◆upkqfrxkrw :2017/02/02(木) 14:56:01.11 ID:89CMRg/p.net
>>34
多分。できると思う。きっと…(自信なし)

42 :ぬーぶ ◆upkqfrxkrw :2017/02/02(木) 14:58:46.11 ID:89CMRg/p.net
>>36 >>38
おー、有難う。見てみる。
派生クラスまでなの?クラス苦手…(´・ω・`)

43 :デフォルトの名無しさん:2017/02/02(木) 15:02:12.89 ID:wY64K01/.net
>>40
ゲームというかプログラミングで普通に使う

悪い事言わんからもっとやさしめの本買ってプログラムリスト全部写経して全部ステップ実行で動き確かめろ

44 :ぬーぶ ◆upkqfrxkrw :2017/02/02(木) 15:02:36.15 ID:89CMRg/p.net
あーやっぱり1日経つとID変わっちゃうんか…
あとお願いだから誰か>>31を教えて…(´;ω;`)

45 :ぬーぶ ◆upkqfrxkrw :2017/02/02(木) 15:05:13.99 ID:89CMRg/p.net
>>43
ひえっ、プログラミングで普通に使うのかリターンって。
本買うお金が…Nothing……_(:3 」∠)_

…前から思ってたんだけど、
プログラム実行したら即ウィンドウ閉じるのって何で?
cinでキー入力待ちにしないとすぐ閉じる。
それともこっちのIDEがバグってるのかな。

46 :デフォルトの名無しさん:2017/02/02(木) 15:09:56.95 ID:wY64K01/.net
それ前に言った
デバッグ実行

通常の実行はプログラムが終わったんだから窓も閉じるのは正常

47 :デフォルトの名無しさん:2017/02/02(木) 15:11:40.05 ID:wY64K01/.net
金無いなら図書館行って借りてこい

48 :ぬーぶ ◆upkqfrxkrw :2017/02/02(木) 15:27:12.31 ID:89CMRg/p.net
>>46
あ、Ctrl+F5じゃ駄目だったのか

49 :ぬーぶ ◆upkqfrxkrw :2017/02/02(木) 15:27:28.54 ID:89CMRg/p.net
>>47
寒いけど行くしかないんかぁ…(´・ω・`)

50 :デフォルトの名無しさん:2017/02/02(木) 15:28:58.86 ID:BZ4icX5v.net
人に聞く前にさ、本くらい読んで一通り勉強してから来いよ。
わからないところ聞くのはそれからだろ。なめてんのか?

51 :デフォルトの名無しさん:2017/02/02(木) 16:23:52.29 ID:wY64K01/.net
コンピューター関係の本は分類の都合上棚が別れてたりするから注意な
だいたい総記か電子通信、ビジネスあたり

52 :デフォルトの名無しさん:2017/02/02(木) 16:26:32.25 ID:wY64K01/.net
数学や物理の棚とかも眺めてみたら発見があるかもしれない

53 :デフォルトの名無しさん:2017/02/02(木) 16:39:15.59 ID:wY64K01/.net
http://dotinstall.com/lessons/basic_c
http://dotinstall.com/lessons/basic_unity
http://www.techscore.com/tech/C/index.html/

こういう所で学んでもいいぞ

54 :デフォルトの名無しさん:2017/02/02(木) 16:45:14.41 ID:CLpLcnWW.net
ゲーム作るならC#とUnityでええやろ

55 :ぬーぶ ◆upkqfrxkrw :2017/02/02(木) 16:53:02.26 ID:89CMRg/p.net
>>51-52
おー、探し物が苦手だから助かった。
ありがとう、そのあたり見てみる。
物理演算とかもあるかな。

56 :ぬーぶ ◆upkqfrxkrw :2017/02/02(木) 16:54:05.34 ID:89CMRg/p.net
>>53
一番上のサイト分かり易かった。
良い勉強サイトありがとうですm(__)m

57 :ぬーぶ ◆upkqfrxkrw :2017/02/02(木) 16:56:41.47 ID:89CMRg/p.net
>>54
あんまりゲームエンジンとかは使いたくなくて…
なんていうか、基本的に楽するためのツールは使いたくないかな。
もっと先の話になるけど、ゲームエンジンとかも自分で作ってみたい。

58 :デフォルトの名無しさん:2017/02/02(木) 16:58:08.20 ID:wY64K01/.net
>>54
まあCの部分も理解出来てないみたいだからなあ

gccとか試したければgnupackが便利だ
https://ja.osdn.net/projects/gnupack/

59 :デフォルトの名無しさん:2017/02/02(木) 17:04:00.18 ID:rEFuWNai.net
returnわからないって英語でbe動詞わからないとかそんなレベルだぞ

60 :デフォルトの名無しさん:2017/02/02(木) 17:14:25.17 ID:wY64K01/.net
>>57
その心がけはいいかも知れないが今の時代ハードの進歩に個人が追随するのはなかなか大変

ゲームエンジンはある程度そういう部分を吸収してくれるし、DirectXがWindowsだけなのに対しプラットホームの差もある程度吸収してくれる

61 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/02(木) 17:17:48.67 ID:16is72Ce.net
>>31
使えるが、1度立てたスレの設定を変えるのは管理者しかできない。

62 :ぬーぶ ◆upkqfrxkrw :2017/02/02(木) 17:40:36.45 ID:89CMRg/p.net
>>59
うそやん…

63 :ぬーぶ ◆upkqfrxkrw :2017/02/02(木) 17:43:49.81 ID:89CMRg/p.net
>>61
使えるのか、良かった。

64 :デフォルトの名無しさん:2017/02/02(木) 17:48:38.83 ID:wY64K01/.net
何が分からないかが分からないな

分からないなら分からない所を分かるまで何十回も読み返せよ

分からないものを分からないままにするから永遠に分からないんだよ

65 :デフォルトの名無しさん:2017/02/02(木) 18:01:33.77 ID:wY64K01/.net
思うに君は基礎をすっ飛ばしてとにかく先に進みたいタイプなのか?
それとも根本的な部分が理解出来ないと先に進めないタイプなのか?

前者ならもっと初心者でも使える言語の方がいいし、後者ならアセンブラを一度勉強してみるのも手だろう

66 :ぬーぶ ◆upkqfrxkrw :2017/02/02(木) 18:17:20.75 ID:89CMRg/p.net
>>65
分からないところはおまじないとして
"とりあえず書いとけ"みたいな感じで使ってるから
それを利用して何かしろって言われると無理だから前者かも。

初心者で使える言語はHSPをやった事がある。
でも自由度が低いからC++をやろうと思った。

67 :デフォルトの名無しさん:2017/02/02(木) 18:24:30.21 ID:wY64K01/.net
自分が書いたコードが何故動いているのかわからない、では思わぬバグとかではまってしまい先に進めないぞ?

68 :デフォルトの名無しさん:2017/02/02(木) 18:24:54.53 ID:CLpLcnWW.net
>>66
HSPでゲーム作れたの?

69 :ぬーぶ ◆upkqfrxkrw :2017/02/02(木) 18:30:33.99 ID:89CMRg/p.net
>>68
簡単なテキストだけのゲームは作ったけど
何か不便だったからC++に変えた。
あんまり自分に合わなかった。

70 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/02(木) 18:33:34.27 ID:16is72Ce.net
スタート画面作って見せてよ。>>33みたいな感じでいいから。

71 :ぬーぶ ◆upkqfrxkrw :2017/02/02(木) 18:35:26.54 ID:89CMRg/p.net
>>70
OK、丁度今から外出だから
夜か、それでも23時までに寝ないとだし
ご飯もお風呂もあるし、明日になるかもしれんけど
取り敢えず作ってみる。テキストのみのメニューで良い?

72 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/02(木) 18:37:05.15 ID:16is72Ce.net
>>71
テキストのみでOkay.

73 :ぬーぶ ◆upkqfrxkrw :2017/02/02(木) 20:32:43.24 ID:89CMRg/p.net
ただいまー、お腹空いたー…(´・ω・`)
まだ時間あるから今から作ってみる。
今日中に完成するかな…

74 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/02(木) 21:14:37.82 ID:16is72Ce.net
確か、HSPにはgotoがあったはずだ。C/C++の関数呼び出しとreturnはHSPのgotoよりも高級なものだ。
関数だと引数が使える。さらに関数呼び出しの際に、関数が終わった後に戻る場所(呼び出しの直後)を覚えてくれる。

75 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/02(木) 21:18:00.29 ID:16is72Ce.net
さらに関数は戻り値を返すことができる。関数呼び出しの式はそれが返す戻り値として解釈される。
処理を行う構造、制御構造がはっきりしていて、処理のまとまりがひとめで分かる。

76 :デフォルトの名無しさん:2017/02/02(木) 21:19:50.81 ID:0MnIHg2o.net
>>57
> あんまりゲームエンジンとかは使いたくなくて…
DxLib.h つこうてたやん

77 :デフォルトの名無しさん:2017/02/02(木) 21:22:55.17 ID:wY64K01/.net
説明が硬い

78 :ぬーぶ ◆upkqfrxkrw :2017/02/02(木) 21:24:05.29 ID:89CMRg/p.net
何が間違ってるんだ…
もう何を訊けばいいかすら分からない( ´_ゝ`)
http://ideone.com/5Hs7ug

79 :ぬーぶ ◆upkqfrxkrw :2017/02/02(木) 21:25:30.14 ID:89CMRg/p.net
>>74-75
戻り値とか引数とかが…どういうものと捉えれば良いの?

80 :ぬーぶ ◆upkqfrxkrw :2017/02/02(木) 21:26:42.98 ID:89CMRg/p.net
>>76
んーと何て言うか…
GUIを使ったツール、直感的に動かせるツールは
なるべく使いたくない。
DxLibは拡張のライブラリだからCUIだけで済むし、
何より自分が「今プログラミングをしてるんだ」っていう
やる気がでるから、文字だけで作るのに拘りたい。

81 :デフォルトの名無しさん:2017/02/02(木) 21:29:02.41 ID:wY64K01/.net
あのサイトの動画見ても理解出来ないのか

82 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/02(木) 21:31:34.07 ID:16is72Ce.net
>>78
DXライブラリではprintfは使えないよ。printfはコンソール出力用の関数だ。switchは次のようにしなさい。
switch (mode) {
case 0: mode0(); break;
case 1: mode1(); break;
case 2: mode2(); break;
}
メインループは描画処理を回さないといけないから、キー待ちのWaitKeyは使えないよ。mode0内でキー待たずにキー判定をしてmode=1;しなさい。

83 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/02(木) 21:33:29.66 ID:16is72Ce.net
描画処理はmode0,mode1それぞれの関数で行いなさい。

84 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/02(木) 21:36:16.35 ID:16is72Ce.net
DxLibはCUIじゃないよ。内部データは完全にGUIでできてる。

85 :ぬーぶ ◆upkqfrxkrw :2017/02/02(木) 21:40:53.72 ID:89CMRg/p.net
>>84
え、そうなのか…(´・ω・`)

86 :ぬーぶ ◆upkqfrxkrw :2017/02/02(木) 21:42:08.14 ID:89CMRg/p.net
実行できるはずなのに何故か動かないHappening!
http://ideone.com/W7q2f3


何で?(・_・)

87 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/02(木) 21:45:54.75 ID:16is72Ce.net
DxLibの画面はライブラリ自身が用意しているウィンドウだから、Windowsのコンソールとは違う。
DxLibで文字列を描画するにはDxLibの関数を使う。DxLibのマニュアルを参照して適当な描画関数を探せ。

88 :デフォルトの名無しさん:2017/02/02(木) 21:55:43.60 ID:0MnIHg2o.net
大人しくCUIからやるべきだな
ライブラリでラップされてたら、動きを確認しづらいと思うけどな
急がば回れって知ってるか?

89 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/02(木) 22:01:32.16 ID:16is72Ce.net
#include "DxLib.h"
int mode = 0;
void mode0() {
//スタート画面
DrawString(0,0,"キー押しでスタート",0xFFFFFF);
if(CheckHitKeyAll()) mode = 1;
}
void mode1() {
//プレイ中
DrawString(0,0,"ゲーム中",0xFFFFFF);
}
void mode2() {
//ゲームエンド
}
int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) {
ChangeWindowMode(TRUE);
DxLib_Init();
//メインループ
while (ScreenFlip() == 0 && ProcessMessage() == 0 && ClearDrawScreen() == 0) {
switch (mode) {
case 0:mode0(); break;
case 1:mode1(); break;
case 2:mode2(); break;
}
}
DxLib_End();
return 0;
}

90 :デフォルトの名無しさん:2017/02/02(木) 22:01:59.68 ID:wY64K01/.net
>>86
そのサイトはwindowsじゃないから

91 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/02(木) 22:03:39.59 ID:16is72Ce.net
>ChangeWindowMode(TRUE);
>DxLib_Init();
順序は大事だよ。マニュアルに書いてあるだろ?

92 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/02(木) 22:17:16.71 ID:16is72Ce.net
GUIのプログラムはほとんどオンラインではコンパイル・ビルドできない。

93 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/02(木) 22:27:43.03 ID:16is72Ce.net
たとえオンラインでビルドボットでGUIプログラムがビルドできたとしても、オンラインでは
実行は難しい。オンラインで仮想化実行はコストが高い。

94 :ぬーぶ ◆upkqfrxkrw :2017/02/02(木) 22:47:14.71 ID:89CMRg/p.net
>>88
急がば突き進む…じゃ駄目かな(´・ω・`)

95 :ぬーぶ ◆upkqfrxkrw :2017/02/02(木) 22:47:33.81 ID:89CMRg/p.net
>>91
あ、順序間違えてた。

96 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/02(木) 23:01:36.08 ID:16is72Ce.net
//モード切り替え
#include "DxLib.h"
int mode = 0; //モード
//キーバッファのクリア
void gp_clear_key_buffer() {
while (GetInputChar(TRUE)) {}
}
void gp_mode0() {
//スタート画面
DrawString(0,0,"キー押しでスタート",0xFFFFFF);
if(CheckHitKeyAll()) {
mode = 1;gp_clear_key_buffer();}}
void gp_mode1() {
//プレイ中
DrawString(0,0,"プレイ中",0xFFFFFF);
if(CheckHitKeyAll()) {
mode = 2;gp_clear_key_buffer();} }
void gp_mode2() {
//ゲームエンド
DrawString(0,0,"ゲームオーバー",0xFFFFFF); }
int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) {
ChangeWindowMode(TRUE);
DxLib_Init();
gp_clear_key_buffer();
//メインループ
while (ScreenFlip() == 0 && ProcessMessage() == 0 && ClearDrawScreen() == 0) {
switch (mode) {
case 0:gp_mode0(); break;
case 1:gp_mode1(); break;
case 2:gp_mode2(); break; } }
DxLib_End(); return 0; }

97 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/02(木) 23:07:17.40 ID:16is72Ce.net
キー入力のデータは「キーバッファ」という場所に積み重なる。
プログラムを起動した直後やキー入力を受け付けた直後は、キーバッファにキーデータが残っていたり、
キーを押し下がった状態かもしれない。そこでGetInputChar(TRUE)の繰り返しにより、
キーバッファをクリアして、キーが押されていない状態まで待つ。

98 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/02(木) 23:20:02.37 ID:16is72Ce.net
【今日のまとめ】
◎ideoneはDxLibプログラムをビルドできない。
◎メインループでは描画処理を回すためキー待ちは避ける。
◎プログラム起動直後はキーバッファをクリアする。

99 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/02(木) 23:24:01.91 ID:16is72Ce.net
◎モードごとに描画処理を分ける。
◎関数を呼び出す順序は大事。

100 :デフォルトの名無しさん:2017/02/02(木) 23:43:05.98 ID:0MnIHg2o.net
>>94
普通に勉強した方が理解早いだろ
最初のスレ立ててから何日経った?
関数の引数、返り値なんて環境構築除いたら、初日で理解できる話だぞ

101 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/02(木) 23:51:32.89 ID:16is72Ce.net
>>79
例えば「int x = f(2);」
という文があったとしよう。この文のfは関数であり、この文のf(2)は関数呼び出しだ。
f(2)が戻り値3を返せばxには3が代入される。

102 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/02(木) 23:56:41.07 ID:16is72Ce.net
>>101
この呼び出しのときに渡した2という値が引数だ。引数(英語でparameter)は関数呼び出しのときに渡される変数のようなものと考えていい。

103 :デフォルトの名無しさん:2017/02/03(金) 08:29:26.55 ID:eQGH3P9D.net
>>102
引数はargument(s)でしょ。パラメータでも解るから良いけど。違いは普通気にしないし

104 :デフォルトの名無しさん:2017/02/03(金) 10:42:52.04 ID:255kONQ4.net
で、数学の先生に関数の話は聞いたのか?

105 :デフォルトの名無しさん:2017/02/03(金) 10:49:59.18 ID:ChB/Y1ca.net
関数やメソッドのパラメタに渡される値が引数です。
パラメタは日本語では仮引数といいます。渡される値のほうの引数は正式には実引数です。
別に日本では「その関数のパラメタは何?」でもふつーに通じますけど、
他所の国ではparametersとargumentsは別の概念なので混同すると通じないかも
しれません。

106 :デフォルトの名無しさん:2017/02/03(金) 12:37:35.14 ID:3RMGfeD0.net
このレベルだと先が思いやられるな
とりあえずぬーぶは片山の家に行って手取り足取り教えてもらったほうがいい

107 :ぬーぶ ◆upkqfrxkrw :2017/02/03(金) 16:17:21.90 ID:dZfCQ2ov.net
>>100
そうやね、大人しくあのページの動画見て一通り勉強する事にする(´・ω・`)

108 :ぬーぶ ◆upkqfrxkrw :2017/02/03(金) 16:18:17.99 ID:dZfCQ2ov.net
>>101
やっと理解できた。
return 3にすればxに3が代入されるって事…だよね?
でも関数が2つあったらどうなるの?

109 :デフォルトの名無しさん:2017/02/03(金) 16:23:51.01 ID:BWUTfzTy.net
>>108
お前は人に聞く前に、まず試してみろよ
目の前にあるのはただの箱じゃないだろうが

試した結果、それが正しいかどうかを確認するために人に聞くことを学べよ

110 :ぬーぶ ◆upkqfrxkrw :2017/02/03(金) 16:46:41.42 ID:dZfCQ2ov.net
int x = f(2)
って入れた途端識別子がどうのこうの言われるんだけど…

111 :ぬーぶ ◆upkqfrxkrw :2017/02/03(金) 16:55:16.79 ID:dZfCQ2ov.net
かんすーって難しいのう…_(:3 」∠)_

112 :デフォルトの名無しさん:2017/02/03(金) 17:04:07.36 ID:BWUTfzTy.net
>>110
どこかのお勉強サイトの基本を手打ちでコピペして実行してみるところから始めろよ
手抜きしてんじゃねーよ
だから何も得られないんだよ

113 :ぬーぶ ◆upkqfrxkrw :2017/02/03(金) 17:07:16.14 ID:dZfCQ2ov.net
>>112
今それを調べてるよ。

114 :デフォルトの名無しさん:2017/02/03(金) 17:29:51.83 ID:3RMGfeD0.net
プログラミング教えてもらう生放送やったほうがいい

115 :ぬーぶ ◆upkqfrxkrw :2017/02/03(金) 17:47:17.28 ID:dZfCQ2ov.net
>>114
ツイキャスとか?
でもニコ生キャプチャ?か何かのやつ
使えるかなーと思ったんだけど
Windows10に対応してなくて使えなくなったんよ…

116 :デフォルトの名無しさん:2017/02/03(金) 17:56:25.82 ID:ZJaGJG4k.net
https://codepad.remoteinterview.io/

こことか?なんか相手のタイプがほぼリアルタイムで見れるみたいだ

117 :デフォルトの名無しさん:2017/02/03(金) 17:57:00.28 ID:Z/axXXa+.net
>>109
みんな何度も同じこと言ってるが
その度に彼はその手のレスだけシカトしてる。
わざとなのか、自分には関係ないと思っているのか知らんがね。

残念ながら
必要になってから覚えれば良い、
あとで覚えれば良い、
自分が興味あることだけ覚えたい、
みたいなやつは、
画面にキャラ表示してキーボードで移動させたあたりで満足して終了する。

大体、returnってなんですか? &&ってなんですか?とか言ってるやつが、

フレームワーク使ったらぁー、誰が作っても同じようなゲームにしかならないんでぇー、自分はもっと出来るやつだからぁー、C++で下回りまで全部作ってバリバリにカスタマイズとかしたいんですよね(キリッ

って舐めてんのかと。

これから先、シーンの切り替えやキーコンフィグ、BGMの再生に効果音の遅延なし再生、リソースの管理にetcetc。
DBも必要になるかもしれないし、ネトゲ作りたければ通信回りの知識も必要だ。
キャラやステージを作るためのツールだって自分で作らないといけない。
3Dにしたいならその知識も必要だ。
OpenGLで三角形一つ(一番単純なポリゴン)描けるかい?
その単純なポリゴン一つに裏表があるって知ってるかい?
そのポリゴンがカメラから見て表を向いているか裏を向いているか判別する方法は知っているかい?

この先大量の難関が待ち構えている地獄に足を踏み入れようとしてるのに、
基礎知識という最低限の装備もなしに突っ込むからダメだこいつって思われてるんだよ。
下積み舐めんな、基礎からやり直してこい。

118 :ぬーぶ ◆upkqfrxkrw :2017/02/03(金) 18:13:48.06 ID:dZfCQ2ov.net
>>116
そんなのがあるのか、便利やね

119 :ぬーぶ ◆upkqfrxkrw :2017/02/03(金) 18:24:54.37 ID:dZfCQ2ov.net
>>117
シカトしてるんじゃなくて
こういうレスいくつもあるし返信するとキリがないんよ。
人に聞いたのは悪いと思ってるし基本文法今やってるよ。

必要になってから覚えれば良いっていうのは
多分そうなんだと思う。
DxLib触って、分からないやつがあったら
基本文法のほうで勉強したり、どうしても分からなかったら
人に聞くとかして覚える。回りくどいやり方かもしれないけど
自分にはこれが一番やり易い方法なんよ。変だけど。
基本文法ばっかりやってたら途中で飽きちゃって結局放置っていうのが
以前にもあったから、まず先に触ってみて「あ、"ここが駄目"だな」って
狙いを定めて勉強しに行くほうがやる気が出るし覚えやすい。
その結果returnとか&&とか基礎部分で混乱してるんだけどね(´・ω・`)

大量の難関があるのは分かってるけど
34のほうと違ってそこまで急ぐ事じゃないから本当にのんびりやってるんよ。
高校行くまでにちょびっと知識つけてれば良いなーくらいだから。

120 :デフォルトの名無しさん:2017/02/03(金) 18:32:49.66 ID:ZJaGJG4k.net
まあそれにしたって基礎をさらっとでもいいから通っておかないと
効率悪すぎだあな

のんびりって言葉が好きなのは発達特有?

121 :ぬーぶ ◆upkqfrxkrw :2017/02/03(金) 18:40:53.36 ID:dZfCQ2ov.net
>>120
基礎は本当にかすった程度にだけど一応通ったよw
と言っても入出力とか変数とか乱数とか使っただけだけどね。
C++の入門書に書いてあることは一通りやったつもりだよ。
効率悪いのは確かにそうだけど僕の場合基礎漬けにすると
逆にやる気なくなってそっちのほうが効率悪くなるんだよ(´・ω・`)

別にのんびりって言葉が好きなわけではないけど
物凄くマイペースって小さい頃から言われてたし実際マイペース。
これが発達特有のものなのかは分からないけど、
本当に焦るべき時はちゃんとやるよ。
ただ今は特に焦る必要もないし、のんびりゆっくりまったりって感じかな。

122 :デフォルトの名無しさん:2017/02/03(金) 19:17:08.45 ID:OIRn6CQQ.net
>>121
君のレベルだとひらがな全部書けないのに大長編小説書こうとしているようなもんだぞ
一般的な文章のテクニックを覚えろって言ってるんでなくて、最低限ひらがな、カタカナ、小学校低学年レベルの漢字位マスターしとけよ
って言う話をしてるんだぞ

足し算引き算出来ないのに高校数学やるようなもんだぞ

それ位でやる気なくなら、プログラマ目指すの辞めた方が良い、周りに迷惑かけるだけ

123 : ◆f5STnaEXUk :2017/02/03(金) 19:26:31.29 ID:zij4wc16.net
OpenGL 4.0 Shading Language Cookbook
この本でOpenGL勉強中。今半分ぐらい
隔離スレみたいな場所なのに厳しいね
DirectXは触ったことないからそっちはわからんけどC++の話ならわかるぞ

124 :ぬーぶ ◆upkqfrxkrw :2017/02/03(金) 19:33:26.95 ID:dZfCQ2ov.net
>>122
そう、それで変なやり方だけど、
大長編小説を読んで分からない文字を調べて覚える。
高校数学の関数とか変な式とか分からないから
それを調べる。調べた先に分からないのがあったら
そいつをまた調べる。という回りくどいやり方。
まあ流石にこの変な理屈で進めるのもあれだし
基本文法は今からでもちゃんとやるけどね(´・ω・`)

プログラマーを目指すかどうかはまだ決めてないよ。
ゲーム関係をやりたいからそういう高校に行くんだけど、
今考えると結局高校出た後どうしようかなってなるな…。

125 :デフォルトの名無しさん:2017/02/03(金) 21:39:40.88 ID:47On8+xI.net
自分が作りたいものに直結する基礎を勉強する気が起きない理由がわからん
ゲームが好きなだけであってプログラミングが好きなわけじゃないんじゃないか

126 :ぬーぶ ◆upkqfrxkrw :2017/02/03(金) 22:03:59.64 ID:dZfCQ2ov.net
>>125
んー、プログラミングも好きだけど、
自分の思い通りのゲームを作りたいって気持ちのほうが
6:4くらいで強い。
でもUnityとかRPGツクールとかの直感的に作れるようなのは
あんまり使いたくないっていう謎の拘り(´・ω・`)

127 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/03(金) 22:07:12.55 ID:6yKPOmXk.net
>>110
それより前に関数fを定義しないと未定義エラーになるよ。

128 :デフォルトの名無しさん:2017/02/03(金) 22:08:17.23 ID:ChB/Y1ca.net
中学数学の一次関数も分かってなさそうだけど、
これじゃ高校なんて底辺校しか入れないだろw

129 :ぬーぶ ◆upkqfrxkrw :2017/02/03(金) 22:12:21.55 ID:dZfCQ2ov.net
>>127
てーぎ…?intで良いんかな。
intしても何かエラー出るけど…調べてみますわ(´・ω・`)

130 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/03(金) 22:15:42.07 ID:6yKPOmXk.net
int f(int n)
{
return n + 1;
}
これが関数fの定義。

131 :デフォルトの名無しさん:2017/02/03(金) 22:16:01.63 ID:1UyF/cRh.net
>>120
人の言うこと全く聞かないのは、すごく似てるよな〜、特性なんだろうね。

132 :ぬーぶ ◆upkqfrxkrw :2017/02/03(金) 22:16:14.77 ID:dZfCQ2ov.net
>>128
分かりますが、何か?(´・ω・`)
理科とか社会とかの暗記科目は苦手(理科はまだマシ)だけど
英数国辺りはちゃんとできるよ。数学は超苦手だけど一応なんとか。
英語は授業全く出てないけどPerfectだよ、多分。多分ね(´・ω・`)

数学はどっちかって言うと連立方程式のほうが苦手。
一次関数も苦手っちゃ苦手だけど普通に解けるし、
強いて言えば一次関数のグラフが苦手かな。
xとyの位置から一次方程式の式を書けっていうアレが苦手。

133 :デフォルトの名無しさん:2017/02/03(金) 22:17:09.92 ID:3/9JwJ7/.net
中学生なの?

134 :ぬーぶ ◆upkqfrxkrw :2017/02/03(金) 22:17:16.31 ID:dZfCQ2ov.net
>>130
あ、なんか全然違う事調べてた。
何だったんだこの苦労は…_(:3 」∠)_

135 :ぬーぶ ◆upkqfrxkrw :2017/02/03(金) 22:17:36.24 ID:dZfCQ2ov.net
>>131
聞いてるよ、だから今基礎からやり直してるよ…(´・ω・`)

136 :ぬーぶ ◆upkqfrxkrw :2017/02/03(金) 22:18:35.33 ID:dZfCQ2ov.net
>>133
あ、うん。今中2だよ。
あと数ヶ月で受験の待ってる3年生という現実を信じたくない2017年(´;ω;`)

137 :ぬーぶ ◆upkqfrxkrw :2017/02/03(金) 22:19:36.33 ID:dZfCQ2ov.net
ご飯食べてくるのでレスまた後で。恵方巻食べます。
今年は北北西だそうな。違ってたらスンマセン。

138 :デフォルトの名無しさん:2017/02/03(金) 22:21:17.40 ID:3/9JwJ7/.net
>>136
まじかー
じゃあ高校生になったら数学と物理を死ぬ気で勉強しないとな
ツールなしでゲーム作りたいなら回り道する勇気も必要よ

139 :デフォルトの名無しさん:2017/02/03(金) 22:21:34.30 ID:1UyF/cRh.net
>>124
いや、調べてないって突っ込まれてるのよ。
プログラマからすると、"我輩はねこである" の "は"って何ですかね?って質問してるのと同じなの。そういう質問してるというこのレベル感は最低限解って。

140 :デフォルトの名無しさん:2017/02/03(金) 22:22:44.83 ID:ZJaGJG4k.net
えらく晩飯遅くないか?特別学校?

141 :ぬーぶ ◆upkqfrxkrw :2017/02/03(金) 22:56:54.47 ID:dZfCQ2ov.net
>>138
物理ってそんなに大事なんか…
母が物理好きだけど面白いのかな。
素直に基礎から回り道します(´・ω・`)

142 :ぬーぶ ◆upkqfrxkrw :2017/02/03(金) 22:57:15.77 ID:dZfCQ2ov.net
>>139
うーん…分かった。聞く前にまず調べる。

143 :ぬーぶ ◆upkqfrxkrw :2017/02/03(金) 22:59:22.96 ID:dZfCQ2ov.net
>>140
うちは晩御飯遅いんよ…今からお風呂入って
寝るのは1時くらいになるかな今日は。
母がヘルニアで具合悪くて。しかも指とかじゃなくて
首の神経圧迫してるから肩から指先にかけて痛いやつ。
それに自律神経失調症と来てるからもう…ね(´・ω・`)

僕が不登校になったのも元々自律神経系の異常。
成長期に起こりやすいものらしい。多分そういう体質が遺伝したんだなぁ…。

144 :デフォルトの名無しさん:2017/02/03(金) 23:03:02.36 ID:jU395Rqo.net
自分も飽きっぽいタイプだし変に拘って苦労する事もある

ただ一つお願いしたいのは失踪は無しで頼む
スレを畳む時はちゃんと言ってくれ

145 :ぬーぶ ◆upkqfrxkrw :2017/02/03(金) 23:16:35.73 ID:dZfCQ2ov.net
>>144
勝手に失踪する気はないから大丈夫よー(´・ω・`)
ただ次第に質問とかでも本格的なプログラミングになると
ソースは出さない質問になっちゃうかもしれない。
やっぱりゲーム作りたいしプログラムを誰かに知られると
身バレの可能性とかもあるし…
結果的にスレ畳むときは中途半端に終わっちゃうと思う。

このスレは長くて来年の今頃まで続くと思う。
受験ギリギリになってPC封印さえなければ…(´・ω・`)

146 :デフォルトの名無しさん:2017/02/03(金) 23:48:21.86 ID:jU395Rqo.net
出しても問題ない様なサンプルコードを書ける程度には勉強してくれ

147 :デフォルトの名無しさん:2017/02/04(土) 00:00:59.79 ID:KjQ98FiG.net
>>143
そりゃあんたが甘えるんじゃなくて家族でお母さん支えないかんでしょ

148 :デフォルトの名無しさん:2017/02/04(土) 00:09:29.44 ID:KjQ98FiG.net
それに自律神経がやられるのは不規則な生活が原因だよ

149 : ◆f5STnaEXUk :2017/02/04(土) 07:46:02.45 ID:iNV0wm7r.net
おはよう。
俺も昨日恵方巻食べた
一人でコード書いてると途中で辛くなってくる
今日はガウシアンフィルタのサンプルから

>>145
新しく覚えることが増えるかもしれないけど
MaximaやMathematicaなんかの数学ツールが使えるようになっておくと
物理や数学なんかの調べ物をするときに自分で試せてはかどるよ
Mathematicaはとても高いけど学割がある
といっても中学生にはちょっと早いのだけど
もし3Dのプログラムをやるならすぐ試せる行列が出てくるからね

150 :ぬーぶ ◆upkqfrxkrw :2017/02/04(土) 09:28:21.04 ID:DxVF1dAI.net
>>146
Yes, I wanna be able to do it.

151 :ぬーぶ ◆upkqfrxkrw :2017/02/04(土) 09:28:47.69 ID:DxVF1dAI.net
>>147
支えると言っても…どうやって…(´・ω・`)

152 :ぬーぶ ◆upkqfrxkrw :2017/02/04(土) 09:30:08.23 ID:DxVF1dAI.net
>>148
不規則なのもあるけど
一番の原因はストレスだって言われたよ
他にもストレスが原因の病気持ってるから…

そもそもそのストレスが不規則が原因だったり()
今日はこうして早く起きてみたよー

153 :ぬーぶ ◆upkqfrxkrw :2017/02/04(土) 09:32:17.81 ID:DxVF1dAI.net
>>149
恵方巻美味しいけどエビフライの尻尾がノドにひっかかって痛い

ひえっ、Mathematicaってどうせ4、5万やろって思ったけど
40万円以上すんのか…殺す気かい。
それだけ価値があっても僕には使いこなせる気がしない(´・ω・`)

154 :ぬーぶ ◆upkqfrxkrw :2017/02/04(土) 09:42:52.78 ID:DxVF1dAI.net
恵方巻食べたから絶対受験受かるはずや…
あと宝くじも当たってゲームも作れて大学もちゃんと行けて……

もうこれって恵方巻食べるときに
「何でも思い通りになりますように」って願ったら
一番手っ取り早いよね

155 : ◆f5STnaEXUk :2017/02/04(土) 10:13:10.82 ID:iNV0wm7r.net
ちょっとした用途なら無料のMaximaで十分だよ
MaximaになれてたらMathematicaもすぐ使えると思う
対応する関数名とか記号を調べればいいだけだから

しかし恵方巻で尻尾がつまるとか、弱いな
一気に丸かじりでもしたんか

156 :デフォルトの名無しさん:2017/02/04(土) 10:18:17.61 ID:tcdpo06Y.net
恵方巻ってエビ入ってんのかよ

157 : ◆f5STnaEXUk :2017/02/04(土) 14:03:11.75 ID:iNV0wm7r.net
プログラムやってると甘いものがないと辛いな
セブンイレブンで大量に売られてた果実のど飴なめながらやっている

ガウシアンフィルタ終わった
次はbloomエフェクト
bloomエフェクトは元画像の光ってるところ抽出して
ガウシアンフィルタ(ぼかし)かけてもとの画像と混ぜると得られる
考え方自体はそんなに難しくない

158 :ぬーぶ ◆upkqfrxkrw :2017/02/04(土) 18:04:18.19 ID:DxVF1dAI.net
>>155
Maximaやらの数学や物理のツールって
あんまりぱっとイメージが湧くものじゃないけど
どんなのなんだろう。
けど中学生の数学でも使えるのかどうか…

顎が弱くて噛めない()

159 :ぬーぶ ◆upkqfrxkrw :2017/02/04(土) 18:04:46.99 ID:DxVF1dAI.net
>>156
美味しいよ、恵方巻にエビフライ。

160 :ぬーぶ ◆upkqfrxkrw :2017/02/04(土) 18:06:15.30 ID:DxVF1dAI.net
>>157
甘い物かー、ティラミスが一番好き
けどこの年頃だと甘い物より旨い物が食べたい

へぇ…プログラミングって画像の抽出とかもできるんか…
自分には到底できそうにないな(´・ω・`)

161 :デフォルトの名無しさん:2017/02/04(土) 18:52:00.27 ID:iNV0wm7r.net
>>158
中学数学ではまだそこまで必要ないかもしれないが例えば
中学生では文字式が出てきたばかりだよね
その文字式のまま色々計算できるのが数式処理ソフト
(x+1)^2はx*x + x*1 + 1*x +1*1と展開して計算するのは学ぶと思うけど
(x+1)^8を展開しようとしたら大変。これはexpand((x+1)^8);で計算できる
二次式を解の公式で解くときとかもsolve(x^2+3*x+7);とやると
[x=-(sqrt(37)+3)/2,x=(sqrt(37)-3)/2]
と答えを出してくれる

個人的には行列を学ぶのに便利だと思う

162 :デフォルトの名無しさん:2017/02/04(土) 19:03:51.60 ID:+5NPixg9.net
たぶんそれ、pythonのモジュールでも可能

163 : ◆f5STnaEXUk :2017/02/04(土) 19:12:50.90 ID:iNV0wm7r.net
まぁそういうことが出来る言語もあるだろうさ。
でも数式処理ソフトウェアほど簡潔にはかけないと思う

pythonは個人的には嫌いだな
2系と3系が互換性がないせいで
どちらもインストールせねばやっていけないあたりが

164 :デフォルトの名無しさん:2017/02/04(土) 19:29:52.73 ID:ceaLvvG5.net
2系がまだ根強いってのはあるな

ただ世間の趨勢としてデータサイエンスの分野はほぼpythonに流れつつある

165 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/04(土) 19:55:59.09 ID:sK4bvJ1n.net
DxLibで好きな一次関数のグラフとx軸、y軸を書け。
注意。DxLibでは画面左上が原点であり、y軸が下向きである。
y成分を反転し、原点が画面中央になるようにずらす必要がある。

166 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/04(土) 20:05:36.71 ID:sK4bvJ1n.net
ヒント。画面左端x_0と右端x_1について、点(x_0, f(x_0))から点(x_1,f(x_1))を結ぶ線分を描く。
ただし、g(x,y)=(x + c_x, c_y - y)という座標変換が必要。(c_x, c_y)は画面中央。

167 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/04(土) 20:19:17.30 ID:sK4bvJ1n.net
頑張れ、ねねっち!

168 : ◆f5STnaEXUk :2017/02/04(土) 20:54:55.48 ID:iNV0wm7r.net
>>164 python自体はそこまで嫌いじゃないよ。インデント強制が苦手なぐらい
俺のperl6は普及すらしていないので
python2のような依存関係の問題などは起きないというメリット?がある

>>167
ねねっちの勉強はdxlib限定なの?

とりまmaximaで。plot2d(29*x+831,[x,-10,10]);
今やってるOpenGLの方ではまだラインの引き方を習ってないので難しいな
明日調べてみようかな

そろそろ寝る

169 :ぬーぶ ◆upkqfrxkrw :2017/02/04(土) 21:52:06.36 ID:DxVF1dAI.net
>>161
ほーなるほど、世の中には便利なもんがあるんやねぇ…

170 :ぬーぶ ◆upkqfrxkrw :2017/02/04(土) 21:54:02.11 ID:DxVF1dAI.net
>>165-167
グラフを描画するのは難しいな…
g(x,y)=…っていうのはこの前のarray?
ちょっと基礎を勉強してるから
これ以上の出題はもうちょっと待って頂けると有難い(´・ω・`)
あと私はねねっちではないぞい…

171 :ぬーぶ ◆upkqfrxkrw :2017/02/04(土) 21:56:33.54 ID:DxVF1dAI.net
>>168
perlやらpythonやら色々あるね
僕の場合元々ハッカーになりたくて、
それがキッカケでC/C++やらPythonやら
ハッカー目指すのに良いと言われる言語の本は買った。

DxLib限定というか、今はゲーム作りを目標としてるから
そのためにDxLibを使ってる。

おやすみ。

172 :ぬーぶ ◆upkqfrxkrw :2017/02/04(土) 21:57:00.70 ID:DxVF1dAI.net
明日からちょいと用事があるので
レス返せるのは明後日になるかもしれません(´・ω・`)

173 :デフォルトの名無しさん:2017/02/05(日) 00:50:18.18 ID:34mVtrou.net
ねねっちなどいなかった

174 : ◆f5STnaEXUk :2017/02/05(日) 07:18:36.28 ID:U3r5qPlD.net
おはよう

>>171
プログラマになるよりハッカーになるほうがずっと難しいと思う

ゲーム作りか、昔初めて取り組んだときは挫折したな
プログラミングの極意は重複をさけることだと個人的に思うよ
コピペが1回増えるごとに修正箇所は2倍になる
これが3,4回分重なると8-16倍、この辺でメンテの限界がくる
だから関数をうまく使って必要なコードを1ヶ所にまとめること
同じコードを書いてるなと思ったら関数の使用を考える
これが出来れば大きなプログラムになっても開発できるようになる

175 :ぬーぶ ◆upkqfrxkrw :2017/02/05(日) 08:12:35.50 ID:pyEhJrBN.net
>>174
おはようです

ハッカーはドラマとか見て
「あーなんか凄い、何か分からんけど凄い」
っていう感じだったから、それがキッカケでプログラミングに触れた。
難しいのは分かってるけどね(´・ω・`)

最初のゲームは3Dじゃなくても2Dで良いと思ってるけど
やっぱり当たり判定とかも難しいのかな。
コピペで貼り付けてプログラミングするプログラマーを
「コーダー」って呼ぶみたいに聞いたけど、
実際プログラム作るときってプログラムの破片を寄せ集めて
プラモデルみたいに作るほうが良い気がするけど
そういうのはタブーなのかな。手っ取り早いし知らないコードも覚えられる。

前に簡単なゲーム作ったときにはプログラムの行数が数千行になったから、
それも多分効率の悪いプログラミングのせいなのかな…
今思えばもっと条件文と変数使ったらより効率が良かった。

176 : ◆f5STnaEXUk :2017/02/05(日) 08:55:55.53 ID:U3r5qPlD.net
俺は別にコピペは否定しないよ
別に破片を寄せ集めてプラモデル的に作っても良い
コピペの後に重複を取り除いたり構造を直したり(リファクタリング)
するならの話だけど
ただ同じコードを関数にもまとめずにペタペタ張りつけたりして作るのは悪だよ

数千行のコードを破綻させずに書いたことがあるのは驚いた
Cの関数の理解も怪しい段階でよくそこまで出来たと思うよ
どうやってそんなに書いたのよ
まずC++を使ってるならクラスとは言わないまでも
せめて関数は使い方をちゃんと覚えよう

177 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/05(日) 09:55:33.91 ID:7poK6Wtv.net
>>165 解く気がなさそうなので模範解答。
#include "DxLib.h"
#define WIDTH 640
#define HEIGHT 480
struct Point { //座標を表す構造体
float x,y;
};
float f(float x) { return x / 2 - 50; }

void g(Point& pt) {
pt.x = pt.x + WIDTH/2;
pt.y = HEIGHT/2 - pt.y;
}
void Line(float x0, float y0, float x1, float y1) {
Point pt0 = {x0,y0}, pt1 = {x1,y1};
g(pt0); g(pt1);
DrawLineAA(pt0.x, pt0.y, pt1.x, pt1.y, 0xFFFFFF);
} (続く)

178 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/05(日) 10:09:34.31 ID:7poK6Wtv.net
(続き)
void String(float x0, float y0, float x1, float y1) {
Point pt = {x, y};
g(pt);
DrawString(pt.x, pt.y, 0xFFFFFF);
}
INT WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, INT) {
SetGraphMode(WIDTH, HEIGHT, 32);
ChangeWindowMode(TRUE);
DxLib_Init();
while (!ScreenFlip() && !ProcessMessage() && !ClearDrawScreen()) {
float x0 = -WIDTH/2, x1 = WIDTH/2;
float y0 = -HEIGHT/2, y1 = HEIGHT/2;
String(0,0,"O"); //原点
Line(x0,0,x1,0); String(x1-16,0,"x"); //X軸
Line(0,y0,0,y1); String(8,y1,"y"); //Y軸

Line(x0, f(x0), x1, f(x1));
DrawString(0,0, "y = x/2 - 50", 0xFFFFFF);
}
DxLib_End(); return 0;
}

179 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/05(日) 10:44:38.02 ID:7poK6Wtv.net
//構造体を使わない例も載せておこう。
#include "DxLib.h"
#define WIDTH 640
#define HEIGHT 480
float f(float x) { return x / 2 - 50; }

void g(float& x, float& y) {
x = x + WIDTH/2;
y = HEIGHT/2 - y;
}
void Line(float x0, float y0, float x1, float y1) {
g(x0,y0); g(x1,y1);
DrawLineAA(x0, y0, x1, y1, 0xFFFFFF);
} (続く)

180 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/05(日) 10:47:28.82 ID:7poK6Wtv.net
(続き)
void String(float x, float y, const char *str) {
g(x, y);
DrawString(x, y, str, 0xFFFFFF);
}
INT WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, INT) {
SetGraphMode(WIDTH, HEIGHT, 32);
ChangeWindowMode(TRUE);
DxLib_Init();
while (!ScreenFlip() && !ProcessMessage() && !ClearDrawScreen()) {
float x0 = -WIDTH/2, x1 = WIDTH/2;
float y0 = -HEIGHT/2, y1 = HEIGHT/2;
String(0,0,"O"); //原点
Line(x0,0,x1,0); String(x1-16,0,"x"); //X軸
Line(0,y0,0,y1); String(8,y1,"y"); //Y軸

Line(x0, f(x0), x1, f(x1));
DrawString(0,0, "y = x/2 - 50", 0xFFFFFF);
}
DxLib_End(); return 0;
}

181 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/05(日) 10:49:43.88 ID:7poK6Wtv.net
>>178 String関数の定義を次のように訂正。

void String(float x, float y, const char *str) {
Point pt = {x, y};
g(pt);
DrawString(pt.x, pt.y, str, 0xFFFFFF);
}

182 :デフォルトの名無しさん:2017/02/05(日) 11:00:42.26 ID:NgmJ8ASd.net
片山氏もideoneかどこかに貼った方がいいんじゃないかな?

183 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/05(日) 11:01:59.43 ID:7poK6Wtv.net
関数gの引数に&がついているのは「C++参照」を表している。
参照型の引数は、関数の中で引数の値を変更したいときに使う。
#include <iostream>
void func(int& x) {x = 3;}
int main() {
int n = 2;
std::cout << n << std::endl; //2
func(n);
std::cout << n << std::endl; //3
}

184 :ぬーぶ ◆upkqfrxkrw :2017/02/05(日) 11:32:45.06 ID:pyEhJrBN.net
>>176
木の破片を寄せ集めて机を作って、
仕上げにやすりをかける感じに書くのか。

数千行のやつはHSPで組んだ。
デバッグが大変だった

185 :デフォルトの名無しさん:2017/02/05(日) 12:06:21.77 ID:34mVtrou.net
コピペをつなぎ合わせて作るのは別にいいと思うけど
何をやってるコードなのか理解した上でコピペすべきだよ

186 : ◆f5STnaEXUk :2017/02/05(日) 12:25:52.49 ID:U3r5qPlD.net
確かにソースはideoneとかに張り付けてくれる方が便利だね
俺はcodepad使ってる。ideoneよりは少し軽い気がする

>>184
hspかー。関数というよりサブルーチンみたいなのを使って書くようだね
初心者向けって言われてるけど逆にそちらのほうが難しそうに感じるよ

187 :ぬーぶ ◆upkqfrxkrw :2017/02/05(日) 13:26:51.53 ID:pyEhJrBN.net
>>186
codepadやらideoneやら色々あるんだなぁ…
優秀な先輩プログラマーさんのおかげやね(´・ω・`)

スクリプト言語でゲーム作りに向いてるって言うから、
簡単そうだと思って触ってみたら結構面白かったの。
今は電卓作ったり単純な運ゲー作ったりして使ってるよ。


数学の問題の式解くのにも使えるし便利だなぁ…(小声)

188 : ◆f5STnaEXUk :2017/02/05(日) 16:54:56.87 ID:U3r5qPlD.net
hspちょっと調べてみたけど戻り値のある関数的なものを定義する
#defcfunc
これに慣れておくといい

ちょっと難しい話をするとプログラミング言語の関数と数学の関数は違うんだ
数学の関数はいつでも同じ入力には同じ出力を返す
だからプログラミングの関数もそれと同じように作っておくとバグりにくい

Cでいうと
void p()(入力も出力もない(副作用は除く))
void p(int)(出力がない(副作用は除く))
int p()(入力がない)
これらはCの関数ではあるが数学的な関数じゃない
int inc(int x){return x+1;}(入力(引数)も出力(戻り値)もある)
これは数学的な関数になる
int inc2(int x){printf("mona-");return x+1;}
ちなみにこれは数学的な関数じゃない(mona-と出力する副作用(余計な出力)がある)
int inc3(int &x){++x;return x;}
C++だけどこれも数学的な関数じゃない(呼び出す度に元のxが増えてしまう)

189 :ぬーぶ ◆upkqfrxkrw :2017/02/05(日) 17:00:28.04 ID:pyEhJrBN.net
>>188
ちょっと待って、もしかしてプログラミングと数学と
"関数"っていう言葉が一緒にあったからこんがらがってたのかな。
基礎を勉強していくうちでいずれ分かるかな…

数学的かそうでないかについてはまだよく分からんな…

190 :デフォルトの名無しさん:2017/02/05(日) 17:05:01.75 ID:NgmJ8ASd.net
まあ部品だな

pascalなんかだと値を返さない関数はprocedureと明確に分けてるけどcは初めは分かりにくいかな?

191 :デフォルトの名無しさん:2017/02/05(日) 17:22:20.53 ID:U3r5qPlD.net
そうだね、プログラミング言語にも数学にも関数があるけど違う意味だね

バグを出しにくいコードの書き方とかを気にしている本とかに出会えれば
いずれわかるようになるかな
俺は関数型言語ってのを学んだときにその辺覚えたよ
関数型言語は難しい点もあるから
もっとプログラミングに慣れてから触った方がいいかもしれない

192 :デフォルトの名無しさん:2017/02/05(日) 20:11:56.58 ID:NgmJ8ASd.net
関数(function)はソフトウェアを構成するための部品、
そういった部品をまとめ再利用しやすくしたものをライブラリと呼ぶ
(場合によってはAPIとかSDKなどとも呼ばれる)
ライブラリには関数の他必要な定数や構造体の定義なども含まれる

関数ではなくクラスの定義や実装を集めたものはクラスライブラリと呼ばれる
特にある目的で呼び出し順やクラスの拡張ポイントが規定されているものは
フレームワークと呼ばれることがある

クラスに結びついた関数をメソッドとも言う

193 : ◆f5STnaEXUk :2017/02/06(月) 06:57:16.37 ID:X4lA+IN8.net
独学スレというのもあったんだな

プログラマは1年に1個新しい言語を覚えるといいとよくきくけど
ここ最近新しい言語は覚えてないなぁ
実用重視ならkotlin
趣味重視ならPrologを覚えてみたい

本はジオメトリシェーダというところにさしかかった
あまりジオメトリシェーダについて解説がないので
webも併用して調べつつやってる
https://open.gl/というサイトが丁寧な解説してくれてた

194 :デフォルトの名無しさん:2017/02/06(月) 11:10:44.65 ID:ztrYnWwG.net
switchとかw
updateを持つsceneクラス作って
それを継承してタイトルやらステージ1やら作って
ゲームマネージャーで管理するんだよ

195 : ◆f5STnaEXUk :2017/02/06(月) 19:22:22.48 ID:X4lA+IN8.net
https://www.opengl.org/sdk/docs/man2/xhtml/gluLookAt.xml
gluLookAt公式docの誤りを見つけた
愚直にこれを実装したら結果の1行目の値が実際のgluLookAtの値とは違う値になる
実際と同じ挙動にするにははsn=s/norm(s)としてからMのs[1]s[2]s[3]にsn[1],sn[2],sn[3]を代入しなければならない
バグ報告しようとしたらContact Usのページがnot foundになっててできないので
僻地だがここにメモしておいたら誰か報告してくれるだろうと思って
maximaコード

translate(x,y,z):=matrix([1,0,0,x],[0,1,0,y],[0,0,1,z],[0,0,0,1]);
cross( u, v ):= [u[2]*v[3] - u[3]*v[2], u[3]*v[1] - u[1]*v[3], u[1]*v[2] - u[2]*v[1] ];
norm(x):=sqrt(x.x);
glulookat(eye,center,up) := block([],c:center-eye,f:c/norm(c),upn:up/norm(up),s:cross(f,upn),u:cross(s/norm(s),f),m:matrix([s[1],s[2],s[3],0],[u[1],u[2],u[3],0],[-f[1],-f[2],-f[3],0],[0,0,0,1]),m.translate(-eye[1],-eye[2],-eye[3]));

glulookat(eye,center,up) := block([],c:center-eye,f:c/norm(c),upn:up/norm(up),s:cross(f,upn),sn:s/norm(s),u:cross(sn,f),m:matrix([sn[1],sn[2],sn[3],0],[u[1],u[2],u[3],0],[-f[1],-f[2],-f[3],0],[0,0,0,1]),m.translate(-eye[1],-eye[2],-eye[3]));

196 :ぬーぶ ◆upkqfrxkrw :2017/02/06(月) 20:54:42.36 ID:4u2g4jR0.net
ちょ、レス返しは後にさせてちょっと緊急…

Visual Studio 2015で文字打とうとしたら
文字打つときのカーソル(キャレット)が1文字分埋まって
バックスペース押すと埋まってる文字が消えるんだけど…

こんな感じのキャレットになる
http://www.fmworld.net/cs/azbyclub/qanavi/private/201412/1500000013/016.gif

197 :デフォルトの名無しさん:2017/02/06(月) 21:03:48.31 ID:/agxEATE.net
Insert

198 :ぬーぶ ◆upkqfrxkrw :2017/02/06(月) 21:16:02.13 ID:4u2g4jR0.net
>>197
ありがとおおおおおおおおおおおおおおおおおおおおおおおおおお!!!!!!(´;ω;`)

199 :ぬーぶ ◆upkqfrxkrw :2017/02/06(月) 21:48:53.15 ID:4u2g4jR0.net
今じゃんけんのプログラムをC++で組んでるけど、
乱数を使いつつCPUがパターンを少し読んで返すだけで
かなり複雑で難しいプログラムになるな…

200 :ぬーぶ ◆upkqfrxkrw :2017/02/06(月) 22:06:15.09 ID:4u2g4jR0.net
あーもう分からん…
どうすりゃええんや

201 :デフォルトの名無しさん:2017/02/06(月) 22:12:11.79 ID:vNKm6v6D.net
>>200
ここは君のTwitterではない
独り言を書き込むのは控えよう

わからないことがあるならコードと一緒に書き込みなさい

202 :ぬーぶ ◆upkqfrxkrw :2017/02/06(月) 22:18:36.69 ID:4u2g4jR0.net
>>201
すいません(´・ω・`)

203 :ぬーぶ ◆upkqfrxkrw :2017/02/06(月) 22:39:50.39 ID:4u2g4jR0.net
使えなかった「関数」というものが
どういう存在なのかイメージは何となーくできた。

このサイトでやってるんだけど
基礎範囲っていうとどこまでやれば大丈夫?
http://dotinstall.com/lessons/basic_c
全部やったほうがええんかな

204 :デフォルトの名無しさん:2017/02/06(月) 22:47:22.34 ID:0xTrdq5H.net
C++じゃなかったっけ?
とりまそのサイトだと全部という他ないかな

205 :デフォルトの名無しさん:2017/02/06(月) 22:47:40.29 ID:cv1theFf.net
>>203
え、ここにあるの、全部基礎だろ?
最低限ここにあるのは覚えようよ

206 :ぬーぶ ◆upkqfrxkrw :2017/02/06(月) 22:51:46.17 ID:4u2g4jR0.net
>>204-205
OK

207 :デフォルトの名無しさん:2017/02/06(月) 23:06:40.79 ID:ISSLNPkE.net
c++の++の部分ってそんなつけたし程度ではないから覚悟しよう
原著とか軽く鈍器になるから

208 :デフォルトの名無しさん:2017/02/06(月) 23:13:44.84 ID:Mhi9m5oE.net
ぱっと見、構造体がないな。ここ終わったら、自分が持ってる教科書で追加して学習しておこう。

209 :デフォルトの名無しさん:2017/02/06(月) 23:24:25.84 ID:ISSLNPkE.net
もうひとつのサイトにはあった
再帰やアルゴリズムについても言及してるのでそちらも見た方がいいだろう

210 :デフォルトの名無しさん:2017/02/06(月) 23:35:48.99 ID:vNKm6v6D.net
C++の基礎ならCの基礎に加えてこのくらいの知識は必要か

1.簡単なクラス設計
2.例外の使い方
3.名前空間によるモジュール分け
4.簡単なtemplate関数・クラスの実装
5.STLコンテナとアルゴリズムの使い方
6.CとC++の違いの認識
7.C++11以降で追加された機能とライブラリの概要

急ぐ必要はないから適当なペースで

211 : ◆f5STnaEXUk :2017/02/07(火) 07:34:32.41 ID:VLVkoykZ.net
>>203 その範囲ならほぼ全部だけど
cに参照渡しはないはずだがと思ってそこだけみてみたら
ポインタ渡しのことを参照渡しと呼んで混同してる。
参照渡しのところは読まなくていいよ

212 :ぬーぶ ◆upkqfrxkrw :2017/02/07(火) 16:27:54.05 ID:4rjiTxWA.net
>>210-211
全部に加えてその範囲まで…(´;д;`)ヒエッ
ポインタでみんな詰まるって聞いたけど、
これはそのポインタと同じ?

どっちかというとポインタより
C++のクラスで詰まりそう…

213 :ぬーぶ ◆upkqfrxkrw :2017/02/07(火) 17:09:14.54 ID:4rjiTxWA.net
ポインタって何に使うの
見てみたけど普通の変数と同じじゃないのか

214 :デフォルトの名無しさん:2017/02/07(火) 17:34:37.17 ID:tcS7ygJS.net
>>213
メモリの管理
好きな時にガバッと大量にオブジェクトを生成して、好きな時に破棄ができる

例えばグローバルな変数で数GBもある領域を確保してしまうとプログラムが重くなるけど、必要な時にピンポイントで取得・解放すればずーっと重いってことはない

まぁお前が作るプログラムなら直接は必要ないかもしれないけど、ライブラリやフレームワーク、SDKあたりで触る機会は訪れるから知っておくべき

215 :ぬーぶ ◆upkqfrxkrw :2017/02/07(火) 17:43:37.40 ID:4rjiTxWA.net
>>214
なるほど、そういう事か。便利やね。
大規模なゲーム作る時とかに使えそう。

216 :ぬーぶ ◆upkqfrxkrw :2017/02/07(火) 18:00:10.52 ID:4rjiTxWA.net
ideoneではエラーになってるけど動くはず
http://ideone.com/TAWBnP

じゃんけんプログラムのプロトタイプを作ってみた。
ここからn人のじゃんけんに変えたりしていきたいけど
その他にコードの短縮・高性能化が可能なら教えて下さい。
自分には今の所これが一番短くしたプログラム。

217 : ◆f5STnaEXUk :2017/02/07(火) 19:15:41.48 ID:VLVkoykZ.net
>>212
そうそうそのポインタ
最初は>>210の言う1-3ぐらいまで理解してればいいと思うよ俺は

練習として、じゃんけんのコードは関数にわけてるといいかも
プログラムが長くなってくると関数にわけないと辛いよ
main関数の中身はwhile(true){if(game()!=CONTINUE)break;}ぐらいにする感じで

n人のじゃんけんは少し難しいね
参加者全員の手を配列にいれてソートして重複を取り除いて長さが3か1ならあいこ
長さが2なら手を見て勝ち負けを判定するってアルゴリズムがすぐ思い浮かぶな
stlを使えば簡単だけど今ぬーぶが知ってるCの範囲では少し難しいかもしれない

218 :ぬーぶ ◆upkqfrxkrw :2017/02/07(火) 20:44:08.74 ID:4rjiTxWA.net
>>217
ポインタって考え方自体は
思ったより簡単だった。クラス許すまじ。
Cの基礎範囲を覚えるのも結構難儀だけど
C++の範囲を更に覚えるとなるともっと時間かかりそうだな…
最初にC++やって基礎もいっぺんにやっちゃえ〜って考え方は
今思うと物凄く愚かだった(´・ω・`)

関数は苦手だけど頑張って使ってみる。
while(true)なんてのがあるのか…
基本的に仕事とかプロレベルの高度な事になると
main関数の中身にはあんまりゴチャゴチャ詰め込まずに
関数を呼び出して書く方法が一般的なのかな。

n人のじゃんけんって簡単だと思ってたけど
いざプログラム組み始めると「あれ?」ってなったな。
34スレのほうで「n人のじゃんけんくらい作れ」みたいに言われてたから
基礎範囲ならせめてこれくらいできないとヤバいと思ってたw
複数人での勝ち負け判定が一番難しそう、何て言うか、
先にじゃんけんのルール(グーチョキパーの関係)をプログラムして
それに倣ってif分岐したほうが良さそうかな。
STLってC++の範囲かな、また意味不明な単語が出てきた_(:3 」∠)_


引き続き基礎の勉強頑張ると共に
3週間後に迫る学年末テストの勉強もしないとマジやべぇ状態\(^o^)/

219 :ぬーぶ ◆upkqfrxkrw :2017/02/07(火) 20:44:42.10 ID:4rjiTxWA.net
また長文になった…ごめんなさい

220 :デフォルトの名無しさん:2017/02/07(火) 20:49:34.90 ID:tcS7ygJS.net
日記はあかんとは思うが、長文はいいんじゃねーの、適切な内容なら

STLはすでに使ってる。STDって使ってるだろ
スタンダードテンプレートライブラリの略で便利なものがライブラリ化されている
ただ勉強のために、自分でそれっぽいものを実装してみるのも有り

ポインタは使ってみると案外カオス
ポインタのポインタとかを配列に突っ込むようになると管理がめんどくさくなる

221 :ぬーぶ ◆upkqfrxkrw :2017/02/07(火) 20:56:17.06 ID:4rjiTxWA.net
>>220
徐々に2ちゃんの文化に慣れていきたい

STDなんて使ったっけ…無意識に使ったんだろうか
あんまり名前気にせずに使ってたから覚えてないや

ポインタのポインタを配列に突っ込む…
もう訳が分からん…
ポインタのポインタのポインタって事もあるんだろうか…

222 :ぬーぶ ◆upkqfrxkrw :2017/02/07(火) 21:01:57.78 ID:4rjiTxWA.net
ふー、関数の使い方については理解できたけど
これってreturnで返す必要あるんかな…

そしてこれをじゃんけんのプログラムに
どうやって活かそうかというところでまた悩むという…

223 :デフォルトの名無しさん:2017/02/07(火) 21:05:36.24 ID:uyxPYTwn.net
int 判定(int 手, int 手)
{
  判定処理

  return 判定結果;
}

224 :デフォルトの名無しさん:2017/02/07(火) 21:06:35.87 ID:tcS7ygJS.net
>>222
関数は必ずしもreturnで値を返す必要はない
ただ、x + y という結果を返す関数でreturnしなかったら、どうやって結果返すんだ?
まぁ返す方法はあるけど、今の君の知識だとreturnするのがいちばん楽

225 :KAC:2017/02/07(火) 21:10:44.42 ID:1yHesC+2.net
>>217
なんか中途半端だな・・・
 while(true){if(game()!=CONTINUE)break;}
  ↓
 while(game()==CONTINUE);

> 参加者全員の手を配列にいれてソートして重複を取り除いて長さが(ry

そんなことしなくても、
1:グー 2:チョキ 4:パー とか割り当てて、
全部でORとれば結果くらい簡単にでるだろ・・・

基礎教える時には、あまり複雑な話題を出さない方が良いぞ。

226 :ぬーぶ ◆upkqfrxkrw :2017/02/07(火) 21:19:45.91 ID:4rjiTxWA.net
>>223
なるほど、やってみる。

227 :ぬーぶ ◆upkqfrxkrw :2017/02/07(火) 21:22:26.85 ID:4rjiTxWA.net
>>224
ちょっと失礼します

float getMax(float a, float b) {
___if (a > b) {
______return a + b;
}

こういう事もできるって事…なの?
今からご飯行くので帰ってきたらまた試します

228 :ぬーぶ ◆upkqfrxkrw :2017/02/07(火) 21:23:45.85 ID:4rjiTxWA.net
>>225
whileのtrueはどこ行っちゃったんだ…
orっていう命令なんかも出てくる(?)のか、
覚える事はいっぱいありそうねぇ…

229 :デフォルトの名無しさん:2017/02/07(火) 21:32:09.88 ID:tcS7ygJS.net
>>227
誤解させたかもしれないが、返り値にvoid以外を定義したなら、返す必要はある

>>225
ビット演算とか、まだ早いだろ…

230 :KAC:2017/02/07(火) 21:43:53.26 ID:1yHesC+2.net
>>229
いやいや、
ソートして重複除去するアルゴリズム組むよりは
ビット演算の方がいくら何でも先だろ・・・

つか、論理演算(ブール演算)は中学生レベルの話なんだし、
ビット演算くらいすぐ理解できるだろ。

231 :デフォルトの名無しさん:2017/02/07(火) 22:07:48.58 ID:99tLcJuW.net
整いました!

232 : ◆f5STnaEXUk :2017/02/07(火) 22:12:38.76 ID:VLVkoykZ.net
>>225 KAC賢いね。ぬーぶがやるならその方法だね

実質ビット列を集合として扱ってるわけだ

>基礎教える時には、あまり複雑な話題を出さない方が良いぞ。
これはそのとおりだと思うけど俺はあたまいい方ではないので
つい自分の知ってることを話してしまいがち

>>227
やりたいのはこれじゃないの
float getMax(float a,float b){
if(a>b)return a;
return b; //これがないとコンパイラ警告だすでしょ
}

233 :ぬーぶ ◆upkqfrxkrw :2017/02/07(火) 22:17:08.37 ID:4rjiTxWA.net
>>229-230
ソートやらビット演算やら色々訳わからんのが…
ビット演算について調べてみる。
n人のじゃんけんはもう少し先でお願いしますです…。

そういえば向こうで「乱数を使わないじゃんけん」とか言ってたけど
そんなのは可能なの?
どう考えても、相手のパターンを学習して
次の手を読んで出すにしても乱数は必要不可欠な気がするけど…
そもそも相手の先を読むなんてできるのかな。

234 :ぬーぶ ◆upkqfrxkrw :2017/02/07(火) 22:19:19.79 ID:4rjiTxWA.net
>>232
ビット列…ビット列…眠くなる(´゜ω゜`)
じゃんけんのプログラムにしても複雑やね…
関数を上手く使ってやってみる。

あ、return b忘れてた…

235 : ◆f5STnaEXUk :2017/02/07(火) 22:29:17.63 ID:VLVkoykZ.net
ビット処理はイメージわかないかもしれないから
あいこの処理だけした例を書いてみたよ
http://codepad.org/lrbT0WyW
参考にしてな

236 :ぬーぶ ◆upkqfrxkrw :2017/02/07(火) 22:38:51.50 ID:4rjiTxWA.net
>>235
ほぉ… おぉ…???  あぁ……  あぁぁぁぁぁぁぁ!!(´;ω;`)

っていう状態でございます_(:3 」∠)_
関数?配列?が使われてるのは何となく分かった。
これが分かるまで基礎を身に着けるのが先になりそう orz

わざわざ有難うございますm(__)m

237 :デフォルトの名無しさん:2017/02/07(火) 23:00:32.10 ID:hhVGZ544.net
>>216
とりあえず参考までに
http://ideone.com/LLJn3j
関数を使うのは別に短くするためじゃないよ

238 :ぬーぶ ◆upkqfrxkrw :2017/02/07(火) 23:16:01.07 ID:4rjiTxWA.net
>>237
おー、有難うございます
でも今からお風呂なので
帰って来てからか、時間がなければ
明日に見させてもらいます。

239 :デフォルトの名無しさん:2017/02/07(火) 23:24:09.89 ID:m2qI51DF.net
CPU同士で戦わせるじゃんけんをC++で書いてみたが、意外とめんどくせぇ

https://ideone.com/6jDg5d

240 :デフォルトの名無しさん:2017/02/07(火) 23:46:26.49 ID:tcS7ygJS.net
>>233
> 乱数を使わないじゃんけん
条件がわからんから何ともだが、例えば現在のミリ秒数を3で割った余りとかでいいんでねーの

241 :デフォルトの名無しさん:2017/02/08(水) 01:18:57.67 ID:QyOX+LaY.net
>>239
俺も考えたのこれだな。でも全員同じ手の判断も必要と思ってた。確かにあいこのコールなければ要らないな。
λの[]ってなんだろうと思ったらこれ11から入ったのか、古い++で止まってるから勉強になったわ。

242 :ぬーぶ ◆upkqfrxkrw :2017/02/08(水) 10:58:36.52 ID:6hPVeK3z.net
何でmain関数を一番下に置いてるのに
識別子が見つからないエラーになるのか
調べても全く分からない…

誰か助けて…(´・ω・`)
http://ideone.com/c33uLo

243 :デフォルトの名無しさん:2017/02/08(水) 12:05:44.48 ID:LbffaGyN.net
エラーに書いてある通り

244 : ◆f5STnaEXUk :2017/02/08(水) 12:09:36.51 ID:bfP4l9M8.net
2点誤りがある
関数は前方宣言というのをしないと、まだ定義してない関数を使うとエラーになる
contGameの定義中にgameMainを呼んでいるけどまだgameMainは定義されていないからエラーになる
これを防ぐには上の方にint gameMain(int pg);と書いとく必要がある

それから次はmain関数を普通の関数のように使ってるけど
main関数は特別な関数なので自分からmainを呼んだりはしちゃダメ
mainの引数は0個か2個と決まっていて
int main(int)というのはやっちゃダメ
int main(){while(自分で作った関数!=0){start();...
とする
いい方法は、小さいプログラムから始めて、コンパイルできることを確認しながら
大きくしていくことだよ

245 :ぬーぶ ◆upkqfrxkrw :2017/02/08(水) 12:38:40.36 ID:6hPVeK3z.net
>>244
あ、プロトタイプ宣言か…

でもmain関数の中に入れないと
プログラムが成り立たないんじゃ…

246 :デフォルトの名無しさん:2017/02/08(水) 13:10:45.27 ID:QTCpNTnM.net
while(main!=0)
は味わい深い。goto endは次点。

ヌーブはこれからgoto禁止な。goto使うには10年早い。

247 :ぬーぶ ◆upkqfrxkrw :2017/02/08(水) 15:08:52.41 ID:6hPVeK3z.net
>>246
while(main...)は使っちゃ駄目なのか…
何とか他ので頑張る

え、なんで…(´・ω・`)

248 :デフォルトの名無しさん:2017/02/08(水) 16:10:55.04 ID:Izgn68/X.net
プログラム書く前に言語仕様をちゃんと勉強したほうがいいんじゃないの?

249 :デフォルトの名無しさん:2017/02/08(水) 16:15:09.73 ID:QTCpNTnM.net
>>247
そのwhile(main != 0)の意味を説明してみて?

gotoに関しては頭の中から消しさる。上級者以外には害があるので。

250 : ◆BrBq2CJg6HGd :2017/02/08(水) 16:35:42.35 ID:DtNpsaIX.net
>>247
>え、なんで…(´・ω・`)
乱用するとスパゲッティプログラムになるかららしい。制御文が充実しているC/C++ではgoto文の使用は推奨されていない。

251 :ぬーぶ ◆upkqfrxkrw :2017/02/08(水) 16:47:35.29 ID:6hPVeK3z.net
>>249
ごめん書くとしたらint main(int play);だった
gotoってそんなに…何でなの…?

全部プロトタイプ宣言しても
値を返さなきゃ的なエラーが出るんだけど…
何なんだろう。

252 :ぬーぶ ◆upkqfrxkrw :2017/02/08(水) 16:49:11.14 ID:6hPVeK3z.net
>>250
なるほど。スパゲッティ好きなんだけどなぁ…(´・ω・`)

253 :デフォルトの名無しさん:2017/02/08(水) 17:16:02.80 ID:QTCpNTnM.net
>>251
while(main!=0)の話をしてるんだが、その回答は意味不明。
本質的なポイントを誤解か理解していないっぽいからどう君の頭の中で間違えてるか知りたかったのだが、そしたら教えられるから。

254 :デフォルトの名無しさん:2017/02/08(水) 17:16:46.84 ID:QTCpNTnM.net
>>251
値を返せw

255 : ◆BrBq2CJg6HGd :2017/02/08(水) 17:18:19.75 ID:P7DKCnaF.net
すいませんテストさせて下さい。
ハローワールドプログラム
https://ideone.com/Vr1uWX

256 : ◆BrBq2CJg6HGd :2017/02/08(水) 17:20:57.80 ID:P7DKCnaF.net
行けました。
ありがとうございました。

257 :ぬーぶ ◆upkqfrxkrw :2017/02/08(水) 17:56:24.13 ID:6hPVeK3z.net
>>253
いや、単純にwhile(play!=0)と書くべきところを
while(main!=0)にしちゃってただけだった、書き間違い。

258 :ぬーぶ ◆upkqfrxkrw :2017/02/08(水) 17:56:49.83 ID:6hPVeK3z.net
>>254
あっw

259 :ぬーぶ ◆upkqfrxkrw :2017/02/08(水) 18:06:15.05 ID:6hPVeK3z.net
できた!

C++「ゲームを始めますか(Y(1)/N(0))」
ぬーぶ「1」
C++「ゲームを始めますか」
ぬーぶ「えっ」
C++「ゲームを続けますか」


何この子…

260 :ぬーぶ ◆upkqfrxkrw :2017/02/08(水) 18:08:10.06 ID:6hPVeK3z.net
嘘つけどこも間違ってへんやんけ…
http://ideone.com/s7Lr06

261 :デフォルトの名無しさん:2017/02/08(水) 18:11:12.56 ID:JaAY6lW8.net
日記じゃないんだからもう少し考えや結果を整理して書け

262 :ぬーぶ ◆upkqfrxkrw :2017/02/08(水) 18:13:59.92 ID:6hPVeK3z.net
>>261
要するにプログラムに
何も間違いがないはず(多分)が
変な挙動をすると…(´・ω・`)

263 : ◆f5STnaEXUk :2017/02/08(水) 18:31:35.26 ID:bfP4l9M8.net
とりあえず1つだけ
return conti; //もう関数を出る
gameMain(conti); //決してこの行は実行されない

264 :デフォルトの名無しさん:2017/02/08(水) 18:33:07.16 ID:xvHEZOuD.net
プログラムは思った通りには動かない
書いた通りに動くのだ

265 :デフォルトの名無しさん:2017/02/08(水) 18:57:25.24 ID:1UDOZfzD.net
1. main関数の書き方が違う
(>>244が指摘済み)
2. 14行目のstart関数の戻り値はintだが、21行目のelseに入ると値を返さない
3. 18行目、30行目のreturnより後は実行されない
(>>263が指摘済み)
4. 6行目のグローバル変数のcontiと27行目の引数のcontiで名前が衝突してる

266 :ぬーぶ ◆upkqfrxkrw :2017/02/08(水) 19:06:16.30 ID:6hPVeK3z.net
>>263
あー…なるほど…そういう事か…
そもそも関数の認識をちょっと間違ってたのか

267 :デフォルトの名無しさん:2017/02/08(水) 19:12:01.50 ID:JaAY6lW8.net
どう認識を間違ってたのか書けばツッコミなり教えてくれる人なりくるかもしれないじゃないか

268 :ぬーぶ ◆upkqfrxkrw :2017/02/08(水) 19:19:57.03 ID:6hPVeK3z.net
>>267
えーと…上手く言えないんだけど
returnで表示的なやつかと。

269 :デフォルトの名無しさん:2017/02/08(水) 19:21:14.02 ID:1UDOZfzD.net
>>265の続き
5. 28行目contgame関数も2.と同様値を返さないパスがある
戻り値を使わない関数は戻り値の型をvoidにしておけばよい
6. 58行目のthinkPlaceの戻り値を使ってない
チョキ(2)を出せば必ず勝てる
7. 44行目のwhileから抜け出すための条件がない

270 :デフォルトの名無しさん:2017/02/09(木) 08:43:31.80 ID:2CMr8yJ9.net
>>268
説明できないのは分かっていない証拠だよ。

271 :デフォルトの名無しさん:2017/02/09(木) 14:05:10.98 ID:ObwD4jmp.net
計算待ちで暇なのでちょっと覗きに来た
いやすげぇな、初心者って思いもよらない書き方するよねって懐かしくなった

しかしながら、このレベルでDxLibとか勉強するつもりだったのか
豪気な男やでぇ

272 :ぬーぶ ◆upkqfrxkrw :2017/02/09(木) 18:09:24.75 ID:EPi+TH6x.net
>>265.269
ほー、なるほど。もっかいコード見直してみる。
ありがとう。

273 :ぬーぶ ◆upkqfrxkrw :2017/02/09(木) 18:10:29.93 ID:EPi+TH6x.net
>>271
せやろ?(自慢になってない)

274 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/09(木) 21:46:55.70 ID:2NLO6FIm.net
int cx, cy;
GetGraphSize(iGraph, &cx, &cy);
で画像の幅cxと高さcyが得られる。
これを使えば当たり判定が正確にできる。
(x, y)が左上端の位置座標なら、(x + cx, y + cy)が右下端座標になる。

275 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/09(木) 22:11:45.49 ID:2NLO6FIm.net
//壁ではねかえる
#include "DxLib.h"
INT WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, INT) {
SetGraphMode(640, 480, 32);
ChangeWindowMode(TRUE);
DxLib_Init();
int iImage = LoadGraph("ant.png");
int x, y, vx, vy, cx, cy;
GetGraphSize(iImage, &cx, &cy);
x = 640/2; y = 480/2; vx = vy = 10;
while (!ScreenFlip() && !ProcessMessage() && !ClearDrawScreen()) {
DrawGraph(x, y, iImage, FALSE);
x += vx; y += vy;

276 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/09(木) 22:17:23.55 ID:2NLO6FIm.net
(続き)
if (x < 0) { x = 0; vx = -vx; }
if (y < 0) { y = 0; vy = -vy; }
if (x + cx >= 640) { x = 640 - cx; vx = -vx; }
if (y + cy >= 480) { y = 480 - cy; vy = -vy; }
}
DxLib_End();
return 0; }

277 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/09(木) 22:26:27.44 ID:2NLO6FIm.net
>>275
真ん中に置くなら
x = 640/2; y = 480/2;
よりも
x = (640 - cx)/2; y = (480 - cy)/2;
の方がいいかも知れない。

278 :デフォルトの名無しさん:2017/02/09(木) 23:36:33.60 ID:2NLO6FIm.net
あげ

279 :デフォルトの名無しさん:2017/02/10(金) 10:26:25.29 ID:H76iFZjX.net
ゲームなんて作る前に入門書でちょっとは勉強しろ!ってなんで誰も言わないんだ、
って思ってたら、散々言われているのに無視し続けているのか。

280 :デフォルトの名無しさん:2017/02/10(金) 11:16:47.37 ID:6mqHCUDq.net
うむ、正直1週間もやれば理解出来るようなレベルの知識が身についてない

281 : ◆BrBq2CJg6HGd :2017/02/10(金) 16:17:18.54 ID:it3LCMhX.net
C++の「最低限身に付けないといけない知識」ってどこまでですか?
クラスの継承ぐらいまでですか?

282 :デフォルトの名無しさん:2017/02/10(金) 16:31:32.84 ID:g52S2Lzf.net
>>281
>>36
本スレくらい全部読めよ
個人的には書籍のEffective C++をまるっと全部

283 :281:2017/02/10(金) 16:50:01.89 ID:it3LCMhX.net
>>282
すいません。

しかしベクタやコンテナが基礎知識ですか…。

284 :デフォルトの名無しさん:2017/02/10(金) 16:52:13.01 ID:1TaI7b3x.net
>>281
これお前だろw
>>282からの諦め早すぎwww

C++諦めたから他のオススメの言語教えて!
http://echo.2ch.net/test/read.cgi/tech/1486712019/

1 : デフォルトの名無しさん : sage : 17/02/10(金) 16:33:39.25 ID:96f+QYOp
Pythonとか気になってる。

285 :ぬーぶ ◆upkqfrxkrw :2017/02/10(金) 17:24:53.73 ID:yuwXK07v.net
ただいま

>>274-277
まだ基礎やってるから待ってくれ…_(:3 」∠)_
もうちょっとしたら基礎終わると思う。

286 :ぬーぶ ◆upkqfrxkrw :2017/02/10(金) 17:26:23.55 ID:yuwXK07v.net
>>279-280
無視してるわけじゃないよ。
だから今基礎を勉強してるのに。
1週間で理解できても中々定着しないし
ゆっくり進めてますよー。
関数は未だ使いこなせないけど…

287 :デフォルトの名無しさん:2017/02/10(金) 17:35:20.45 ID:L7wbIOrN.net
基礎はゆっくりじっくりでOK
この前のジャンケンゲームみたいに文字ベースの簡単なゲームを作りながらだとなお良い

グラフィカルなゲームしばらく忘れておこう

288 :デフォルトの名無しさん:2017/02/10(金) 17:38:24.00 ID:g52S2Lzf.net
>>283
自前でArrayとかDictionary相当のクラスを実装する気か?
勉強にはいいが、めんどくせーぞ

ついでに、boostもやっとけ

289 :281:2017/02/10(金) 17:39:27.07 ID:it3LCMhX.net
>>284
残念ですが違います。
俺はJavaをやってるので。
継承のコンストラクタでつっかかってます。

290 :ぬーぶ ◆upkqfrxkrw :2017/02/10(金) 18:08:23.71 ID:yuwXK07v.net
>>287
そうします。関数って難しいなぁ…

291 :ぬーぶ ◆upkqfrxkrw :2017/02/10(金) 18:10:15.70 ID:yuwXK07v.net
>>289
>残念ですが違います。

>『残念ですが』違います。

_人人人人人人_
>  残念ですが <
 ̄Y^Y^Y^Y^Y^Y^Y ̄

292 :283:2017/02/10(金) 18:26:17.13 ID:it3LCMhX.net
>>288
ありがとうございます。

>>291
その言葉がそんなにおかしいの?

293 :デフォルトの名無しさん:2017/02/10(金) 18:43:16.15 ID:WG8QEZTH.net
>>290
で、結局のところ数学の関数は理解できたのか?

294 :ぬーぶ ◆upkqfrxkrw :2017/02/10(金) 19:40:21.59 ID:yuwXK07v.net
>>292
It's joke. You must become to be able to understand that.
However you don't have to do it.

295 :ぬーぶ ◆upkqfrxkrw :2017/02/10(金) 19:41:40.37 ID:yuwXK07v.net
>>293
数学の関数自体は元から理解できるよ。
ただ僕が「関数が分からない」と言ったときには
数学の関数とプログラミングの関数を同一のものと
思ってたからそれで混乱したんだと思う。

学校の勉強に関しては特に心配いらないよ。多分。

296 :デフォルトの名無しさん:2017/02/10(金) 20:01:06.10 ID:WG8QEZTH.net
>>295
なるほど
関数を理解できない事はよく分かった

297 :デフォルトの名無しさん:2017/02/10(金) 20:27:53.12 ID:o1Vy+XAw.net
プログラミング始めてどれくらいなんだ?

298 :ぬーぶ ◆upkqfrxkrw :2017/02/10(金) 20:36:08.42 ID:yuwXK07v.net
>>296
…(´・ω・`)

299 :ぬーぶ ◆upkqfrxkrw :2017/02/10(金) 20:37:41.31 ID:yuwXK07v.net
>>297
分かんないけど最初に始めてからやっと1年経ったくらいかな?
けど実質半年くらいHSP触っただけでC++に関しては殆どノータッチ。

300 :デフォルトの名無しさん:2017/02/10(金) 20:47:43.01 ID:pnc3yT29.net
HSPで数千行なんてよく頑張ったと思うけれども
今はそれが裏目に出てる

正直どこをどうしてDxLibにたどり着いたかはよく分からんが、
やると決めたからにはHSPの経験は忘れたつもりで取り組んでみて

301 : ◆f5STnaEXUk :2017/02/10(金) 21:14:31.69 ID:OSge0geU.net
とりあえず>>123の本の7章まで来た

Visual Studioでコンパイルできるのか知らんけど
最近のC++は関数型っぽくauto main() -> intとかかけるようになってるんだな

302 :デフォルトの名無しさん:2017/02/10(金) 21:23:14.50 ID:oqO5ksRE.net
>>301
戻り値型の後置はVS2010から使えるよ
https://msdn.microsoft.com/ja-jp/library/hh567368.aspx
https://cpprefjp.github.io/implementation-status.html

303 : ◆f5STnaEXUk :2017/02/10(金) 21:30:22.13 ID:OSge0geU.net
>>302 ありがとう
もう使えるようになって結構たつってことか

304 : ◆f5STnaEXUk :2017/02/10(金) 21:43:49.75 ID:OSge0geU.net
ちょっと追加機能眺めてたけど生文字列R""って便利だな
マクロで先頭と右端に""を付け加えるのやってたんだけど
const char* fragment_shader =
"#version 400\n"
"\n"
"uniform struct LightInfo {\n"
...
次からはこれですむので手間がかからない
const char* vertex_shader =
R"#version 400
layout (location=0) in vec3 VertexPosition;
layout (location=1) in vec3 VertexNormal;
..."

305 :ぬーぶ ◆upkqfrxkrw :2017/02/10(金) 21:44:23.82 ID:yuwXK07v.net
>>300
数千行と言ってもテキストだけのゲームとか電卓とか
作った程度なんだけどね…。

普通に「C++ ゲーム」でググったら出た()
HSPの経験を忘れるかぁ…そうする。

306 : ◆f5STnaEXUk :2017/02/10(金) 22:01:12.13 ID:OSge0geU.net
304は勘違いだった。無効な改行があると怒られたorz

307 :ぬーぶ ◆upkqfrxkrw :2017/02/12(日) 13:47:16.15 ID:noL9hNRi.net
特にこれと言った進展はないけど
2日間書きこみしてなかったので
生存報告しときます(´・ω・`)

あのじゃんけんプログラム自体は
アドバイスしてくれてた人には申し訳ないですが
一旦放置しようと思います。
関数を使いつつ、別の方法でじゃんけんのプログラムを
もう一度組み直してみます。ごちゃごちゃになったので orz

グー、チョキ、パーの勝利条件を先にプログラムして、
その条件に当てはまったらという形式で
プログラムを組もうと思います。
その方が綺麗にまとまる気がするかもしれないと思う…(曖昧

308 :デフォルトの名無しさん:2017/02/12(日) 13:51:03.63 ID:C1x8eABn.net
>>307
goto禁止な
あと、Visual Studio使ってるならコンパイラの警告レベルをW4にした状態で警告が一切出ないようにすること

309 :ぬーぶ ◆upkqfrxkrw :2017/02/12(日) 14:00:18.73 ID:noL9hNRi.net
>>308
goto禁止は分かった。
でも警告レベルって何や…調べよ

310 :ぬーぶ ◆upkqfrxkrw :2017/02/12(日) 14:12:29.96 ID:noL9hNRi.net
/warnの事で合ってるのかな

311 :デフォルトの名無しさん:2017/02/12(日) 14:18:01.40 ID:C1x8eABn.net
https://msdn.microsoft.com/ja-jp/library/thxezb7y.aspx

312 :デフォルトの名無しさん:2017/02/12(日) 15:03:47.28 ID:/B6B3ktK.net
>>308
それはやり過ぎ。
使い方によってはMS独自関数を使わないと警告取れないだろ。

313 :デフォルトの名無しさん:2017/02/12(日) 15:04:24.52 ID:/B6B3ktK.net
>>306
文法をもう一度見直せ

314 :デフォルトの名無しさん:2017/02/12(日) 15:04:58.66 ID:/B6B3ktK.net
>>307
まずは関数を理解しろよ?

315 :デフォルトの名無しさん:2017/02/12(日) 15:44:38.81 ID:C1x8eABn.net
>>312
MS独自関数ってどれのこと?
C4996で警告される、_s付のセキュアな関数使えというやつなら、W3でも出るから違うよね?
それにこれもC由来でない、C++の標準関数使ってれば出ることないし

W4をすすめてるのは、たとえば>>265,269で指摘したうちの、3の制御が渡らないコード、4の変数名の重複はW4なら見つけられるから

コンパイラが検出可能な間違いは、コンパイラに見つけて貰うのが早いし簡単

316 : ◆BrBq2CJg6HGd :2017/02/12(日) 19:23:15.64 ID:GM4AuEc5.net
C++でなくJavaを勉強していますが、このスレに書き込んでもいいですか?

317 :デフォルトの名無しさん:2017/02/12(日) 20:25:02.04 ID:bJfLfji8.net
Javaのスレに行けよ
なんで割り込んでくるんだよ

318 :デフォルトの名無しさん:2017/02/12(日) 20:33:41.46 ID:SAJ6VZ+5.net
向こうで叩かれてると思って逃げて来たんだろ

むかつくと言いながらも中学生に同類として親近感抱いてるみたいだし

319 :デフォルトの名無しさん:2017/02/12(日) 20:38:26.34 ID:bJfLfji8.net
Javaのスレで叩かれているようには見えないが

320 :デフォルトの名無しさん:2017/02/12(日) 20:42:42.95 ID:SAJ6VZ+5.net
ああごめん、マ板の34歳のスレ

321 :デフォルトの名無しさん:2017/02/12(日) 20:45:09.66 ID:bJfLfji8.net
よそのスレの事情なんか知らねーよ
趣旨にあったスレに書け、それだけ

322 :デフォルトの名無しさん:2017/02/12(日) 20:55:24.56 ID:SAJ6VZ+5.net
まあここも再利用だけどね

323 : ◆f5STnaEXUk :2017/02/12(日) 20:56:06.31 ID:r8FM+8H0.net
くのいちみてた。おっぱいがおっぱいが

まず1が逃亡したここの趣旨なんてないようなもんだろ
だから隔離スレとして扱いしこしこ楽しむのが正しい使い方
javaでもいいさ俺もjavaわかるし

324 : ◆f5STnaEXUk :2017/02/12(日) 21:04:40.09 ID:r8FM+8H0.net
改行がそのまま保存されないから
BOOST_PP_STRINGIZEは304の目的には使えなかった

325 : ◆f5STnaEXUk :2017/02/12(日) 21:14:27.35 ID:r8FM+8H0.net
マ板の34歳のスレは少し読んだけど精神的にやられそうだったので閉じた

326 : ◆f5STnaEXUk :2017/02/12(日) 21:19:29.21 ID:r8FM+8H0.net
ぬーぶはまず関数を1個かいてそれをきちんと動くことを確認して次にすすめ
関数の呼び出しはfがgを読んでgがfを呼ぶような相互再帰的な関数は最初はさけるべし
fがgを呼んでgがhとiをよんでみたいな木構造の呼び出し関係ならそんなに複雑にはならん
相互再帰ってのはすごい強力でな、使いこなせればインタプリタとか作れるようになる

327 : ◆f5STnaEXUk :2017/02/12(日) 21:26:18.14 ID:r8FM+8H0.net
酔っ払って連投してしまった
ぬーぶのレベルだと相互再帰以前にまず再帰の理解が必要だな
関数を覚えたら次は再帰関数について覚えてみるのはどうよ

328 : ◆BrBq2CJg6HGd :2017/02/12(日) 22:22:56.03 ID:GM4AuEc5.net
すいませんでした。いろいろ事情がありまして。Javaの話題は書き込まないようにします。

>>323
ありがとうございます。
でも上に書いたようにJavaは避けます。

C/C++の話題は今まで通り書き込ませて頂きますね。

329 :デフォルトの名無しさん:2017/02/12(日) 22:43:02.91 ID:VQKvY6DK.net
>>328
いや、お前は邪魔だから
相手して欲しいなら別スレでやれ。

330 :ぬーぶ ◆upkqfrxkrw :2017/02/12(日) 23:28:13.28 ID:noL9hNRi.net
もう寝るから明日レス返します

あと別にプログラミング言語関係なく書いて良いでしょ
特に言語の制限あるわけじゃないし。
34の性格が腐っててもプログラミングする分には何ら関係ないし
普通に入ってきて良いと思うけど。

331 :デフォルトの名無しさん:2017/02/13(月) 11:47:22.98 ID:EfPr1N8x.net
>>328
ねねっちを襲名すれば堂々と居座れるぞ

332 :デフォルトの名無しさん:2017/02/13(月) 11:54:37.52 ID:zPyN1mRm.net
構って欲しいだけのクズにまじめに勉強している人の邪魔をする権利はない

333 :デフォルトの名無しさん:2017/02/13(月) 13:48:27.31 ID:lDkdvENV.net
NEWGAME!2期製作決定だぞ

334 :ぬーぶ ◆upkqfrxkrw :2017/02/13(月) 15:18:53.90 ID:tKQw00E8.net
ただいまぽん

>>314
関数をとりあえず単体で復習してみないとね。
分かったつもりになって使ってたみたい。

335 :ぬーぶ ◆upkqfrxkrw :2017/02/13(月) 15:22:37.06 ID:tKQw00E8.net
>>316
真面目にJavaやるなら入ってきても良いけど
どっかのスレみたいに助言とか手助け貰ってる癖に
無視して自分のやり方でやる、みたいなのはナシね。

何故それが必要なのか分からないなら聞いても良いけど、
(「変数名をローマ字にするな」とかの指摘とかね)
経験者から「それは今必要である」と言われたら
ちゃんと実行に移してね。それができないならバイバイ。


あと前の34スレで言ってた僕の性格についてだけど
多分二重人格って認識で良いよ。正確には情緒不安定だけど…。

336 :ぬーぶ ◆upkqfrxkrw :2017/02/13(月) 15:24:30.80 ID:tKQw00E8.net
>>317-318
そう固い事言わなくても…(´・ω・`)
問題起こさせなきゃ大丈夫でしょ。多分。

337 :ぬーぶ ◆upkqfrxkrw :2017/02/13(月) 15:27:44.37 ID:tKQw00E8.net
>>323
(。)(。) オッパイ
) , (

前から気になってたけど
ねねっちって何だろう。このスレの1はどうなったの…?

338 :ぬーぶ ◆upkqfrxkrw :2017/02/13(月) 15:31:33.85 ID:tKQw00E8.net
>>326-327
関数をまずちゃんと動かしてみる事にする。
相互再帰…また分からない単語が出てきた…
プログラミングって楽しいけど、勉強すればするほど
訳わからん言葉がいっぱい出てくるなぁ…
現役のプログラマーさんがこんな専門用語を
全部使いこなしてるって考えると気が遠くなるな。

お酒美味しいのかな。あと6年したら飲めるけど…
ワインとか飲んでみたい。ビールは苦そう。

関数の次は再帰か、覚えとく。ありがとう。

339 :デフォルトの名無しさん:2017/02/13(月) 17:39:15.29 ID:rOATsKzy.net
とりあえず1番簡単な再帰呼出の例としては
前に作ってた1〜10(100だったかも)の合計をループ文を使わずに求めるとかかな

340 : ◆f5STnaEXUk :2017/02/13(月) 18:25:08.50 ID:TsuXnt3+.net
このスレが出来たのは割と最近だからまだ1(ねねっち?)はこのスレを見ているカモな

すぐに理解できなくていいけど多分最も簡単な相互再帰の例を書いた
http://codepad.org/9tKg5ibL
この例だと相互再帰にしなくてもかける(コメント参照)
わからなかったら再帰の勉強を始める頃にまた見ればいいよ
暇だったら途中にcoutをはさんで動作を確認してみるといい
再帰は奥が深いよ

酒は将来の楽しみにしとき。6年なんてすぐ経つ

341 : ◆BrBq2CJg6HGd :2017/02/13(月) 19:08:45.85 ID:sMoY2cDa.net
お言葉に甘えて書き込ませて頂きます。

>>335
そうだね。こっちも荒らすわけにはいかないからね。

…じゃんけんプログラムがうまく作れません。というか作れたんですが、例外発生に対する策がうまくいきません。困りました…。

342 :デフォルトの名無しさん:2017/02/13(月) 19:14:38.13 ID:K7JnJ/Am.net
>>341
だからお前は邪魔だから書くなって

343 :デフォルトの名無しさん:2017/02/13(月) 19:15:44.23 ID:K7JnJ/Am.net
>>340
どうでもいいけど、名前書け

344 :デフォルトの名無しさん:2017/02/13(月) 19:16:07.46 ID:LND7XxvU.net
>>341
はいはい一生困ってていいから。
ここはお前の日記帳じゃないので独り言は他所でやってくれ。

345 :デフォルトの名無しさん:2017/02/13(月) 19:21:14.27 ID:x2io0X1K.net
やはり荒れるなw

346 :デフォルトの名無しさん:2017/02/13(月) 19:34:32.23 ID:x2io0X1K.net
話変わるがunity+c#はやらんのけ?directX+c++よりはかなり効率良いと思う(cocosでもいいけど)

347 :ふつけら ◆f5STnaEXUk :2017/02/13(月) 20:46:22.76 ID:TsuXnt3+.net
一瞬で平和が崩れたな・・
名前適当につけた。他にいい名前があったら変えるかも

>>346
unityは触ったことないけどぬーぶには難しいのでは
cocosはコンパイル時間がもっと短かったらいいのにな

348 :デフォルトの名無しさん:2017/02/13(月) 21:26:21.22 ID:wIJ9qvpZ.net
directxはwin32の知識も要るからなあ

349 :デフォルトの名無しさん:2017/02/13(月) 23:55:51.95 ID:eKrvfhiE.net
家を建てるんや!と言いながら、
ノコギリとトンカチの存在が
「何か見たことある気がする」
程度の認識だった、
みたいな状態なので、
ツールやフレームワークを使うのはまだちょっと早い気がする。

でも最初の駄々こねからあっさり方針変更して、
基礎から勉強するって言ったのは好感が持てる。
少なくとも34歳よりはずっと考え方は柔軟だろうし、
すぐ基礎は理解して先に進めるんじゃないかな。

ちな俺はゲーム作成はSDLとC++で勉強した口なのだが、
流石に古いのか誰も勧めないなww

350 :デフォルトの名無しさん:2017/02/14(火) 00:11:46.46 ID:gdLEKjA6.net
>>346
>>126
本スレぐらい検索しろよ

>>347
iosの話ならcocos自体をフレームワークなり、ライブラリ化すればいいのでは?今は、ソース以外で配布されてるのだろうか?

351 :ぬーぶ ◆upkqfrxkrw :2017/02/14(火) 00:53:50.78 ID:bcA2peqR.net
>>339
組める!それなら組める!
明日やってみよう。今日は寝るけど…

352 :ぬーぶ ◆upkqfrxkrw :2017/02/14(火) 00:55:26.56 ID:bcA2peqR.net
>>340
案の定全く分からん_(:3 」∠)_
再帰の勉強が先になりそうやね…

お酒は赤ワインならちょろっと舐めた事があるけど
何て言うか、小学校の給食のコッペパンの味がした。

353 :ぬーぶ ◆upkqfrxkrw :2017/02/14(火) 00:56:45.01 ID:bcA2peqR.net
>>341
例外発生って何?
グーチョキパー以外のものを出されたらどうすれば良いか的なやつなら
グーチョキパーを数値にしてそれに当てはまらないやつをelseでエラーにすればええやん。

違ってたらすまそ

354 :ぬーぶ ◆upkqfrxkrw :2017/02/14(火) 00:57:37.56 ID:bcA2peqR.net
>>346
過去レス参照をお願いしますです。
ゲームエンジン系はあんまり使いたくない派です…

355 :ぬーぶ ◆upkqfrxkrw :2017/02/14(火) 00:59:08.89 ID:bcA2peqR.net
>>347
ふつけらって何だ…おけらの亜種か…

統合開発環境って色んな種類あるんやね。
Visual Studioiの他にもgccとか…。

356 :デフォルトの名無しさん:2017/02/14(火) 01:00:52.88 ID:LYU+uuAa.net
>>355
gccはIDEではないぞよ

357 :ぬーぶ ◆upkqfrxkrw :2017/02/14(火) 01:02:01.98 ID:bcA2peqR.net
>>349
家を建てるんや!え?んなもん粘土で作るわ!
の状態だったからなぁ…(´・ω・`)

ありがとう。でも基礎の関数でちょっと躓いてるなう…_(:3 」∠)_
でも頑張って理解して先進まないとね。ゲームゲーム。

358 :ぬーぶ ◆upkqfrxkrw :2017/02/14(火) 01:02:27.54 ID:bcA2peqR.net
>>356
え、そうだったのか
じゃあgccって何なんだ…ただのコンパイラ?

359 :ぬーぶ ◆upkqfrxkrw :2017/02/14(火) 01:03:54.33 ID:bcA2peqR.net
さて今日は寝ます…


おやすみいいいいいいいいいいいいいいいいいいいいいいいいいい!!!!!!!!!_(:3 」∠)_
…興奮状態で全然寝れないや(´・ω・`)

360 :デフォルトの名無しさん:2017/02/14(火) 01:25:45.63 ID:s/PYCl8L.net
>>357
もう一度言っておくが、まずは数学の関数を理解しろ

361 :ふつけら ◆f5STnaEXUk :2017/02/14(火) 05:08:59.42 ID:VuYK65sq.net
>>350 何を言っているかよくわからなかったが
静的ライブラリをビルドしてコンパイルを高速化するテクニックとかあるようだ

>>355 普通のおけらという意味だよ。嘘だけど
http://echo.2ch.net/test/read.cgi/tech/1484491434/l50
コテつけたのこのスレからだからコテで書き込んだことはないけどここは見てる

362 :デフォルトの名無しさん:2017/02/14(火) 07:14:02.78 ID:gdLEKjA6.net
>>357
お前の悪いところは、いつまでたっても難しい、わからないしか言わないところ

わからないだけじゃなく、具体的にどうわからないのか説明して見たら?
こういう風な動作を期待しているのに、こんな結果になってしまったと
できればコード付きで
そしたら、優しい誰かが答えてくれるだろうよ

363 :ぬーぶ ◆upkqfrxkrw :2017/02/14(火) 15:47:12.26 ID:bcA2peqR.net
>>360
もう一度言っておくが、数学の関数は理解している
というか何を根拠に数学の関数を理解してないと思ったの?

364 :ぬーぶ ◆upkqfrxkrw :2017/02/14(火) 15:48:46.00 ID:bcA2peqR.net
>>361
普通の螻蛄、なんかカッコいい

365 :デフォルトの名無しさん:2017/02/14(火) 15:49:16.97 ID:s/PYCl8L.net
>>363
数学の関数とCの関数は別物だと思ってるだろ?

366 :ぬーぶ ◆upkqfrxkrw :2017/02/14(火) 15:51:05.71 ID:bcA2peqR.net
>>362
具体的にどう分からないかっていうのが
上手く言い表せないっていうか…
何を失敗してるかが分からない状態。
プロトタイプ宣言もしてるのにエラーになる、とか。

取り敢えず前のじゃんけんプログラムは没だから
また新しいコードで躓いたら上げて質問させてもらいます。

367 :ぬーぶ ◆upkqfrxkrw :2017/02/14(火) 15:51:51.37 ID:bcA2peqR.net
>>365
前に別物って言われたから完全に別物だと思ってるけど…
もうどっちなんだよハッキリしてくれよぉ…(´;ω;`)

368 :デフォルトの名無しさん:2017/02/14(火) 15:55:33.15 ID:s/PYCl8L.net
>>367
だから、関数を理解しろと何度も・・・

369 :ぬーぶ ◆upkqfrxkrw :2017/02/14(火) 16:05:32.91 ID:bcA2peqR.net
>>368
…何か話が噛みあわないみたいだからもういいや。

370 :デフォルトの名無しさん:2017/02/14(火) 16:55:43.10 ID:GstB0RWe.net
すまん、基本だと思うが教えてくれ。

http://fefnir.com/soft/himacroex00.htm

HiMacroEx のソフトをつかってマクロを
タイマーで実行させたいが、どうもスクリーンセーバーが
かかると、マクロが実行ができないようだ。3日かけてやっと気づいた。
スクリーンセーバーは絶対にかけたい。

スクリーンセーバー中でも実行する方法がありますか?

371 :デフォルトの名無しさん:2017/02/14(火) 17:00:09.40 ID:Xqe6dJB0.net
プログラムの書き方を見てもそうだが、
意味論を理解するタイプじゃなくて、公式を暗記すればいいと思っているタイプだろう、こいつは。
その手の輩に関数というものの本質的な定義や意味論を語っても無駄。

372 :デフォルトの名無しさん:2017/02/14(火) 19:28:15.69 ID:u0s5do/i.net
>>369
色々言われることもあると思うけど情報は自分で取捨選択すれば良いよ
大事なのは穏便に済ませること

こちらに伝わるように質問を考えるのも頭の整理になるし、どんどんコードを出していって見て

373 :デフォルトの名無しさん:2017/02/14(火) 19:30:11.71 ID:WXtvn4e6.net
>>371
無駄だろうなあ。。。
とはいえ、そんな馬鹿の意識を変えないことには
プログラマーになんてできない訳で

374 :デフォルトの名無しさん:2017/02/14(火) 19:31:47.49 ID:WXtvn4e6.net
>>369
とりあえず、お前さんには適性が全く無いことが判った
早く諦めた方が身のためだぞ?

375 :デフォルトの名無しさん:2017/02/14(火) 19:53:57.19 ID:s/PYCl8L.net
>>369
そういうことなら、俺から教えることは何もないな。

376 :ぬーぶ ◆upkqfrxkrw :2017/02/14(火) 20:46:52.88 ID:bcA2peqR.net
>>372
ありがとうございます。
質問は今の所特に大丈夫なので
また困ったら調べた上で質問させてもらいます。

377 :ぬーぶ ◆upkqfrxkrw :2017/02/14(火) 20:53:59.13 ID:bcA2peqR.net
>>374-375
何か勘違いされてるみたいだけど、
数学の関数を理解できない=プログラミングの関数も理解できない
っていう考え方が僕には理解できない。
数学の関数は理解できるけど、プログラミングの関数は
まだ完全には理解できないと言ってるのに
「お前は数学の関数を理解できてない!」なんてずっと言われても。

そんなに数学とプログラミングの関数が一緒って言うなら
どう一緒なのかを教えてよ。
僕は前に数学とプログラミングの関数は別物って言われて
別物としか認識できてないから分からない。

378 :デフォルトの名無しさん:2017/02/14(火) 20:56:50.38 ID:Xqe6dJB0.net
関数がわからないと、この言語における関数の書き方がわからない、はわけようぜ。

379 :ぬーぶ ◆upkqfrxkrw :2017/02/14(火) 20:57:23.84 ID:bcA2peqR.net
>>371
出来る限り理解するようにはしてるけど
最初は公式の暗記だね。形だけ。
プログラミング初心者でおまじないを完全に理解できる人なんていないでしょ。
使っていく中で理解するんじゃないの?

380 :ぬーぶ ◆upkqfrxkrw :2017/02/14(火) 21:00:58.00 ID:bcA2peqR.net
>>378
んー何て言うか基本的な関数の使い方自体は理解できるんだけど、
この前のじゃんけんのプログラムみたいに関数同士を複雑に絡み合わせると
少し難しい、というのが言いたかった。

この前のじゃんけんプログラムは>>242です。

381 :デフォルトの名無しさん:2017/02/14(火) 21:04:43.08 ID:u0s5do/i.net
もう一度だけ言うけど穏便に済ますことが大事
掲示板で勉強がしたいんなら言いたいことを飲み込むのも技術の内

382 :デフォルトの名無しさん:2017/02/14(火) 21:09:55.03 ID:bAPYpdLS.net
自分はとりあえずおまじないにしておいたとしても知らないままだと気持ち悪い派だなあ

383 :ぬーぶ ◆upkqfrxkrw :2017/02/14(火) 21:10:36.31 ID:bcA2peqR.net
>>381
そうなんだけど…苦手やね…(´・ω・`)
頑張ります。

384 :ぬーぶ ◆upkqfrxkrw :2017/02/14(火) 21:12:35.69 ID:bcA2peqR.net
>>382
C++だとヘッダーファイルだっけ、あれを持ってくるだけだけど
JavaとかなるとOS関係までおまじないあるからなぁ…。
ある程度勉強しないと理解できないもどかしさ。

385 :デフォルトの名無しさん:2017/02/14(火) 21:18:57.71 ID:Xqe6dJB0.net
程度問題だよ。
電子レンジを、他の人の見よう見まねで適当に操作して似た使い方をされたらたまらない。
生卵入れたり、アルミホイル入れたり、レンジしたいのにオーブンにしたりね。

でも、電子レンジの構造から仕組みまで何から何まで完全に理解して使う必要もない。

何事にも適切な理解の程度というものがあるんだよ。

386 :デフォルトの名無しさん:2017/02/14(火) 21:24:14.57 ID:LYU+uuAa.net
いい例えだな

387 :デフォルトの名無しさん:2017/02/14(火) 22:02:19.34 ID:gdLEKjA6.net
>>366
最低限、エラーの内容とコードさえ貼れば誰かエロい人が教えてくれると思うぞ

その前にエラー内容をググって、こう言う内容っぽいエラーですがよくわかりません位言うと、印象が多少よくなる

388 :デフォルトの名無しさん:2017/02/15(水) 07:04:17.25 ID:d4K0Q+Zj.net
>>384
javaにそんなんあったっけ?

389 :デフォルトの名無しさん:2017/02/15(水) 09:03:23.62 ID:q0sxrs09.net
>>370
> すまん、基本だと思うが教えてくれ。
>
> http://fefnir.com/soft/himacroex00.htm
>
> HiMacroEx のソフトをつかってマクロを
> タイマーで実行させたいが、どうもスクリーンセーバーが
> かかると、マクロが実行ができないようだ。3日かけてやっと気づいた。
> スクリーンセーバーは絶対にかけたい。
>
> スクリーンセーバー中でも実行する方法がありますか?


よろしくお願いします。
板違いでしたら、お勧めの板に誘導してください。

390 :デフォルトの名無しさん:2017/02/15(水) 10:07:22.45 ID:s9IhNvgc.net
>>385
たとえ話を誰かが始めると話の流れや解釈が意味不明になることが多いけど
これはなんかすっきりしてるな
わかりやすい

391 :デフォルトの名無しさん:2017/02/15(水) 12:29:32.49 ID:q0sxrs09.net
>>370 ですが

他の板に移動します。
    

392 :ぬーぶ ◆upkqfrxkrw :2017/02/15(水) 15:20:05.71 ID:0l8dFlwE.net
>>385
なるほど、分かり易い
適度に知っておけば良いんやね

393 :ぬーぶ ◆upkqfrxkrw :2017/02/15(水) 15:20:41.09 ID:0l8dFlwE.net
>>387
分かった。基本自分で調べて
どうしても分からなかったらそうする。

394 :ぬーぶ ◆upkqfrxkrw :2017/02/15(水) 15:20:57.70 ID:0l8dFlwE.net
>>388
なかったっけ?

395 :デフォルトの名無しさん:2017/02/15(水) 19:11:35.56 ID:JfktYUhD.net
教えてもらう態度がなってないのな

396 :デフォルトの名無しさん:2017/02/15(水) 22:25:52.65 ID:GHtkX/yp.net
スレタイにねねっち付いてるだけで糞スレが伸びてるとかびびる

397 :デフォルトの名無しさん:2017/02/15(水) 23:01:55.01 ID:7JyTf22P.net
進歩が全然ないじゃん! なんで!?

398 :デフォルトの名無しさん:2017/02/16(木) 10:35:54.44 ID:32zx6irr.net
中学生なのに高齢者並に遅い

399 :デフォルトの名無しさん:2017/02/16(木) 10:38:48.00 ID:Ram8AUll.net
まあ中身は34歳だしなぁ

400 :ぬーぶ ◆upkqfrxkrw :2017/02/16(木) 15:35:16.92 ID:inR55E2d.net
>>397-398
今は特に進展ないね…ごめん(´・ω・`)

401 :ぬーぶ ◆upkqfrxkrw :2017/02/16(木) 20:45:03.84 ID:inR55E2d.net
グーチョキパーの強さを予めプログラムしておきたいんだけど
本当言うとどうやってプログラムするかずっと悩んでて進展がない…(´;ω;`)

402 :デフォルトの名無しさん:2017/02/16(木) 20:53:58.80 ID:Ram8AUll.net
SDLフローチャートでも書いてみなよ。

403 :デフォルトの名無しさん:2017/02/16(木) 21:25:11.26 ID:OkMHwQea.net
>>401
あらかじめプログラムするために関数があるじゃん
実装は後で良いから何をもらって(引数)、何を返すか(返り値)をまず決めれば良い

404 :デフォルトの名無しさん:2017/02/16(木) 21:38:32.61 ID:MUwuyanU.net
初心者のうちは他人の書いたコードを出来るだけ沢山読むのがいい
読んで理解して、慣れてきたら改造してみるのが力がつく

405 :デフォルトの名無しさん:2017/02/16(木) 23:24:55.53 ID:UZCJcrCy.net
>>401
グーチョキパーの強さとは?予めプログラムとは?
もっとプログラマに分かるように説明頑張ろうよ。

406 :デフォルトの名無しさん:2017/02/17(金) 00:49:19.51 ID:dXXL8kgy.net
3種類の手しかない普通のジャンケン作るのに強さの定義とか不要だしセンスがない
n種類の手があるジャンケン作りたいならn×nの上三角行列作ればいいだけ

407 :デフォルトの名無しさん:2017/02/17(金) 01:17:00.31 ID:7PQNWD7y.net
パーは最弱って事だろ。

408 :デフォルトの名無しさん:2017/02/17(金) 09:48:14.80 ID:iuwmUw8O.net
最近のカードゲームよろしくフィールド効果とか補助カードとか
いろんな要素があって、古式ゆかしい三すくみではないんだろう。

409 :ぬーぶ ◆upkqfrxkrw :2017/02/17(金) 15:10:21.12 ID:zIil3epi.net
>>403
そうしたいんだけどなかなか…
上手くいかないんだねこれが…

410 :ぬーぶ ◆upkqfrxkrw :2017/02/17(金) 15:11:52.29 ID:zIil3epi.net
>>405
えーと、
グーはチョキに勝ってパーに負ける、
チョキはパーに勝ってグーに負ける、
パーはグーに勝ってチョキに負ける、
っていう強さ関係を予めプログラムしておきたい。

411 :デフォルトの名無しさん:2017/02/17(金) 16:00:40.31 ID:ZF00EycL.net
関数すら理解できない奴の思考はその程度って訳か

412 :デフォルトの名無しさん:2017/02/17(金) 16:58:40.00 ID:/AnTLUch.net
>>410
ぬーぶが書いたやつだって、その勝敗判定を「予めプログラムしてる」だろ?
自分が書いたコードとやりたい事の何が違うのか説明してみて。

関連して、>>406の内容や、優しいお兄さんが作った2つのじゃんけんプログラムは読んだ?

413 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/17(金) 17:16:03.67 ID:MbV+Py5H.net
// 二人ジャンケンの勝負判定。
// 0:引き分け、1:勝ち、-1:負け
int hantei(int anata, int computer)
{
...
}

414 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/17(金) 17:19:35.15 ID:MbV+Py5H.net
// n人ジャンケンの勝負判定。
int hantei(int anata, int n, int *players)
{
...
}

415 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/17(金) 17:29:38.33 ID:MbV+Py5H.net
【n人ジャンケンのルール】
n人がグー、チョキ、パーの3グループに分かれたら、引き分け。
n人がグー、チョキ、パーのいずれかの1グループのみになったら、引き分け。
n人がグー、チョキ、パーのうちの2グループのみに分かれたら、その2種類の手について、二人ジャンケンのように勝負を決める。

416 :デフォルトの名無しさん:2017/02/17(金) 17:32:03.95 ID:lf/5rABj.net
>>417-418
そういう事じゃ無いなら

417 :デフォルトの名無しさん:2017/02/17(金) 17:33:45.29 ID:lf/5rABj.net
ないから

418 :デフォルトの名無しさん:2017/02/17(金) 17:38:42.95 ID:1EaRXg77.net
>>401
こういう「察してよ〜答え教えてよ〜」みたいなレスが一番ムカつく。
しかもこういうクズは注意されると「聞いてるわけじゃないしw」みたいな
言い訳をするだけ。
自力で考えるつもりがないならプログラミングなんて辞めちまえよ。

419 :デフォルトの名無しさん:2017/02/17(金) 17:41:13.48 ID:E3U4XBZQ.net
お前ら中学生相手に容赦ないな

420 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/17(金) 18:01:30.53 ID:MbV+Py5H.net
数学で言うところの行列は、コンピュータでは二次元配列で表せる。ただし、配列の要素はゼロベースの添字でアクセスしないといけない。

enum TE { GOO = 0, CHOKI = 1, PAH = 2 };
enum HANTEI { KACHI = 1, MAKE = -1, HIKIWAKE = 0 };
HANTEI hantei(TE anata, TE computer)
{
static const HANTEI niji_hairetsu[3][3] =
{{HIKIWAKE, KACHI, MAKE}, {MAKE, HIKIWAKE, KACHI}, {KACHI, MAKE, HIKIWAKE}};
return niji_hairetsu[anata][computer];
}

421 :デフォルトの名無しさん:2017/02/17(金) 19:40:03.87 ID:eYTxk1dO.net
win,loose,drawとかがいいな…

422 :デフォルトの名無しさん:2017/02/17(金) 20:45:37.43 ID:lf/5rABj.net
>>424
求められてるのはそういう事じゃ無いだろ

423 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/17(金) 21:05:05.81 ID:MbV+Py5H.net
グー、チョキ、パーで一番強いものというものはない。順序関係になっていないから、
君のいう強さというのは1つの数では表せない。数学的には2つの手に関して、勝ち・負け・引き分けを決める二値
関係があるかどうかが問題だ。これをシンプルに表すなら二次配列を使うのがベストだろう。

424 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/17(金) 21:12:56.49 ID:MbV+Py5H.net
アンカー間違えてるぞ、ゴルァ!

425 :デフォルトの名無しさん:2017/02/17(金) 22:29:19.41 ID:/AnTLUch.net
>>413
>>414
interface切り方センスなくない?

426 :KAC:2017/02/17(金) 22:34:08.12 ID:5IS1oOxO.net
>>423
そういう訳でもない。
じゃんけんは三つしかない世界で強さの輪を作っているんだから、
グー=G パー=P チョキ=C の三つで、G<P,P<C,C<Gの関係を表せばいいだけ。

弱い順に並べると、GPCGPCGPCGPCGPCGPCGPC・・・と繰り返す。
この並びからわかるとおり、
Gを出して相手が一つ右のPで「負け」 二つ右のCで「勝ち」 同じGで「あいこ」
Cを出して相手が一つ右のGで「負け」 二つ右のPで「勝ち」 同じCで「あいこ」
Pを出して相手が一つ右のCで「負け」 二つ右のGで「勝ち」 同じPで「あいこ」
となる。
繰り返しの表現なら、差を比べるだけで勝ち負けの判定は可能だって事。

0123456789 と増えていく数を
0120120120 と表現する方法は簡単で、3の剰余を求めれば良い。

なので、勝ち負けの判定は、
正の数だけ使うためにベースを足して差を求め、3の剰余を求めるだけ。

( 3 + computer - anata ) % 3 ;

求めた結果が0ならあいこ、1なら負け、2なら勝ちとなる。


> 君のいう強さというのは1つの数では表せない。

というのは、工夫次第でどうにでもなるってことだ。

427 :デフォルトの名無しさん:2017/02/17(金) 22:48:25.90 ID:C9lFCZn0.net
>>410
「グーチョキパーが最初から自分の強さを知っている」設計はアリだとは思うけど
正直冗長だしCっぽく書いてもこんなモンなので
関数もおぼつかない状態でやる事じゃ無いと思う
http://ideone.com/i4H8aG

428 :デフォルトの名無しさん:2017/02/17(金) 22:56:03.34 ID:/AnTLUch.net
>>426
答え書いちゃったのね^^。
俺は高校の時これ見てめちゃ感動した。後に群論知って奥深さ感じたな〜。
これはもはやidiomだよね。

上でサンプルあげた人のコードも勿論これ。

ぬーぶには悩んで考えてコード読んで感動して欲しかった。まー、まだ無理か。

429 :デフォルトの名無しさん:2017/02/17(金) 23:37:18.63 ID:hOxi7mQ6.net
俺ももちろん解ってたよ

430 :デフォルトの名無しさん:2017/02/18(土) 02:56:52.89 ID:gmcYBKXm.net
後からなら何とでも言える罠

431 :ふつけら ◆f5STnaEXUk :2017/02/18(土) 08:16:29.55 ID:PSTKE0Se.net
stl、二次元配列、剰余、ビット演算
話題がじゃんけんプログラムしかないから解明が進んでるな

数学的には任意の2元の序列はつくのに
じゃんけんは前順序でも半順序でも全順序でもない関係なんだな

432 :デフォルトの名無しさん:2017/02/18(土) 10:26:25.96 ID:tLEefMeo.net
>>427
これ見て思ったけど、じゃんけんは3人以上でルール変わるのな。

433 :デフォルトの名無しさん:2017/02/18(土) 12:24:09.43 ID:OWfya4VJ.net
グーチョキパーをそれぞれ出した人がいればあいこになる奴か。
3人ならゲームバランスはまだ取れているけど、それ以上になるとあいこが激増して一気に糞ゲー化するよね

434 :ふつけら ◆f5STnaEXUk :2017/02/18(土) 12:46:50.14 ID:PSTKE0Se.net
p_aiko(n):=1-(2^n-2)/(3^(n-1));
for i:2 thru 10 do print(1 - p_aiko(i)); done;
等確率のじゃんけんでも8人までは勝敗が決まる確立が1割は越えてる
このぐらいの人数までなら現実でもそこそこ盛り上がる気はする

435 :デフォルトの名無しさん:2017/02/18(土) 12:59:06.04 ID:ZR9eAolI.net
>>239
5人で連続あいこ14回か

436 :ぬーぶ ◆upkqfrxkrw :2017/02/18(土) 19:04:10.96 ID:zLb7XvBC.net
>>411
こういう事言う意味不明な人がいるから
段々やる気なくなって来たくなくなるんだよなぁ…
暫く独学で勉強させてもらいます。
スレは見てるので何かあったら呼んで下さい。

437 :デフォルトの名無しさん:2017/02/18(土) 19:25:48.41 ID:VEC9TI2H.net
頑張り過ぎないようにね、ぬーぶ君。君は先が長い。

438 :デフォルトの名無しさん:2017/02/18(土) 19:28:23.07 ID:rK6OXg4U.net
>>144でも言ったけれどフェードアウトは止めてくれると嬉しい
すっぱり名無しに戻った方が気楽な時もある

439 :ぬーぶ ◆upkqfrxkrw :2017/02/18(土) 19:36:01.58 ID:zLb7XvBC.net
>>437-438
ありがとうです。
居なくなる事はないので大丈夫ですよ。

440 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/18(土) 22:38:13.87 ID:MCn1lDME.net
ぬーぶさん、当たり判定は理解できたか?

441 :デフォルトの名無しさん:2017/02/19(日) 00:18:28.10 ID:L2qfhC9D.net
>>436
キミ、かっこ悪いな。ちょっとdisられただけで他人のせいにしていじけるなんて。自分も34才disりまくってたのにもかかわらずだw

本当は付いていけない自分が嫌なんだろうが、焦る必要はないよ。続けていればある日開眼する。その後また実は全然わかってなかったと落ち込むが、またさらに開眼する、この繰り返しよ。

キミには「無知の知」という言葉を贈ろう、頑張れ。

442 :ふつけら ◆f5STnaEXUk :2017/02/19(日) 07:08:07.99 ID:o7AFblAP.net
>>436
いやなレスは次々NG IDに放り込むとかいう手もある
つかれたなら休み

443 :デフォルトの名無しさん:2017/02/19(日) 15:53:10.31 ID:IydY0Dzj7
https://ideone.com/ncK0WQ
C++のことは知らんが、clojureって言語でn人じゃんけん実装したぞ
かなり言語のトリッキーな部分つかってるから解説もするわ

まずn人じゃんけんの特性だけど、上でご指摘あるとおり、場に出された手(hands)の種類が1つまたは3つならばあいこである。
問題は場にだされた手が2つの場合なのである。

def winner部
場に出された種類が2つのとき、勝者のhandをきめる必要がある。
gooとchokiならgooの勝ちでしょ、そりゃ
:gooって感じで前に:ついてるのは気にしなくていい。別に:gooを"goo"に書き換えても動くからこれ
#{}ってのは集合を示す。この例で#{;goo :choki}ならグーとちょきが場に出ていると解釈してくれ
#{:goo :choki}って入力されたらreturn ;goo って感じね
これは実は関数じゃなくて単なる早見表みたいなもんなんだが、関数としてみてくれてもいい。

defn n-janken部
handsは引数、この関数に入れる入力、handsの例は下に書いてあるhands1からhands3を見てくれ
見てのとおりだ、アリスはグーを出し、トムはちょきを出し・・・って感じ
letは変数宣言みたいなものとみてくれてかまわない
varietyは、場に出された手の種類を覚える。
hands1を入力に突っ込んだら、varietyには#{:goo :choki :par}が入る。
win-handはwinner関数にvarietyを突っこんだときの返り値を覚える。
この場合def winnerには#{:goo :choki :par}が入力の場合の出力が定義されていない。
具体的にはnil (null pointer)を返す。
あとは、上記じゃんけんルールを適用するだけ。
varietyの数が3なら、それはあいこだ、:goo :choki :parが場に出ている。
1の場合もあいこだ、だから:evenという返り値を持ってあいこを示すことにする。
varietyが2の場合はwinner関数を用いて勝者の手を決めることができる。
だからそれを持っている人をhandsからフィルタリングして返せばいい。

C++にもたぶんboostとかSTLに似たようなシステムはあるはずだからそれに移植すればいい
個人的にはいきなりC++で書くのはおすすめしないけど、3Dゲームやるならまあ逃げられんわな

444 :デフォルトの名無しさん:2017/02/19(日) 16:40:45.20 ID:IydY0Dzj7
https://ideone.com/ncK0WQ
ちょっと改良して、handsを自動生成する関数も追記した。

コード自体は長くなってしまったが、
結局ほとんどが出力を確認するためのテスト関数にすぎない。
そしてこの修正において一切defn n-jankenに触れる必要はなかった。
これが関数を書く意味であり、うまく関数を作るっていうのは
究極的に言えば何を入力として、何を出力とするのかをうまく決めることだ。
入出力をうまく決めてやれば、もとの関数を修正する必要がなくなる。

たぶんwinner表を他の言語で作るとなるとかなりめんどくさそうだと思う。
少なくとも書き方を調べないと俺には書けない。
だけどもしC++でこれを実装するとしたら、構文はさておき
似たような形(意味論、セマンティクス)で実装すると思う。

なおこのじゃんけんだと一人じゃんけんすると:evenを返すようだ。
これに気に食わなければ修正していいし、つまりデータの解釈ってのは
自由にやっていいってことだ。

ライブラリを使い始めるとデータの解釈や入出力がある程度取り決められる。
それは、機械と会話するためにそうせざるをえないからだ。
そうでないときにまで、機械と会話するように入出力のフォーマットを縛る必要はないし
縛ると苦しい実装しかできない。

445 :デフォルトの名無しさん:2017/02/19(日) 17:05:30.51 ID:zCzNbcF8.net
https://ideone.com/ncK0WQ
C++のことは知らんが、clojureって言語でn人じゃんけん実装したぞ
かなり言語のトリッキーな部分つかってるから解説もするわ

まずn人じゃんけんの特性だけど、上でご指摘あるとおり、場に出された手(hands)の種類が1つまたは3つならばあいこである。
問題は場にだされた手が2つの場合なのである。

def winner部
場に出された種類が2つのとき、勝者のhandをきめる必要がある。
gooとchokiならgooの勝ちでしょ、そりゃ
:gooって感じで前に:ついてるのは気にしなくていい。別に:gooを"goo"に書き換えても動くからこれ
#{}ってのは集合を示す。この例で#{;goo :choki}ならグーとちょきが場に出ていると解釈してくれ
#{:goo :choki}って入力されたらreturn ;goo って感じね
これは実は関数じゃなくて単なる早見表みたいなもんなんだが、関数としてみてくれてもいい。

defn n-janken部
handsは引数、この関数に入れる入力、handsの例は下に書いてあるhands1からhands3を見てくれ
見てのとおりだ、アリスはグーを出し、トムはちょきを出し・・・って感じ
letは変数宣言みたいなものとみてくれてかまわない
varietyは、場に出された手の種類を覚える。
hands1を入力に突っ込んだら、varietyには#{:goo :choki :par}が入る。
win-handはwinner関数にvarietyを突っこんだときの返り値を覚える。
この場合def winnerには#{:goo :choki :par}が入力の場合の出力が定義されていない。
具体的にはnil (null pointer)を返す。
あとは、上記じゃんけんルールを適用するだけ。
varietyの数が3なら、それはあいこだ、:goo :choki :parが場に出ている。
1の場合もあいこだ、だから:evenという返り値を持ってあいこを示すことにする。
varietyが2の場合はwinner関数を用いて勝者の手を決めることができる。
だからそれを持っている人をhandsからフィルタリングして返せばいい。

C++にもたぶんboostとかSTLに似たようなシステムはあるはずだからそれに移植すればいい
個人的にはいきなりC++で書くのはおすすめしないけど、3Dゲームやるならまあ逃げられんわな

446 :デフォルトの名無しさん:2017/02/19(日) 17:06:14.79 ID:zCzNbcF8.net
https://ideone.com/ncK0WQ
ちょっと改良して、handsを自動生成する関数も追記した。

コード自体は長くなってしまったが、
結局ほとんどが出力を確認するためのテスト関数にすぎない。
そしてこの修正において一切defn n-jankenに触れる必要はなかった。
これが関数を書く意味であり、うまく関数を作るっていうのは
究極的に言えば何を入力として、何を出力とするのかをうまく決めることだ。
入出力をうまく決めてやれば、もとの関数を修正する必要がなくなる。

たぶんwinner表を他の言語で作るとなるとかなりめんどくさそうだと思う。
少なくとも書き方を調べないと俺には書けない。
だけどもしC++でこれを実装するとしたら、構文はさておき
似たような形(意味論、セマンティクス)で実装すると思う。

なおこのじゃんけんだと一人じゃんけんすると:evenを返すようだ。
これに気に食わなければ修正していいし、つまりデータの解釈ってのは
自由にやっていいってことだ。

ライブラリを使い始めるとデータの解釈や入出力がある程度取り決められる。
それは、機械と会話するためにそうせざるをえないからだ。
そうでないときにまで、機械と会話するように入出力のフォーマットを縛る必要はないし
縛ると苦しい実装しかできない。

447 :デフォルトの名無しさん:2017/02/19(日) 17:09:58.18 ID:zCzNbcF8.net
あとヒューマンプレイヤーを実装したいならhandsに標準入出力から入力した手を追加して関数呼びだしするだけでいいよ、これはちょっとめんどいから保留で

448 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/19(日) 17:44:01.52 ID:258Rl1AZ.net
おいおい、C++勉強中の中学生にClojureを教えるつもりか?

449 :ふつけら ◆f5STnaEXUk :2017/02/19(日) 18:44:52.93 ID:o7AFblAP.net
せっかくだからコンパイルしてみようと思ったけど名前だけで検索してインストールしたら
closure-compilerって名前のjavascript関連のツールがインストールされてた
Closureって言語は関数のクロージャともややこしくて検索でヒットしにくくて名前で損してるな
ややこしい

450 :デフォルトの名無しさん:2017/02/19(日) 19:29:17.40 ID:7wQmZFsK.net
プログラミングの理解は別にどうでもいいけどさ、普通に学校通えるようになったのか?

451 :デフォルトの名無しさん:2017/02/19(日) 20:15:44.13 ID:zCzNbcF8.net
>>448
だいたい全部のこれまでのレスを読んだわ
それで優先順位つけるとすると、中学生なら学校いけとしか思えん

452 :デフォルトの名無しさん:2017/02/19(日) 20:43:07.61 ID:zCzNbcF8.net
ガチでプログラムで飯食っていきたい、ゲームエンジンデザインしたいって言うなら
次の本は読んどけ、一線級のプログラマが何を考えているのかを知っておけ
ゲームエンジン・アーキテクチャ 第2版 ジェイソン・グレゴリー
本当に重要なのはどのようにライブラリ、パッケージを分割するかだ、つまりアーキテクチャだ
関数の分割もできないやつはアーキテクチャを作れない
次に意味論だ、アルゴリズムやデータ構造をよく知っとけ、使いこなせ
ここらへんは、言語によって呼ばれ方は様々だが
1.単方向リスト、 2.ベクタ、 3.セット(集合)、 4.連想配列(辞書、ディクショナリ、ハッシュ、マップ)
この4つだけは最低抑えとけ、C++で戦っていく気ならSTLだかboostだかに入っているであろうこれらのデータ構造を探しとけ
もっと言えば5.2分平衡木ぐらいはしっとけ
ガチで3Dのゲームエンジンをデザインするなら木構造は必須だ

これらをしっかり理解しとけばじゃんけんプログラムの実装においても
ほとんど設計で悩むことはない
事実俺はじゃんけんのルールをただ記述しただけだ
3つの手がでればあいこ1つの手がでればあいこ、
2つの手が出たならばグーとちょきはグーが勝ち、ちょきとパーは・・・(ここは表(テーブルともいう)で処理した)
華やかさのために人の名前も入れたけど、本当はいらないし省ける
ただじゃんけんのルールを記述するだけでよくなる
たかがじゃんけんのルールを記述するのに設計がどうだの議論は不要だろ?
(もちろんじゃんけんのルールを深掘りすれば使える不変量みたいなものは見つかるかもしれないが)

453 :デフォルトの名無しさん:2017/02/19(日) 20:50:51.50 ID:zCzNbcF8.net
代わりに性能はC++で真面目に書いたときに比べて比較にならんほど遅いはずだ
だから妥協することになる、妥協とは機械に歩み寄ることだ
プログラム設計とは、
1.どこまで機械に歩み寄るか、機械に歩み寄るほどデバッグが難しくなる
人間様としては、先程のclojureプログラムのように書きたい
2.プログラムのどのリソースを使うか、
 CPUかメモリか、メモリ帯域か?ハードディスクかネットワーク帯域か?
 場合によってはGPUにアクセスしないといけない。特に3DゲームはGPUを使えないとだめだ

じゃんけんにパフォーマンスは必要ないが、
100万回じゃんけんするプログラムを書くときはパフォーマンスが重要になるだろう
つまりは100万回じゃんけんを回す要件ができたときに書き直せばいい
最初から100%最速で、かつイケてるプログラムを書こうとしてはいけない
C++で性能を出すとするとwinner表は、二次配列で実装するだろう
みんなが書いているようにgoo choki parを0 1 2にいちいち対応させないといけないかもしれない
群論を用いてやる方法も書いてあったが、たぶん実装すると遅いはず
二次元配列で表を作ったほうがメモリアクセスだけで済むし、余計な計算はいらないからな
ただ二次元配列を定義するとメモリを少しばかり使うわけで、
場合によっては群論的アプローチをとったほうが、メモリを食わないことだってあるわけだ
もしビッグデータでじゃんじゃん配列使うとメモリオーバーフローなんてかんたんに起こすからな、3Dも同じだね

ライブラリを使いたくないってのは、理由が2つあって
1つ、ライブラリが理解できないってことだ、ありがたみもわからないから使いたくないというわけだ
2つ目は、ライブラリがいけてないと思っているからだ、自分が書きたいようにかけないと感じているからだ
そういうやつは例え間抜けなことであっても車輪の再生産をする、ライブラリを一から作る
俺もインタフェース(入出力)が気に入らなかったり信用できなかったりしたら一から作る
ただ一個人が作るオレオレライブラリより、ゲームエンジンのほうが遥かに信頼性高いからな
いけてないインタフェースってのも性能を出すためにしゃーなしでそうなってるってことも多い

454 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/19(日) 21:01:07.92 ID:258Rl1AZ.net
雄弁すぎる!

455 :デフォルトの名無しさん:2017/02/19(日) 21:01:12.67 ID:7wQmZFsK.net
長い

456 :デフォルトの名無しさん:2017/02/19(日) 21:04:57.43 ID:zCzNbcF8.net
ようはプログラマの悩みっていうのは楽に書きたいところと
性能を出すために機械に寄り添って丁寧に記述しないといけないところのバランスをとることだ
それをするためにアーキテクチャが必要になる、ライブラリが必要になる

問題を本質的に記述したいっていうのであれば、
まずLand of Lispでも買ってきた方がいい、これが2つ目の参考書だ
上記で指摘したデータ構造とは何なのかを非常に簡単に勉強できる
もしC++ですべて理解します、できますっていうのならやらなくていい

Clojureは現代的lispで俺も使っているが、めんどくさいところもあるので初学者にはおすすめしない。
Lispの考え方にJavaの考え方が混ざっているので、全く初学者にはおすすめできんということだ

今のゲームエンジンは化物が作っているし、めちゃめちゃ金かかってる、それも一握りの人間だけだ
ゲームエンジンは中学生の目標として間違ってると思う
自分でゲーム作りたいよ、ってなら結局エンジン開発することになるが、いきなり3Dはきつすぎる

まあ到底達成し得ない目標を持つ前にまず学校いけやというわけだ
UnityでもUnreal Engineでもいいから試しに使ってみて
自分が作りたいゲームとやらの試作品をまず出力してみろやということだ
マッチ棒人間でも、どんな貧弱な3Dモデルでもいいから作って見て動かしてみればいい
どんなにコードは汚くてもいいから自分が欲しい出力に近いものを出してみろ
そのengineに何があれば、本当に自分がほしい出力が出るのかを考えてみろ

中学生なんで時間を多少無駄にしても許されるが、
ここらへんの答えを出せずにC++やってても仕方あらへんで

457 :デフォルトの名無しさん:2017/02/20(月) 11:02:21.49 ID:SvwDOwJX.net
中学生の人は、本体である34歳のほうが別スレでフルボッコになって
落ち込んでいるのでしばらく出てきません。
別人設定ですが常にアクティビティは連動します。

458 :34歳うんぬん:2017/02/20(月) 15:58:38.18 ID:/5CJGiw4.net
>>457
だから別人だってば。
IDも違うでしょう。

459 :デフォルトの名無しさん:2017/02/20(月) 17:05:53.80 ID:wG2rez/P.net
IDは同一人物の書き込みかどうかはわかるけど、別人かどうかの判定には使えないからなぁ

460 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/20(月) 20:36:03.95 ID:1VVy2QiC.net
ねねっちはどこ?

461 :デフォルトの名無しさん:2017/02/20(月) 20:40:26.71 ID:1VVy2QiC.net
(^q^)(^q^)(^q^)(^q^)(^q^)(^q^)(^q^)(^q^)(^q^)(^q^)(^q^)(^q^)

462 :デフォルトの名無しさん:2017/02/20(月) 20:50:49.73 ID:MaezVUMf.net
片山=ねねっち

463 :デフォルトの名無しさん:2017/02/20(月) 21:10:55.48 ID:1VVy2QiC.net
(^q^)←これ、ぬーぶさんだよね?

464 :ぬーぶ ◆upkqfrxkrw :2017/02/20(月) 22:33:35.23 ID:V+LMJhmi.net
お好み焼き美味しいよね

>>463
違うよー

465 :デフォルトの名無しさん:2017/02/21(火) 12:11:34.81 ID:b2Z1gvCR.net
if(true) {
    printf("ひふみんは俺の嫁/n");
}
else {
    printf("りんさんは俺の嫁/n");
}

466 :ふつけら ◆f5STnaEXUk :2017/02/21(火) 12:11:39.48 ID:UIONV0tM.net
>IDは同一人物の書き込みかどうかはわかるけど

467 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/21(火) 13:34:46.02 ID:FgNvmkSQ.net
当たり判定は、完全に代数幾何学と計算量削減の問題になる。
代数幾何学は、中学・高校の数学で習う。真面目に授業を受けろよ。

468 :デフォルトの名無しさん:2017/02/21(火) 15:28:32.49 ID:aFqTV30T.net
>>465
スラッシュw

469 :デフォルトの名無しさん:2017/02/21(火) 21:23:18.86 ID:fGVxTzaX.net
このスレの一番の問題点ってさ、素人がど素人に教えてるところじゃないの?
現役のゲームプログラマーなんて一人もいないっしょw

ID:zCzNbcF8の言ってることが正解でさ、まあまずはUnity+C#からはじめなよ
いきなりコンシューマーを目指すのではなく、ソシャゲのガワ部分を作ってみるといい

470 :デフォルトの名無しさん:2017/02/21(火) 22:31:53.91 ID:evhhf5Ve.net
unityとか、ツールの使い方覚えるだけでもめんどくせぇじゃねーか

471 :デフォルトの名無しさん:2017/02/21(火) 23:01:01.29 ID:RrSvXrg9.net
スマホゲーは普通にUnityで作られてるの多いよ
そもそもゲームエンジンがどういうものか理解するためにも
Unityで最低一本は作ってみるべきだね一ヶ月ぐらいで

472 :デフォルトの名無しさん:2017/02/21(火) 23:15:50.89 ID:/PEo8++7.net
返答が>>57なんだからしょうがないっしょ

473 :デフォルトの名無しさん:2017/02/21(火) 23:26:24.55 ID:PqfxL0pv.net
楽したくないならアセンブラで作るしかないな

IDEも使ったら駄目
全てコマンドラインで

474 :デフォルトの名無しさん:2017/02/22(水) 00:06:09.52 ID:LsEdYva+.net
ぬーぶの賛歌
https://www.youtube.com/watch?v=IseWJh30-4U&feature=youtu.be&t=700

475 :デフォルトの名無しさん:2017/02/22(水) 00:15:12.32 ID:WX+0lpNL.net
>>473
さすがにそれはかなりのドMかと。

476 :ぬーぶ ◆upkqfrxkrw :2017/02/22(水) 00:32:28.82 ID:IQQW/zc9.net
>>474
かっこええやん…

477 :ぬーぶ ◆upkqfrxkrw :2017/02/22(水) 00:41:57.26 ID:IQQW/zc9.net
明日から復帰します、ちょっと休憩の時間が欲しかったのでーす…
ちょっと一気に気になるレスを明日返して行きたいんだけど
今回だけマルチレス駄目かな、分けると大変な量になる

478 :ぬーぶ ◆upkqfrxkrw :2017/02/22(水) 19:02:55.65 ID:IQQW/zc9.net
だ、誰もいない…

479 :ぬーぶ ◆upkqfrxkrw :2017/02/22(水) 19:03:32.38 ID:IQQW/zc9.net


480 :デフォルトの名無しさん:2017/02/22(水) 19:10:43.99 ID:Ax/NRShP.net
なんか書けや

481 :ぬーぶ ◆upkqfrxkrw :2017/02/22(水) 19:22:12.49 ID:IQQW/zc9.net
>>480
何書こう、そして今回ちょっとマルチ駄目?(´・ω・`)

482 :デフォルトの名無しさん:2017/02/22(水) 19:29:43.29 ID:TjWrUG4u.net
お前については「学校行け」で結論が出てるからな
もう飽きられてるんだよ
捨てられたんだ

483 :デフォルトの名無しさん:2017/02/22(水) 19:31:18.40 ID:izm1E/jA.net
スレ主なんて居ないんだから誰も答えようが無い
反応が気になるのは分かるけどもうちょっとしっかりしてくれんと

484 :デフォルトの名無しさん:2017/02/22(水) 19:51:20.51 ID:y2mmeNwF.net
マルチでもいいぞ

485 :デフォルトの名無しさん:2017/02/22(水) 20:08:27.96 ID:Ax/NRShP.net
マルチだめっていい出したあのおっさんは何がしたかったのか

486 :デフォルトの名無しさん:2017/02/22(水) 20:44:03.42 ID:Eqqb7Bp8.net
はわわ

487 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/22(水) 21:04:27.08 ID:mKcPOHkg.net
ゲームはどこまでできた?

488 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/22(水) 21:10:33.33 ID:mKcPOHkg.net
ゲームの開発状況をideone, github, youtubeのいずれかで提出せよ。

489 :ぬーぶ ◆upkqfrxkrw :2017/02/22(水) 21:47:11.15 ID:IQQW/zc9.net
>>482
Don't dump me...(´;ω;`)

>>485
マルチ駄目って言った人の理屈も分かるし今回だけで
まだシングルにしますよー

490 :ぬーぶ ◆upkqfrxkrw :2017/02/22(水) 21:57:16.62 ID:IQQW/zc9.net
>>437,442
有難うございます。今現在の状況だと
若干頑張りすぎるくらいが良いんだけど…
なかなか体力的な面でも精神的な面でも最近疲れててね。

>>440
当たり判定に入る前に基礎にもうちょっと時間を下さい…
プログラミング向いてないのは分かってるけど、ゆっくり理解したい。

>>441
そういうわけじゃないんですけどね…
うん、正直学習ペースは絶望的に遅いし
多分向いてないんだけど、面白いし続けたい。
無知の知か、頑張ります。

>>450-451
まだ普通に通える状況じゃないですなぁ…主に精神面で。
というか前より衰弱してる。自分だって行けるなら学校行きたいよ。
でも誰も分かってくれないし絶対に分からないし自分でも分からない。
いっそ死にたいって思う事もあるけど死ねない

>>452
ゲーム作成は趣味程度で、本当にやりたいのは
プログラミングも必要になるAIとロボット工学の研究。
…でも現状関数も満足に使えない上にアーキテクチャとか全く分かんないや。
地道に下積みしていくしかないんかな…
その本って本屋に置いてるかな、時間あったら見に行きたい

491 :ぬーぶ ◆upkqfrxkrw :2017/02/22(水) 22:02:19.81 ID:IQQW/zc9.net
>>456
全部返すのは大変なので気になった部分だけ…
今のゲームエンジン、特に自分が気になってるのが
カプコンが開発したバイオ7のREエンジンなんだけど、
もうグラフィックとかゲーム内容見ても未知の領域やったわ…
ゲームエンジンはもっともっと先の話だよ、高校3年くらいかなぁ…
自分でゲーム作るのってゲームエンジン必要なの?
UnityとかUEとか使ってみようかな、まだ基本的な事が分からないから
ちょっと厳しいかもしれないけど。

492 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/22(水) 22:04:13.43 ID:mKcPOHkg.net
基礎知識はどこまで固まった?

493 :ぬーぶ ◆upkqfrxkrw :2017/02/22(水) 22:09:23.53 ID:IQQW/zc9.net
>>492
まだ全然と思ってくれても…。
基礎範囲は自分で何とかするから
特に今の所は大丈夫だと思う。
じゃんけんのプログラム作る前に関数使いこなさないと。

特に数日間は進展ないと思うけど
定期的にレス貰えると有難いです。

494 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/22(水) 22:14:35.59 ID:mKcPOHkg.net
教員の苦労を無駄にするなよ。学校や家庭で犯罪や嫌がらせに巻き込まれてるなら、相談しなよ。

495 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/22(水) 22:25:43.32 ID:mKcPOHkg.net
ひとつ問題を出そう。
int f(int x)
{ return x + 1; }
int g(int x)
{ int n = x; return n - 2; }
のように2つの関数f,gが定義されているとき、f(g(2) + 1)はいくらでしょうか?

496 :ぬーぶ ◆upkqfrxkrw :2017/02/22(水) 23:33:18.68 ID:IQQW/zc9.net
>>494
そういう事は…

497 :ぬーぶ ◆upkqfrxkrw :2017/02/22(水) 23:33:59.89 ID:IQQW/zc9.net
>>495
んー…全く分からんけど…0?

498 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/22(水) 23:46:25.49 ID:mKcPOHkg.net
>>497
残念。ステップ実行で確認せよ。
#include <iostream>
int f(int x)
{ return x + 1; }
int g(int x)
{ int n = x; return n - 2; }
int main()
{
std::cout << f(g(2) + 1) << std::endl;
}

499 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/22(水) 23:59:23.78 ID:mKcPOHkg.net
さて、
int g(int x) { int n = x; return n - 2; }
と書かれているが、これは、
int g(int x) { return x - 2; }
と同じだ。よってg(2)=2 - 2=0となる。
したがってg(2) + 1=0 + 1=1である。
つまり、(与式)=f(g(2) + 1)=f(1)である。ここで
int f(int x) { return x + 1; }
であるからf(1)=1 + 1=2、したがって(与式)=f(1)=2. 答えは2だ。

500 :デフォルトの名無しさん:2017/02/22(水) 23:59:50.69 ID:LsEdYva+.net
2が

501 :ぬーぶ ◆upkqfrxkrw :2017/02/23(木) 00:00:13.68 ID:V0y6v9yA.net
>>498
2…?2…?はあ…2…?()

502 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/23(木) 00:18:34.28 ID:PU59JBmN.net
以下のプログラムを実行すると、何と出力されるか?
#include <iostream>
using namespace std;
void f() {
cout << "グラマーだ!" endl;
}
void h() {
cout << "は天";
}
void g() {
h();
cout << "才プロ";
f();
}
int main() {
cout << "俺様";
g();
}

503 :デフォルトの名無しさん:2017/02/23(木) 00:20:09.62 ID:/x8L7pzP.net
今回だけ俺様が特別にマジアドバイスしてやろう。

>ゲーム作成は趣味程度で、本当にやりたいのはプログラミングも必要になるAIとロボット工学の研究。
>ゲームエンジンはもっともっと先の話だよ、高校3年くらいかなぁ…

ぬーべがやりたいという上記のことは、本気でやるつもりならば大学専門課程レベルの数学(と物理)の知識は最低限必要です。一部の天才を除いて、普通の高校3年生がゲームエンジン作るとか常識的にありえま千円。
高校に入って理数科目が得意であれば、そのまま理工系の大学に進めばよろしい。大学で色々な課目を学ぶ内に自分が真にやりたいことが見えてくるだろう。

あと悪いことは言わないから2chから離れなさい。このスレの教えたがり君たちから習ってもプログラミングが上達するどころか、はっきり言って害悪でしかありま千円。
プログラミングの基礎を勉強したいなら以下のようなサイトが沢山ある。そしてPythonは学習コストが安く、AIで使われている言語でもあるからおススメです。
まずはここから始めてみようか。

https://prog-8.com/languages/python

504 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/23(木) 00:21:06.08 ID:PU59JBmN.net
>>502
訂正。endlの前に<<を追加。

505 :ぬーぶ ◆upkqfrxkrw :2017/02/23(木) 00:22:24.66 ID:V0y6v9yA.net
>>502
うーん、文脈から考えて「俺様は天才プログラマーだ!」じゃないかな()
っていうメカニズムを理解しろって事か…難しいな。

506 :ぬーぶ ◆upkqfrxkrw :2017/02/23(木) 00:26:19.17 ID:V0y6v9yA.net
>>503
>今回だけ俺様が特別にマジアドバイスしてやろう。
→だ、誰だあああああああああ!!!!!

ぬーべーみたいに霊力強くないです、
霊感はあるけどただのプログラミング初心者のぬーぶです…

大学レベル必要か…厳しいな。
理数科は…苦手だけど、理屈は好きかな。

2ちゃんからは単にプログラミングを教えてもらう、っていう理由だけで
来てるわけじゃないから、あんまり離れる気はないかな…
AIはまだまだもっと先の話。ごめんなさい…でも有難う。見てみる。
Pythonも難しいなぁ…

507 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/23(木) 00:28:07.01 ID:PU59JBmN.net
>>505
すごーい、ぬーぶはプログラマの玉子なんだね!

508 :ぬーぶ ◆upkqfrxkrw :2017/02/23(木) 00:29:40.50 ID:V0y6v9yA.net
>>507
プログラマの王子に見えて、うんそうだろそうだろーってなって
よく見たら玉子で萎えた_(:3 」∠)_

509 :デフォルトの名無しさん:2017/02/23(木) 00:31:30.28 ID:PU59JBmN.net
最近の中学生はぬ〜べ〜も知ってるのか?

510 :デフォルトの名無しさん:2017/02/23(木) 00:34:47.71 ID:boStFqTs.net
>このスレの教えたがり君たちから習ってもプログラミングが上達するどころか、はっきり言って害悪でしかありま千円。
>>503のアドバイスまじめに聞いたほうがいいと思うよ

511 :ぬーぶ ◆upkqfrxkrw :2017/02/23(木) 00:54:44.60 ID:V0y6v9yA.net
>>509
いや知ってるでしょw

>>510
アドバイスについてはそういう人も多いかもしれないけど
僕はそれ以外の事もここで色々学習してるし、これで良いのよ

512 :デフォルトの名無しさん:2017/02/23(木) 01:20:44.58 ID:W+FLclwO.net
>>510
ありま千円の語尾が面白いと思っているならやめた方がいいぞ。
それにこのスレのみでプログラミング学習を完結している人はいないし、モチベ維持ぐらいにしか使っている人いないから。
あと○○レベルの数学とか書いている時点でお前さんが数学を理解していないことはわかった。

513 :ぬーぶ ◆upkqfrxkrw :2017/02/23(木) 01:35:01.96 ID:V0y6v9yA.net
>>512
自分もモチベ維持と分からないとこ聞くくらいしかしてないよ。
それで何で僕が数学理解してないと思うの?不思議。

514 :デフォルトの名無しさん:2017/02/23(木) 01:51:43.94 ID:dyMY4fUi.net
まあとにかく勉強頑張るしかないな

515 :デフォルトの名無しさん:2017/02/23(木) 02:07:40.46 ID:fntMoO6R.net
>>497
だから関数を理解しろと何度も言ってるだろ

516 :デフォルトの名無しさん:2017/02/23(木) 02:24:25.62 ID:IL70tyJS.net
たとえば>>495の問題が理解できない理由が自分にはわからないけど
論理立てて物事を考えるのが極めて苦手なのかなと思う
よくわからないけどテキトーにやったらなんかうまくいったなんてのはプログラミングじゃない

517 :片山博文MZ ◆T6xkBnTXz7B0 :2017/02/23(木) 03:00:54.74 ID:PU59JBmN.net
こりゃひどい。中1からすでに数学をサボっている可能性がありそうだ。
ぬーぶは中学一年の数学の教科書・参考書からやり直しだ。
今の状況は非常に厳しいぞ。

518 :デフォルトの名無しさん:2017/02/23(木) 03:25:51.09 ID:/x8L7pzP.net
>>513
ぬーぶは読解力も足りないなあw >>512 の発言は俺に向けてだよ。

>>512
>>510 は俺じゃないから彼への風評被害は控えなさいw
それから正味の話、>>512 は大学いってないよね?
一般教養課程程度の数学知識では不足で、最低でも専門課程レベルの数学が必要と言ったんだけど、お前分かってなさそうだもんね。

519 :デフォルトの名無しさん:2017/02/23(木) 05:34:40.08 ID:g6VFekbK.net
ルベーグで早々に躓いて半ばお情けで卒業させて貰ったわい登場
研究者は無理でもゲームは作れてる
が、AI専門部署は院卒だらけすな( ´Д`)y━・~~

520 :デフォルトの名無しさん:2017/02/23(木) 06:57:50.79 ID:Zgtd9m5M.net
やりたい事あるなら真面目に学校いけ

521 :デフォルトの名無しさん:2017/02/23(木) 07:47:25.62 ID:KoyZyoDT.net
学校行かなくてもいいから、高等学校卒業程度認定試験(旧大検)を取ってMARCH以上の大学に余裕で受かるくらいの学力は身につけるべき
高専に行くなら、そこから大学に編入するくらいは予定しておくべきだな
じゃないと研究とか仕事では無理だな
趣味でやっとけレベル

522 :デフォルトの名無しさん:2017/02/23(木) 09:17:17.04 ID:n+JFlMWK.net
ぬーぶも34歳もだけど、中身が同一人物かどうかは置いておいて、
アスペの人間は多対一の話ってのが出来ないんだな。ようやくわかった。
常に一対一を複数と解釈してしまうから1レスでマルチレスになるんだ。

討論番組でいきなり個人とサシの議論を始めちゃう系のおかしな奴と同類。
これは将来辛いだろうなぁ。

523 :デフォルトの名無しさん:2017/02/23(木) 10:41:13.94 ID:IVL7isfZ.net
ぬーぶからは50代無職のだめ人間と同じニオイがする

524 :デフォルトの名無しさん:2017/02/23(木) 10:55:44.46 ID:AnDfSdhr.net
関数を理解しろって奴は、関数とは何かを説明し、それが手続き型と関数型でどう解釈されているかをのべよ

こういうやつにかぎって参照透過もスタックフレームもしらねえから困るんだよ

525 :デフォルトの名無しさん:2017/02/23(木) 11:01:46.65 ID:AnDfSdhr.net
楽しくゲーム創作したいならスクリプト、かこう

526 :デフォルトの名無しさん:2017/02/23(木) 11:02:22.09 ID:n+JFlMWK.net
>>524
教えてください、お願いします。だろ?
煽って答えを聞き出すなんて、いまどき中学生ですらやらないぞ。

527 :デフォルトの名無しさん:2017/02/23(木) 11:35:30.81 ID:fntMoO6R.net
>>524
話を理解してないのか?
関数は中学で習う基礎知識

528 :デフォルトの名無しさん:2017/02/23(木) 12:07:51.22 ID:7EiXLdxe.net
お前らが「こいつは関数わかってない」って言う意味が分からなかったが>>495>>502が解けないのを見て今更ながら解した。
私も初学者だから一緒に頑張りましょうや。まずはサンプル集的な入門書を1冊やってみるのがいいかなと思う。
そっから帰納的に学べるかはまた別の問題だけど

529 :デフォルトの名無しさん:2017/02/23(木) 12:32:21.05 ID:IVL7isfZ.net
数学の関数は分かってると言ってたが、全く分かってなかったな
プログラム触ったことないそこら辺の中学生に聞いても答え出せるレベルの問題なのに・・・

530 :デフォルトの名無しさん:2017/02/23(木) 12:33:46.79 ID:AnDfSdhr.net
C++みたいなダメな言語を使うのをやめよう

シンタックス的にいけてないから関数が理解できないわけさ

俺も上の問題見たときまず思ったのが、値渡しして値が帰ってくるのって大丈夫だっけ、参照渡ししなくていいんだっけ、ってことばかりが気になった

おそらく参照をリターンせずに値をリターンしてるからセーフなんでしょうと思ったけどいちいちこんなこと気にしないといけない言語で、関数勉強しようってほうが無理じゃね。

極端な話f(a)=a×a+4a+1+bとする

このときf(4)はいくらかね、ぬーぶくん、これはおそらく中学の数学だ

これに答えられないなら、自由変数、束縛変数と僕らが呼んでいるものが理解できていないわけだ

その状態でローカル変数やスコープやスタックフレームを理解しようたって無理じゃね

531 :デフォルトの名無しさん:2017/02/23(木) 12:36:11.04 ID:AnDfSdhr.net
ちなみに君達が出題した合成関数は数学3の範疇だ、下手すると文系は知らずに一生を終えることもありうる概念だ

概念自体は単純だけど、C++みたいな手続き言語では、不適切な例示だと思うね

532 :デフォルトの名無しさん:2017/02/23(木) 12:38:24.55 ID:KoyZyoDT.net
プログラム以前にSPI(入社試験)系の問題、特にブラックボックス問題とかやるべきだと思う
http://spi練習問題.com/category/%e3%83%96%e3%83%a9%e3%83%83%e3%82%af%e3%83%9c%e3%83%83%e3%82%af%e3%82%b9/

あとは、フローチャートを書くとか
ぬーぷはプログラム以前に先に脳みそを鍛えるところからやらないと

533 :デフォルトの名無しさん:2017/02/23(木) 12:41:25.79 ID:AnDfSdhr.net
平均的な中学生はいきなりC++なんてやらない

せいぜいBasicかfortranでも触っとけばいい

君がしたいのはゲームデザインであって、ゲームプログラムじゃない、なぜゲームのルールをつくるのに、ハードウェアと格闘しないといけないんだ

n人じゃんけんを実装するのにすらひぃひぃ言ってるような言語で、いったいどんなゲームが作れると言うのか

534 :デフォルトの名無しさん:2017/02/23(木) 12:48:01.35 ID:fntMoO6R.net
>>530
その手の式はかなり前に出題されてる(もっと簡単なの)
理解できないから、数学の先生に教えたもらえってのが結論

535 :デフォルトの名無しさん:2017/02/23(木) 12:52:18.39 ID:KoyZyoDT.net
>>533
> せいぜいBasicかfortranでも触っとけばいい
そんな死語通り越した、化石言語なんか冗談でも紹介するもんじゃぁない

536 :ぬーぶ ◆upkqfrxkrw :2017/02/23(木) 16:07:04.53 ID:V0y6v9yA.net
>>522
多対一の話はできるけど
みんな勝手に間違った解釈で話進めるからついてけない。
ちょっと説明させておくれ。

537 :ぬーぶ ◆upkqfrxkrw :2017/02/23(木) 16:08:35.19 ID:V0y6v9yA.net
>>528-529
学校で習う数学の問題は解ける。
えっとつまり一次関数の問題出されたら普通に解けるんだよ。
でもプログラミングの関数、って言われるとf(a)とか返り値とか
意味不明な言葉が出てくるから解けない。
もしかして中3範囲の数学の事言ってる?それなら解けないよ。

538 :ぬーぶ ◆upkqfrxkrw :2017/02/23(木) 16:10:16.00 ID:V0y6v9yA.net
>>530
間違ってたらごめんだけど33+b?
自由変数とか束縛変数とか知らないんだけど…

539 :デフォルトの名無しさん:2017/02/23(木) 16:35:36.74 ID:n+JFlMWK.net
学校に行け、以外の意見は出ないだろうなこりゃ。
絶望的なまでに学力が足りない。
もっとも自分で勉強する力もなくてすぐ人に聞いてしまうような
やる気ない系の人間は、そもそもプログラミングなんて習得できんよ。
あきらめろん。

540 :デフォルトの名無しさん:2017/02/23(木) 16:38:11.70 ID:eW7yBYOi.net
数学でも教科書や問題集の例題を数字変えただけのは解けるけど
応用問題とか発展問題は苦手なタイプとみた

541 :デフォルトの名無しさん:2017/02/23(木) 16:47:19.48 ID:KoyZyoDT.net
自由変数、束縛変数なんか習ったこともねーし、言葉として使ったこともないわ
もし使うなら別な言葉で言うと思う

542 :デフォルトの名無しさん:2017/02/23(木) 17:10:59.19 ID:boStFqTs.net
Pythonスレに書いたじゃんけんゲームの仕様を見る限り
君の場合は自分の作りたいプログラムの機能仕様をわかりやすくまとめる力が圧倒的に不足してる

プログラムってのは自分の考えを表現する方法の一つだから
特定の言語でどう実装するかやどういうアルゴリズムを使えばいいかを学ぶよりも
自分の考えを深化させたり文章にまとめる能力を高めるほうが先

そのための近道は学校に行くかその代替手段で基礎学力を身につけること

文章力の低い人がいいプログラマーになれる可能性はほぼゼロだし
今の段階で可読性の低いコードゴルフみたいなプログラムを見ても害でしかないよ
じゃ

543 :KAC:2017/02/23(木) 17:35:50.47 ID:mjDzcMf0.net
>>538
少しは理解が進んでいるみたいなので
ついでにひとつ問題を出そう。

f1(x) = x + 1
f2(y) = y - 2

という二つの関数があったとしよう
この時、

f2(2) は いくつになる?
f1(0+1) は いくつになる?

では、 f1(f2(2)+1) は いくつになる?

これが解けたら、>495をもう一度見直してみ?

544 :ぬーぶ ◆upkqfrxkrw :2017/02/23(木) 18:04:50.51 ID:V0y6v9yA.net
>>539
あきらめないお

>>542
Pythonスレなんて行った事ないんだけど人違いじゃないか…

545 :ぬーぶ ◆upkqfrxkrw :2017/02/23(木) 18:05:28.27 ID:V0y6v9yA.net
>>540
うん、確かに応用問題は超苦手。
型にはまった問題ならすぐに解けるんだけどね。
アスペの痛いところ。

546 :ぬーぶ ◆upkqfrxkrw :2017/02/23(木) 18:07:00.96 ID:V0y6v9yA.net
>>543
えーと、f2が0?そんでf1が2?
全然自信ない…

547 :ふつけら ◆f5STnaEXUk :2017/02/23(木) 18:08:31.20 ID:+rmKD8dw.net
MARCH以上の大学でコンピュータサイエンスを学んでも
ラムダ計算をやらない大学があるんだな

ところでややこしくなるから前は言及しなかったが
俺が中学高校で習った関数は
xの値が決まればyの値が一意に決まるというものだった
この定義だと陰関数は関数ではない
多変数関数はどうなのか等
高校までに習う関数の定義はあまり汎用的な定義ではないよ

548 :ぬーぶ ◆upkqfrxkrw :2017/02/23(木) 18:10:43.99 ID:V0y6v9yA.net
>>547
そうそう、自分もxの値が決まればyの値が決まるって習ったけど
プログラミングの関数はなんか違うから分からんのよ…

549 :KAC:2017/02/23(木) 18:20:04.07 ID:mjDzcMf0.net
>>546
そこまでは正解。

あとは f1(f2(2)+1) が理解できるようになれば
プログラム言語で関数がどういう扱いになっているのか
想像もつきやすくなるだろうが、まだ感覚的に理解できていないのな…

まあ、じっくり考えてみ

550 :ぬーぶ ◆upkqfrxkrw :2017/02/23(木) 18:27:55.71 ID:V0y6v9yA.net
>>549
f1(x) = x + 1
f2(y) = y - 2

f1(f2(2)+1)

これを解くのか…

f1(f2(2)+1) = f1=2, f2=2

こう?

551 :ぬーぶ ◆upkqfrxkrw :2017/02/23(木) 18:29:12.49 ID:V0y6v9yA.net
ってなるとf1=3?分からん…

552 :ぬーぶ ◆upkqfrxkrw :2017/02/23(木) 18:31:53.75 ID:V0y6v9yA.net
ちょっと一旦落ちます、スンマセン。

553 :デフォルトの名無しさん:2017/02/23(木) 18:42:22.81 ID:boStFqTs.net
>>544
別人か
そりゃすまんかった

554 :ふつけら ◆f5STnaEXUk :2017/02/23(木) 18:48:54.56 ID:+rmKD8dw.net
ぬーぶの計算は謎だな
少し難しい話をする

答えをほぼ書くことになってしまうけど
f1(x) = x + 1
f2(y) = y - 2
f1(f2(2)+1)の計算を
f1((2 - 2) + 1) (f2を計算)
f1(1)
1 + 1 (f1を計算)
と計算してもいいし
f1(f2(2)+1)の計算を
(f2(2)+1) + 1 (f1を計算)
f2(2)+2
(2 - 2) + 2 (f2を計算)
と計算してもいい(数学では)
どこから計算しても結果が同じになる合流性という性質があるから

ただしCの関数としては必ず引数から評価されるので
C/C++では必ず引数のf2(2)のほうから計算される

でもこの合流性は数学的な関数について成り立つのであって
Cの関数に副作用があると成り立たなくなる(計算順序で結果がかわる)
つまり副作用があるとバグりやすくなる

555 :34歳うんぬん:2017/02/23(木) 18:49:33.72 ID:nluhxzeP.net
>>ぬーぶ
Javaの世界に来る気はない?

556 :ふつけら ◆f5STnaEXUk :2017/02/23(木) 18:50:48.40 ID:+rmKD8dw.net
うーん、でも上の例でバグりやすくなるというのはちょっと変か

557 :ぬーぶ ◆upkqfrxkrw :2017/02/23(木) 20:39:47.05 ID:V0y6v9yA.net
>>554
ますます意味が分からんくなってきた…
それ本当に中2の数学?そもそもf1(f2)みたいな
関数の中に変数があるっていうのを知らないから
そこから混乱してるんだけど…

558 :ぬーぶ ◆upkqfrxkrw :2017/02/23(木) 20:41:56.02 ID:V0y6v9yA.net
>>555
何でJava?開発環境の関係でC++から動く気はないけど…
どうしても一番使いやすいDXライブラリにしたい。
Javaの文法含めて使えそうなライブラリの少なさからも
あんまり触りたくない。

559 :デフォルトの名無しさん:2017/02/23(木) 20:46:51.60 ID:eZ3ictl+.net
f(x) = x + 1
f(f(2)) → f(3) → 4
2は内側のfの実引数
3は内側のfの返り値(結果)であり、外側のfにとっての実引数
4は外側のfの返り値

560 :デフォルトの名無しさん:2017/02/23(木) 20:49:51.99 ID:eZ3ictl+.net
このfをCで書くと
int f(int x) {
return (x + 1);
}
関数fの返り値はreturnされるもの

561 :ぬーぶ ◆upkqfrxkrw :2017/02/23(木) 20:50:14.64 ID:V0y6v9yA.net
>>559
…全く分からん。疲れてんのかな。
日本語が全く頭に入らない

562 :デフォルトの名無しさん:2017/02/23(木) 20:53:44.82 ID:OxA/2zoK.net
お前ら何やってんの?

563 :デフォルトの名無しさん:2017/02/23(木) 20:54:41.16 ID:eZ3ictl+.net
f(x) = x + 1
f(3) → 4
x は f の仮引数
3 は f の実引数
4 は f の返り値

564 :KAC:2017/02/23(木) 21:14:13.64 ID:mjDzcMf0.net
>>562
プログラムを理解する上で躓きやすい「式の評価」について
どう書けば素人でも理解できるのか試行錯誤中。

今の話題は、関数の評価についてと値の利用方法あたり。

565 :デフォルトの名無しさん:2017/02/23(木) 21:17:32.38 ID:Q++G69EO.net
y=ax+b
ってのを
f(x)=ax+b
と書くのよ。と今はざっくり考えてて良い。
fはfunction、日本語で関数の頭文字から。

566 :デフォルトの名無しさん:2017/02/23(木) 21:18:47.62 ID:OxA/2zoK.net
式の評価ねぇ…ゲームのダメージ計算式にでも例えたら分かるんじゃね

567 :デフォルトの名無しさん:2017/02/23(木) 21:23:24.01 ID:Q++G69EO.net
>>565
実は上の式と下の式で等号の意味が違ってるんだけどね。

568 :デフォルトの名無しさん:2017/02/23(木) 21:32:11.60 ID:auLzoU+G.net
>>565
この場合の=は等価というよりは定義の意味合いが強いな
「関数f(x)をax+bとする」だね

C系言語の=は等価じゃなく代入式だから注意が必要だね
c=c+1は数学的には間違いだけどプログラム的にはok

569 :デフォルトの名無しさん:2017/02/23(木) 21:47:40.64 ID:D7gpmMoW.net
f(x)というのは、xによって変化する関数という意味
g(x)だろうがh(x)だろうがxによって変化する関数を意味する

f(x)=3x+1に
例えば、x=1をいれる f(1)=4
x=2なら f(2)=7
x=4なら、...もうわかるだろう

中学生ならy=3x+1という表記のほうが見慣れているかもしれない
それと同じ、y=f(x)=3x+1という表記もおかしくはない
f(x)という表記はこれがxにたいする関数であると明記しているだけだ

次に小難しい話だが、f(a)=3a+1という関数があったとしてこれは、f(x)=3x+1と表記はちがうが意味は変わらないというのもわかるだろう

つまりこのfは入力を3倍し1足したものだ、変数がxとかかれようがaとかかれようがかわらない

570 :デフォルトの名無しさん:2017/02/23(木) 21:50:43.39 ID:eZ3ictl+.net
>>569
同一レス内で「=」の用法がブレているというのは良くないな
評価は → にしなよ

571 :デフォルトの名無しさん:2017/02/23(木) 21:57:42.00 ID:MRqzZJqE.net
取り敢えずこの辺でなんとかならんかな
http://kou.benesse.co.jp/nigate/math/a14m0205.html

>>558
java使えなんて言わんけどDxlibが一番使い易いなんて誰が吹き込んだの

572 :ふつけら@hipporo:2017/02/23(木) 22:04:00.73 ID:+rmKD8dw.net
>>557
中学では習わない数学かもしれないが
>>559あたりはゆっくりでもいいから理解に挑戦してほしいところ
多分俺らもぬーぶがどこがわかってないかがわかってないから
何を説明しようかって悩んでる

f1(f2(2))が関数の中に変数がある、と思ってるならそこは誤解
f1(f2(2))ってのは関数の引数に関数呼び出しがあるって状態
自分でプログラムを書いて確かめることもできるはずだよ

573 :ふつけら ◆.dmxDXVJPU :2017/02/23(木) 22:11:39.42 ID:+rmKD8dw.net
トリップ、自滅したのでとりあえず別のを使うわ

574 :デフォルトの名無しさん:2017/02/23(木) 22:12:11.58 ID:D7gpmMoW.net
例えば円の方程式などは1つのxに対して2つの解を持ちうる。
例えばx^2+y^2=1という円の方程式を考えると
x=0としたときyは1とすると方程式が成立(0^2+1^2=1は正しい)することがわかるが、
       yが-1となっても方程式が成立する(0^2+(-1)^2 =1もまた正しい)
こういうものを多価関数と呼ぶこともあるが、一般的なコンピュータ数学においては現れない。

よってこうしたものを無視するとすると、
数学的な関数(正確には写像と呼ぶべきか)というものは、
君たちが小学生のときならったように
入力i(inの略)に対して 箱fが存在し、箱を通り抜けたiは出力o(outの略)に変換される。
o = f(i)
入力i=1,2,3,4,5に対してf(i)=i×iという箱を用意すると
箱を通して出てきた出力oはそれぞれ、1,4,9,16,25となるのは中学生でもわかることだろう。

さて、プログラミングにおいてこのような入力に対して出力が一つに決まる関数を特に純粋関数と呼ぶ。
これは全く同じ入力を入れた場合、全く同じ出力が期待されるということも含んでいる。
このことを特に参照透過性ということもある。

さてC++で関数を書くときに参照透過性は常に保たれるかということに着目してみよう。

575 :デフォルトの名無しさん:2017/02/23(木) 22:30:16.48 ID:B1nbbzfD.net
難しい言葉使っても分かりにくくなるだけじゃ?

576 :デフォルトの名無しさん:2017/02/23(木) 22:30:24.37 ID:KoyZyoDT.net
>>571
2チャンネルではDxlibをつかえだなんて誰も言ってないな

プログラミングしたいならJSのキャンバスあたりが楽だと思って勧めてみたんだが、あえてC++につっこむと言う意地っ張り

577 :デフォルトの名無しさん:2017/02/23(木) 22:36:39.36 ID:D7gpmMoW.net
純粋関数にならない例は簡単に用意できる
グローバル変数gに関数が依存している場合が典型的だ
out = f(i)= i+gとする。
もしg=1がセットされていた場合
f(1) = 1+g =1+1 =2
もしg=3がセットされていた場合
f(1) = 1+g =1+3 =4
というわけで、簡単に純粋性は破られた。
このように、関数の挙動がグローバル変数によって変わると、
関数の出力値が(関数の入力だけを見ても)予測できない状態になってしまう。

これがグローバル変数が忌み嫌われる理由であり、これを特に「状態」と呼ぶ。

だがゲームを作るにあたって状態は欠かせない物となっている。
例えばキャラクターのステータスといったものは、状態そのものではないだろうか。
あるいはカメラが現時点で向いている角度といったものは状態として取り扱うべきだろう。
カメラの向きや、状況によって映し出される映像が切り替わるのであれば、
まさしくそれは状態そのものといっていい。

実際には向いているカメラの角度、カメラの位置、現在の場所、キャラクターの状態などを
引数として関数を呼び出していると解釈することもできる。
そうした場合引数の数が膨大になるだろう。
そうした対策としてオブジェクト志向というものが考え出されたわけだが、それは別の話とする。

ゲームデザインにおいてもっとも重要なのは何を状態とするか、と言っていいだろう。
例えばキャラクターの力は、レベルによって完全に決まるならば、
力を状態として保存する意味はない。すばやさや、知力においても同じだ。
それはレベル(とキャラクター名)を入力とした関数だ。
ただし力のたねや、すばやさのたねなどのランダムに増加するドーピングアイテムを
ゲームデザインとして用意する場合、力やすばやさは状態として記録するのが自然だろう。

578 :デフォルトの名無しさん:2017/02/23(木) 22:40:47.42 ID:B1nbbzfD.net
喋り始めたら相手の理解とか関係なく話続けるタイプ?

579 :デフォルトの名無しさん:2017/02/23(木) 22:44:16.64 ID:4yvbYKT4.net
プログラミング能力と人に教える能力は別物だとよく分かるスレ

580 :デフォルトの名無しさん:2017/02/23(木) 22:50:37.06 ID:D7gpmMoW.net
じゃあプログラムを簡単な用語のみで説明してみりゃいいじゃん

ようやく、ぬーぶくんが関数を理解し始めたのに
君たちはぬーぶくんが習ってもいない合成関数の問題を出したり、
ただ物事を知らないだけの中学生をぼこって喜んでるだけじゃん

俺はそういう大人たちをぼこって喜んでるんだけど、なんか文句あるの?
ここの人間は、関数とは何か、プログラムにおける関数と数学の関数の違いについて
何か一言でも"まともな"アドバイスしてあげましたかね?

わからない用語があったらググるんだよ?
ググれるように用語を使ってるわけなんだから
プログラムにおいて、状態に気を付けられないなら、まともなプログラムなんてかけるわけないじゃん。
ここから先、型システムに踏み込んだらこんな単純には行かないし
オブジェクト志向の袋小路になんて迷い込んだら1年は迷子になるわ

俺が言いたいのは極力関数でプログラムを組めということ。
グローバル変数を使うなとは言わない。状態の数を制限しろと言ってる。
グローバル変数を使うか使わないか、どの程度使うかの見極めは、
プログラム設計、及びライブラリ設計の根幹をなすものだから絶対に理解しなきゃいけない。

581 :デフォルトの名無しさん:2017/02/23(木) 22:54:39.67 ID:B1nbbzfD.net
頭の中が言葉で溢れて止まらないタイプだね

582 :デフォルトの名無しさん:2017/02/23(木) 22:57:41.03 ID:4yvbYKT4.net
スレタイのねねっちはそういう意味か

583 :デフォルトの名無しさん:2017/02/23(木) 22:59:13.73 ID:D7gpmMoW.net
そういえば合成関数の説明をしてないな
問1
y=3x+1とする。
z=5y+3とする。
xが4のときzはいくらか?

ぬーぶくんならこれはわかるはずだ。
次の問題はどうだろうか。
f(x)=3x+1とする。
g(x)=5x+3とする。

(1)g(4)はいくらか。
(2)f( g(4) )はいくらか。

確認のために次の問題もとこうか。
f(x)= x+1
g(x)= x+2
h(x)= 3x+5
h( g ( f(1) ) )はいくらか?

これがもし解けたなら、つまりはそういうことだ。

584 :デフォルトの名無しさん:2017/02/23(木) 23:02:06.73 ID:KoyZyoDT.net
>>580
円の方程式とか中学で習ってないのに例を出しても意味ないだろうし
純粋関数なんか言葉遊びとかどうでもいい
プログラムの関数と数学の関数は違うもんだとなんとなく覚えておけば十分で、小難しいこと言っても理解できるわけないだろ
状態とかそんな概念はその後の話で今することじゃない
お節介で相手を混乱させてどうするんだよ

やるなら偏差値40くらいの小学生でもわかるように説明すべき

585 :デフォルトの名無しさん:2017/02/23(木) 23:15:23.48 ID:D7gpmMoW.net
偏差値40の小学生に伝わるように
コンピュータでいうところの関数を説明してみればいいんじゃないかな。

ぬーぶくんの課題はおおよそスレ全体の認識として
「関数を理解すべきだ」というとこまで来てる。

でプログラムの関数と数学の関数は同じか否かについては、
スレ住民の回答が実はわかれているわけだ。
ある人は同じだといい、ある人は違うという。
同じだという人に説明義務はないが、(だって同じなんだから)
違うという人は何が違うのかを明確に答えられない。

586 :デフォルトの名無しさん:2017/02/23(木) 23:45:33.16 ID:KoyZyoDT.net
プログラムではこう言う使い方をするもんと認識できればいいだけで、厳密に同じか違うかなんてこの際どうでもいいんだよ
違う例でいうと、数学だと引数が変わることないけどプログラムだと変わることある
ただ、初めはそんなこたぁどうでもいいんだ

なんのためにあるか、これが重要
答え:同一処理を簡単に繰り返すことができて便利

例:じゃんけんをX回やるとする。(for、whileは使わないとする)
じゃんけんの処理は以下とする
1.右手を握りしめ振りかぶる
2.左手を右手に添える
3.右手の形を変更する
4.右手を激しく突き出す
5.勝敗の判定をする

関数がない場合、これらをひたすらコピペする作業を繰り返すことになる。
2.5番目あたりに適当な高さまで空を飛ぶという処理が追加されたとすると、修正するにはこれをX回該当箇所にコピペしないと行けない。コピペミスったら、バグとなり不便。
しかし、関数化してまとめておくと修正する箇所が1箇所ですみ楽。

とかで、いいんでないかな

587 :デフォルトの名無しさん:2017/02/24(金) 00:00:57.12 ID:U59pFFqM.net
今の時点でサブルーチンとファンクションを混同するのは。。。

588 :デフォルトの名無しさん:2017/02/24(金) 00:04:55.75 ID:/c3PLVLe.net
今時、厳密に区別する意味あんの?
区別してなんの意味があるの?

589 :ぬーぶ ◆upkqfrxkrw :2017/02/24(金) 00:36:39.04 ID:1EPw9pG+.net
>>565
おー!そういう事ね、分かり易い。
でも今言われてるのって、

f1(x)=ax+b と、 f2(y)=cy+d

ってことで、それをf1(f2(2))…なんてされたらもう訳わからん…

590 :ぬーぶ ◆upkqfrxkrw :2017/02/24(金) 00:37:39.66 ID:1EPw9pG+.net
>>567
y=ax+bの「=」はイコール、
f(x)=ax+bの「=」は「ax+b」の結果を「f(x)」に代入するってこと?

591 :KAC:2017/02/24(金) 00:39:19.86 ID:xpT2l8Ie.net
>>588
少なくとも関数を設計する上では
混同するといい設計にはならないだろう。

漠然と関数を分けていくくせをつけてると
ゲームのような大きめのプログラムを組むときに破綻しやすい。

592 :デフォルトの名無しさん:2017/02/24(金) 00:47:13.42 ID:/c3PLVLe.net
>>589
int i = f2(2);
int result = f1(i);
print(result);

これは、下のようにかける
print(f1(f2(2)));

>>591
別に全部関数でいいだろ
今時サブルーチンなんて見たことないし

593 :ぬーぶ ◆upkqfrxkrw :2017/02/24(金) 00:56:43.75 ID:1EPw9pG+.net
>>569
なるほど、そういう事か
あんまりかっこの中はまだ気にしなくて良いのか

594 :ぬーぶ ◆upkqfrxkrw :2017/02/24(金) 00:57:34.59 ID:1EPw9pG+.net
ちょっと寝ないとなのでレスは明日にします、すんません

595 :デフォルトの名無しさん:2017/02/24(金) 00:59:37.06 ID:r8chwlmp.net
>>590
やっぱり混同してる

もういいから中学生は早く寝ろ

596 :デフォルトの名無しさん:2017/02/24(金) 01:03:08.96 ID:2ntlDWAY.net
なんかみんなの説明難しいんだよな

>f2(2) は いくつになる?
>f1(0+1) は いくつになる?

に対して

>えーと、f2が0?そんでf1が2?

ってちゃんと答えてるのに

>では、 f1(f2(2)+1) は いくつになる?

f2(2)が0って自分で答えてるんだから
f1(0+1)って導けるし、
f1(0+1)が2になるって答えてるんだから
もう全部自分で答え出してるのに、
「f1(f2(2)+1)だと…!?わかんねぇ…」
って言われてみんなで
        ∧∧
       ヽ(・ω・)/   ズコー
      \(.\ ノ
ってなったんちゃうかとww

597 :デフォルトの名無しさん:2017/02/24(金) 01:04:54.42 ID:hcCi+TdT.net
>>586
>なんのためにあるか、これが重要
>答え:同一処理を簡単に繰り返すことができて便利

これちょっと新鮮
1~5の一連の処理を「じゃんけん」と名付けて一段高い抽象度で扱えるようにするのが関数化する時のイメージ
同じことなんだろうけど見る方向が自分とは違う気がした

598 :デフォルトの名無しさん:2017/02/24(金) 01:07:19.69 ID:r8chwlmp.net
数学の定義とか持ち出すから話がややこしくなる

確かに計算機科学は数学を基本モデルとしてるが独特な概念もある

コードの再利用化、部品化の為の基本単位、ぐらいに考えとけ

599 :デフォルトの名無しさん:2017/02/24(金) 01:21:41.62 ID:/3IvyRqo.net
ねねっちがいないことが一番の問題

600 :ねねっち:2017/02/24(金) 01:31:20.02 ID:VsGpwvoI.net
参加しま〜す

601 :デフォルトの名無しさん:2017/02/24(金) 01:36:33.42 ID:z1PezhCl.net
やったー!
ペイントで頑張って作ったよ
http://i.imgur.com/MB8hOOv.png

602 :デフォルトの名無しさん:2017/02/24(金) 02:03:00.65 ID:z1PezhCl.net
合成関数もできたよ!
http://i.imgur.com/hWgibyG.png

603 :デフォルトの名無しさん:2017/02/24(金) 02:38:00.60 ID:VsGpwvoI.net
http://www.phys.u-ryukyu.ac.jp/~maeno/sizensuugaku/funcCompo.png

604 :ふつけら ◆.dmxDXVJPU :2017/02/24(金) 06:47:03.79 ID:DGbB1ZNE.net
>>585
違うって言ってるのは今のところ俺だけだけど
違うことだけは>>188で具体例を出してる
同じだと言う人は>>188のCの関数群がそれぞれ
どういう数学の概念に相当するのか答えろよ

他にも数学では無限を扱えるがコンピュータは直接無限を扱えない(処理が終わらない)
コンピュータでは近似(float等)であったり
遅延評価(haskell 無限リスト)であったり特別なモデル化(領域理論等)が必要だったりする

605 :デフォルトの名無しさん:2017/02/24(金) 07:35:56.26 ID:UOjrjCC/.net
定義の場合は

f(x) : ax + b

とかBNF的に書いた方が分かりやすそうだな

606 :デフォルトの名無しさん:2017/02/24(金) 07:51:38.64 ID:UOjrjCC/.net
中学生の問題は難解なものを敢えて選択したのに基本的なことをすっ飛ばしてやろうとする所だな

複雑なものほど簡単な所を確実に押さえておかなければ先に進まないよ

607 :デフォルトの名無しさん:2017/02/24(金) 08:40:54.49 ID:tSFOJ55b.net
>>605
C言語風に書けばいいだけじゃあないかなぁ?

608 :デフォルトの名無しさん:2017/02/24(金) 12:04:05.07 ID:F/TDaiUX.net
Cのくそなところは
=が代入演算子なところ
あと*に意味が二つあるところ

609 :デフォルトの名無しさん:2017/02/24(金) 15:01:21.53 ID:IzlQUdN8.net
=が代入演算子なプログラミング言語は腐るほどあるだろ

610 :デフォルトの名無しさん:2017/02/24(金) 17:57:01.58 ID:9XZ0OXat.net
この世界には腐るほど糞が溢れてるってことだろ

611 :デフォルトの名無しさん:2017/02/24(金) 23:28:44.14 ID:r8chwlmp.net
FORTRAN, BASIC: 代入、等価ともに=
ALGOL, PASCAL: 代入は :=、等価は =
C(とその多くの子孫達): 代入は =, 等価は==
(ただし文字列はstrcmp関数やequalsメソッドなど用いる必要あり)
C系であるjavascriptは==と===と等価式が2つある

そしてCOBOLは代入がMOVE TOと、もはや記号ではなくしかも左から右という変態っぷり
(ただしCOMPUTE命令で=を代入式として使える)

612 :34歳うんぬん:2017/02/24(金) 23:44:28.52 ID:7vQ1IApu.net
>>ぬーぶ
プログラマー板に書いてあった、言いたいことって何?

613 :ぬーぶ ◆upkqfrxkrw :2017/02/25(土) 00:29:53.65 ID:gqIOXHuy.net
>>604,606
なんかもう複雑すぎてレス返そうにも返せない状態…

614 :ぬーぶ ◆upkqfrxkrw :2017/02/25(土) 00:34:40.94 ID:gqIOXHuy.net
>>612
話したい事なんだけど、
こっちのほうが言っちゃなんだけど
向こうより真面目に教えてくれる人が多いし、
暫くJavaのプログラミングをここでやりなよ。
特にこっちでは出禁されてるわけでもないし、
事情知ってる人が居ても…まあ34の態度次第っちゃ態度次第だけど。

あと紛らわしいから一応酉つけてね。

マ板の質問に対しては上のほうのレスでも言ってあるけど
二重人格というよりかは情緒不安定、躁鬱に近い状態なんかな。
攻撃的か穏やかかは殆ど機嫌次第だし、攻撃的で機嫌悪いときでも
一応穏やかなときと言ってる事はさほど変わらないよ。

615 : ◆BrBq2CJg6HGd :2017/02/25(土) 00:57:22.86 ID:5SdVEWhc.net
>>614
ありがとね。
まあ受け入れられそうな感じならいいんだけどね。

精神疾患かぁ。病院か診療所通ってる?(疑問形にしてても答えたくなければ答えなくていいから)

616 :ぬーぶ ◆upkqfrxkrw :2017/02/25(土) 01:02:42.52 ID:gqIOXHuy.net
>>615
精神疾患というか最近リアルでも色々あって気が抜けてる
病院はちゃんと通ってるよ

617 : ◆BrBq2CJg6HGd :2017/02/25(土) 01:42:39.84 ID:5SdVEWhc.net
>>616
そうかぁ。大変だね…。

人間関係的なこと?進路的なこと?

618 :デフォルトの名無しさん:2017/02/25(土) 07:44:07.43 ID:LhQh8qro.net
>>617
プログラミング以外の雑談がしたいなら余所でやれ

619 :デフォルトの名無しさん:2017/02/25(土) 08:47:23.42 ID:QMwIpXRB.net
同病相憐れむという奴だな

620 :615:2017/02/25(土) 10:02:59.68 ID:5SdVEWhc.net
>>618
失礼しました。
プログラム板だってことを忘れてました。

621 :デフォルトの名無しさん:2017/02/25(土) 10:17:10.84 ID:QMwIpXRB.net
>>550
実際に書いて動かしてみればいいだけの話じゃね?
http://ideone.com/6TADD1

622 :KAC:2017/02/25(土) 11:24:12.41 ID:1Kz9yB9K.net
話が元に戻ってる…

元々は>>495(>>498)のプログラムで、
その動きが理解できないからって話

623 :デフォルトの名無しさん:2017/02/25(土) 11:32:00.19 ID:QMwIpXRB.net
まあ理解が追い付かなかったら手を動かせって話だね
IDEには便利なデバッガもあるのだし

624 :デフォルトの名無しさん:2017/02/25(土) 13:00:36.03 ID:4XU9OsB+.net
Visual Studioのデバッガは便利だと思うけどエクリプスのデバッガは不便だと思う俺がいる

625 :デフォルトの名無しさん:2017/02/25(土) 14:14:08.99 ID:QMwIpXRB.net
ハッキリ言ってC言語は高級アセンブラと揶揄されるほど難しい言語
C++はCを便利にした分言語仕様が増えさらに覚える事も多い

ハードの仕組み(電気的な話ではない)を理解したかったらアセンブラを
やってみる事だな(組める必要は無い)

626 :デフォルトの名無しさん:2017/02/25(土) 14:23:39.20 ID:HHep+tux.net
>>625
その話だと、Cやった方が良いだろ

627 :デフォルトの名無しさん:2017/02/25(土) 14:50:02.11 ID:K2WTaKqS.net
ゲームは人にプレイしてもらって初めて価値が生まれると思うんだよ
もちろん自分で作って自分だけがプレイして満足ならいいんだけど、大半のゲーム制作者は人にプレイしてもらうことを望んでるはず
C++とdxlibで作ったゲームを誰にプレイしてもらうの?

ハードウェア勉強したいんじゃなく、ゲームが目的なら
今の方法は茨の道を進んでたどり着いたゴールは過疎の村って感じだよ?

間違った方向への努力は評価できない

628 :デフォルトの名無しさん:2017/02/25(土) 14:52:56.87 ID:ALFxeD2L.net
お前に評価される意味がわからない

629 :デフォルトの名無しさん:2017/02/25(土) 18:11:06.26 ID:PB0Hr6wi.net
多分、全てを自分のコントロール下に置きたいんだよ
そして頑張れば自分に必要な機能だけ実装した自分ライブラリが完成させられると思っているはずだ

それが幻想だったと気がつくのは、実際にライブラリ作りはじめてから半年後くらいかな
何でも出来る&何でも自分でやらないとならない故に、
機能の取捨選択も出来ず何でも自分で実装しようとした果てに、途中で力尽き急激に熱が冷めるという結末まででテンプレ

630 :デフォルトの名無しさん:2017/02/26(日) 00:05:20.14 ID:WP4rX3RZ.net
熱ある奴はオレオレライブラリつくってもええんやででもcぷらぷらでおれおれしてもええことないで

大抵既存ライブラリがいまいちだと思ってる奴は自分で書きたいようにかけるようにしたいだけ

それを満たすための第一選択は動的スクリプト言語をやることなんだけど、何か変なポリシーがあるのか、最速言語ですべてを作ろうとする

そんな低遅延ハイスループットでいけてるライブラリなんて金もらわんとつくってられんような産物なの

631 :デフォルトの名無しさん:2017/02/26(日) 08:49:18.14 ID:s06OToLE.net
34歳がフェードアウトするタイミングで一緒にフェードアウトとかやっぱ同一人物だな

632 : ◆BrBq2CJg6HGd :2017/02/26(日) 11:17:03.32 ID:uiR224zO.net
>>631
まだ言ってる。

633 :デフォルトの名無しさん:2017/02/26(日) 12:37:43.96 ID:JlxiU+ns.net
>>626
レジスタやメモリ、スタックを直にイメージ出来るようになると違って来るんだよ

CASL IIのエミュレータでやってもいいしgccに-Sオプションで吐かせたアセンブラのリスト眺めるだけでも勉強になる

634 :ぬーぶ ◆upkqfrxkrw :2017/02/26(日) 13:45:18.65 ID:T6n4u/8j.net
>>617
両方。
これ以上の雑談は別スレ立てるなりして
こっちを誘導しておくれ

635 :ぬーぶ ◆upkqfrxkrw :2017/02/26(日) 13:48:44.88 ID:T6n4u/8j.net
えーと要するに関数を一回動かしてみれば良いのね…
そうしたかったけど何か自分で考えなきゃいけない気がしてw

636 :ぬーぶ ◆upkqfrxkrw :2017/02/26(日) 13:49:21.77 ID:T6n4u/8j.net
>>629
違うお

>>630
ライブラリを作る気はないけど、
ゲームエンジンはいずれ作りたいな
簡単なもので良いから。

637 :デフォルトの名無しさん:2017/02/26(日) 14:12:29.38 ID:s06OToLE.net
ゲームエンジン >= 複数のライブラリの組み合わせ
と仮定すると、ライブラリ作らんでどうやって実現するつもりなんだろうか?

638 :ぬーぶ ◆upkqfrxkrw :2017/02/26(日) 14:14:38.62 ID:T6n4u/8j.net
>>637
え、どゆこと?

639 :デフォルトの名無しさん:2017/02/26(日) 14:18:49.98 ID:JlxiU+ns.net
>>635
考えて分からなければやってみるしかないじゃん
やってみてどうしてそうなるのかまた考えればいい

誰かが自分にも分かるように説明してくれるの待つつもり?

640 :デフォルトの名無しさん:2017/02/26(日) 14:20:40.27 ID:JlxiU+ns.net
>>637
いままでゲームエンジンを何だと思ってた?

641 :デフォルトの名無しさん:2017/02/27(月) 01:43:56.60 ID:2XS/hhGQ.net
ゲームエンジン作りたい言うてるのに、それが何か知らないというのは問題やなあ

ゲーム制作に必要なゲームライブラリのことやで(プラス今は統合開発環境も含まれる)
下のPlayground概念図という図がわかりやすいから見てみるとええ
http://www.klab.com/jp/press/detail/id=4676

642 :デフォルトの名無しさん:2017/02/27(月) 01:51:32.17 ID:2XS/hhGQ.net
ちなみにわいはスマホゲーム屋さんやけどな、ゲームエンジン作ってる人たちはほんま怪物やと思うでw

643 :デフォルトの名無しさん:2017/02/27(月) 05:47:24.92 ID:rD+94B0V.net
ウディタ見てて思うけど、ゲームエンジンとしての直接の問題点は
画像素材や音声素材の有無に集約されちゃうし
それらの弱点を克服できるゲームエンジン作れば需要はあるかも

古いゲームだけどCGIで動いてたSOLD OUTみたいのを作るエンジンとか?

644 :デフォルトの名無しさん:2017/02/27(月) 19:56:55.73 ID:lIWYqwVD.net
まあ中学生は普通に学校行って普通の思考力、読解力養うのが先決みたいだな

まあ飽きてきたみたいだがw

645 :デフォルトの名無しさん:2017/02/27(月) 22:55:56.94 ID:02Yvq+V3.net
まぁ、若いうちは取り返しのつく範囲でなら遊んでてもええ
ニートになって30過ぎてからプログラマ目指すのは手遅れや

646 :デフォルトの名無しさん:2017/02/27(月) 23:21:58.60 ID:2E5i04bw.net
30代の半ばになって、中学生の振りをしたりするのなんて
もう人生の敗北者まっしぐらだからな!
誰とは言わないけど、他のみんなはこうならないようにちゃんと勉強しろよ!

647 :デフォルトの名無しさん:2017/02/27(月) 23:34:51.95 ID:dfTsPI2D.net
現実逃避し過ぎて別人格(過去の自分)が出てきたのか?

何だか漫画みたいだなw

648 : ◆BrBq2CJg6HGd :2017/02/28(火) 00:17:45.61 ID:hDpdGzmn.net
ところでぬーぶくんは何か(情報関連の)資格を取る予定はないの?
まぁもう少し先かぁ。

649 :デフォルトの名無しさん:2017/02/28(火) 00:36:54.61 ID:cPMgmf0t.net
中学生が平日のこの時間に返事すると思っている所がなあ

650 : ◆BrBq2CJg6HGd :2017/02/28(火) 01:17:44.94 ID:hDpdGzmn.net
あんまり反論すると嫌われそうですが。
別にそういう(今レスして欲しい)訳じゃありませんよ。
掲示板だからいつ書き込んでもいいじゃないですか。

651 :デフォルトの名無しさん:2017/02/28(火) 01:32:59.76 ID:QAmvnTtD.net
ニートのおじさんはプログラミングには興味が無いけど中学生に興味しんしんのようです
これ、事件になる前に通報しといたほうがいいやつ?

652 :デフォルトの名無しさん:2017/02/28(火) 08:49:12.91 ID:cPMgmf0t.net
そのあと中学生にチェンジする予定だった

653 :デフォルトの名無しさん:2017/02/28(火) 09:26:05.60 ID:AahTSViM.net
・活動時間帯が一緒
・アクティビティも連動
・マルチレスのスタイルが一緒
・一時期は引用符も独特な→で被っていた
・句読点のスタイルで違いを演出するも最近は崩れがち
・どちらも…をよく使う
・どのスレも雑談スレだと思っている
・書きたいと思ったらスレ趣旨なんて関係ない
・自分の誤りは認めないスタイル
・基本話は通じない
・どちらも並どころか底辺以下のプログラミング能力
・勉強は一切しない
・動けばそれでいいと思っている

654 :デフォルトの名無しさん:2017/02/28(火) 09:41:46.87 ID:cPMgmf0t.net
結局まだ何一つ作れていないのは同じだな

655 : ◆BrBq2CJg6HGd :2017/02/28(火) 21:17:04.33 ID:hDpdGzmn.net
もう思考放棄して、その方が面白いからというたわいもない理由で、同一人物にしとこうということで方向性まとまってるでしょ?

656 :デフォルトの名無しさん:2017/02/28(火) 21:24:10.30 ID:s9pl2JiI.net
同一人物かどうかなんてどうでもいいからやる気があるならコードを書け
やる気がないなら失せろ

657 :デフォルトの名無しさん:2017/02/28(火) 21:30:45.72 ID:cPMgmf0t.net
やる気なんて最初からないだろ

常に口だけのやるやる詐欺

658 :デフォルトの名無しさん:2017/02/28(火) 21:45:11.91 ID:yqCU2pRG.net
やる気よりも頭がよろしくないのが致命的だと思う
目指すのは自由だが研究職とかにつくよりも別な目指した方がよっぽど幸せになれる可能性が高いと思うがなぁ

どっかのターニングポイントで変わったりするもんなんだろうか?

659 :デフォルトの名無しさん:2017/02/28(火) 22:05:25.80 ID:SX/AvTMQ.net
中学生のやわらか脳みそにC++つめこむとか害悪でしかない

100歩譲ってjavascriptだろ

660 :デフォルトの名無しさん:2017/02/28(火) 22:32:45.51 ID:cPMgmf0t.net
高さ過ぎるプライドが邪魔して完全に道を踏み外したな

周りが見えず自分が見えないのがこんなに恐ろしいとはね

661 :デフォルトの名無しさん:2017/02/28(火) 23:19:10.45 ID:YrmGOSdc.net
自分は周りと違う特別だって思ってそう
その通り、周りよりも特別頭が悪いよ

662 :デフォルトの名無しさん:2017/02/28(火) 23:48:57.88 ID:ym9kvrf3.net
プログラム板トップオブトップの思考停止放棄クズ人間に
思考放棄呼ばわりされたお前らやばすぎw

663 : ◆BrBq2CJg6HGd :2017/02/28(火) 23:51:25.15 ID:hDpdGzmn.net
やんなっちゃうなぁ。こっちのスレでも叩かれるのかぁ。
やる気はありますよ。足りない頭は努力でカバーです。

664 :デフォルトの名無しさん:2017/03/01(水) 00:07:17.14 ID:w0n3ASZT.net
>>663
やる気あるならさっさとjavascriptでソースコード書いてこいや

665 :デフォルトの名無しさん:2017/03/01(水) 00:09:17.75 ID:8HxP/c9n.net
やる気はあります(やらない)
努力します(しない)

行動が伴ってないと誰も相手にせんて

666 :デフォルトの名無しさん:2017/03/01(水) 00:22:34.94 ID:oHg27y2I.net
お茶してオセロするだけの努力

667 :デフォルトの名無しさん:2017/03/01(水) 00:36:37.15 ID:CRzwIyGv.net
こいつに努力なんて言われると、言葉のほうが汚れちゃう。
健常者からしてみたら「3秒息を止める努力をしてみました」程度の
努力すらしてないクズの分際で。

668 :デフォルトの名無しさん:2017/03/01(水) 00:41:05.60 ID:w0n3ASZT.net
息を止めるのもめんどくせぇ

669 :デフォルトの名無しさん:2017/03/04(土) 20:09:23.61 ID:4ZTE1hiQ.net
最初は滑り出し良かったのに(´∀`∩)↑age↑

670 :デフォルトの名無しさん:2017/03/04(土) 20:30:14.63 ID:cGIXn+Tz.net
ぬーぶにもようやく現実が見えてきただけだ
スレはこのまま落とせ

671 :デフォルトの名無しさん:2017/03/05(日) 03:42:31.63 ID:7y+kqLc2.net
理想:ゲームエンジン使ってゲーム作るなんて嫌どす。将来はゲームエンジンそのものを作るんれす!

現実:関数すら理解できずにTHE END・・・(´◉◞౪◟◉)

672 : ◆BrBq2CJg6HGd :2017/03/05(日) 06:35:14.34 ID:+xkvfAjd.net
関数って、
戻り値 関数名(仮引数) {処理内容}
で構成されるやつでしょ?
そんなに難しいかな?

使用例:足し算の和を返す関数
int sum(int a, int b){
ans = a + b;
return ans;
}

int result = sum(100, 20);

673 :デフォルトの名無しさん:2017/03/05(日) 06:45:37.65 ID:HdKtRuq3.net
関数は難しいやろ

値、ポインタ渡し、cppなら参照渡しとポインタ渡しは違うし
計算結果を帰す手段についても、Cppならポインタ渡しした変数を演算して、それを持ってして計算を終え、返り値には成功したかどうかチェックコードを返すっていう関数設計もパフォーマンスを重視すればありうる
むしろそれがCppらしいやり方で、Cを採用する理由なんだよなあ

こんな選択肢がある状態で関数を理解しろって結構複雑だろ

674 :デフォルトの名無しさん:2017/03/05(日) 06:55:54.30 ID:AwmlDDcJ.net
2つの値足すだけの関数の名前にsumとつけちゃうセンス

675 :デフォルトの名無しさん:2017/03/05(日) 07:34:42.38 ID:UiieEwKt.net
その辺は入門書にも責任あると思うよ

676 :デフォルトの名無しさん:2017/03/05(日) 09:43:44.82 ID:rgW80Bo3.net
ぬーぶがここまで考えてるとは思わないが、確かに関数は難しい

C++で関数に関わるものだけでも
関数のオーバーロード、関数ポインタ、関数テンプレート、関数オブジェクト、ラムダ式、static関数、constメンバ関数、仮想関数とそのオーバーライド、純粋仮想関数、std::function、std::bind、std::mem_fn、クラスで暗黙定義される特殊関数とそのdefault/delete宣言
ADLも知っておかねばなるまい

関数の設計も重要だ
引数や戻り値に、ポインタ、参照どれを使うのか
constを付ける必要はあるのか
ポインタは生ポインタにするのか、スマートポインタにするのか
複数の値をまとめるにはクラス/構造体にするのか、std::tupleを使うのか

エラー通知にも選択肢があり、例外を使うのか、エラーコードを使うのか、std::optionalを使うのか

単純に引数を計算して終わり、というものではない

677 :デフォルトの名無しさん:2017/03/05(日) 10:06:38.97 ID:AwmlDDcJ.net
最初からぬーぶなんて中学生はいなかったんや

678 :デフォルトの名無しさん:2017/03/05(日) 10:10:20.36 ID:AwmlDDcJ.net
>>672
ansの宣言はどこでやってるんだろ?てかans要らんやろ
こんだけ単純な関数でもセンスの無い奴

679 :670:2017/03/05(日) 12:08:08.47 ID:+xkvfAjd.net
>>678
忘れたんだよ。センス無いってうるさいなあ。


1つ書き込むとその何倍も論破されるなぁ。

680 :デフォルトの名無しさん:2017/03/05(日) 13:15:35.93 ID:eOiuh3Vb.net
34歳は嫌われてるからね
何故嫌われたのかは、マ板の過去スレを読み返して考えてみよう

今回のは
「関数なんて簡単だろ、俺でもわかるよ(ドヤァ」(意訳)
と、中学生を馬鹿にしたようなレスが鼻についたからかな

681 :デフォルトの名無しさん:2017/03/05(日) 13:21:16.58 ID:D7fXsWlm.net
>>673
>>676
その辺の事はまず動くコードが書ける様になってから改めて考えさせられる事であって
まだ動くコードが書けない人は>>672の認識からでいいんでないの

682 :677:2017/03/05(日) 16:39:34.44 ID:+xkvfAjd.net
>>680
まあ「負の遺産」は仕方無いですけど。

Javaやってると(Javaではメソッドですけど)メソッドの理解ではほとんど突っ掛かりませんよ。まあクラスを戻り値にしたり、引数にしたりと若干高度な内容もありますがね。
なんでぬーぶくんもC++なんてトップクラスに難しい言語選んじゃったんだろうなぁ。

683 :デフォルトの名無しさん:2017/03/05(日) 18:57:28.05 ID:UiieEwKt.net
C++は
言語仕様を完璧に理解しようとしたら死ぬってだけで
理解出来る仕様を理解出来る範囲で使う分にはそこまで難しいわけでもないけどな

具体的にはテンプレート辺りで止めればそこまで複雑なもんじゃない

684 :デフォルトの名無しさん:2017/03/05(日) 21:17:22.55 ID:mK1Zj6m4.net
C++が難しいとか言ってる奴はどれだけ無能なのか自覚したらいいよ

685 :デフォルトの名無しさん:2017/03/05(日) 21:56:44.10 ID:AwmlDDcJ.net
さすが自分が有能だと自覚してる人は言う事が違うねw

686 :デフォルトの名無しさん:2017/03/05(日) 22:20:55.48 ID:xpxsis4Y.net
C++の難しい部分に触らずに今まで生きてきた有能さんはさすが云うことが違いますなぁ。

687 :デフォルトの名無しさん:2017/03/06(月) 01:12:10.35 ID:4DXGuyA0.net
>>685-686
自分が無能だからって他人を巻き込むなw

688 :デフォルトの名無しさん:2017/03/06(月) 01:33:00.90 ID:LyKPfjGH.net
褒めてるのに何か気に障った?w

689 :デフォルトの名無しさん:2017/03/06(月) 11:37:54.56 ID:L7Cb7f1R.net
C++がことさら難しいとは今は思わんが、
昔は多重継承でダイヤモンド型とかになるようなことやったらあかんとか、コンストラクタで例外投げたらあかんとか、やったらダメなことって〜のが結構多いのはめんどい
今は問題ないのかな?

690 :デフォルトの名無しさん:2017/03/06(月) 12:30:00.84 ID:pX6Kd1t9.net
34歳はじゃんけんもまともに作れないからセンスなんてないのよ。
あれはよくSIerの研修で24時間与えられて作らされるのよ。
そこでできないやつはテスターくらいしかできなくて開発仕事なんてできないの。

691 :デフォルトの名無しさん:2017/03/06(月) 13:16:56.18 ID:BjWb+kQy.net
>>689
そんな迷信に騙されてるから難しく考えてるだけでは?

692 :デフォルトの名無しさん:2017/03/06(月) 13:25:53.67 ID:L7Cb7f1R.net
>>691
寝言はEffectiveC++だか、MoreEffective読んでから言えよ

693 :デフォルトの名無しさん:2017/03/06(月) 13:37:43.05 ID:BjWb+kQy.net
>>692
何が問題なのか言ってみ?
ちゃんと説明してやるから

694 :デフォルトの名無しさん:2017/03/06(月) 14:31:52.85 ID:L7Cb7f1R.net
>>693
・ひし形継承問題
Aを継承しているB、Cを継承したクラスDで、クラスAのメソッドhogeをB、Cでオーバーライドした場合、クラスDでsuper.hoge();とした場合、どうなるのか?

・コンストラクタで例外投げる問題
とあるクラスを継承したクラスのコンストラクタで例外発生させた場合(コンストラク内でキャッチしないと)、メモリリークするはず。問題がないなら、いつ頃改善したのか明示してください。

695 :デフォルトの名無しさん:2017/03/06(月) 14:51:43.70 ID:BjWb+kQy.net
>>694
文法まちがってる。菱形継承にしたいなら virtual使え。

メモリリークするはずという事が認識間違ってる。
具体的にどんなコードで何がリークするのか書いてみ?指摘してやるから。

696 :デフォルトの名無しさん:2017/03/06(月) 15:02:44.99 ID:L7Cb7f1R.net
>>695
メモリリークの件は迷信ぽいようですまんかった。あなたが正しい。
おっさん、C++は2000年以降触ってなくてね。

>菱形継承
https://ja.wikipedia.org/wiki/%E4%BB%AE%E6%83%B3%E7%B6%99%E6%89%BF
の例でいうと、
Mammal、WingedAnimalでeatをオーバーライドするじゃないですか。
その場合、batでsuper.eat();したらどうなるのっと?


つーか、今から第三者が書いたC++のコードを読めとか言われたら悶絶しそうだな。自分が書くのは難しくないけど、他人のだけは読みたくねぇや

697 :デフォルトの名無しさん:2017/03/06(月) 15:04:10.09 ID:BjWb+kQy.net
>>694
一応言っておくけど、複数クラスを継承した場合で
同じメソッド名が複数のクラスに存在する場合は
スコープ演算子で明示しないと書けないのは菱形問題と関係ない

698 :デフォルトの名無しさん:2017/03/06(月) 15:21:42.86 ID:L7Cb7f1R.net
>>697
なるほど、コンパイルエラーにでもなるんかな。覚えてねーや。ありがとう。

今はSwiftとObjCくらいしか触ってないが、virtualとかないから簡単な方だよな。コードにコメントなくてもなんとかなる。

699 : ◆BrBq2CJg6HGd :2017/03/06(月) 15:48:15.51 ID:KtYgjZkp.net
>>690
正規表現を使って作ってもいいですかぁ?

700 :デフォルトの名無しさん:2017/03/06(月) 16:46:14.56 ID:BjWb+kQy.net
>>698
C++が面倒なのは同意。
菱形にしないクラス継承もできるようになってるから、
その辺は「書いたとおりに動く」ってことで。
結構コーディングしたイメージどおりの展開にはなるぞ

> コンパイルエラーにでもなるんかな。

定義が曖昧だとコンパイルエラーになる
基本的にはスコープ付けて明示すればOK

↓こんなソースから適当にいじってみれば?

#include <stdio.h>
class A { public: virtual void f() = 0;};
class B : virtual public A {public: void f() { printf("b\n"); }};
class C : public A {public: void f() { printf("c\n"); }};
class D : public C, virtual public B {public: void fB() { B::f(); } void fC() { C::f(); }}

int main() {
D a;
a.fB();
a.fC();
A* pc = (C*)&a;
A* pb = (B*)&a;
pb->f();
pc->f();
return 0;
}

701 :デフォルトの名無しさん:2017/03/07(火) 01:06:27.21 ID:DXFL2p+H.net
雑談したいだけのコード書けないおじさんはいらない

702 :デフォルトの名無しさん:2017/03/07(火) 01:12:59.49 ID:TRrf8/Mo.net
菱形継承はSunが大々的にc++を叩くための方便だと思う

営業戦略って奴ですよ

703 :デフォルトの名無しさん:2017/03/07(火) 03:16:12.16 ID:wxDNQTjV.net
継承の理解が浅い人が多いから仕方ない

704 : ◆BrBq2CJg6HGd :2017/03/07(火) 15:56:16.00 ID:WdVyae2Q.net
>>701
簡単なものですが>>672にソースコードは書いたんですが。

705 :デフォルトの名無しさん:2017/03/07(火) 17:16:49.74 ID:zMAKyDZi.net
>>704
は?

706 :デフォルトの名無しさん:2017/03/07(火) 17:36:30.08 ID:dn50L2aA.net
いい加減スレタイ通りねねっちを返せよ
34歳も中学生も見たくないんだよ

707 :デフォルトの名無しさん:2017/03/07(火) 18:01:54.68 ID:HgGmzj9b.net
>>706
NG登録しておけばいいんじゃね?
あいつらはバカすぎて話にならないから読む価値もないよ。

708 :デフォルトの名無しさん:2017/03/07(火) 23:14:20.40 ID:9tNPtGWP.net
ぬーぶとかいう人は完全に消えちゃったね
前に誰か書いてたけど、プログラミング初めてならC#かPhthon辺りを学んだ方が良かったと思うな

709 :702:2017/03/07(火) 23:20:23.26 ID:WdVyae2Q.net
>>705
雑談したいだけではないって言いたかっただけです。

710 :デフォルトの名無しさん:2017/03/07(火) 23:32:52.76 ID:DXFL2p+H.net
コンパイルも通らない数行のコード片を貼り付けただけでコードを書いたと言い張るのか
すげぇな

711 :デフォルトの名無しさん:2017/03/08(水) 02:17:24.19 ID:ioFTtoGE.net
ニートおじさんのすぐに言い訳し始めるところホント嫌い

712 :707:2017/03/08(水) 05:41:57.88 ID:VjQbqbJI.net
あかん、もうアンチできてる…。勘弁してくれぇ…。

713 :デフォルトの名無しさん:2017/03/08(水) 07:45:55.18 ID:eSB3w3WD.net
>>712
お前バカだろ

714 :デフォルトの名無しさん:2017/03/08(水) 08:39:02.41 ID:VOUV4UMF.net
>>712
そうやってくだらないレスしてるからだろう
雑談がしたいのなら他へ行け

プログラミングの勉強がしたいのならコードを書け

715 :デフォルトの名無しさん:2017/03/08(水) 12:40:40.34 ID:WDLIW5bb.net
八神コウって何でパンツ穿いてるの?
ぶるーれいでは穿いてないのに……

716 :ふつけら ◆.dmxDXVJPU :2017/03/08(水) 19:03:11.47 ID:25ycDJbR.net
最近怠けてて進行速度落ちたけど>>123の本の9章まで来た。後2章で終わり
ぬーぶはまだ勉強してるのだろうか

717 : ◆BrBq2CJg6HGd :2017/03/09(木) 23:22:49.12 ID:lNs5wZZQ.net
ふつけらさんはどの言語が出来るんですか?

718 :デフォルトの名無しさん:2017/03/09(木) 23:41:11.11 ID:8xxJfWsB.net
雑談おじさんの雑談タイムはじまるよ!

719 :715:2017/03/10(金) 00:15:39.54 ID:pfLjfjar.net
>>718
言語を話題にしてるのに雑談扱いなのか?

720 :デフォルトの名無しさん:2017/03/10(金) 00:36:39.60 ID:WLxbtQTz.net
ここプログラミングの勉強スレなんだけど
スレが無駄に埋まるし、勉強する気がないなら邪魔だからどっか別のスレに移れば?

721 :デフォルトの名無しさん:2017/03/10(金) 00:39:23.32 ID:zabOPJDj.net
>>719
バカにはわからないみたいだけど、お前のそれは雑談。
もう二度とこのスレに来ないでいいよ邪魔だから。

722 :デフォルトの名無しさん:2017/03/10(金) 00:43:57.73 ID:N5C2a6wz.net
>>719
キミは人間相手の会話は無理みたいだから、
人と会話をしないで、一人でじっくり本を読んで、一人で勉強するのがよいと思う。
一般的な人間の感性となにもかもが違いすぎる。
多くの人はキミを対等に会話ができる人間、とは認識できないと思うよ。
会話をしていると違和感や不快感を与えるだけで、キミのためにもならない。

723 :デフォルトの名無しさん:2017/03/10(金) 01:54:28.27 ID:3Ur7vFCM.net
>>717
それを知ってお前のスキルが上がるのか?
上がらない以上雑談レベルの話でしかないわな

724 :717:2017/03/10(金) 04:50:31.68 ID:pfLjfjar.net
…うーん。
皆俺の言うことは何でもだめという先入観あるだろ。

725 :デフォルトの名無しさん:2017/03/10(金) 04:57:02.80 ID:2iI/e+AY.net
まあトリップも付けてない奴の話は聞かないよなあ

726 :デフォルトの名無しさん:2017/03/10(金) 05:14:10.90 ID:R2qLvG5U.net
>>723
自意識過剰すぎ
お前のことなんて誰も覚えていない

発言内容がバカだから叩かれてるだけだって理解しろ

727 :デフォルトの名無しさん:2017/03/10(金) 05:15:39.13 ID:R2qLvG5U.net
ごめ間違えた
>>726に書いたのは 721じゃ無くて >>724 な・・・

728 :デフォルトの名無しさん:2017/03/10(金) 08:31:04.63 ID:0sp5MZsv.net
>>724
雑談せずにコードを書けという、まともな指摘を無視
あげく、スレの流れも関係なくコテハン同士で馴れ合いを始めようとする始末

話にならんな

729 :デフォルトの名無しさん:2017/03/10(金) 11:13:46.44 ID:3Ur7vFCM.net
>>724
そういう風に思ってるならそれは胸のうちに秘めろ
わざわざ口外して顰蹙買わないようにすることを学習しろ
そして、ダメだと思ってるなら良いと思われる行動をとれ
例えばこのスレでいうなら、(君の場合は)最低でもコンパイルが通るコードを書け
できないならROMってろ

730 :デフォルトの名無しさん:2017/03/10(金) 12:19:07.37 ID:zabOPJDj.net
>>724
そういうことは片山並みの有名キチガイコテハンになってから言えよ。
誰だよお前。統失みたいだから病院行って社会から隔離されてろ。

731 :デフォルトの名無しさん:2017/03/11(土) 10:47:09.73 ID:nZv/LOqc.net
いじめ、いくない

732 :デフォルトの名無しさん:2017/03/11(土) 11:44:12.50 ID:rPrMEsje.net
そもそもコードを書けって指摘の意味わかってないっぽい

もっと言えばコードを書けって指摘に対してバグのあるIF文みたいな挙動してる

733 :デフォルトの名無しさん:2017/03/11(土) 13:02:16.47 ID:4oTP4R4t.net
お前みたいな話し方してる奴は話の内容に関わらずイライラするから消えてくれ

734 :デフォルトの名無しさん:2017/03/11(土) 14:08:58.66 ID:As+amCKW.net
>>731
君が第三者だとして本気でそれ言ってたとしたら精神科などに受診することをお勧めするよ

735 :722:2017/03/11(土) 14:42:50.26 ID:9hkfXDZv.net
>>731の人の気持ちは分かる。上が多勢に無勢という構図だったから。
精神科に行く必要は全く無い。

736 :デフォルトの名無しさん:2017/03/11(土) 14:57:14.31 ID:bp+uukYp.net
いや、お前は行け

737 :デフォルトの名無しさん:2017/03/11(土) 15:16:45.98 ID:E2kvI3z4.net
学級崩壊を引き起こしている小学生をクラスで批判すると
担任を中心としてクラス全員がいじめをしていることになったり
するのと同じ構図。
自分の人権だけが大事で、しかも面白がって意図して荒らしているので、
自分のことは棚に上げて、他人をいじめ加害者扱いにしたり暴行加害者に
仕立てたり、あるいは、そうなるぞ、と脅したりしてやりたい放題。

738 :デフォルトの名無しさん:2017/03/11(土) 15:19:09.91 ID:E2kvI3z4.net
「声がでかい人権派の加害者」
これが◆BrBq2CJg6HGd を表すのに適切だろう。
本人が理解しているかどうかに関係なく、関わらないのが無難。

739 :733:2017/03/11(土) 16:01:32.78 ID:9hkfXDZv.net
あっああ…。もうだめだぁ。

740 :デフォルトの名無しさん:2017/03/11(土) 16:35:46.47 ID:roVPBsMN.net
なんでわざわざ名前を毎回変えてるの?
自動あぼーんされないようにするため?
完全に荒らしじゃん。

741 :デフォルトの名無しさん:2017/03/11(土) 16:38:56.59 ID:XlWbkNYk.net
NGしたいから名前変えるな
デフォルト以外NGにすれば良いのか

742 :デフォルトの名無しさん:2017/03/11(土) 16:50:02.22 ID:CebZxH1U.net
前に別のスレでも指摘されてたな
http://tamae.2ch.net/test/read.cgi/prog/1458358585/84-86

学習能力なしか

743 :デフォルトの名無しさん:2017/03/11(土) 17:07:50.01 ID:roVPBsMN.net
>>742
もはや荒らしというより、人の迷惑になることが大好きな本物のキチガイだったようだね。

744 :デフォルトの名無しさん:2017/03/11(土) 17:19:09.98 ID:7W6dDd5l.net
心が折れたか

745 :デフォルトの名無しさん:2017/03/11(土) 17:43:39.41 ID:vHoFa6tG.net
>>742
いや、こうすると人は嫌がるんだ
と、学習したんだな
悪意に満ちてる

746 :ぬーぶ ◆upkqfrxkrw :2017/03/11(土) 19:26:52.84 ID:5x1+u5Xv.net
とりあえずただいま
しばらくPC開けなかったもので
レス回収しきれないな
プログラミングも再開しないとだけど
ひとつ気になることがある。

前にゲームエンジン云々の話があったと思うんだけど
それは例えば直感的に操作できるUnityとかUEとかそういうのもだけど
一番使いたいDxLibもゲームエンジンの中に入るの?追加コンテンツみたいな形だけど。

それとゲームには関数が絶対に必須?
自分が見た限りゲームに関数を使うところってなさそうだけど…

747 :デフォルトの名無しさん:2017/03/11(土) 19:34:36.93 ID:5qmNSq09.net
それは関数を勘違いしてるだけよ

748 :片山博文MZ ◆T6xkBnTXz7B0 :2017/03/11(土) 19:39:32.90 ID:RCDcjOzL.net
DxLibもゲームを作る土台だから、ゲームエンジンであると言える。
DxLibを使っているなら、ライブラリ関数を使っていることになる。ぬーぶさんが言っているのはユーザー関数ってことになるね。
複雑なゲームを作るなら、ユーザー関数は必須。

749 :デフォルトの名無しさん:2017/03/11(土) 19:41:57.45 ID:bp+uukYp.net
なんか出てくるのが何時も都合よくタイミング合いすぎw

750 :片山博文MZ ◆T6xkBnTXz7B0 :2017/03/11(土) 20:03:57.26 ID:RCDcjOzL.net
実はライブラリ関数は、ユーザー関数と同じように定義できる。違いはライブラリの中にあることだけだ。
ライブラリを作成するときに定義した関数がライブラリの中に取り込まれる。他のプロジェクトでライブラリを使うときは
リンク時にライブラリ内部の関数を取り込むので呼び出して使うことができる。

751 :片山博文MZ ◆T6xkBnTXz7B0 :2017/03/11(土) 20:09:40.06 ID:RCDcjOzL.net
こうしたゲームエンジンを作りたいなら、DirectXなどの低レベルな描画関数やサウンド関数の使い方を研究しないといけない。
興味があれば、DxLibのソースコードを読むといい。最初は挫折するだろうが、高校・大学レベルの数学の知識があれば何とかなるだろう。

752 :ぬーぶ ◆upkqfrxkrw :2017/03/11(土) 20:13:49.79 ID:5x1+u5Xv.net
>>747
勘違いしてるから詰まってるんだけどね…
そもそもそんなに必要なの?

753 :ぬーぶ ◆upkqfrxkrw :2017/03/11(土) 20:14:46.17 ID:5x1+u5Xv.net
>>748
そうなんか、複雑なゲームってどの程度のもの?
使わずにゴリ押しで作るってことはできるの?
勿論バグも容量も増えるだろうけど

754 :デフォルトの名無しさん:2017/03/11(土) 20:15:53.26 ID:R4vsPqio.net
だから関数を理解しろと何度も言ってる訳だが・・・
話がまったく進まんね

755 :デフォルトの名無しさん:2017/03/11(土) 20:16:54.61 ID:bp+uukYp.net
すれ違いの会話演じ続ける

756 :片山博文MZ ◆T6xkBnTXz7B0 :2017/03/11(土) 20:24:20.05 ID:RCDcjOzL.net
そりゃ、確かにかけ算は足し算の繰り返しで計算できるよ。でも100x100を99回の足し算で計算していたら馬鹿だよね。
そんなことだと、プロとして認められないよ。

757 :デフォルトの名無しさん:2017/03/11(土) 20:33:09.99 ID:U5rDSQzZ.net
>>753
HSPでは関数無しでやってきたんでしょ
ならば要らないと言えば要らない

C++で、との注文だけど前の経験が忘れられない様ならさっさと戻った方が良い

758 :片山博文MZ ◆T6xkBnTXz7B0 :2017/03/11(土) 20:36:42.65 ID:RCDcjOzL.net
計算方法だけでなく、かけ算という概念があることが重要なんだ。
プログラムの関数も処理のまとまりを考える上で重要だよ。
関数を理解してないなら、構造化プログラミングの「こ」も理解してないことになる。

759 :デフォルトの名無しさん:2017/03/11(土) 20:42:13.49 ID:bp+uukYp.net
ものすごく短い簡単なものしか作れないな

と言うかものすごく理解力の低い中学生の設定無理が無いか?

小学生でも3カ月ぐらいやってればそんなものかと理解するぞ?

760 :デフォルトの名無しさん:2017/03/11(土) 21:17:44.24 ID:RCDcjOzL.net
Visual Studio C++ 2015はちゃんと動作してるか?

761 :デフォルトの名無しさん:2017/03/12(日) 00:33:47.08 ID:Q3GGfJh8.net
関数でどれだけの期間詰まってるんだよ馬鹿すぎない?

762 :デフォルトの名無しさん:2017/03/12(日) 04:32:01.12 ID:HS3T1gT0.net
関数って意外と難しいんじゃあ…。

763 :デフォルトの名無しさん:2017/03/12(日) 09:05:01.66 ID:I52FEYVm.net
>>756
さすがにいまどきは、乗算や除算の演算コストが高いので
加減算とビットシフトで計算するようなロジック、あるいは計算不要な
方法を考えるのがプロ、という時代でもないか。

マイコンやってるひとくらいかな。乗算命令なんて使うと怒られるのは。

764 :デフォルトの名無しさん:2017/03/12(日) 09:27:00.46 ID:bgcv56pK.net
>>763
は?
乗算命令よりも効率の良いロジックが代替処理で組めるとでも思ってる?

765 :デフォルトの名無しさん:2017/03/12(日) 09:58:40.98 ID:olPCTFrN.net
可能ならば計算すらしないようにロジックを考えて組むのは基本中の基本では?w

766 :デフォルトの名無しさん:2017/03/12(日) 10:20:22.12 ID:RdGtMQ3H.net
計算済みの結果をルックアップテーブルに保管しておくとか普通にあるよな

時間と空間のトレードオフになるが

767 :デフォルトの名無しさん:2017/03/12(日) 10:32:19.36 ID:I52FEYVm.net
>>764
A * Bを、AもBもどんな整数でも書けるように作ったら
いまどきは乗算命令のほうが絶対に早いだろうけど、
仮に工夫によってBを2に固定できたらどうだろうか?
A * Bよりも A << 1のほうが早いよね。

ルックアップテーブルもよく使う方法だし、そういう工夫を用いる
必要がある世界もあるということ。
そもそも乗算命令がプロセッサにない世界なんてのもあるしね。

768 :デフォルトの名無しさん:2017/03/12(日) 11:13:41.85 ID:RdGtMQ3H.net
gccに-Sオプション付けてやってみたら2倍は単に同じレジスタの加算だったけど
8倍だと確かに算術シフトになったわ

769 :デフォルトの名無しさん:2017/03/12(日) 11:46:21.65 ID:bgcv56pK.net
>>767
「加減算とビットシフトで計算するようなロジック」とか言ってなかったか?

770 :デフォルトの名無しさん:2017/03/12(日) 11:55:12.16 ID:RdGtMQ3H.net
3倍なら (a << 1) + a で置き換えが可能だよね
つまり奇数倍はシフトと加算を組み合わせる必要がある

771 :デフォルトの名無しさん:2017/03/12(日) 12:02:40.39 ID:bgcv56pK.net
いや、だからそれでどうやって乗算命令より効率のいいロジックが組めるんだ?

772 :デフォルトの名無しさん:2017/03/12(日) 12:13:00.87 ID:RdGtMQ3H.net
まあこういうのはアセンブラの経験が無いとわからないよね

つまり乗除算命令に対して大抵の場合シフト命令や加算命令の方が
消費するクロック数が少ないんだ
乗除算 クロック数でググるといいよ

773 :デフォルトの名無しさん:2017/03/12(日) 12:15:28.74 ID:RdGtMQ3H.net
でもこういうのは大抵コンパイラの最適化が自動でやってくれるから
あまり気がしなくていい、ってのを>>763は言いたかったのだと

774 :デフォルトの名無しさん:2017/03/12(日) 17:53:01.10 ID:XVw6Q/4z.net
プログラムのアルゴリズムを表明したり議論するのにC++は向いてない、関数を学ぶにも向いてない

細かくチューニングする必要があったり、複数の言語間のやりとりをするときにようやく勉強するかって言語

dxlibを使うのが目的のやつはそもそもゲーム作るつもりないんでしょ

ちなみに乗除算は専用のALUがCPUにはいってるから気にする必要はない

てかC++ってのはこういうみみっちいことを気にする言語なんだよ
掛け算に何クロックかかるとか、メモリコピーを極力減らすとか、
システムコールやIOを極力減らすとか
要はCPUやGPUやメモリ帯域を搾り出すような職人ゲーみたいなことをしないといけない
それに現代のCPUはマルチスレッドときてる
まともにそういうプログラム組める奴はこのスレにはいねえよ

はっきりいって中学生が扱える代物じゃない、大学院までいってようやく全てをコントロールできる

そしてこうした知識はゲームの構想組み立てるのに何のやくにも立たない
これはデザインじゃなく、デザインをコンピュータに翻訳しているだけのどかた作業だからな

まず作りたいゲームをスケッチして、メインループを考えてからやれ
目標30fpsなのに5fpsしかでないとかになってから最適化を考えろ

775 :デフォルトの名無しさん:2017/03/12(日) 18:00:19.22 ID:XVw6Q/4z.net
最初っから汎用的な答を求めるな
ただ目的を実現することだけを考えろ

そうでなければ技術は何のやくにもたたねえよ

プログラムを記述するにあたってもっとも基本となるのはデータ構造だ、メモリがどうとかCPUクロックがどうとかじゃない

そのことを理解しないと面白いゲームは作れない、それどころか既存のライブラリに勝つことは絶対にない

いいかUnityとかunrealを作ってるのは、そのことに文字通り人生かけていて、何十年もプログラムを書いてる奴だ

なんでただの中学生が人生かけてプログラム書いてる奴に勝てると思うんだ?

もし勝つ方法があるとすれば、ゲームエンジンを作ることじゃなくて、ゲームデザインをすることだ

ブログをつくりたいってやつが、javascriptを勉強するのはわかるが、Tcpipを勉強しないといけないのかと

低レベルな所に踏みこむなら、まずデザインの大枠をきめてからにしろ、でないと絶対途中で投げ出すから

776 :ふつけら ◆.dmxDXVJPU :2017/03/12(日) 18:50:51.76 ID:z9x3i7qH.net
上の人に賛成。ホーアが言ったように早まった最適化は諸悪の根源
ビット処理とかそんな細かい最適化をするよりもまず、
遅くてもいいから「実現できる」ことをまず目指そう
遅くても「実現できる」だけで実用に足ることは結構多い

蛇足だけど最適化をするなら例えばΣΣaibj→ΣaiΣbjと変形してO(n^2)→O(n)に落とすとか
そういうコンパイラがしない最適化を考えたほうがいいと思う

777 :デフォルトの名無しさん:2017/03/12(日) 19:30:31.27 ID:bgcv56pK.net
>>772
だから、
乗算命令より効率のいいコードはどうやって組めるってんだ?

もしかして、ハードロジックで実装された乗算命令が
シフトと加算命令のソフトで実装された処理に負けるとか本気で考えてる?

778 :デフォルトの名無しさん:2017/03/12(日) 19:38:26.88 ID:olPCTFrN.net
ID:bgcv56pK
こいつはいつものアスペだな

779 :デフォルトの名無しさん:2017/03/12(日) 19:39:21.21 ID:uR0it1UZ.net
>>777
10*2 より 10 << 1 の方がクロックが少なく済むって話でしょ?

780 :デフォルトの名無しさん:2017/03/12(日) 19:50:30.71 ID:bgcv56pK.net
>>779
そんな話じゃない
>763よく読め
昔は
「乗算や除算の演算コストが高いので」
「加減算とビットシフトで計算するようなロジック」
だと書いてあるだろ?

ビットシフトだけで代替可能ならコストが低いのはあたりまえ。
>763は、ソフトで組んだ汎用的な乗算処理がコストが低かったと主張してるんだが

>>778日本語理解できないなら参加しなくていいよ?

781 :デフォルトの名無しさん:2017/03/12(日) 20:19:52.13 ID:olPCTFrN.net
ハードの乗算処理がなかったりあっても32クロック必要だったりするような時代があったんだよw
x86しかしらないおバカさんw

782 :デフォルトの名無しさん:2017/03/12(日) 20:22:59.61 ID:olPCTFrN.net
過去形じゃないか、PICマイコンなんていまだ乗算命令なかったり
互換で積んでいても実用にならないくらいトロいもの多いな

783 :デフォルトの名無しさん:2017/03/12(日) 20:25:30.49 ID:b3rDMNUN.net
ねねっちはどこ?

784 :デフォルトの名無しさん:2017/03/12(日) 20:33:46.13 ID:RIOf9bqD.net
>>781
整数乗算なんかは今でもそんな感じだね
浮動小数点はパイプラインでやってるから速いけど

785 :デフォルトの名無しさん:2017/03/12(日) 20:54:35.03 ID:bgcv56pK.net
>>781
> あっても32クロック必要だったりするような時代があったんだよw

だから、それがお前の認識違いだと指摘しているんだよ。
ハードロジックでそれだけかかるのであれば、
ソフトで組んだから必ずそれ以上かかることくらい理解しろ低能

786 :デフォルトの名無しさん:2017/03/12(日) 20:58:59.55 ID:RIOf9bqD.net
>>785
整数乗算は、ハードで組まれていてもシフトと加算を回しているだけという実装はかなり多いから
固定値との乗算なら普通にシフトと加算で書いた方が速いというのは良くあるよ、今でも。
浮動小数点の乗算は勝てるケースはまずないけどね。

787 :デフォルトの名無しさん:2017/03/12(日) 21:08:38.84 ID:bgcv56pK.net
>>786
固定値の計算と浮動小数の計算で命令セットが同じアーキなんてないだろ
おまえ、石の命令セットとか理解してないならもう黙ってろ低能

788 :デフォルトの名無しさん:2017/03/12(日) 21:14:31.40 ID:bgcv56pK.net
>>786
もしかして、整数の乗算命令だしたら
「速度が遅くなる浮動小数演算回路で計算される」
なぞの石があるとか思ってるんじゃないだろうな・・・

お前が無知なのはよくわかったから、出てこなくていいぞ低能

789 :デフォルトの名無しさん:2017/03/12(日) 21:14:49.00 ID:RIOf9bqD.net
>>787
ムキきになって否定しても恥ずかしいだけだよw
そもそもテーブルのオフセットを計算したりといった用途に使われる整数乗算は
浮動小数点の処理のように深いパイプラインで高速化してもパフォーマンスアップ効果があまりないので採用されないんだよ。
それより、命令を読み込んでから結果が出るまでの時間の短さの方が重要になるんだ。
単純なシフトと加算の組み合わせが採用される理由はそういう事。

790 :デフォルトの名無しさん:2017/03/12(日) 21:16:21.36 ID:RIOf9bqD.net
>>788
連続計算するなら浮動小数点の方が高速処理できるのが今の石では普通だよ。

791 :デフォルトの名無しさん:2017/03/12(日) 21:26:21.44 ID:olPCTFrN.net
そもそも命令があったらハードの演算ユニットがあると思ってるあたりがど素人w

792 :デフォルトの名無しさん:2017/03/12(日) 21:47:04.23 ID:bgcv56pK.net
>>790
で?
だからお前の言うところの「自分で組んだほうが処理が早い」という
アーキはどこにあるんだよ。
「このアーキのこの命令はコストがどれだけで、
 同様のロジックを他の命令で組んだらコストが低い」
という"お前が妄想している"アーキを示すだけでいいんだから早くしろよ低能

>>791
話を理解できないバカは黙ってろ無能

793 :デフォルトの名無しさん:2017/03/12(日) 21:47:25.12 ID:b3rDMNUN.net
真っ赤っかだなあ

794 :デフォルトの名無しさん:2017/03/12(日) 21:47:53.09 ID:ZyMQs5n1.net
Pentium3の乗算命令は16bitでも32bitでも40クロック。
16bit乗算のソフトロジックはPentium3では30クロックで書ける。

795 :デフォルトの名無しさん:2017/03/12(日) 21:50:28.11 ID:olPCTFrN.net
よかったな、炎上学習法が成功してどんどん宿題の回答ができてくじゃないかw

796 :デフォルトの名無しさん:2017/03/12(日) 21:54:08.78 ID:bgcv56pK.net
>>794
はあ?
おまえ、どこ見てそんな馬鹿なクロックだと思ったんだ?
i386より掛け算遅くなってどうするんだよ・・・

797 :デフォルトの名無しさん:2017/03/12(日) 21:55:33.33 ID:0pjVulXU.net
お前らたまにはプログラムの話もしろw

798 :デフォルトの名無しさん:2017/03/12(日) 21:55:54.32 ID:bgcv56pK.net
>>795
ID:ZyMQs5n1の学習に付き合わされてるのはこっちなんだが・・・
まさか、乗算に40クロックもかかるとか考えてるとは思わなかったよ

799 :デフォルトの名無しさん:2017/03/12(日) 22:11:34.02 ID:bgcv56pK.net
け、具体的な話になるととたんに黙るのな

i386の32bit(mem32)の掛け算にかかるクロックは、12〜21クロックな。

ID:ZyMQs5n1はもう黙ってろ、低能

800 :デフォルトの名無しさん:2017/03/12(日) 22:19:19.99 ID:eIMO6gXd.net
そもそも演算のソフトウェアによる効率化は完全に時間と空間のトレードオフだし
単なる乗算に大量のメモリ食うとかになったら本末転倒だろ

801 :デフォルトの名無しさん:2017/03/12(日) 22:20:42.62 ID:ZyMQs5n1.net
せめてレイテンシとパイプラインの構造は意識しようよ。

802 :デフォルトの名無しさん:2017/03/12(日) 22:29:01.88 ID:olPCTFrN.net
>>800
元の話は汎用乗算ロジックではなくて特定用途向けのロジックの話だったのを
無理やり汎用の乗算ロジックの話に置き換えてる人がいるのでw
まあ汎用乗算ロジックをルックアップテーブルで実装する人はいないっしょw

803 :デフォルトの名無しさん:2017/03/12(日) 22:37:57.66 ID:bgcv56pK.net
>>802
は?
もとの話は
>>763
「乗算や除算の演算コストが高いので」
「加減算とビットシフトで計算するようなロジック」
だと書いてあるだろ?

なんで特定用途向けのロジックの話ってことにして逃げたいの?
汎用ロジックでそうだというから突っ込んだだけ。

で、回答も
>>794
「Pentium3の乗算命令は16bitでも32bitでも40クロック。」
「16bit乗算のソフトロジックはPentium3では30クロックで書ける。」
と完全に汎用ロジックの話だろ

話が理解できないなら参加すんなよ?無能

804 :デフォルトの名無しさん:2017/03/12(日) 22:41:12.02 ID:olPCTFrN.net
>>803
ルックアップテーブルなんて出てきてるのに、汎用の話だと思ってるお前が
一人で馬鹿演じてるだけなんだけどw

805 :デフォルトの名無しさん:2017/03/12(日) 22:42:45.50 ID:bgcv56pK.net
>>801
はぁ?
なんで12〜21クロックと幅が出てるのかも知らんのか?
お前、論破されたからって誤魔化そうとして無知さらけ出してるぞ?低能

806 :デフォルトの名無しさん:2017/03/12(日) 22:44:05.47 ID:bgcv56pK.net
>>804
ルックアップテーブルの話は、
内容を理解できない無能が「途中から勝手に」騒いでるだけ。
もとの話くらい理解しろよ。無能

807 :デフォルトの名無しさん:2017/03/12(日) 22:48:33.84 ID:I52FEYVm.net
>>806
元の話というなら、キミが勘違いしてるよ。
僕の書き方が悪かったんだね多分。

808 :デフォルトの名無しさん:2017/03/12(日) 22:51:07.83 ID:RIOf9bqD.net
>>792
>だからお前の言うところの「自分で組んだほうが処理が早い」という
>アーキはどこにあるんだよ。
適当な石の名前言ってみろよ、それがそれだ。最新チップでもほぼ全てそんな感じだからなw

809 :デフォルトの名無しさん:2017/03/12(日) 22:53:43.29 ID:RIOf9bqD.net
整数演算が高速になるような乗算器を乗せていたのは
DSP機能をCPUに取り込み始めたごく初期のチップだけだな
時代的には、プレステ・N64・セガサターンが頑張ってた頃だね

810 :デフォルトの名無しさん:2017/03/12(日) 22:54:23.12 ID:RdGtMQ3H.net
わざと話ずらして煽っているようにしか見えない

811 :デフォルトの名無しさん:2017/03/12(日) 22:58:46.23 ID:bgcv56pK.net
>>807
お前の言う「もとの話」というのは>>803に書いた話とどう関わる話?
何が「もとの話」なのか明示できないなら黙ってろよ。無能

812 :デフォルトの名無しさん:2017/03/12(日) 23:00:53.11 ID:HIhqURHV.net
いい加減スレチだから他でやれや

813 :デフォルトの名無しさん:2017/03/12(日) 23:00:57.88 ID:ZyMQs5n1.net
もう他人を叩くのに必死すぎて理屈も理論もめちゃくちゃで見てらんないな。

814 :デフォルトの名無しさん:2017/03/12(日) 23:01:50.40 ID:olPCTFrN.net
>>811
わかってないのはお前だけってことだよw

815 :デフォルトの名無しさん:2017/03/12(日) 23:02:02.55 ID:RIOf9bqD.net
>いい加減スレチだから他でやれや
よそのスレの迷惑になりそうだから、ここに閉じ込めといた方がいいかもwww

816 :デフォルトの名無しさん:2017/03/12(日) 23:02:29.35 ID:bgcv56pK.net
>>808
はあ。。。
お前の言ってた Pentium3は「違う」ってのは認めるんだな?
で、「適当な石の名前言ってみろよ」ってのはどういうこと?
じゃあ i386 といえばどうクロックが違うのか説明してくれるんだな?

お前の言うような「自分で組んだほうが早い」なんて石は存在しない。
小学生が少し考えてわかるような話を理解できないのか?

適当なこと言って誤魔化そうとするんじゃないぞ。この低能

817 :デフォルトの名無しさん:2017/03/12(日) 23:03:34.38 ID:olPCTFrN.net
>>810
アスペヒキニートの炎上学習法だろきっとw

818 :デフォルトの名無しさん:2017/03/12(日) 23:04:52.11 ID:bgcv56pK.net
ID:olPCTFrNと ID:RIOf9bqDは
具体的な話になるととたんに話題をそらそうと必死になるよな

819 :デフォルトの名無しさん:2017/03/12(日) 23:06:25.52 ID:olPCTFrN.net
816の訳:また理解できないです(´;ω;`)もっと詳しく教えてください(´;ω;`)ウゥゥ

正直に頭下げて教えを請えばいいのにw

820 :デフォルトの名無しさん:2017/03/12(日) 23:07:20.24 ID:2YDHjLYJ.net
やべぇな、新たなる発達障害の英雄が参戦したぞ
新たなる英雄の名は
ID:bgcv56pK

821 :デフォルトの名無しさん:2017/03/12(日) 23:07:24.71 ID:RIOf9bqD.net
>>816
ID確認してくれよ、オレはそんなことは言ってない。
Pentium3はもちろんx86系は対定数加算なら多くのケースでシフト加算にした方が高速にできる。
乗算器だけで高速化可能なのは、信号処理用の特殊チップかつ1950年代後半の整数処理でやっていた時代の物もしくは、それを取り込んだCPUに限るよ。

822 :デフォルトの名無しさん:2017/03/12(日) 23:09:08.95 ID:RIOf9bqD.net
×Pentium3はもちろんx86系は対定数加算なら多くのケースでシフト加算にした方が高速にできる。
訂正→Pentium3はもちろんx86系は対定数乗算なら多くのケースでシフト加算にした方が高速にできる。

823 :デフォルトの名無しさん:2017/03/12(日) 23:11:38.25 ID:RIOf9bqD.net
さらに間違ってる><
1950年代後半→1990年代後半

1950年代まだ大型機の時代だw

824 :デフォルトの名無しさん:2017/03/12(日) 23:16:50.66 ID:olPCTFrN.net
>>820
新しくないよ、今日来てないあの発達障害のあの人だよw
思い込んだら一筋、自分の誤りは絶対に認めないあの彼だよw

825 :デフォルトの名無しさん:2017/03/12(日) 23:20:49.14 ID:I52FEYVm.net
変な話題振ったの本当悪かったので、いい加減にしてくれませんか。

826 :デフォルトの名無しさん:2017/03/12(日) 23:28:10.55 ID:eIMO6gXd.net
発達障害のあの人にハードウェアの知識なんてないだろ

827 :デフォルトの名無しさん:2017/03/12(日) 23:29:24.73 ID:52JVFwGn.net
昔はmul命令が未実装で Unimplemented Interrupt の延長でソフトロジックを動かしてたハードも多かったよね。
そういうハードは上位機種はALU搭載でハード処理、下位機種はソフト処理になるから、Unimplemented Interrupt
のペナルティを避けるために、ハードを見て最初からソフト実装とか当たり前だった。

828 :デフォルトの名無しさん:2017/03/12(日) 23:33:25.26 ID:RdGtMQ3H.net
もうNG突っ込んで放っておけばいいんじゃないかな?皆さん明日仕事でしょ?

829 :デフォルトの名無しさん:2017/03/12(日) 23:36:50.94 ID:bgcv56pK.net
>>821
はあ?
話の流れ理解してないのか?
 >>792
 | 「このアーキのこの命令はコストがどれだけで、
 |  同様のロジックを他の命令で組んだらコストが低い」
 | という"お前が妄想している"アーキを示すだけでいいんだから早くしろよ低能
に対してお前が(ID:RIOf9bqD)
>>808
 | 適当な石の名前言ってみろよ、それがそれだ。最新チップでもほぼ全てそんな感じだからなw
と回答してるわけだが?

「同様のロジックを他の命令で組んだらコストが低い」という条件を
「シフト加算にした方が高速にできる」
とか必死に置き換えようと苦しいいわけか?

もういい加減に黙れよ。低能

830 :デフォルトの名無しさん:2017/03/12(日) 23:37:21.63 ID:52JVFwGn.net
あるロットから下位用のチップにもmulが乗って Unimplemented Interrupt が起きなくなったりな。
でもALUも積んでない。中でロジックを置き換えて実行するようになったらしいのはいいんだけど
とてつもなく遅くてな。基本乗算は乗数のbit数のループとADDと判定付きシフトでかけるんだけど
その倍くらい遅い。なんかまじめに掛けてるくらい遅かったりな。
どことは言わないけどμPDのあの会社のあれ互換プロセッサとかな。

831 :デフォルトの名無しさん:2017/03/12(日) 23:40:51.09 ID:bgcv56pK.net
>>827
そうそう。乗算命令がないものは自分で作るのが当たり前。

でも、
ID:ZyMQs5n1やID:RIOf9bqDみたいな低能は
「CPUに搭載された乗算命令よりも自分で作ったほうが性能がいい!」
とか勘違いしちゃってるわけ。
そこを指摘したら馬鹿みたいに騒いでこの状況。

832 :デフォルトの名無しさん:2017/03/12(日) 23:42:34.36 ID:RdGtMQ3H.net
おやすみなさい

833 :デフォルトの名無しさん:2017/03/12(日) 23:48:22.17 ID:olPCTFrN.net
>>830
そうそう。乗算器がなくても命令があるものはすごく遅い処理されるのが当たり前。

でも、
ID:bgcv56pKの低能は
「CPUに搭載されている乗算命令はハードウェアだから絶対早い!」
とか勘違いしちゃってるわけ。
そこを指摘したら馬鹿みたいに騒いでこの状況。

現在においても互換品のPIC16や18では似たような状況が当たり前だよ。

834 :デフォルトの名無しさん:2017/03/12(日) 23:58:54.72 ID:XVw6Q/4z.net
で君達の言い分はよくわかったが
ゲームを作るのに、その知識はどう生かされるのかね

具体的には、行列演算を組む場合、ビットシフトで解決可能な演算かどうかを判定して、可能ならばビットシフトで計算しろと、そういいたいわけか

ソースコードだしてみ、どうせ君には実装できないから

835 :デフォルトの名無しさん:2017/03/13(月) 00:00:43.20 ID:Wutqm7X9.net
>>833
PICはmulはソフト実装が基本だろ。PIC-FAQあたりに乗算除算ロジックはいっぱい転がってるし。

836 :デフォルトの名無しさん:2017/03/13(月) 00:03:26.27 ID:Wutqm7X9.net
>>834
アセンブラでpoorな環境のゲーム作る場合はそうなんじゃね?ゲームウォッチ的な。いまはそんなのないか。

837 :デフォルトの名無しさん:2017/03/13(月) 00:11:36.78 ID:C7vwMJe2.net
そこまでいくならFPGAでもやってたほうが金になるだろうな

838 :デフォルトの名無しさん:2017/03/13(月) 00:13:06.77 ID:C7vwMJe2.net
まあ大ボリュームの単純演算ならGPUになげたほうが早いってのは常識だと思いますが

839 :デフォルトの名無しさん:2017/03/13(月) 00:23:16.28 ID:R4vfJ8wh.net
>>833
ソフトで外から制御するのが早いのなら、
内部ロジックで中から制御して遅くなる理由なんてどこにもないんだけど
ほんとうにそういうことすら考えつかないのか?無能

840 :デフォルトの名無しさん:2017/03/13(月) 00:28:24.27 ID:C7vwMJe2.net
なんか一人1980年代からタイムスリップしてきた奴がいるってことか

841 :デフォルトの名無しさん:2017/03/13(月) 00:56:16.62 ID:VWyY1uD+.net
アスペは変な事に拘るからな

842 :デフォルトの名無しさん:2017/03/13(月) 00:57:57.38 ID:qUf2tOlm.net
なんだろう
話題主が言いたかったのって、
乗算命令より速くなる汎用的なロジックという話じゃなくて、
昔はなるべく乗算無しで実行可能なデータ構造なりアルゴリズムなりを考えたもんさぁ
みたいな話かと思ってたけど、
なんでひたすら罵倒合戦になってんのww

簡易リングバッファを作る際に、
インデックス決めに剰余を使うと遅いから、
ビットマスクを使えるようなデータ個数になるように設計しよう

ていうような話なら
ID:bgcv56pK
も納得するんかい?
もうID変わってるからどれかわからんけども

843 :デフォルトの名無しさん:2017/03/13(月) 00:58:22.13 ID:iUjz70X9.net
>>839
内部ロジックを作ったのが34歳ヒキニートみたいなクズだったんだよきっと
そりゃまともなPGが書いた外部の処理にはいくら内部でも勝てないよ
こうして内部ロジックより早い外部ロジックができました
めでたしめでたし

844 :デフォルトの名無しさん:2017/03/13(月) 01:02:05.20 ID:iUjz70X9.net
アスペの
「納得しないと先に進めない」

「納得したら負け」
の論理積が織りなすハーモニー

845 :ID:bgcv56pK:2017/03/13(月) 01:15:34.39 ID:R4vfJ8wh.net
>>842
そんな当たり前な話は全くしていない訳で、

|>>794 :デフォルトの名無しさん 2017/03/12(日) 21:47:53.09 ID:ZyMQs5n1
| Pentium3の乗算命令は16bitでも32bitでも40クロック。
| 16bit乗算のソフトロジックはPentium3では30クロックで書ける。

とか低能の間違いを指摘しているだけ。

|>>764 : デフォルトの名無しさん 2017/03/12(日) 09:27:00.46 ID:bgcv56pK
| >>763
| は?
| 乗算命令よりも効率の良いロジックが代替処理で組めるとでも思ってる?

の指摘に始まってから、
他にはなんにも主張していないよ?

846 :デフォルトの名無しさん:2017/03/13(月) 02:47:09.73 ID:i0a/5ZAM.net
全部当てはまってる…。
http://www.sejuku.net/blog/4716
※ステマではありません。

847 :デフォルトの名無しさん:2017/03/13(月) 04:08:32.98 ID:R4vfJ8wh.net
>>846
このスレの進め方は問題ないって事だろ

「とりあえず動くもの作れ」
「詰まったら質問しろ」

ってのが基本思想なんだから、
その記事でやるなと書いてることはやってない。

848 :デフォルトの名無しさん:2017/03/13(月) 04:36:35.10 ID:GjW7EboK.net
ちょっと待てよ!

ねねっちって誰だ!?

849 :デフォルトの名無しさん:2017/03/13(月) 06:42:26.68 ID:UU926lL2.net
ADHDな子供だよ
ADHDは空気読めなかったり衝動的な行動したりする残念な脳障害だよ
このスレに数人降臨してるよ

850 :デフォルトの名無しさん:2017/03/13(月) 08:52:44.96 ID:MoVfoX01.net
>>804
だな。
それにしても、なぜここはアスペ系を惹きつけるのかw

851 :デフォルトの名無しさん:2017/03/13(月) 08:58:40.43 ID:ziD1+Bgh.net
>>845
ああ、やっぱり君アスペだわww
自分が何で笑われてるのか分かってない
もういいや、サヨナラ

852 :デフォルトの名無しさん:2017/03/13(月) 09:25:02.44 ID:SWQL95nV.net
>>845
| Pentium3の乗算命令は16bitでも32bitでも40クロック。
| 16bit乗算のソフトロジックはPentium3では30クロックで書ける。

それ、1/2サイクル命令があるから1/2サイクル1クロックで書いてるんだろう。
そうだとすると手元の資料を比べれてもだいたいあってると思う。

853 :デフォルトの名無しさん:2017/03/13(月) 12:40:39.17 ID:3TRildgu.net
あーこれはアスペだねぇ。
>>763>>764>>767でもう詰んでいるのでそこで負けを認めてひっそりと
消えればよかったのに、自分の間違いは認められない人間のクズだから、
汎用の話だってことにしてその後の話の汎用っぽい話を都合よく切り取って、
「みんなが汎用の話をしている」と思い込むことで、自分の間違いを認めない
材料を無理やり作ってるんだな。で、引くに引けない状況と。

中身が34歳にしては少し知識が増えているようだけど、どうせ夕方までは
出てこないんだろうな。1年前に同じ事をしてたことが暴露されたから、
いままでのキャラ設定は捨てて新しい荒らし方で楽しんでいるんだろう。

854 :デフォルトの名無しさん:2017/03/13(月) 13:00:00.22 ID:3GwyAGnC.net
>>853
アスペって>>764だろ?

855 :デフォルトの名無しさん:2017/03/13(月) 13:08:45.20 ID:3TRildgu.net
>>854
そうそう。書き方がおかしいね。
>>763>>767は被害者で言っている事が正しい人。
>>764がアスペでキチガイの人間のクズ。

856 :デフォルトの名無しさん:2017/03/13(月) 14:09:28.71 ID:PTccR7hI.net
あすぺと糖質ならあすぺのほうがマシ

857 :デフォルトの名無しさん:2017/03/13(月) 15:50:28.17 ID:YIEizjZ0.net
糖質とかボーダーはリアルにいると、こっちまでそうなりそうでヤバイな。逃げるしかない。
アスペはうざいだけなので、ここに閉じ込めとけば大丈夫w

858 :デフォルトの名無しさん:2017/03/13(月) 17:01:02.68 ID:R4vfJ8wh.net
結局指摘に対してまともな反論すらできず
アスペアスペと大騒ぎする低能。

自分が勝手に論点を間違えていただけにもかかわらず
論点が違うと大騒ぎしてる無能。

859 :デフォルトの名無しさん:2017/03/13(月) 17:04:41.56 ID:3GwyAGnC.net
アスペはそれ以下

860 :デフォルトの名無しさん:2017/03/13(月) 17:12:34.53 ID:3TRildgu.net
ね、夕方になったら現れた。あの人でしょ。

861 :デフォルトの名無しさん:2017/03/13(月) 17:38:15.60 ID:R4vfJ8wh.net
>>860
昼間っから暇なのはお前くらいだろ・・・仕事しろよ

862 :デフォルトの名無しさん:2017/03/13(月) 21:45:09.54 ID:qUf2tOlm.net
回りの大多数からお前がおかしいって言われてるのに、
回り全員を低能無能呼ばわりして自分すごいアピールを欠かさないアスペ君を見ていると、
高速道路を逆送して「自分以外が逆送している」と吠えるおじいちゃんみたいで可愛い。

863 :デフォルトの名無しさん:2017/03/13(月) 22:05:14.71 ID:R4vfJ8wh.net
>>862
「もとの話」を理解せずに、勝手に論点を勘違いして騒いでた無能たちのこと?
結局、騒ぐだけ騒いでたのはそういう無能達だったわけだけど。

864 :デフォルトの名無しさん:2017/03/13(月) 22:07:14.10 ID:3GwyAGnC.net
まだやってるこの人w

865 :デフォルトの名無しさん:2017/03/13(月) 22:16:57.39 ID:qUf2tOlm.net
>>863

>勝手に論点を勘違いして

wwwwww
やべぇwwwいっそ清々しいwwwww
腹いてぇwwwwwwww

866 :片山博文MZ ◆T6xkBnTXz7B0 :2017/03/13(月) 23:28:39.89 ID:aZynH+tt.net
ねねっち、居るか?
プロのグラマーになれそうかい?

867 :デフォルトの名無しさん:2017/03/14(火) 00:20:10.43 ID:rPL3eaMO.net
結局ねねっちって誰なんだろ。

868 :デフォルトの名無しさん:2017/03/14(火) 00:42:12.96 ID:psxpUWOC.net
片山博文MZ=ぬーぶ=◆BrBq2CJg6HGd=ねねっちが真相

片山って自分の承認欲求を満たすためだけに色んなスレで教えたがりおじさんと化してるからな
その病をこじらせた末に建てたのがこのスレ

869 :デフォルトの名無しさん:2017/03/14(火) 00:54:50.83 ID:VIf5GcLT.net
人のコードにケチ付けて後出しで文句言ってくるおじさんだね。
同等のもの書いてって言ったら有料だってさ。なんで?

870 :片山博文MZ ◆T6xkBnTXz7B0 :2017/03/14(火) 01:03:22.59 ID:+evyxdN9.net
多くの犠牲の上に新大陸を発見したコロンブスは精神的に健全だったと思ってるのかい? あれは間違いなく強迫観念だよ。

871 :片山博文MZ ◆T6xkBnTXz7B0 :2017/03/14(火) 01:04:31.68 ID:+evyxdN9.net
>>869
コードをスマホで打ち込むのはめちゃくちゃ大変だよ。

872 :デフォルトの名無しさん:2017/03/14(火) 01:07:57.23 ID:VIf5GcLT.net
>>871
スマホ料金回収するために有料なの?偉いね。

873 :片山博文MZ ◆T6xkBnTXz7B0 :2017/03/14(火) 01:17:14.62 ID:+evyxdN9.net
心を清らかに保つにはこんな時間に活動しないこと。

874 :デフォルトの名無しさん:2017/03/14(火) 01:18:56.79 ID:VIf5GcLT.net
ん?

875 :片山博文MZ ◆T6xkBnTXz7B0 :2017/03/14(火) 01:18:59.39 ID:+evyxdN9.net
テザリングをすればパソコンもつながるらしいが、よくわからないからやらない。

876 :片山博文MZ ◆T6xkBnTXz7B0 :2017/03/14(火) 01:20:53.40 ID:+evyxdN9.net
心の中に矛盾を抱えるなよ。

877 :デフォルトの名無しさん:2017/03/14(火) 01:22:23.13 ID:VIf5GcLT.net
2chは活動って言わないのかなーと思って。

878 :片山博文MZ ◆T6xkBnTXz7B0 :2017/03/14(火) 01:32:06.74 ID:+evyxdN9.net
若造がこんな所で自分のCPU時間をムダにするんじゃない。

879 :デフォルトの名無しさん:2017/03/14(火) 01:34:07.83 ID:VIf5GcLT.net
今日は勘弁してあげるよ。

880 :デフォルトの名無しさん:2017/03/14(火) 02:07:26.71 ID:oj2qnpLb.net
>>865
下手な煽りだなぁ・・・
お前さん>>842だろ?
意見が無視されたからって煽りすぎ

881 :デフォルトの名無しさん:2017/03/14(火) 02:14:04.44 ID:oj2qnpLb.net
>>866
このスレの流れを把握してないの?

882 :デフォルトの名無しさん:2017/03/14(火) 09:14:31.79 ID:aKzBhSJJ.net
>>875
プログラマ名乗るくらいなら、よくわかるまでやれよ

883 :ふつけら ◆.dmxDXVJPU :2017/03/14(火) 18:16:39.21 ID:1TnRR/cR.net
もう900手前じゃん、罵り合いが始まったらすぐスレすぐ終わりそう
ねねっちいないから、次スレはスレタイをかえたほうがいいんでないの

884 :デフォルトの名無しさん:2017/03/14(火) 19:25:18.47 ID:rPL3eaMO.net
とりあえず、片山さんと34歳は別人物。ぬーぶと34も別人。ねねっちも。

885 :デフォルトの名無しさん:2017/03/15(水) 13:56:16.31 ID:DBAYSTWx.net
34歳は別人だろうが、片山=ぬーぶの線は捨てきれん
ねねっちはどうでもいい

886 :デフォルトの名無しさん:2017/03/15(水) 14:08:26.20 ID:Jy476ML4.net
みんなが間違っていて俺がただ一人正しい系の人は同一人物でいいよ。
仮に別の肉体だったとしても精神として同じ困ったちゃんということに代わりはないし。

887 :デフォルトの名無しさん:2017/03/16(木) 20:47:01.24 ID:q9v8piST.net
>>886
じゃあ、お前は同一人物だってことだな

888 :デフォルトの名無しさん:2017/03/16(木) 23:42:59.48 ID:4rLSZE/g.net
さぁ、生命のプールへ返るときが来たのです。

889 :デフォルトの名無しさん:2017/03/17(金) 17:04:46.02 ID:Oe39dH/H.net
ぬーぶくんと片山さんがやり取りしてた頃がよかった。

890 :ぬーぶ ◆upkqfrxkrw :2017/03/17(金) 18:39:13.52 ID:eSsQqHBP.net
しばらく開けててすいません

関数はなんとなーく理解できたけど
本質というかイメージがまだ掴めない感じ

関数を後回しにして先にDxLibで
簡単な2Dシューティングゲームを
作ってみようと思う。
このまんまじゃ全く先に進まない…

それからその作った2Dシューティングゲームのソースを
ここに出して、そこから関数をどう活用していくか考える。

891 :ぬーぶ ◆upkqfrxkrw :2017/03/17(金) 18:44:03.34 ID:eSsQqHBP.net
と言ったはいいものの…
シューティングに必要不可欠な三角比分からん…
なんやねんsinとかcosとかθって…
サインとコサインは読めるけどθってなんやねんθって…

892 :デフォルトの名無しさん:2017/03/17(金) 19:00:14.64 ID:UpwxDO5M.net
>>891

https://ja.wikipedia.org/wiki/%E3%82%B7%E3%83%BC%E3%82%BF

なぜ調べようとしないんですか

893 :ぬーぶ ◆upkqfrxkrw :2017/03/17(金) 19:19:23.64 ID:eSsQqHBP.net
>>892
πと同じような感覚で使えってこと?
角度専用の変数なのか

894 :デフォルトの名無しさん:2017/03/17(金) 19:31:25.87 ID:UpwxDO5M.net
>>893
何で君はググる前に質問するんですか?
前から治ってないよね、それ

895 :片山博文MZ ◆T6xkBnTXz7B0 :2017/03/17(金) 19:43:19.35 ID:+s8GChIV.net
(^θ^)

896 :デフォルトの名無しさん:2017/03/17(金) 19:55:59.93 ID:oPZ5M73e.net
中学生の質問者という人格が片山の中からたまに出てくるな

897 :デフォルトの名無しさん:2017/03/17(金) 19:58:55.68 ID:oPZ5M73e.net
なかなか関数を理解できない発達障害って
ちょっと設定がまだ甘いんじゃないかな?

よっぽど知識ひけらかしたいのだろうけど

898 :片山博文MZ ◆T6xkBnTXz7B0 :2017/03/17(金) 20:06:30.32 ID:+s8GChIV.net
(^θ^)<ギリシャ文字のシータだよ、ピヨピヨ

899 :ぬーぶ ◆upkqfrxkrw :2017/03/17(金) 20:09:04.72 ID:eSsQqHBP.net
あ、こんなのが分かりやすかった

時間 親父(点数 テストの点数)

 時間 説教時間; 
 説教時間=(100ーテストの点数)/50;
 return 説教時間;


でももうちょっと分かりやすいのないかな…
ここの人たちは自分で調べろとしか言わないね
聞きたいから来てるのに調べろとは一体
釣りだと思ってる人も来なくていいよ

900 :ぬーぶ ◆upkqfrxkrw :2017/03/17(金) 20:09:59.44 ID:eSsQqHBP.net
>>898
ムスカとパズーはいないのか
それとなんで片山さんは書き込んだらすぐに出てくるんだ…
24時間スレ監視してるの…?

901 :デフォルトの名無しさん:2017/03/17(金) 20:11:07.90 ID:eqYGo+5V.net
青「頑張るぞい」→涼「頑張りまっしょい」→怜「頑張りやぁ〜」
頑張りましょう

902 :ぬーぶ ◆upkqfrxkrw :2017/03/17(金) 20:12:30.80 ID:eSsQqHBP.net
なんか関数の存在価値がいまいちわからないな…
こないだ言われた「足し算を掛け算にするようなもの」っていうイメージは
なるほどと思ったんだけど、関数を使ったら
こんなに長いコードがこうなる、っていう実例がないから
いまいちイメージも掴みづらい

903 :ぬーぶ ◆upkqfrxkrw :2017/03/17(金) 20:12:55.69 ID:eSsQqHBP.net
>>901
何それ

904 :デフォルトの名無しさん:2017/03/17(金) 20:14:31.10 ID:UpwxDO5M.net
>>899
リアルタイムの会話やチャットじゃないんだから
人に尋ねる前に自分で調べるのが最低限の礼儀ってもんだろ

905 :デフォルトの名無しさん:2017/03/17(金) 20:17:49.82 ID:UpwxDO5M.net
>>902
関数分けないで何とかなるなら分けなくてもいい
半年後の自分がソースコード見てすぐに内容を理解できるなら
無理して分ける必要はないと思う

ただ人に添削してもらおうと思うなら必然的に関数に分けて見やすくした方がイイネ

906 :片山博文MZ ◆T6xkBnTXz7B0 :2017/03/17(金) 20:18:17.94 ID:+s8GChIV.net
標準のputs関数をputchar関数だけを使って書いてみてよ(名前はmy_puts)。

907 :ぬーぶ ◆upkqfrxkrw :2017/03/17(金) 20:20:58.24 ID:eSsQqHBP.net
>>904
なんでもかんでも調べろはないんじゃないか…
「なんやこれ」って言ってるときも分からないんじゃなくて
疑問に思ったことを言うだけで大抵は後から調べるよ
ちょっとクエスチョンマークがついたらすぐ突っ込むの辞めてくれませんかね…

908 :デフォルトの名無しさん:2017/03/17(金) 20:22:43.89 ID:KrMyS6st.net
>>899
関数のことを数学の先生に聞けとかなり前に言ったはずだが?
他人の言うことは無視するくせに教えてもらい方に注文付けるのか?

909 :ぬーぶ ◆upkqfrxkrw :2017/03/17(金) 20:22:48.46 ID:eSsQqHBP.net
>>906
えっと…要するにどういうこと?

910 :ふつけら ◆.dmxDXVJPU :2017/03/17(金) 20:24:03.84 ID:LQ9b+z7H.net
適当な例だけど
長いコード(150行)
大体コピペした長いコード(150行)
大体コピペした長いコード(150行)
大体コピペした長いコード(150行)
これを
関数(150行)
関数呼び出し(1行)
関数呼び出し(1行)
関数呼び出し(1行)
とすると600行が150行ぐらいになる
そんな状況になったことがないから実感できないんだと思う

でもそれよりも>>174でいったことのほうが重要だけど

911 :ぬーぶ ◆upkqfrxkrw :2017/03/17(金) 20:25:43.15 ID:eSsQqHBP.net
>>908
数学の関数は知ってるし解けるよ。
でも皆の言うように解き方のテンプレートをイメージで暗記してるだけ。
だから応用問題も苦手だしプログラミングの関数との接点も理解し難い。
具体的に数学の関数とプログラミングの関数はどう関わりがあるの?
関数のことを聞けと言われてもアバウトすぎて何を聞けば良いのやら。

912 :ふつけら ◆.dmxDXVJPU :2017/03/17(金) 20:27:10.89 ID:LQ9b+z7H.net
ゲームでいえば
ステージ1とステージ2のコードは大体似たようなものになるかもしれない
ステージを関数化しとけば
ステージ1
ステージ2(ステージ1の大体コピペ)
ステージ3(ステージ1の大体コピペ)
みたいになるよりだいぶ行数の節約になると思う

913 :ぬーぶ ◆upkqfrxkrw :2017/03/17(金) 20:29:06.99 ID:eSsQqHBP.net
>>910
関数は同じ命令をひとまとめにするっていう用途ってこと?
家事を全部お母さんがやるんじゃなくて
家族全員で分担すると効率良くなるっていう捉え方で良いのかな
それでもreturnとかを完全に理解するのが難しい…

914 :片山博文MZ ◆T6xkBnTXz7B0 :2017/03/17(金) 20:33:12.55 ID:+s8GChIV.net
#include <stdio.h>
int my_puts(const char *s)
{
while (*s != 0) putchar(*s);
putchar('n');
return 0;
}
int main() {
puts("オレは");
my_puts("天才PG");
}

915 :片山博文MZ ◆T6xkBnTXz7B0 :2017/03/17(金) 20:35:48.59 ID:+s8GChIV.net
putchar('n');のは、半角の円記号ね。

916 :ふつけら ◆.dmxDXVJPU :2017/03/17(金) 20:36:32.33 ID:LQ9b+z7H.net
>>913
その例えはちょっとわかりにくくてどうこたえたらいいのか悩むけど

同じようなことを一まとめにするって認識でいていいと思う
同じことを2回してると思ったら関数を作っていいぐらい
returnは数学の関数を真似ようと思ったら必須
例えば同じことを2回出力するだけとかならreturnは使わなくていい

917 :ぬーぶ ◆upkqfrxkrw :2017/03/17(金) 20:38:57.19 ID:eSsQqHBP.net
>>916
(´・ω・`)

2回してると思ったらもう使っていいのか
ゲームとかでも剣を振る・盾を構える・歩く・泳ぐ・ジャンプとかの動作は
全部関数でまとめられてるの?
ソースの形は全く見当つかないけど

918 :ふつけら ◆.dmxDXVJPU :2017/03/17(金) 20:39:05.03 ID:LQ9b+z7H.net
>>914
while (*s != 0) putchar(*s);
無限ループ乙

919 :ぬーぶ ◆upkqfrxkrw :2017/03/17(金) 20:40:01.25 ID:eSsQqHBP.net
>>914
知らない命令がいっぱいある…(´・ω・`)

920 :片山博文MZ ◆T6xkBnTXz7B0 :2017/03/17(金) 20:41:28.63 ID:+s8GChIV.net
>>918
>>914
スマン、while (*s != 0) putchar(*s++);
に修正。

921 :ふつけら ◆.dmxDXVJPU :2017/03/17(金) 20:41:43.24 ID:LQ9b+z7H.net
>>917
俺だったらそれらは関数にまとめるな
例えば剣をふったときに必殺技ゲージを溜める機能が欲しくなったとする
そしたら剣をふるってのが関数になってると都合がいい

922 :片山博文MZ ◆T6xkBnTXz7B0 :2017/03/17(金) 20:44:00.59 ID:+s8GChIV.net
putcharは一文字出力する標準関数でputsはC文字列と改行コードを出力する標準関数あるね。一文字出力する関数から文字列を出力する関数が作れるあるね。

923 :デフォルトの名無しさん:2017/03/17(金) 20:44:24.37 ID:bp64sZ1Q.net
シューティングゲーム作ることになったのか
でも関数なんかで躓いてたら完成は5年後だな

924 :ぬーぶ ◆upkqfrxkrw :2017/03/17(金) 20:44:29.87 ID:eSsQqHBP.net
>>921
やっぱり使うのか…
プログラムの中身とか考えるとぜルダとかのゲームは本当に凄いんだな…

925 :片山博文MZ ◆T6xkBnTXz7B0 :2017/03/17(金) 20:57:00.92 ID:+s8GChIV.net
玉ねぎは、一つ皮をむいたらまた皮がある。皮をさらにむいたらまたまた皮がある。こういった構造を入れ子と呼ぶ。関数の呼び出しも入れ子になる。

926 :片山博文MZ ◆T6xkBnTXz7B0 :2017/03/17(金) 21:05:41.76 ID:+s8GChIV.net
forループの中にforループが書ける。関数の中に関数呼び出しを書ける。今では当たり前のことだけど、昔はプログラミングが構造化されていなかった。

927 :デフォルトの名無しさん:2017/03/17(金) 21:07:05.95 ID:UpwxDO5M.net
>>907
そもそも、すぐ突っ込まれるような記述をするなよ…
あくまでも君は教えてもらう立場にあるんだぞ?
わからないことがあったら事前にできる限り予習するのが、あるべき姿勢ってもんだろ
社会的な常識を身につけろよ
俺らは君の友達じゃないんだぞ
例えば君は教員に向かってタメ口で、これわっかんねーんだけどと言うのか?

928 :片山博文MZ ◆T6xkBnTXz7B0 :2017/03/17(金) 21:12:27.89 ID:+s8GChIV.net
運動会にもプログラムがあったよな。運動会プログラムのそれぞれの行事が関数であると考えると、徒競走で位置に付いて、走って、ゴールして、表彰するのはそれよりも小さい関数になるね。

929 :デフォルトの名無しさん:2017/03/17(金) 21:14:01.08 ID:KrMyS6st.net
>>911
> でも皆の言うように解き方のテンプレートをイメージで暗記してるだけ。

だから先生に質問しろと言ってる。
何を聞くかも書いただろ。都合のいいことばかり反応して
他人の言うことを無視するから何を聞くかすら理解できていないんだよ・・・

930 :ぬーぶ ◆upkqfrxkrw :2017/03/17(金) 21:14:43.58 ID:eSsQqHBP.net
>>927
できる限り予習って言われても
三角比って高校数学でちんぷんかんぷん…
√とかsinとかcosとかtanとかθとか…
なんでもかんでも文字にすれば良いみたいになってるけど

できる限り予習はするようにしてるけど
三角比はちょっとハードル高すぎる気がする
弾の位置の座標を計算する方法って他にないのかな
三角比以外で計算できるやつ…

931 :ぬーぶ ◆upkqfrxkrw :2017/03/17(金) 21:17:14.75 ID:eSsQqHBP.net
>>929
書いただろ、と言われても
100以上のレスを全部内容把握して全部覚えて
全部のレスに反応なんて不可能なんだけど…

そもそも「だから質問しろ」っていう
「聞けば結果が分かるから聞いてみ?」っていうのは納得できない。
結局何が言いたいの。

932 :片山博文MZ ◆T6xkBnTXz7B0 :2017/03/17(金) 21:18:00.43 ID:+s8GChIV.net
プログラミングは計算方法を書くだけ。正しいプログラムが書ければ、実際に計算する必要はない。

933 :デフォルトの名無しさん:2017/03/17(金) 21:21:07.81 ID:UpwxDO5M.net
>>930
わからんかったら自分の理解できる知識を組み合わせて何とかするか
おまじないと思って誰かのアルゴリズムをパクるか
それを使わなくてもいいゲームを作る
とか色々方法があるんじゃないかな?

てか簡単な弾道計算なら別に三角関数いらなくね?
xに0.1進む間に、yに1.0進むとかをタイマーがくるごとに加算していくだけだろ?

934 :ぬーぶ ◆upkqfrxkrw :2017/03/17(金) 21:25:33.37 ID:eSsQqHBP.net
>>933
できないコードってパクって良いんだ
使わなくても応用って無理な気がするけど…
もうシューティングっていうの諦めて
直線で良いインベーダーゲーム作るよ…

935 :片山博文MZ ◆T6xkBnTXz7B0 :2017/03/17(金) 21:26:18.09 ID:+s8GChIV.net
47度の角度、20ピクセルの速さで弾を発射した。そのとき、速度のx成分は20*
cos(47*π/180)ピクセルになり、速度のy成分は20*sin(47*π/180)ピクセルになる。

936 :デフォルトの名無しさん:2017/03/17(金) 21:30:13.71 ID:UpwxDO5M.net
>>934
厳密にはライセンスとかあるけど
だいたい世の中で公開されているものをパクったからといって
ただちに死ぬことはない
ブログに公開したり、商業利用するなら気をつけろよ

937 :片山博文MZ ◆T6xkBnTXz7B0 :2017/03/17(金) 21:30:33.91 ID:+s8GChIV.net
このとき、ラジアン角の47*π/180がθになる。計算方法の抽象化ってやつだよ。

938 :デフォルトの名無しさん:2017/03/17(金) 21:31:19.96 ID:oPZ5M73e.net
>>900
君が片山の人格の一部だからに決まってるじゃないか
もうそろそろ現実に戻れ

939 :デフォルトの名無しさん:2017/03/17(金) 21:38:20.19 ID:yk+dMPCw.net
最長不倒関数winmainを目指すのですね、良いじゃないですか(笑

http://www.pro.or.jp/~fuji/mybooks/cdiag/cdiag.10.2.html

940 :ぬーぶ ◆upkqfrxkrw :2017/03/17(金) 21:39:29.03 ID:eSsQqHBP.net
>>936
あ、やっぱり公の場では出せないんだ…
それまでにマスターしないとな

941 :ぬーぶ ◆upkqfrxkrw :2017/03/17(金) 21:39:36.57 ID:eSsQqHBP.net
>>938
さすがにそれはないw

942 :デフォルトの名無しさん:2017/03/17(金) 21:40:20.04 ID:KrMyS6st.net
>>931
おまえは人の話を無視して、結局理解していないことを
「覚えてねーわ」で開き直るんだな。
そうやって人生舐めきって「ぼくちんわかんない」と言い続けてろ

943 :片山博文MZ ◆T6xkBnTXz7B0 :2017/03/17(金) 21:42:21.96 ID:+s8GChIV.net
例えば、速さと発射角度から速度のx,y成分を求める関数は次のように書ける。
void rcossin(float& x, float& y, float r, float theta)
{
x = r * cos(theta);
y = r * sin(theta);
}
ここでthetaはθの英語読み。

944 :片山博文MZ ◆T6xkBnTXz7B0 :2017/03/17(金) 21:46:11.01 ID:+s8GChIV.net
rは半径を意味するradiusの略。

945 :デフォルトの名無しさん:2017/03/17(金) 21:46:59.37 ID:oPZ5M73e.net
回答を用意してから質問を考えるんだな

だが発達障害の中学生より女子高生の方が読者受けすると思うぞ?

946 :片山博文MZ ◆T6xkBnTXz7B0 :2017/03/17(金) 21:47:51.01 ID:+s8GChIV.net
今はcosやsinを具体的にどのように計算するかは考えなくてもいい。

947 :ぬーぶ ◆upkqfrxkrw :2017/03/17(金) 21:51:31.35 ID:eSsQqHBP.net
>>942
うーん自意識過剰杉内
全員のレスを全部把握して全レスするなんてやってられるか
VIPじゃないんだから
自分のレスが絶対見てもらえてて絶対返してもらえるってどういう
数学関数とプログラミング関数の接点を聞いてるのに
なんでそれをわざわざ数学の先生に何もわからない状態で聞かなきゃならないんだよ

いくら教えてもらう側と言えど参考にならないものなんか全無視なんだけど

948 :ぬーぶ ◆upkqfrxkrw :2017/03/17(金) 21:52:21.36 ID:eSsQqHBP.net
>>945
釣りだと思ってるならお引き取り願う

949 :片山博文MZ ◆T6xkBnTXz7B0 :2017/03/17(金) 21:52:50.57 ID:+s8GChIV.net
C++でcos,sinを使うには<cmath>を#includeして、std::cosとstd::sinを呼べばいい。

950 :ぬーぶ ◆upkqfrxkrw :2017/03/17(金) 21:55:26.02 ID:eSsQqHBP.net
>>943
難しく考えるなと言われても…
数字も一切出てこないからなんの計算をしてるのかさっぱり…

951 :ぬーぶ ◆upkqfrxkrw :2017/03/17(金) 21:55:59.16 ID:eSsQqHBP.net
>>949
えぇ…cmathで使えるんだ
結構便利な機能ついてるんだ

952 :デフォルトの名無しさん:2017/03/17(金) 21:58:27.29 ID:UpwxDO5M.net
>>940
出せるよ、色々と決まりがあるから説明がめんどいんだけど

GPLライセンス: 俺の使ったら、おまえのソース全部公開な
MITライセンス: 俺の使ったら、分かるところにきちんと明記しろよな
CCライセンス: 内容によって色々

他にも色々あるけどな
どこにも何も書いてなかったら、シラネ
好きに使っていいんじゃねーの、鼻ホジ

953 :ぬーぶ ◆upkqfrxkrw :2017/03/17(金) 22:02:34.61 ID:eSsQqHBP.net
>>952
ライセンスって面倒臭いね
そもそもライセンスってよく知らないな
著作権みたいなもんなんかな
もし将来的にそれなりのクオリティのゲーム作るとしたら
著作権とかも問題になりそうだけど金銭面が気になるな
今は難しすぎてわかんないけど

954 :デフォルトの名無しさん:2017/03/17(金) 22:06:36.62 ID:UpwxDO5M.net
>> ぬーぷ
三角関数だけど、おまえの好きなサイトできちんと解説しているぞ
本当に読んでるのか?
http://dixq.net/g/s.13.a.html
http://dixq.net/g/s.13.b.html
http://dixq.net/g/03_07.html
http://dixq.net/g/03_05.html
http://dixq.net/g/03_06.html

955 :ぬーぶ ◆upkqfrxkrw :2017/03/17(金) 22:09:07.62 ID:eSsQqHBP.net
>>954
読んでもわからん…

956 :デフォルトの名無しさん:2017/03/17(金) 22:15:23.83 ID:UpwxDO5M.net
>>955
正気か?
動画見たか?分かるまで何回も見直せ
それでもわからなかったら教員に聞きに行けよ

x, y座標使った座標の計算できてるなら分かる内容だぞ

957 :片山博文MZ ◆T6xkBnTXz7B0 :2017/03/17(金) 22:16:19.22 ID:+s8GChIV.net
x成分、y成分ってわかるか? xyグラフで原点から右に13だけ移動した位置が「x成分は13である」という。原点から左に3だけ移動した位置が「x成分は-3である」という。横方向の位置関係をx成分で表す。縦方向がy成分だ。

958 :ぬーぶ ◆upkqfrxkrw :2017/03/17(金) 22:22:32.54 ID:eSsQqHBP.net
>>956
とりあえず見よう見まねで書いてみるのが良いのかな
殆ど理解できない状態なんだけど…

959 :片山博文MZ ◆T6xkBnTXz7B0 :2017/03/17(金) 22:23:06.40 ID:+s8GChIV.net
位置や速度などは縦方向のy成分と横方向のx成分に分解できる。これを成分分解という。方向と大きさを持ったベクトルは、成分分解により、x成分とy成分という二つの数値に分解される。

960 :デフォルトの名無しさん:2017/03/17(金) 22:23:14.47 ID:bp64sZ1Q.net
ほらよ
http://i.imgur.com/KGQH1o9.png

961 :デフォルトの名無しさん:2017/03/17(金) 22:32:55.81 ID:UpwxDO5M.net
>>958
>>960 の 図で言うとだ
1秒間に速さ10の弾が30度の角度で射出されたとする
原点(x: 0, y: 0)にいたら、1秒後の座標は
(x: 0 + 10 * cos( 30度 * ( π / 180),
y: 0 + 10 * sin( 30度 * ( π / 180))
になるわけだ

分かるか?

962 :片山博文MZ ◆T6xkBnTXz7B0 :2017/03/17(金) 22:32:56.95 ID:+s8GChIV.net
sin(x)という数値は、-1〜1の範囲にある。sin(x)が1を超えることはない。 cos(x)も-1〜1の範囲にある。cos(x)が-1よりも小さいことはない。

963 :片山博文MZ ◆T6xkBnTXz7B0 :2017/03/17(金) 22:41:13.51 ID:+s8GChIV.net
(cos(t*π/180), sin(t*π/180))は、大きさが1で、方向がt度のベクトルを表している。

964 :デフォルトの名無しさん:2017/03/17(金) 22:48:54.58 ID:mX6hekeq.net
前にも言ったけど関数を使うのは「短くするため」じゃないよ

ゲームでも何でも試行錯誤して作る内に必ず設計が変わる
設計が変わった時に微修正で済むのか全部書き直しになるのか、関数の使い方次第

965 :片山博文MZ ◆T6xkBnTXz7B0 :2017/03/17(金) 22:55:19.73 ID:+s8GChIV.net
大きさがrで、方向がt度のベクトルは、(r*cos(t*π/180), r*sin(t*π/180))となる。各成分をr倍した。

966 :片山博文MZ ◆T6xkBnTXz7B0 :2017/03/17(金) 23:00:16.96 ID:+s8GChIV.net
度とラジアンは比例する。比例係数はπ/180。だからπ/180を掛ければラジアンが求まる。

967 :デフォルトの名無しさん:2017/03/17(金) 23:03:23.13 ID:UpwxDO5M.net
片山はもう少しまとめて書くべきかと思うんだけどな

968 :片山博文MZ ◆T6xkBnTXz7B0 :2017/03/17(金) 23:11:21.37 ID:+s8GChIV.net
11時だよ、全員就寝!

969 :ぬーぶ ◆upkqfrxkrw :2017/03/17(金) 23:31:30.00 ID:eSsQqHBP.net
>>961
sinとcosで意味わかんないけど
これをテンプレートでインプットするだけで
だいぶ違うのかな…
理解は難しいけど一応覚えとく

970 :ぬーぶ ◆upkqfrxkrw :2017/03/17(金) 23:32:20.01 ID:eSsQqHBP.net
次スレどうしようかな
980行ったら考えるけどテーマをどうしよう

971 :デフォルトの名無しさん:2017/03/18(土) 00:18:11.88 ID:3eczjDi7.net
「片山博文と陽気な脳内仲間たち」

972 :デフォルトの名無しさん:2017/03/18(土) 00:20:32.73 ID:Prt7v4Nn.net
>>969
意味わかんないって何でだよ
そういう決め事なんだよ
横軸はコサイン関数、縦軸はサイン関数で求められますってだけの話だろ
足し算の記号が何で + とか意味わからんとか、1 + 1 が2になる意味がわからんとか言ってるレベルだぞ
突き詰めると大学の数学科レベルとかそういう話だぞ

973 :デフォルトの名無しさん:2017/03/18(土) 00:23:38.61 ID:19INRyrG.net
>>902
例えば約100行必要とする同じ処理を10回行う時に、関数を使わないと約1000行必要だけど、関数にしとくと、
その一回本体分で100行使うけど、後は各呼び出し1行×10回で済む。

974 :デフォルトの名無しさん:2017/03/18(土) 00:25:45.56 ID:3eczjDi7.net
やはり中学生で三角関数の話題とか設定に無理があったな

975 :971:2017/03/18(土) 00:28:23.73 ID:19INRyrG.net
ごめんなさい、前に既に同じような説明ありました。取り消します。

976 :デフォルトの名無しさん:2017/03/18(土) 00:29:46.51 ID:Prt7v4Nn.net
>>969
> テンプレートでインプット
それが関数だ
多分

977 : ◆BrBq2CJg6HGd :2017/03/18(土) 00:40:10.26 ID:19INRyrG.net
ぬーぶくんは大人たちのレスにも気に入らないとバッサリで見てて気持ちいいね。

978 :デフォルトの名無しさん:2017/03/18(土) 02:08:50.02 ID:3eczjDi7.net
中身はいい歳こいたおっさんだからな

979 :ぬーぶ ◆upkqfrxkrw :2017/03/18(土) 02:36:20.77 ID:vWvvhCPv.net
>>972
そのサインコサインさんにルート君とかいう曲者が混じってるから厄介
中2にはきびC

980 :ぬーぶ ◆upkqfrxkrw :2017/03/18(土) 02:36:45.70 ID:vWvvhCPv.net
>>976
もう丸暗記で良いんじゃないかなって思ってる

981 :ぬーぶ ◆upkqfrxkrw :2017/03/18(土) 02:36:55.77 ID:vWvvhCPv.net
>>977
No problem.

982 :ぬーぶ ◆upkqfrxkrw :2017/03/18(土) 02:37:58.71 ID:vWvvhCPv.net
>>978
i may be the youngest in this thread.

983 :片山博文MZ ◆T6xkBnTXz7B0 :2017/03/18(土) 02:44:27.79 ID:7YURTM0W.net
こら、早く寝ないとオンライン補導するぞ。ちなみにルートは<cmath>のstd::sqrtで計算できる。

984 :ぬーぶ ◆upkqfrxkrw :2017/03/18(土) 02:48:09.35 ID:vWvvhCPv.net
>>983
dont worry i will sleep soon.
good night, sir. have many nice dreams :)

985 :デフォルトの名無しさん:2017/03/18(土) 03:08:09.02 ID:qSpTIxxX.net
何だ、この流れwwwww

自演以外の何物でもないやんけ
ワロタw

986 :デフォルトの名無しさん:2017/03/18(土) 09:44:56.12 ID:Prt7v4Nn.net
>>979
それは結果がそうなるだけだよ、バカ
どんな時にルートになるのか言ってみろよ

987 :デフォルトの名無しさん:2017/03/18(土) 14:21:46.44 ID:oLdxgpd1.net
片山ァ!茶番やめろや

988 :デフォルトの名無しさん:2017/03/18(土) 19:17:05.48 ID:19INRyrG.net
>>979
ルート√は中3で習う。
2乗すると中身の数になる。
例:√4=2、√9=3、√1=1、√0=0、√2=約1.4、√3=約1.7

989 :デフォルトの名無しさん:2017/03/18(土) 19:39:00.02 ID:19INRyrG.net
それが座標とどう結び付くかというと、中3で三平方の定理というのを習うとわかるけど、
2次元(平面)では物の位置が√を使った数(無理数という)で表されることも多い。例えば三角定規の辺の比は、45度のやつは1:1:√2となっており、30度60度のやつは1:2:√3となっている。
つまり30度45度60度(90度)また、その組み合わせで表される角度での座標には必然的に無理数が現れる、ということになる。

990 :ぬーぶ ◆upkqfrxkrw :2017/03/18(土) 20:01:18.91 ID:vWvvhCPv.net
>>988-989
なるほどわからん
ところでなんでコテ消してるの?

991 :デフォルトの名無しさん:2017/03/18(土) 20:19:34.21 ID:19INRyrG.net
>>990
いろいろ問題があって。

992 :ぬーぶ ◆upkqfrxkrw :2017/03/18(土) 20:24:07.05 ID:vWvvhCPv.net
>>991
whats problem?

993 :デフォルトの名無しさん:2017/03/18(土) 20:32:00.19 ID:19INRyrG.net
>>992
付けると目の敵にされる可能性が高くなるから。

994 :デフォルトの名無しさん:2017/03/18(土) 20:40:37.97 ID:73qNuOmV.net
>>993
安心し
トリップなしでも嫌われもんやで
ネットでもリアルでも

995 :デフォルトの名無しさん:2017/03/18(土) 20:46:53.55 ID:19INRyrG.net
>>994
そうでもない。

996 :ぬーぶ ◆upkqfrxkrw :2017/03/18(土) 22:56:35.76 ID:vWvvhCPv.net
>>993
なんのためのコテだよ…
こっちのスレでは叩かれることないし大丈夫だよ
問題起こさなければね

ところでここプログラミングスレなんだけど
Javaはどうしたの?

997 :ぬーぶ ◆upkqfrxkrw :2017/03/18(土) 23:18:56.03 ID:vWvvhCPv.net
なんか新しく立ってるけどこれで良いのか…?
http://echo.2ch.net/test/read.cgi/tech/1489809785/

998 :デフォルトの名無しさん:2017/03/18(土) 23:56:34.96 ID:EXf49ReE.net
やっと勉強すれっぽい流れに戻った
がんばれぬーぶくん、俺は応援してるぞ

999 :デフォルトの名無しさん:2017/03/19(日) 00:16:52.52 ID:cSt3/uVu.net
>>996
いやぁ、でもあのトリップに拒絶反応起こす人もいるくらいだからね。

Javaはイチからまたやり直してみたよ。意外と忘れてることもあるもんだよ。

1000 :デフォルトの名無しさん:2017/03/19(日) 00:33:10.80 ID:gtKYYbQK.net
大学院の研究を使ってサイトを作ったんだが
天才的な高学歴俺様の超絶テクノロジーによって、
ディープラーニング的な手法とカイ二乗検定を使って、
個人個人にあった本をおすすめするんだわ。

http://boot.matrix.jp/

まぁ使えばアホでも凄さが分かるだろうから
ぜひ試してみてくれや
なんか意見とか褒めの言葉あればココに書き込みに
来てくれたら嬉しいわ

http://mint.2ch.net/test/read.cgi/hobby/1489364564/

1001 :デフォルトの名無しさん:2017/03/19(日) 00:43:50.86 ID:cBsMWJ0a.net
トリップ無しでもすぐ特定されるねw

ってか、はよ仕事せい!

1002 :デフォルトの名無しさん:2017/03/19(日) 06:44:53.45 ID:tcBnq20A.net
1000

総レス数 1002
297 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★