ねねっちと一緒にプログラムを勉強するスレat TECH
ねねっちと一緒にプログラムを勉強するスレ - 暇つぶし2ch200:デフォルトの名無しさん
17/02/06 11:10:44.65 ztrYnWwG.net
switchとかw
updateを持つsceneクラス作って
それを継承してタイトルやらステージ1やら作って
ゲームマネージャーで管理するんだよ

201: ◆f5STnaEXUk
17/02/06 19:22:22.48 X4lA+IN8.net
URLリンク(www.opengl.org)
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]));

202:ぬーぶ ◆upkqfrxkrw
17/02/06 20:54:42.36 4u2g4jR0.net
ちょ、レス返しは後にさせてちょっと緊急…
Visual Studio 2015で文字打とうとしたら
文字打つときのカーソル(キャレット)が1文字分埋まって
バックスペース押すと埋まってる文字が消えるんだけど…
こんな


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



204:デフォルトの名無しさん
17/02/06 21:03:48.31 /agxEATE.net
Insert

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

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

207:ぬーぶ ◆upkqfrxkrw
17/02/06 22:06:15.09 4u2g4jR0.net
あーもう分からん…
どうすりゃええんや

208:デフォルトの名無しさん
17/02/06 22:12:11.79 vNKm6v6D.net
>>200
ここは君のTwitterではない
独り言を書き込むのは控えよう
わからないことがあるならコードと一緒に書き込みなさい

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

210:ぬーぶ ◆upkqfrxkrw
17/02/06 22:39:50.39 4u2g4jR0.net
使えなかった「関数」というものが
どういう存在なのかイメージは何となーくできた。
このサイトでやってるんだけど
基礎範囲っていうとどこまでやれば大丈夫?
URLリンク(dotinstall.com)
全部やったほうがええんかな

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

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

213:ぬーぶ ◆upkqfrxkrw
17/02/06 22:51:46.17 4u2g4jR0.net
>>204-205
OK

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

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

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

217:デフォルトの名無しさん
17/02/06 23:35:48.99 vNKm6v6D.net
C++の基礎ならCの基礎に加えてこのくらいの知識は必要か
1.簡単なクラス設計
2.例外の使い方
3.名前空間によるモジュール分け
4.簡単なtemplate関数・クラスの実装
5.STLコンテナとアルゴリズムの使い方
6.CとC++の違いの認識
7.C++11以降で追加された機能とライブラリの概要
急ぐ必要はないから適当なペースで

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

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

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

221:デフォルトの名無しさん
17/02/07 17:34:37.17 tcS7ygJS.net
>>213
メモリの管理
好きな時にガバッと大量にオブジェクトを生成して、好きな時に破棄ができる
例えばグローバルな変数で数GBもある領域を確保してしまうとプログラムが重くなるけど、必要な時にピンポイントで取得・解放すればずーっと重いってことはない
まぁお前が作るプログラムなら直接は必要ないかもしれないけど、ライブラリやフレームワーク、SDKあたりで触る機会は訪れるから知っておくべき

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

223:ぬーぶ ◆upkqfrxkrw
17/02/07 18:00:10.52 4rjiTxWA.net
ideoneではエラーになってるけど動くはず
URLリンク(ideone.com)
じゃんけんプログラムのプロトタイプを作ってみた。
ここからn人のじゃんけんに変えたりしていきたいけど
その他にコードの短縮・高性能化が可能なら教えて下さい。
自分には今の所これが一番短くしたプログラム。

224: ◆f5STnaEXUk
17/02/07 19:15:41.48 VLVkoykZ.net
>>212
そうそうそのポインタ
最初は>>210の言う1-3ぐらいまで理解してればいいと思うよ俺は
練習として、じゃんけんのコードは関数にわけてるといいかも
プログラムが長くなってくると関数にわけないと辛いよ
main関数の中身はwhile(true){if(game()!=CONTINUE)break;}ぐらいにする感じで
n人のじゃんけんは少し難しいね
参加者全員の手を配列にいれてソートして重複を取り除いて長さが3か1ならあいこ
長さが2なら手を見て勝ち負けを判定するってアルゴリズムがすぐ思い浮かぶな
stlを使えば簡単だけど今ぬーぶが知ってるCの範囲では少し難しいかもしれない

225:ぬーぶ ◆upkqfrxkrw
17/02/07 20:44:08.74 4rjiTxWA.net
>>217
ポインタって考え方自体は
思ったより簡単だった。クラス許すまじ。
Cの基礎範囲を覚えるのも結構難儀だけど
C++の範囲を更に覚えるとなるともっと時間かかりそうだな…
最初にC++やって基礎もいっぺんにやっちゃえ~って考え方は
今思うと物凄く愚かだった(´・ω・`)
関数は苦手だけど頑張って使ってみる。
while(true)なんてのがあるのか…
基本的に仕事とかプロレベルの高度な事になると
main関数の中身にはあんまりゴチャゴチャ詰め込まずに
関数を呼び出して書く方法が一般的なのかな。
n人のじゃんけんって簡単だと思ってたけど
いざプログラム組み始めると「あれ?」ってなったな。
34スレのほうで「n人のじゃんけんくらい作れ」みたいに言われてたから
基礎範囲ならせめてこれくらいできないとヤバいと思ってたw
複数人での勝ち負け判定が一番難しそう、何て言うか、
先にじゃんけんのルール(グーチョキパーの関係)をプログラムして
それに倣ってif分岐したほうが良さそうかな。
STLってC++の範囲かな、また意味不明な単語が出てきた_(:3 」∠)_

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

226:ぬーぶ ◆upkqfrxkrw
17/02/07 20:44:42.10 4rjiTxWA.net
また長文になった…ごめんなさい

227:デフォルトの名無しさん
17/02/07 20:49:34.90 tcS7ygJS.net
日記はあかんとは思うが、長文はいいんじゃねーの、適切な内容なら
STLはすでに使ってる。STDって使ってるだろ
スタンダードテンプレートライブラリの略で便利なものがライブラリ化されている
ただ勉強のために、自分でそれっぽいものを実装してみるのも有り
ポインタは使ってみると案外カオス
ポインタのポインタとかを配列に突っ込むようになると管理がめんどくさくなる

228:ぬーぶ ◆upkqfrxkrw
17/02/07 20:56:17.06 4rjiTxWA.net
>>220
徐々に2ちゃんの文化に慣れていきたい
STDなんて使ったっけ…無意識に使ったんだろうか
あんまり名前気にせずに使ってたから覚えてないや
ポインタのポインタを配列に突っ込む…
もう訳が分からん…
ポインタのポインタのポインタって事もあるんだろうか…

229:ぬーぶ ◆upkqfrxkrw
17/02/07 21:01:57.78 4rjiTxWA.net
ふー、関数の使い方については理解できたけど
これってreturn


230:で返す必要あるんかな… そしてこれをじゃんけんのプログラムに どうやって活かそうかというところでまた悩むという…



231:デフォルトの名無しさん
17/02/07 21:05:36.24 uyxPYTwn.net
int 判定(int 手, int 手)
{
  判定処理
  return 判定結果;
}

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

233:KAC
17/02/07 21:10:44.42 1yHesC+2.net
>>217
なんか中途半端だな・・・
 while(true){if(game()!=CONTINUE)break;}
  ↓
 while(game()==CONTINUE);
> 参加者全員の手を配列にいれてソートして重複を取り除いて長さが(ry
そんなことしなくても、
1:グー 2:チョキ 4:パー とか割り当てて、
全部でORとれば結果くらい簡単にでるだろ・・・
基礎教える時には、あまり複雑な話題を出さない方が良いぞ。

234:ぬーぶ ◆upkqfrxkrw
17/02/07 21:19:45.91 4rjiTxWA.net
>>223
なるほど、やってみる。

235:ぬーぶ ◆upkqfrxkrw
17/02/07 21:22:26.85 4rjiTxWA.net
>>224
ちょっと失礼します
float getMax(float a, float b) {
___if (a > b) {
______return a + b;
}
こういう事もできるって事…なの?
今からご飯行くので帰ってきたらまた試します

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

237:デフォルトの名無しさん
17/02/07 21:32:09.88 tcS7ygJS.net
>>227
誤解させたかもしれないが、返り値にvoid以外を定義したなら、返す必要はある
>>225
ビット演算とか、まだ早いだろ…

238:KAC
17/02/07 21:43:53.26 1yHesC+2.net
>>229
いやいや、
ソートして重複除去するアルゴリズム組むよりは
ビット演算の方がいくら何でも先だろ・・・
つか、論理演算(ブール演算)は中学生レベルの話なんだし、
ビット演算くらいすぐ理解できるだろ。

239:デフォルトの名無しさん
17/02/07 22:07:48.58 99tLcJuW.net
整いました!

240: ◆f5STnaEXUk
17/02/07 22:12:38.76 VLVkoykZ.net
>>225 KAC賢いね。ぬーぶがやるならその方法だね
実質ビット列を集合として扱ってるわけだ
>基礎教える時には、あまり複雑な話題を出さない方が良いぞ。
これはそのとおりだと思うけど俺はあたまいい方ではないので
つい自分の知ってることを話してしまいがち
>>227
やりたいのはこれじゃないの
float getMax(float a,float b){
if(a>b)return a;
return b; //これがないとコンパイラ警告だすでしょ
}

241:ぬーぶ ◆upkqfrxkrw
17/02/07 22:17:08.37 4rjiTxWA.net
>>229-230
ソートやらビット演算やら色々訳わからんのが…
ビット演算について調べてみる。
n人のじゃんけんはもう少し先でお願いしますです…。
そういえば向こうで「乱数を使わないじゃんけん」とか言ってたけど
そんなのは可能なの?
どう考えても、相手のパターンを学習して
次の手を読んで出すにしても乱数は必要不可欠な気がするけど…
そもそも相手の先を読むなんてできるのかな。

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

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

244:ぬーぶ ◆upkqfrxkrw
17/02/07 22:38:51.50 4rjiTxWA.net
>>235
ほぉ… おぉ…???  あぁ……  あぁぁぁぁぁぁぁ!!(´;ω;`)
っていう状態でございます_(:3 」∠)_
関数?配列?が使われてるのは何となく分かった。
これが分かるまで基礎を身に着けるのが先になりそう orz
わざわざ有難�


245:、ございますm(__)m



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

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

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

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

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

251:ぬーぶ ◆upkqfrxkrw
17/02/08 10:58:36.52 6hPVeK3z.net
何でmain関数を一番下に置いてるのに
識別子が見つからないエラーになるのか
調べても全く分からない…
誰か助けて…(´・ω・`)
URLリンク(ideone.com)

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

253: ◆f5STnaEXUk
17/02/08 12:09:36.51 bfP4l9M8.net
2点誤りがある
関数は前方宣言というのをしないと、まだ定義してない関数を使うとエラーになる
contGameの定義中にgameMainを呼んでいるけどまだgameMainは定義されていないからエラーになる
これを防ぐには上の方にint gameMain(int pg);と書いとく必要がある
それから次はmain関数を普通の関数のように使ってるけど
main関数は特別な関数なので自分からmainを呼んだりはしちゃダメ
mainの引数は0個か2個と決まっていて
int main(int)というのはやっちゃダメ
int main(){while(自分で作った関数!=0){start();...
とする
いい方法は、小さいプログラムから始めて、コンパイルできることを確認しながら
大きくしていくことだよ

254:ぬーぶ ◆upkqfrxkrw
17/02/08 12:38:40.36 6hPVeK3z.net
>>244
あ、プロトタイプ宣言か…
でもmain関数の中に入れないと
プログラムが成り立たないんじゃ…

255:デフォルトの名無しさん
17/02/08 13:10:45.27 QTCpNTnM.net
while(main!=0)
は味わい深い。goto endは次点。
ヌーブはこれからgoto禁止な。goto使うには10年早い。

256:ぬーぶ ◆upkqfrxkrw
17/02/08 15:08:52.41 6hPVeK3z.net
>>246
while(main...)は使っちゃ駄目なのか…
何とか他ので頑張る
え、なんで…(´・ω・`)

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

258:デフォルトの名無しさん
17/02/08 16:15:09.73 QTCpNTnM.net
>>247
そのwhile(main != 0)の意味を説明してみて?
gotoに関しては頭の中から消しさる。上級者以外には害があるので。

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

260:ぬーぶ ◆upkqfrxkrw
17/02/08 16:47:35.29 6hPVeK3z.net
>>249
ごめん書くとしたらint main(int play);だった
gotoってそんなに…何でなの…?
全部プロトタイプ宣言しても
値を返さなきゃ的なエラーが出るんだけど…
何なんだろう。

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

262:デフォルトの名無しさん
17/02/08 17:16:02.80 QTCpNTnM.net
>>251
while(main!=0)


263:の話をしてるんだが、その回答は意味不明。 本質的なポイントを誤解か理解していないっぽいからどう君の頭の中で間違えてるか知りたかったのだが、そしたら教えられるから。



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

265: ◆BrBq2CJg6HGd
17/02/08 17:18:19.75 P7DKCnaF.net
すいませんテストさせて下さい。
ハローワールドプログラム
URLリンク(ideone.com)

266: ◆BrBq2CJg6HGd
17/02/08 17:20:57.80 P7DKCnaF.net
行けました。
ありがとうございました。

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

268:ぬーぶ ◆upkqfrxkrw
17/02/08 17:56:49.83 6hPVeK3z.net
>>254
あっw

269:ぬーぶ ◆upkqfrxkrw
17/02/08 18:06:15.05 6hPVeK3z.net
できた!
C++「ゲームを始めますか(Y(1)/N(0))」
ぬーぶ「1」
C++「ゲームを始めますか」
ぬーぶ「えっ」
C++「ゲームを続けますか」

何この子…

270:ぬーぶ ◆upkqfrxkrw
17/02/08 18:08:10.06 6hPVeK3z.net
嘘つけどこも間違ってへんやんけ…
URLリンク(ideone.com)

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

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

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

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

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

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

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

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

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

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

281:デフォルトの名無しさん
17/02/09 14:05:10.98 ObwD4jmp.net
計算待ちで暇なのでちょっと覗きに来た
いやすげぇな、初心者って思いもよらない書き方するよねって懐かしくなった
しかしながら、このレベルでDxLibとか勉強するつもりだったのか
豪気な男やでぇ

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

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

284:片山博文MZ ◆T6xkBnTXz7B0
17/02/09 21:46:55.70 2NLO6FIm.net
int cx, cy;
GetGraph


285:Size(iGraph, &cx, &cy); で画像の幅cxと高さcyが得られる。 これを使えば当たり判定が正確にできる。 (x, y)が左上端の位置座標なら、(x + cx, y + cy)が右下端座標になる。



286:片山博文MZ ◆T6xkBnTXz7B0
17/02/09 22:11:45.49 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;

287:片山博文MZ ◆T6xkBnTXz7B0
17/02/09 22:17:23.55 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; }

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

289:デフォルトの名無しさん
17/02/09 23:36:33.60 2NLO6FIm.net
あげ

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

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

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

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

294:281
17/02/10 16:50:01.89 it3LCMhX.net
>>282
すいません。
しかしベクタやコンテナが基礎知識ですか…。

295:デフォルトの名無しさん
17/02/10 16:52:13.01 1TaI7b3x.net
>>281
これお前だろw
>>282からの諦め早すぎwww
C++諦めたから他のオススメの言語教えて!
スレリンク(tech板)
1 : デフォルトの名無しさん : sage : 17/02/10(金) 16:33:39.25 ID:96f+QYOp
Pythonとか気になってる。

296:ぬーぶ ◆upkqfrxkrw
17/02/10 17:24:53.73 yuwXK07v.net
ただいま
>>274-277
まだ基礎やってるから待ってくれ…_(:3 」∠)_
もうちょっとしたら基礎終わると思う。

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

298:デフォルトの名無しさん
17/02/10 17:35:20.45 L7wbIOrN.net
基礎はゆっくりじっくりでOK
この前のジャンケンゲームみたいに文字ベースの簡単なゲームを作りながらだとなお良い
グラフィカルなゲームしばらく忘れておこう

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

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

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

302:ぬーぶ ◆upkqfrxkrw
17/02/10 18:10:15.70 yuwXK07v.net
>>289
>残念ですが違います。
>『残念ですが』違います。
_人人人人人人


303:_ >  残念ですが <  ̄Y^Y^Y^Y^Y^Y^Y ̄



304:283
17/02/10 18:26:17.13 it3LCMhX.net
>>288
ありがとうございます。
>>291
その言葉がそんなにおかしいの?

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

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

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

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

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

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

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

312:デフォルトの名無しさん
17/02/10 20:47:43.01 pnc3yT29.net
HSPで数千行なんてよく頑張ったと思うけれども
今はそれが裏目に出てる
正直どこをどうしてDxLibにたどり着いたかはよく分からんが、
やると決めたからにはHSPの経験は忘れたつもりで取り組んでみて

313: ◆f5STnaEXUk
17/02/10 21:14:31.69 OSge0geU.net
とりあえず>>123の本の7章まで来た
Visual Studioでコンパイルできるのか知らんけど
最近のC++は関数型っぽくauto main() -> intとかかけるようになってるんだな

314:デフォルトの名無しさん
17/02/10 21:23:14.50 oqO5ksRE.net
>>301
戻り値型の後置はVS2010から使えるよ
URLリンク(msdn.microsoft.com)
URLリンク(cpprefjp.github.io)

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

316: ◆f5STnaEXUk
17/02/10 21:43:49.75 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;
..."

317:ぬーぶ ◆upkqfrxkrw
17/02/10 21:44:23.82 yuwXK07v.net
>>300
数千行と言ってもテキストだけのゲームとか電卓とか
作った程度なんだけどね…。
普通に「C++ ゲーム」でググったら出た()
HSPの経験を忘れるかぁ…そうする。

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

319:ぬーぶ ◆upkqfrxkrw
17/02/12 13:47:16.15 noL9hNRi.net
特にこれと言った進展はないけど
2日間書きこみしてなかったので
生存報告しときます(´・ω・`)
あのじゃんけんプログラム自体は
アドバイスしてくれてた人には申し訳ないですが
一旦放置しようと思います。
関数を使いつつ、別の方法でじゃんけんのプログラムを
もう一度組み直してみます。ごちゃごちゃになったので orz
グー、チョキ、パーの勝利条件を先にプログラムして、
その条件に当てはまったらという形式で
プログラムを組もうと思います。
その方が綺麗にまとまる気がするかもしれないと思う…(曖昧

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

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

322:ぬーぶ ◆upkqfrxkrw
17/02/12 14:12:29.96 noL9hNRi.net
/warnの事で合ってるのかな

323:デフォルトの名無しさん
17/02/12 14:18:01.40 C1x8eABn.net
URLリンク(msdn.microsoft.com)

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

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

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

327:デフォルトの名無しさん
17/02/12 15:44:38.81 C1x8eABn.net
>>312
MS独自関数ってどれのこと?
C4996で警告される、_s付のセキュアな関数使えというやつなら、W3でも出るから違うよね?
それにこれもC由来でない、C++の標準関数使ってれば出ることないし
W4をすすめてるのは、たとえば>>265,269で指摘したうちの、3の制御が渡らないコード、4の変数名の重複はW4なら見つけられるから
コンパイラが検出可能な間違いは、コンパイラに見つけて貰うのが早いし簡単

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

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

330:デフォルトの名無しさん
17/02/12 20:33:41.46 SAJ6VZ+5.net
向こうで叩かれてると思って逃げて来たんだろ
むかつくと言いながらも中学生に同類として親近感抱いてるみたいだし

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

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

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

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

335: ◆f5STnaEXUk
17/02/12 20:56:06.31 r8FM+8H0.net
くのいちみてた。おっぱいがおっぱいが
まず1が逃亡したここの趣旨なんてないようなもんだろ
だから隔離スレとして扱いしこしこ楽しむのが正しい使い方
javaでもいいさ俺もjavaわかるし

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

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

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

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

340: ◆BrBq2CJg6HGd
17/02/12 22:22:56.03 GM4AuEc5.net
すいませんでした。いろいろ事情がありまして。Javaの話題は書き込まないようにします。
>>323
ありがとうございます。
でも上に書いたようにJavaは避けます。
C/C++の話題は今まで通り書き込ませて頂きますね。

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

342:ぬーぶ ◆upkqfrxkrw
17/02/12 23:28:13.28 noL9hNRi.net
もう寝るから明日レス返します
あと別にプログラミング言語関係なく書いて良いでしょ
特に言語の制限あるわけじゃないし。
34の性格が腐っててもプログラミングする分には何ら関係ないし
普通に入ってきて良いと思うけど。

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

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

345:デフォルトの名無しさん
17/02/13 13:48:27.31 lDkdvENV.net
NEWGAME!2期製作決定だぞ

346:ぬーぶ ◆upkqfrxkrw
17/02/13 15:18:53.90 tKQw00E8.net
ただいまぽん
>>314
関数をとりあえず単体で復習してみないとね。
分かったつもりになって使ってたみたい。

347:ぬーぶ ◆upkqfrxkrw
17/02/13 15:22:37.06 tKQw00E8.net
>>316
真面目にJavaやるなら入ってきても良いけど
どっかのスレみたいに助言とか手助け貰ってる癖に
無視して自分のやり方でやる、みたいなのはナシね。
何故それが必要なのか分からないなら聞いても良いけど、
(「変数名をローマ字にするな」とかの指摘とかね)
経験者から「それは今必要である」と言われたら
ちゃんと実行に移してね。それができないならバイバイ。

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

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

349:ぬーぶ ◆upkqfrxkrw
17/02/13 15:27:44.37 tKQw00E8.net
>>323
(。)(。) オッパイ
) , (
前から気になってたけど
ねねっちって何だろう。このスレの1はどうなったの…?

350:ぬーぶ ◆upkqfrxkrw
17/02/13 15:31:33.85 tKQw00E8.net
>>326-327
関数をまずちゃんと動かしてみる事にする。
相互再帰…また分からない単語が出てきた…
プログラミングって楽しいけど、勉強すればするほど
訳わからん言葉がいっぱい出てくるなぁ…
現役のプログラマーさんがこんな専門用語を
全部使いこなしてるって考えると気が遠くなるな。
お酒美味しいのかな。あと6年したら飲めるけど…
ワインとか飲んでみたい。ビールは苦そう。
関数の次は再帰か、覚えとく。ありがとう。

351:デフォルトの名無しさん
17/02/13 17:39:15.29 rOATsKzy.net
とりあえず1番簡単な再帰呼出の例としては
前に作ってた1~1


352:0(100だったかも)の合計をループ文を使わずに求めるとかかな



353: ◆f5STnaEXUk
17/02/13 18:25:08.50 TsuXnt3+.net
このスレが出来たのは割と最近だからまだ1(ねねっち?)はこのスレを見ているカモな
すぐに理解できなくていいけど多分最も簡単な相互再帰の例を書いた
URLリンク(codepad.org)
この例だと相互再帰にしなくてもかける(コメント参照)
わからなかったら再帰の勉強を始める頃にまた見ればいいよ
暇だったら途中にcoutをはさんで動作を確認してみるといい
再帰は奥が深いよ
酒は将来の楽しみにしとき。6年なんてすぐ経つ

354: ◆BrBq2CJg6HGd
17/02/13 19:08:45.85 sMoY2cDa.net
お言葉に甘えて書き込ませて頂きます。
>>335
そうだね。こっちも荒らすわけにはいかないからね。
…じゃんけんプログラムがうまく作れません。というか作れたんですが、例外発生に対する策がうまくいきません。困りました…。

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

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

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

358:デフォルトの名無しさん
17/02/13 19:21:14.27 x2io0X1K.net
やはり荒れるなw

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

360:ふつけら ◆f5STnaEXUk
17/02/13 20:46:22.76 TsuXnt3+.net
一瞬で平和が崩れたな・・
名前適当につけた。他にいい名前があったら変えるかも
>>346
unityは触ったことないけどぬーぶには難しいのでは
cocosはコンパイル時間がもっと短かったらいいのにな

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

362:デフォルトの名無しさん
17/02/13 23:55:51.95 eKrvfhiE.net
家を建てるんや!と言いながら、
ノコギリとトンカチの存在が
「何か見たことある気がする」
程度の認識だった、
みたいな状態なので、
ツールやフレームワークを使うのはまだちょっと早い気がする。
でも最初の駄々こねからあっさり方針変更して、
基礎から勉強するって言ったのは好感が持てる。
少なくとも34歳よりはずっと考え方は柔軟だろうし、
すぐ基礎は理解して先に進めるんじゃないかな。
ちな俺はゲーム作成はSDLとC++で勉強した口なのだが、
流石に古いのか誰も勧めないなww

363:デフォルトの名無しさん
17/02/14 00:11:46.46 gdLEKjA6.net
>>346
>>126
本スレぐらい検索しろよ
>>347
iosの話ならcocos自体をフレームワークなり、ライブラリ化すればいいのでは?今は、ソース以外で配布されてるのだろうか?

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

365:ぬーぶ ◆upkqfrxkrw
17/02/14 00:55:26.56 bcA2peqR.net
>>340
案の定全く分からん_(:3 」∠)_
再帰の勉強が先になりそうやね…
お酒は赤ワインならちょろっと舐めた事があるけど
何て言うか、小学校の給食のコッペパンの味がした。

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

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

368:ぬーぶ ◆upkqfrxkrw
17/02/14 00:59:08.89 bcA2peqR.net
>>347
ふつけらって何だ…おけらの亜種か…
統合開発環境って色んな種類あるんやね。
Visual Studioiの他にもgccとか…。

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

370:ぬーぶ ◆upkqfrxkrw
17/02/14 01:02:01.98 bcA2peqR.net
>>349
家を建てるんや!え?んなもん粘土で作るわ!
の状態だったからなぁ…(´・ω・`)
ありがとう。でも基礎の関数でちょっと躓いてるなう…_(:3 」∠)_
でも頑張って理解して先進ま


371:ないとね。ゲームゲーム。



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

373:ぬーぶ ◆upkqfrxkrw
17/02/14 01:03:54.33 bcA2peqR.net
さて今日は寝ます…

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

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

375:ふつけら ◆f5STnaEXUk
17/02/14 05:08:59.42 VuYK65sq.net
>>350 何を言っているかよくわからなかったが
静的ライブラリをビルドしてコンパイルを高速化するテクニックとかあるようだ
>>355 普通のおけらという意味だよ。嘘だけど
スレリンク(tech板)l50
コテつけたのこのスレからだからコテで書き込んだことはないけどここは見てる

376:デフォルトの名無しさん
17/02/14 07:14:02.78 gdLEKjA6.net
>>357
お前の悪いところは、いつまでたっても難しい、わからないしか言わないところ
わからないだけじゃなく、具体的にどうわからないのか説明して見たら?
こういう風な動作を期待しているのに、こんな結果になってしまったと
できればコード付きで
そしたら、優しい誰かが答えてくれるだろうよ

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

378:ぬーぶ ◆upkqfrxkrw
17/02/14 15:48:46.00 bcA2peqR.net
>>361
普通の螻蛄、なんかカッコいい

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

380:ぬーぶ ◆upkqfrxkrw
17/02/14 15:51:05.71 bcA2peqR.net
>>362
具体的にどう分からないかっていうのが
上手く言い表せないっていうか…
何を失敗してるかが分からない状態。
プロトタイプ宣言もしてるのにエラーになる、とか。
取り敢えず前のじゃんけんプログラムは没だから
また新しいコードで躓いたら上げて質問させてもらいます。

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

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

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

384:デフォルトの名無しさん
17/02/14 16:55:43.10 GstB0RWe.net
すまん、基本だと思うが教えてくれ。
URLリンク(fefnir.com)
HiMacroEx のソフトをつかってマクロを
タイマーで実行させたいが、どうもスクリーンセーバーが
かかると、マクロが実行ができないようだ。3日かけてやっと気づいた。
スクリーンセーバーは絶対にかけたい。
スクリーンセーバー中でも実行する方法がありますか?

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

386:デフォルトの名無しさん
17/02/14 19:28:15.69 u0s5do/i.net
>>369
色々言われることもあると思うけど情報は自分で取捨選択すれば良いよ
大事なのは穏便に済ませること
こちらに伝わるように質問を考えるのも頭の整理になるし、どんどんコードを出していって見て

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

388:デフォルトの名無しさん
17/02/14 19:31:47.49 WXtvn4e6.net
>>369
とりあえず、お前さんには適性が全く無いことが判った
早く


389:諦めた方が身のためだぞ?



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

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

392:ぬーぶ ◆upkqfrxkrw
17/02/14 20:53:59.13 bcA2peqR.net
>>374-375
何か勘違いされてるみたいだけど、
数学の関数を理解できない=プログラミングの関数も理解できない
っていう考え方が僕には理解できない。
数学の関数は理解できるけど、プログラミングの関数は
まだ完全には理解できないと言ってるのに
「お前は数学の関数を理解できてない!」なんてずっと言われても。
そんなに数学とプログラミングの関数が一緒って言うなら
どう一緒なのかを教えてよ。
僕は前に数学とプログラミングの関数は別物って言われて
別物としか認識できてないから分からない。

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

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

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

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

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

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

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

400:デフォルトの名無しさん
17/02/14 21:18:57.71 Xqe6dJB0.net
程度問題だよ。
電子レンジを、他の人の見よう見まねで適当に操作して似た使い方をされたらたまらない。
生卵入れたり、アルミホイル入れたり、レンジしたいのにオーブンにしたりね。
でも、電子レンジの構造から仕組みまで何から何まで完全に理解して使う必要もない。
何事にも適切な理解の程度というものがあるんだよ。

401:デフォルトの名無しさん
17/02/14 21:24:14.57 LYU+uuAa.net
いい例えだな

402:デフォルトの名無しさん
17/02/14 22:02:19.34 gdLEKjA6.net
>>366
最低限、エラーの内容とコードさえ貼れば誰かエロい人が教えてくれると思うぞ
その前にエラー内容をググって、こう言う内容っぽいエラーですがよくわかりません位言うと、印象が多少よくなる

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

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

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

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

406:デフォルトの名無しさん
17/02/15 12:29:32.49 q0sxrs09.net
>>370 ですが
他の板に移動します。
    

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

408:ぬーぶ ◆upkqfrxkrw
17/02/15 15:20:41.09 0l8dFlwE.net
>>387
分かった。基本自分で調べて
どう


409:しても分からなかったらそうする。



410:ぬーぶ ◆upkqfrxkrw
17/02/15 15:20:57.70 0l8dFlwE.net
>>388
なかったっけ?

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

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

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

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

415:デフォルトの名無しさん
17/02/16 10:38:48.00 Ram8AUll.net
まあ中身は34歳だしなぁ

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

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

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

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

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

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

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

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

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

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

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

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

428:デフォルトの名無しさん
17/02/17 16:58:40.00 /AnTLUch.net
>>410
ぬーぶが書いたやつだって、その勝敗判定を「予めプログラムしてる」だろ?
自分が書いたコードとやりたい事の何が違うのか説明してみて。
関連して、>>406の内容や、優しいお兄さんが作った2つのじゃんけんプログラムは読んだ?

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

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

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

432:デフォルトの名無しさん
17/02/17 17:32:03.95 lf/5rABj.net
>>417-418
そういう事じゃ


433:無いなら



434:デフォルトの名無しさん
17/02/17 17:33:45.29 lf/5rABj.net
ないから

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

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

437:片山博文MZ ◆T6xkBnTXz7B0
17/02/17 18:01:30.53 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];
}

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

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

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

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

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

443:KAC
17/02/17 22:34:08.12 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つの数では表せない。
というのは、工夫次第でどうにでもなるってことだ。

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

445:デフォルトの名無しさん
17/02/17 22:56:03.34 /AnTLUch.net
>>426
答え書いちゃったのね^^。
俺は高校の時これ見てめちゃ感動した。後に群論知って奥深さ感じたな~。
これはもはやidiomだよね。
上でサンプルあげた人のコードも勿論これ。
ぬーぶには悩んで考えてコード読んで感動して欲しかった。まー、まだ無理か。

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

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

448:ふつけら ◆f5STnaEXUk
17/02/18 08:16:29.55 PSTKE0Se.net
stl、二次元配列、剰余、ビット演算
話題がじゃんけんプログラムしかないから解明が進んでるな
数学的には任意の2元の序列はつくのに
じゃんけんは前順序でも半順序でも全順序でもない関係なんだな

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

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

451:ふつけら ◆f5STnaEXUk
17/02/18 12:46:50.14 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割は越えてる
このぐらいの人数までなら現実でもそこそこ盛り上がる気はする

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

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

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

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

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

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

458:デフォルトの名無しさん
17/02/19 00:18:28.10 L2qfhC9D.net
>>436
キミ、かっこ悪いな。ちょっとdisられただけで他人のせいにしていじけるなんて。自分も34才disりまくってたのにもかかわらずだw
本当は付いていけない自分が嫌なんだろうが、焦る必要はないよ。続けていればある日開眼する。その後また実は全然わかってなかったと落ち込むが、またさらに開眼する、この繰り返しよ。
キミには「無知の知」という言葉を贈ろう、頑張れ。

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

460:デフォルトの名無しさん
17/02/19 15:53:10.31 IydY0Dzj7
URLリンク(ideone.com)
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ゲームやるならまあ逃げられんわな

461:デフォルトの名無しさん
17/02/19 16:40:45.20 IydY0Dzj7
URLリンク(ideone.com)
ちょっと改良して、handsを自動生成する関数も追記した。

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

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

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

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

462:デフォルトの名無しさん
17/02/19 17:05:30


463:.51 ID:zCzNbcF8.net



464:デフォルトの名無しさん
17/02/19 17:06:14.79 zCzNbcF8.net
URLリンク(ideone.com)
ちょっと改良して、handsを自動生成する関数も追記した。
コード自体は長くなってしまったが、
結局ほとんどが出力を確認するためのテスト関数にすぎない。
そしてこの修正において一切defn n-jankenに触れる必要はなかった。
これが関数を書く意味であり、うまく関数を作るっていうのは
究極的に言えば何を入力として、何を出力とするのかをうまく決めることだ。
入出力をうまく決めてやれば、もとの関数を修正する必要がなくなる。
たぶんwinner表を他の言語で作るとなるとかなりめんどくさそうだと思う。
少なくとも書き方を調べないと俺には書けない。
だけどもしC++でこれを実装するとしたら、構文はさておき
似たような形(意味論、セマンティクス)で実装すると思う。
なおこのじゃんけんだと一人じゃんけんすると:evenを返すようだ。
これに気に食わなければ修正していいし、つまりデータの解釈ってのは
自由にやっていいってことだ。
ライブラリを使い始めるとデータの解釈や入出力がある程度取り決められる。
それは、機械と会話するためにそうせざるをえないからだ。
そうでないときにまで、機械と会話するように入出力のフォーマットを縛る必要はないし
縛ると苦しい実装しかできない。

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

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

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

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

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

470:デフォルトの名無しさん
17/02/19 20:43:07.61 zCzNbcF8.net
ガチでプログラムで飯食っていきたい、ゲームエンジンデザインしたいって言うなら
次の本は読んどけ、一線級のプログラマが何を考えているのかを知っておけ
ゲームエンジン・アーキテクチャ 第2版 ジェイソン・グレゴリー
本当に重要なのはどのようにライブラリ、パッケージを分割するかだ、つまりアーキテクチャだ
関数の分割もできないやつはアーキテクチャを作れない
次に意味論だ、アルゴリズムやデータ構造をよく知っとけ、使いこなせ
ここらへんは、言語によって呼ばれ方は様々だが
1.単方向リスト、 2.ベクタ、 3.セット(集合)、 4.連想配列(辞書、ディクショナリ、ハッシュ、マップ)
この4つだけは最低抑えとけ、C++で戦っていく気ならSTLだかboostだかに入っているであろうこれらのデータ構造を探しとけ
もっと言えば5.2分平衡木ぐらいはしっとけ
ガチで3Dのゲームエンジンをデザインするなら木構造は必須だ
これらをしっかり理解しとけばじゃんけんプログラムの実装においても
ほとんど設計で悩むことはない
事実俺はじゃんけんのルールをただ記述しただけだ
3つの手がでればあいこ1つの手がでればあいこ、
2つの手が出たならばグーとちょきはグーが勝ち、ちょきとパーは・・・(ここは表(テーブルともいう)で処理した)
華やかさのために人の名前も入れたけど、本当はいらないし省ける
ただじゃんけんのルールを記述するだけでよくなる
たかがじゃんけんのルールを記述するのに設計がどうだの議論は不要だろ?
(もちろんじゃんけんのルールを深掘りすれば使える不変量みたいなものは見つかるかもしれないが)

471:デフォルトの名無しさん
17/02/19 20:50:51.50 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つ目は、ライブラリがいけてないと思っているからだ、自分が書きたいようにかけないと感じているからだ
そういうやつは例え間抜けなことであっても車輪の再生産をする、ライブラリを一から作る
俺もインタフェース(入出力)が気に入らなかったり信用できなかったりしたら一から作る
ただ一個人が作るオレオレライブラリより、ゲームエンジンのほうが遥かに信頼性高いからな
いけてないインタフェースってのも性能を出すためにしゃーなしでそうなってるってことも多い

472:片山博文MZ ◆T6xkBnTXz7B0
17/02/19 21:01:07.92 258Rl1AZ.net
雄弁すぎる!

473:デフォルトの名無しさん
17/02/19 21:01:12.67 7wQmZFsK.net
長い

474:デフォルトの名無しさん
17/02/19 21:04:57.43 zCzNbcF8.net
ようはプログラマの悩みっていうのは楽に書きたいところと
性能を出すために機械に寄り添って丁寧に記述しないといけないところのバランスをとることだ
それをするためにアーキテクチャが必要になる、ライブラリが必要になる
問題を本質的に記述したいっていうのであれば、
まずLand of Lispでも買ってきた方がいい、これが2つ目の参考書だ
上記で指摘したデータ構造とは何なのかを非常に簡単に勉強できる
もしC++ですべて理解します、できますっていうのならやらなくていい
Clojureは現代的lispで俺も使っているが、めんどくさいところもあるので初学者にはおすすめしない。
Lispの考え方にJavaの考え方が混ざっているので、全く初学者にはおすすめできんということだ
今のゲームエンジンは化物が作っているし、めちゃめちゃ金かかってる、それも一握りの人間だけだ
ゲームエンジンは中学生の目標として間違ってると思う
自分でゲーム作りたいよ、ってなら結局エンジン開発することになるが、いきなり3Dはきつすぎる
まあ到底達成し得ない目標を持つ前にまず学校いけやというわけだ
UnityでもUnreal Engineでもいいから試しに使ってみて
自分が作りたいゲームとやらの試作品をまず出力してみろやということだ
マッチ棒人間でも、どんな貧弱な3Dモデルでもいいから作って見て動かしてみればいい
どんなにコードは汚くてもいいから自分が欲しい出力に近いものを出してみろ
そのengineに何があれば、本当に自分がほしい出力が出るのかを考えてみろ
中学生なんで時間を多少無駄にしても許されるが、
ここらへんの答えを出せずにC++やってても仕方あらへんで

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

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

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

478:片山博文MZ ◆T6xkBnTXz7B0
17/02/20 20:36:03.95 1VVy2QiC.net
ねねっちはどこ?

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

480:デフォルトの名無しさん
17/02/20 20:50:49.73 MaezVUMf.net
片山=ねねっち

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

482:ぬーぶ ◆upkqfrxkrw
17/02/20 22:33:35.23 V+LMJhmi.net
お好み焼き美味しいよね
>>463
違うよー

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

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

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

486:デフォルトの名無しさん
17/02/21 15:28:32.49 aFqTV30T.net
>>465
スラッシュw

487:デフォルトの名無しさん
17/02/21 21:23:18.86 fGVxTzaX.net
このスレの一番の問題点ってさ、素人がど素人に教えてるところじゃないの?
現役のゲームプログラマーなんて一人もいないっしょw
ID:zCzNbcF8の言ってることが正解でさ、まあまずはUnity+C#からはじめなよ
いきなりコンシューマーを目指すのではなく、ソシャゲのガワ部分を作ってみるといい

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

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

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

491:デフォルトの名無しさん
17/02/21 23:26:24.55 PqfxL0pv.net
楽したくないならアセンブラで作るしかないな
IDEも使ったら駄目
全てコマンドラインで

492:デフォルトの名無しさん
17/02/22 00:06:09.52 LsEdYva+.net
ぬーぶの賛歌
URLリンク(www.youtube.com)

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

494:ぬーぶ ◆upkqfrxkrw
17/02/22 00:32:28.82 IQQW/zc9.net
>>474
かっこええやん…

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

496:ぬーぶ ◆upkqfrxkrw
17/02/22 19:02:55.65 IQQW/zc9.net
だ、誰もいない…

497:ぬーぶ ◆upkqfrxkrw
17/02/22 19:03:32.38 IQQW/zc9.net


498:デフォルトの名無しさん
17/02/22 19:10:43.99 Ax/NRShP.net
なんか書けや

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

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

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

502:デフォルトの名無しさん
17/02/22 19:51:20.51 y2mmeNwF.net
マルチでもいいぞ

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

504:デフォルトの名無しさん
17/02/22 20:44:03.42 Eqqb7Bp8.net
はわわ

505:片山博文MZ ◆T6xkBnTXz7B0
17/02/22 21:04:27.08 mKcPOHkg.net
ゲームはどこまでできた?

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

507:ぬーぶ ◆upkqfrxkrw
17/02/22 21:47


508::11.15 ID:IQQW/zc9.net



509:ぬーぶ ◆upkqfrxkrw
17/02/22 21:57:16.62 IQQW/zc9.net
>>437,442
有難うございます。今現在の状況だと
若干頑張りすぎるくらいが良いんだけど…
なかなか体力的な面でも精神的な面でも最近疲れててね。
>>440
当たり判定に入る前に基礎にもうちょっと時間を下さい…
プログラミング向いてないのは分かってるけど、ゆっくり理解したい。
>>441
そういうわけじゃないんですけどね…
うん、正直学習ペースは絶望的に遅いし
多分向いてないんだけど、面白いし続けたい。
無知の知か、頑張ります。
>>450-451
まだ普通に通える状況じゃないですなぁ…主に精神面で。
というか前より衰弱してる。自分だって行けるなら学校行きたいよ。
でも誰も分かってくれないし絶対に分からないし自分でも分からない。
いっそ死にたいって思う事もあるけど死ねない
>>452
ゲーム作成は趣味程度で、本当にやりたいのは
プログラミングも必要になるAIとロボット工学の研究。
…でも現状関数も満足に使えない上にアーキテクチャとか全く分かんないや。
地道に下積みしていくしかないんかな…
その本って本屋に置いてるかな、時間あったら見に行きたい

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

511:片山博文MZ ◆T6xkBnTXz7B0
17/02/22 22:04:13.43 mKcPOHkg.net
基礎知識はどこまで固まった?

512:ぬーぶ ◆upkqfrxkrw
17/02/22 22:09:23.53 IQQW/zc9.net
>>492
まだ全然と思ってくれても…。
基礎範囲は自分で何とかするから
特に今の所は大丈夫だと思う。
じゃんけんのプログラム作る前に関数使いこなさないと。
特に数日間は進展ないと思うけど
定期的にレス貰えると有難いです。

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

514:片山博文MZ ◆T6xkBnTXz7B0
17/02/22 22:25:43.32 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)はいくらでしょうか?

515:ぬーぶ ◆upkqfrxkrw
17/02/22 23:33:18.68 IQQW/zc9.net
>>494
そういう事は…

516:ぬーぶ ◆upkqfrxkrw
17/02/22 23:33:59.89 IQQW/zc9.net
>>495
んー…全く分からんけど…0?

517:片山博文MZ ◆T6xkBnTXz7B0
17/02/22 23:46:25.49 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;
}

518:片山博文MZ ◆T6xkBnTXz7B0
17/02/22 23:59:23.78 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だ。

519:デフォルトの名無しさん
17/02/22 23:59:50.69 LsEdYva+.net
2が

520:ぬーぶ ◆upkqfrxkrw
2017/02/2


521:3(木) 00:00:13.68 ID:V0y6v9yA.net



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

523:デフォルトの名無しさん
17/02/23 00:20:09.62 /x8L7pzP.net
今回だけ俺様が特別にマジアドバイスしてやろう。
>ゲーム作成は趣味程度で、本当にやりたいのはプログラミングも必要になるAIとロボット工学の研究。
>ゲームエンジンはもっともっと先の話だよ、高校3年くらいかなぁ…
ぬーべがやりたいという上記のことは、本気でやるつもりならば大学専門課程レベルの数学(と物理)の知識は最低限必要です。一部の天才を除いて、普通の高校3年生がゲームエンジン作るとか常識的にありえま千円。
高校に入って理数科目が得意であれば、そのまま理工系の大学に進めばよろしい。大学で色々な課目を学ぶ内に自分が真にやりたいことが見えてくるだろう。
あと悪いことは言わないから2chから離れなさい。このスレの教えたがり君たちから習ってもプログラミングが上達するどころか、はっきり言って害悪でしかありま千円。
プログラミングの基礎を勉強したいなら以下のようなサイトが沢山ある。そしてPythonは学習コストが安く、AIで使われている言語でもあるからおススメです。
まずはここから始めてみようか。
URLリンク(prog-8.com)

524:片山博文MZ ◆T6xkBnTXz7B0
17/02/23 00:21:06.08 PU59JBmN.net
>>502
訂正。endlの前に<<を追加。

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

526:ぬーぶ ◆upkqfrxkrw
17/02/23 00:26:19.17 V0y6v9yA.net
>>503
>今回だけ俺様が特別にマジアドバイスしてやろう。
→だ、誰だあああああああああ!!!!!
ぬーべーみたいに霊力強くないです、
霊感はあるけどただのプログラミング初心者のぬーぶです…
大学レベル必要か…厳しいな。
理数科は…苦手だけど、理屈は好きかな。
2ちゃんからは単にプログラミングを教えてもらう、っていう理由だけで
来てるわけじゃないから、あんまり離れる気はないかな…
AIはまだまだもっと先の話。ごめんなさい…でも有難う。見てみる。
Pythonも難しいなぁ…

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

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

529:デフォルトの名無しさん
17/02/23 00:31:30.28 PU59JBmN.net
最近の中学生はぬ~べ~も知ってるのか?

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

531:ぬーぶ ◆upkqfrxkrw
17/02/23 00:54:44.60 V0y6v9yA.net
>>509
いや知ってるでしょw
>>510
アドバイスについてはそういう人も多いかもしれないけど
僕はそれ以外の事もここで色々学習してるし、これで良いのよ

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

533:ぬーぶ ◆upkqfrxkrw
17/02/23 01:35:01.96 V0y6v9yA.net
>>512
自分もモチベ維持と分からないとこ聞くくらいしかしてな


534:いよ。 それで何で僕が数学理解してないと思うの?不思議。



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

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

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

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

539:デフォルトの名無しさん
17/02/23 03:25:51.09 /x8L7pzP.net
>>513
ぬーぶは読解力も足りないなあw >>512 の発言は俺に向けてだよ。
>>512
>>510 は俺じゃないから彼への風評被害は控えなさいw
それから正味の話、>>512 は大学いってないよね?
一般教養課程程度の数学知識では不足で、最低でも専門課程レベルの数学が必要と言ったんだけど、お前分かってなさそうだもんね。

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

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

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

543:デフォルトの名無しさん
17/02/23 09:17:17.04 n+JFlMWK.net
ぬーぶも34歳もだけど、中身が同一人物かどうかは置いておいて、
アスペの人間は多対一の話ってのが出来ないんだな。ようやくわかった。
常に一対一を複数と解釈してしまうから1レスでマルチレスになるんだ。
討論番組でいきなり個人とサシの議論を始めちゃう系のおかしな奴と同類。
これは将来辛いだろうなぁ。

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

545:デフォルトの名無しさん
17/02/23 10:55:44.46 AnDfSdhr.net
関数を理解しろって奴は、関数とは何かを説明し、それが手続き型と関数型でどう解釈されているかをのべよ
こういうやつにかぎって参照透過もスタックフレームもしらねえから困るんだよ

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

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

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

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


550:的に学べるかはまた別の問題だけど



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

552:デフォルトの名無しさん
17/02/23 12:33:46.79 AnDfSdhr.net
C++みたいなダメな言語を使うのをやめよう
シンタックス的にいけてないから関数が理解できないわけさ
俺も上の問題見たときまず思ったのが、値渡しして値が帰ってくるのって大丈夫だっけ、参照渡ししなくていいんだっけ、ってことばかりが気になった
おそらく参照をリターンせずに値をリターンしてるからセーフなんでしょうと思ったけどいちいちこんなこと気にしないといけない言語で、関数勉強しようってほうが無理じゃね。
極端な話f(a)=a×a+4a+1+bとする
このときf(4)はいくらかね、ぬーぶくん、これはおそらく中学の数学だ
これに答えられないなら、自由変数、束縛変数と僕らが呼んでいるものが理解できていないわけだ
その状態でローカル変数やスコープやスタックフレームを理解しようたって無理じゃね

553:デフォルトの名無しさん
17/02/23 12:36:11.04 AnDfSdhr.net
ちなみに君達が出題した合成関数は数学3の範疇だ、下手すると文系は知らずに一生を終えることもありうる概念だ
概念自体は単純だけど、C++みたいな手続き言語では、不適切な例示だと思うね

554:デフォルトの名無しさん
17/02/23 12:38:24.55 KoyZyoDT.net
プログラム以前にSPI(入社試験)系の問題、特にブラックボックス問題とかやるべきだと思う
URLリンク(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/
あとは、フローチャートを書くとか
ぬーぷはプログラム以前に先に脳みそを鍛えるところからやらないと

555:デフォルトの名無しさん
17/02/23 12:41:25.79 AnDfSdhr.net
平均的な中学生はいきなりC++なんてやらない
せいぜいBasicかfortranでも触っとけばいい
君がしたいのはゲームデザインであって、ゲームプログラムじゃない、なぜゲームのルールをつくるのに、ハードウェアと格闘しないといけないんだ
n人じゃんけんを実装するのにすらひぃひぃ言ってるような言語で、いったいどんなゲームが作れると言うのか

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

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

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

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

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

561:デフォルトの名無しさん
17/02/23 16:35:36.74 n+JFlMWK.net
学校に行け、以外の意見は出ないだろうなこりゃ。
絶望的なまでに学力が足りない。
もっとも自分で勉強する力もなくてすぐ人に聞いてしまうような
やる気ない�


562:nの人間は、そもそもプログラミングなんて習得できんよ。 あきらめろん。



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

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

565:デフォルトの名無しさん
17/02/23 17:10:59.19 boStFqTs.net
Pythonスレに書いたじゃんけんゲームの仕様を見る限り
君の場合は自分の作りたいプログラムの機能仕様をわかりやすくまとめる力が圧倒的に不足してる
プログラムってのは自分の考えを表現する方法の一つだから
特定の言語でどう実装するかやどういうアルゴリズムを使えばいいかを学ぶよりも
自分の考えを深化させたり文章にまとめる能力を高めるほうが先
そのための近道は学校に行くかその代替手段で基礎学力を身につけること
文章力の低い人がいいプログラマーになれる可能性はほぼゼロだし
今の段階で可読性の低いコードゴルフみたいなプログラムを見ても害でしかないよ
じゃ

566:KAC
17/02/23 17:35:50.47 mjDzcMf0.net
>>538
少しは理解が進んでいるみたいなので
ついでにひとつ問題を出そう。
f1(x) = x + 1
f2(y) = y - 2
という二つの関数があったとしよう
この時、
f2(2) は いくつになる?
f1(0+1) は いくつになる?
では、 f1(f2(2)+1) は いくつになる?
これが解けたら、>495をもう一度見直してみ?


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch