17/01/26 16:29:41.75 AnAc7r+V.net
コテハンつけろ、NG するから。
3:デフォルトの名無しさん
17/01/26 18:47:21.04 voohouec.net
ねねっちって誰?
4:デフォルトの名無しさん
17/01/26 19:15:44.58 i5VasQmQ.net
ねづっち
5:デフォルトの名無しさん
17/01/26 19:38:57.69 bzEbZ39i.net
javaは嫌どす。けど、一緒にやりたいと思いました。
なんで、ねねっちやねん。せめて、アハゴンにせいや!
6:デフォルトの名無しさん
17/01/26 21:10:17.24 8Y97xkh6.net
じゃあC++な
7:デフォルトの名無しさん
17/01/26 23:07:35.41 wasE+GOD.net
if (isMyCaramelPudding) {
eat();
} else {
eat();
}
8:片山博文MZ ◆T6xkBnTXz7B0
17/01/27 00:17:24.61 QiqUcfrL.net
音声の波形を表示したり、加工したり、フーリエ変換してみたりしたいな。
9:デフォルトの名無しさん
17/01/27 17:37:41.27 i9mC3iQV.net
sssp://o.8ch.net/nwz9.png
10:デフォルトの名無しさん
17/01/28 02:58:54.39 tYYoqnnC.net
if(marriage == true){
var love = man * woman;
love++;
}else{
var love = man % girl;
love--;
}
11:デフォルトの名無しさん
17/02/01 20:54:57.26 8ReyjKDy.net
誘導されてきましたーヽ( 'ω')ノ
こっちでプログラミング勉強さしてもらいます
12:ぬーぶ ◆upkqfrxkrw
17/02/01 20:58:37.17 8ReyjKDy.net
>>11です。宜しくお願いします。
…人が居ない…(´・ω・`)
13:デフォルトの名無しさん
17/02/01 21:00:00.52 KG87RO2X.net
スレッド移動元:
初心者プログラマーの寺子屋 #2 [無断転載禁止]・2ch.net
スレリンク(prog板)
14:デフォルトの名無しさん
17/02/01 21:01:04.19 toiSGdoE.net
>>12
オッス!
15:デフォルトの名無しさん
17/02/01 21:03:36.18 fGZSlE9v.net
こっちでははじめてなんだから言語や環境、今どのあたり勉強してるかぐらい書こうか?
16:片山博文MZ ◆T6xkBnTXz7B0
17/02/01 21:12:19.15 KG87RO2X.net
今日はゲームモードの話をするよ。まず、グローバル変数int mode = 0;をソースの上の方に定義しておく。次にメインループはswitchと変数modeで分岐する。
switch (mode) {
case 0: //スタート画面
mode0(); break;
case 1: //ゲームモード
mode1(); break;
case 2: //ゲーム終了
mode2(); break;
}
続く。
17:片山博文MZ ◆T6xkBnTXz7B0
17/02/01 21:13:37.19 KG87RO2X.net
続き。さらにmode0,mode1,mode2という3つの関数をvoid mode0() { ... }のようにソースの上の方に定義する。それぞれで画面描画を行う。modeの値を変更すればゲームモードが切り替わる。
注意。関数の中の変数は他の関数では使えない。
18:片山博文MZ ◆T6xkBnTXz7B0
17/02/01 21:22:52.01 KG87RO2X.net
mode0関数では、文字列描画でちゃちゃっとスタート画面を作ってくれ。
さらにスタート画面でキー入力でゲーム中(mode1)に切り替わるようにしてくれ。
今日は以上だ。
19:ぬーぶ ◆upkqfrxkrw
17/02/01 21:45:48.94 8ReyjKDy.net
>>14
オッス!おらぬーぶ!
宜しくお願いしますデス。
20:ぬーぶ ◆upkqfrxkrw
17/02/01 21:46:40.54 8ReyjKDy.net
>>15
せやね、書く
21:ぬーぶ ◆upkqfrxkrw
17/02/01 21:53:02.40 8ReyjKDy.net
開発言語:C++
開発環境:Visual Studio C++ 2015
目標:3Dゲーム作り
その他:DXライブラリ使用
C++の進行状況:ゲームに関係するものを優先し基本文法勉強中
好きな関数:if
苦手な関数:while、for、return
英語:中学校範囲クリア / スラング使用可能 / 英語のドキュメントの解読可能(多分)
こんなんで良いかな。
22:ぬーぶ ◆upkqfrxkrw
17/02/01 21:56:41.57 8ReyjKDy.net
>>16-18
ど、どういう事なの…
switch文を調べてみればいいのか。
23:片山博文MZ ◆T6xkBnTXz7B0
17/02/01 22:01:19.21 KG87RO2X.net
switchは、変数の値に応じて次のように処理が分かれる。
switch (mode) {
case 0: //mode==0だったら
... break;
case 1: //mode==1だったら
... break;
case 2: //mode==2だったら
... break;
}
簡単だろ?
24:デフォルトの名無しさん
17/02/01 22:04:37.70 fGZSlE9v.net
>>21
ifやwhileは制御文であって関数では無いぞ?本当に本読んだ?
25:片山博文MZ ◆T6xkBnTXz7B0
17/02/01 22:05:11.95 KG87RO2X.net
今までのメインループの処理をmode1関数に移動して、メインループにはswitchを書く。
mode0関数ではスタート画面を表示し、キーが押されたらmode = 1;にする。
これでゲームモードはプレイ中に移行する。
26:ぬーぶ ◆upkqfrxkrw
17/02/01 22:12:28.24 8ReyjKDy.net
>>23
おー!なるほど!
もっと詳しく調べてみる。
27:ぬーぶ ◆upkqfrxkrw
17/02/01 22:13:00.95 8ReyjKDy.net
>>24
もう関数の定義が分かりません( ??? )
命令全部を関数と呼ぶ始末…
28:ぬーぶ ◆upkqfrxkrw
17/02/01 22:13:21.05 8ReyjKDy.net
あ、文字化けしちゃった…(´・ω・`)
29:デフォルトの名無しさん
17/02/01 22:15:51.87 lpyRA1Jp.net
ひとまず飽きるまで基本文法に集中しよう
今のレベルなら間違いなく「全て」ゲームに関係するよ
30:ぬーぶ ◆upkqfrxkrw
17/02/01 22:18:55.76 8ReyjKDy.net
>>29
で、ですよねー…(´・ω・`)
基本文法ってどこまでが基本文法なの?
最低限覚えるべき命令が明確だと
区切りがついて集中しやすいかも。
31:ぬーぶ ◆upkqfrxkrw
17/02/01 22:19:31.53 8ReyjKDy.net
あ、あと質問なんだけど
!extend:checked:vvvvv:1000:512
↑これってこの板で使える?
32:デフォルトの名無しさん
17/02/01 22:21:38.94 fGZSlE9v.net
>>27
値を返すサブルーチンだよ
このくらい理解出来ないとゲーム作りとか夢物語だよ?
33:片山博文MZ ◆T6xkBnTXz7B0
17/02/01 22:24:14.29 KG87RO2X.net
#include "DxLib.h"
int mode = 0;
void mode0() {
//スタート画面
}
void mode1() {
//プレイ中
}
void mode2() {
//ゲームエンド
}
int WINAPI WinMain(...) {
...
//メインループ
while (...) {
switch (mode) {...}
}
... }
34:片山博文MZ ◆T6xkBnTXz7B0
17/02/01 22:32:24.13 KG87RO2X.net
どうだ? 出来そうか?
35:デフォルトの名無しさん
17/02/01 22:32:53.47 fGZSlE9v.net
よし、もう寝ろ
寝床に就いたら「しっかり学業を終えて卒業する」と6回唱えよ
朝起きたら「今日1日しっかり学業する」と3回唱えよ
36:デフォルトの名無しさん
17/02/01 22:36:10.03 lpyRA1Jp.net
>>30
C++は成り立ちが特殊なのもあって何が基本ってのが伝えにくいな
ひとまず下のサイトの「標準C++文字列」
までのコード部分が読めれば問題ない...かな?
URLリンク(next1.msi.sk.shibaura-it.ac.jp)
37: ◆BrBq2CJg6HGd
17/02/01 23:36:39.36 f7+O1dJJ.net
皆さん初めまして、プログラマー板から来た34アスペです。
よろしくお願いします。
38:デフォルトの名無しさん
17/02/02 08:23:03.51 z7302t8D.net
>>36
どちらかというと派生クラスまで必要じゃね?
39:ぬーぶ ◆upkqfrxkrw
17/02/02 14:53:53.77 89CMRg/p.net
ただいまー
40:ぬーぶ ◆upkqfrxkrw
17/02/02 14:55:33.63 89CMRg/p.net
>>32
今現在完全に夢物語やね…(´・ω・`)
returnってゲーム作りにおいてそんなに重要なのか…
41:ぬーぶ ◆upkqfrxkrw
17/02/02 14:56:01.11 89CMRg/p.net
>>34
多分。できると思う。きっと…(自信なし)
42:ぬーぶ ◆upkqfrxkrw
17/02/02 14:58:46.11 89CMRg/p.net
>>36 >>38
おー、有難う。見てみる。
派生クラスまでなの?クラス苦手…(´・ω・`)
43:デフォルトの名無しさん
17/02/02 15:02:12.89 wY64K01/.net
>>40
ゲームというかプログラミングで普通に使う
悪い事言わんからもっとやさしめの本買ってプログラムリスト全部写経して全部ステップ実行で動き確かめろ
44:ぬーぶ ◆upkqfrxkrw
17/02/02 15:02:36.15 89CMRg/p.net
あーやっぱり1日経つとID変わっちゃうんか…
あとお願いだから誰か>>31を教えて…(´;ω;`)
45:ぬーぶ ◆upkqfrxkrw
17/02/02 15:05:13.99 89CMRg/p.net
>>43
ひえっ、プログラミングで普通に使うのかリターンって。
本買うお金が…Nothing……_(:3 」∠)_
…前から思ってたんだけど、
プログラム実行したら即ウィンドウ閉じるのって何で?
cinでキー入力待ちにしないとすぐ閉じる。
それともこっちのIDEがバグってるのかな。
46:デフォルトの名無しさん
17/02/02 15:09:56.95 wY64K01/.net
それ前に言った
デバッグ
47:実行 通常の実行はプログラムが終わったんだから窓も閉じるのは正常
48:デフォルトの名無しさん
17/02/02 15:11:40.05 wY64K01/.net
金無いなら図書館行って借りてこい
49:ぬーぶ ◆upkqfrxkrw
17/02/02 15:27:12.31 89CMRg/p.net
>>46
あ、Ctrl+F5じゃ駄目だったのか
50:ぬーぶ ◆upkqfrxkrw
17/02/02 15:27:28.54 89CMRg/p.net
>>47
寒いけど行くしかないんかぁ…(´・ω・`)
51:デフォルトの名無しさん
17/02/02 15:28:58.86 BZ4icX5v.net
人に聞く前にさ、本くらい読んで一通り勉強してから来いよ。
わからないところ聞くのはそれからだろ。なめてんのか?
52:デフォルトの名無しさん
17/02/02 16:23:52.29 wY64K01/.net
コンピューター関係の本は分類の都合上棚が別れてたりするから注意な
だいたい総記か電子通信、ビジネスあたり
53:デフォルトの名無しさん
17/02/02 16:26:32.25 wY64K01/.net
数学や物理の棚とかも眺めてみたら発見があるかもしれない
54:デフォルトの名無しさん
17/02/02 16:39:15.59 wY64K01/.net
URLリンク(dotinstall.com)
URLリンク(dotinstall.com)
URLリンク(www.techscore.com)
こういう所で学んでもいいぞ
55:デフォルトの名無しさん
17/02/02 16:45:14.41 CLpLcnWW.net
ゲーム作るならC#とUnityでええやろ
56:ぬーぶ ◆upkqfrxkrw
17/02/02 16:53:02.26 89CMRg/p.net
>>51-52
おー、探し物が苦手だから助かった。
ありがとう、そのあたり見てみる。
物理演算とかもあるかな。
57:ぬーぶ ◆upkqfrxkrw
17/02/02 16:54:05.34 89CMRg/p.net
>>53
一番上のサイト分かり易かった。
良い勉強サイトありがとうですm(__)m
58:ぬーぶ ◆upkqfrxkrw
17/02/02 16:56:41.47 89CMRg/p.net
>>54
あんまりゲームエンジンとかは使いたくなくて…
なんていうか、基本的に楽するためのツールは使いたくないかな。
もっと先の話になるけど、ゲームエンジンとかも自分で作ってみたい。
59:デフォルトの名無しさん
17/02/02 16:58:08.20 wY64K01/.net
>>54
まあCの部分も理解出来てないみたいだからなあ
gccとか試したければgnupackが便利だ
URLリンク(ja.osdn.net)
60:デフォルトの名無しさん
17/02/02 17:04:00.18 rEFuWNai.net
returnわからないって英語でbe動詞わからないとかそんなレベルだぞ
61:デフォルトの名無しさん
17/02/02 17:14:25.17 wY64K01/.net
>>57
その心がけはいいかも知れないが今の時代ハードの進歩に個人が追随するのはなかなか大変
ゲームエンジンはある程度そういう部分を吸収してくれるし、DirectXがWindowsだけなのに対しプラットホームの差もある程度吸収してくれる
62:片山博文MZ ◆T6xkBnTXz7B0
17/02/02 17:17:48.67 16is72Ce.net
>>31
使えるが、1度立てたスレの設定を変えるのは管理者しかできない。
63:ぬーぶ ◆upkqfrxkrw
17/02/02 17:40:36.45 89CMRg/p.net
>>59
うそやん…
64:ぬーぶ ◆upkqfrxkrw
17/02/02 17:43:49.81 89CMRg/p.net
>>61
使えるのか、良かった。
65:デフォルトの名無しさん
17/02/02 17:48:38.83 wY64K01/.net
何が分からないかが分からないな
分からないなら分からない所を分かるまで何十回も読み返せよ
分からないものを分からないままにするから永遠に分からないんだよ
66:デフォルトの名無しさん
17/02/02 18:01:33.77 wY64K01/.net
思うに君は基礎をすっ飛ばしてとにかく先に進みたいタイプなのか?
それとも根本的な部分が理解出来ないと先に進めないタイプなのか?
前者ならもっと初心者でも使える言語の方がいいし、後者ならアセンブラを一度勉強してみるのも手だろう
67:ぬーぶ ◆upkqfrxkrw
17/02/02 18:17:20.75 89CMRg/p.net
>>65
分からないところはおまじないとして
"とりあえず書いとけ"みたいな感じで使ってるから
それを利用して何かしろって言われると無理だから前者かも。
初心者で使える言語はHSPをやった事がある。
でも自由度が低いからC++をやろうと思った。
68:デフォルトの名無しさん
17/02/02 18:24:30.21 wY64K01/.net
自分が書いたコードが何故動いているのかわからない、では思わぬバグとかではまってしまい先に進めないぞ?
69:デフォルトの名無しさん
17/02/02 18:24:54.53 CLpLcnWW.net
>>66
HSPでゲーム作れたの?
70:ぬーぶ ◆upkqfrxkrw
17/02/02 18:30:33.99 89CMRg/p.net
>>68
簡単なテキストだけのゲームは作ったけど
何か不便だったからC++に変えた。
あんまり自分に合わなかった。
71:片山博文MZ ◆T6xkBnTXz7B0
17/02/02 18:33:34.27 16is72Ce.net
スタート画面作って見せてよ。>>33みたいな感じでいいから。
72:ぬーぶ ◆upkqfrxkrw
17/02/02 18:35:26.54 89CMRg/p.net
>>70
OK、丁度今から外出だから
夜か、それでも23時までに寝ないとだし
ご飯もお風呂もあるし、明日になるかもしれんけど
取り敢えず作ってみる。テキストのみのメニューで良い?
73:片山博文MZ ◆T6xkBnTXz7B0
17/02/02 18:37:05.15 16is72Ce.net
>>71
テキストのみでOkay.
74:ぬーぶ ◆upkqfrxkrw
17/02/02 20:32:43.24 89CMRg/p.net
ただいまー、お腹空いたー…(´・ω・`)
まだ時間あるから今から作ってみる。
今日中に完成するかな…
75:片山博文MZ ◆T6xkBnTXz7B0
17/02/02 21:14:37.82 16is72Ce.net
確か、HSPにはgotoがあったはずだ。C/C++の関数呼び出しとreturnはHSPのgotoよりも高級なものだ。
関数だと引数が使える。さらに関数呼び出しの際に、関数が終わった後に戻る場所(呼び出しの直後)を覚えてくれる。
76:片山博文MZ ◆T6xkBnTXz7B0
17/02/02 21:18:00.29 16is72Ce.net
さらに関数は戻り値を返すことができる。関数呼び出しの式はそれが返す戻り値として解釈される。
処理を行う構造、制御構造がはっきりしていて、処理のまとまりがひとめで分かる。
77:デフォルトの名無しさん
17/02/02 21:19:50.81 0MnIHg2o.net
>>57
> あんまりゲームエンジンとかは使いたくなくて…
DxLib.h つこうてたやん
78:デフォルトの名無しさん
17/02/02 21:22:55.17 wY64K01/.net
説明が硬い
79:ぬーぶ ◆upkqfrxkrw
17/02/02 21:24:05.29 89CMRg/p.net
何が間違ってるんだ…
もう何を訊けばいいかすら分からない( ´_ゝ`)
URLリンク(ideone.com)
80:ぬーぶ ◆upkqfrxkrw
17/02/02 21:25:30.14 89CMRg/p.net
>>74-75
戻り値とか引数とかが…どういうものと捉えれば良いの?
81:ぬーぶ ◆upkqfrxkrw
17/02/02 21:26:42.98 89CMRg/p.net
>>76
んーと何て言うか…
GUIを使ったツール、直感的に動かせるツールは
なるべく使いたくない。
DxLibは拡張のライブラリだからCUIだけで済むし、
何より自分が「今プログラミングをしてるんだ」っていう
やる気がでるから、文字だけで作るのに拘りたい。
82:デフォルトの名無しさん
17/02/02 21:29:02.41 wY64K01/.net
あのサイトの動画見ても理解出来ないのか
83:片山博文MZ ◆T6xkBnTXz7B0
17/02/02 21:31:34.07 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;しなさい。
84:片山博文MZ ◆T6xkBnTXz7B0
17/02/02 21:33:29.66 16is72Ce.net
描画処理はmode0,mode1それぞれの関数で行いなさい。
85:片山博文MZ ◆T6xkBnTXz7B0
17/02/02 21:36:16.35 16is72Ce.net
DxLibはCUIじゃないよ。内部データは完全にGUIでできてる。
86:ぬーぶ ◆upkqfrxkrw
17/02/02 21:40:53.72 89CMRg/p.net
>>84
え、そうなのか…(´・ω・`)
87:ぬーぶ ◆upkqfrxkrw
17/02/02 21:42:08.14 89CMRg/p.net
実行できるはずなのに何故か動かないHappening!
URLリンク(ideone.com)
何で?(・_・)
88:片山博文MZ ◆T6xkBnTXz7B0
17/02/02 21:45:54.75 16is72Ce.net
DxLibの画面はライブラリ自身が用意しているウィンドウだから、Windowsのコンソールとは違う。
DxLibで文字列を描画するにはDxLibの関数を使う。DxLibのマニュアルを参照して適当な描画関数を探せ。
89:デフォルトの名無しさん
17/02/02 21:55:43.60 0MnIHg2o.net
大人しくCUIからやるべきだな
ライブラリでラップされてたら、動きを確認
90:しづらいと思うけどな 急がば回れって知ってるか?
91:片山博文MZ ◆T6xkBnTXz7B0
17/02/02 22:01:32.16 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;
}
92:デフォルトの名無しさん
17/02/02 22:01:59.68 wY64K01/.net
>>86
そのサイトはwindowsじゃないから
93:片山博文MZ ◆T6xkBnTXz7B0
17/02/02 22:03:39.59 16is72Ce.net
>ChangeWindowMode(TRUE);
>DxLib_Init();
順序は大事だよ。マニュアルに書いてあるだろ?
94:片山博文MZ ◆T6xkBnTXz7B0
17/02/02 22:17:16.71 16is72Ce.net
GUIのプログラムはほとんどオンラインではコンパイル・ビルドできない。
95:片山博文MZ ◆T6xkBnTXz7B0
17/02/02 22:27:43.03 16is72Ce.net
たとえオンラインでビルドボットでGUIプログラムがビルドできたとしても、オンラインでは
実行は難しい。オンラインで仮想化実行はコストが高い。
96:ぬーぶ ◆upkqfrxkrw
17/02/02 22:47:14.71 89CMRg/p.net
>>88
急がば突き進む…じゃ駄目かな(´・ω・`)
97:ぬーぶ ◆upkqfrxkrw
17/02/02 22:47:33.81 89CMRg/p.net
>>91
あ、順序間違えてた。
98:片山博文MZ ◆T6xkBnTXz7B0
17/02/02 23:01:36.08 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; }
99:片山博文MZ ◆T6xkBnTXz7B0
17/02/02 23:07:17.40 16is72Ce.net
キー入力のデータは「キーバッファ」という場所に積み重なる。
プログラムを起動した直後やキー入力を受け付けた直後は、キーバッファにキーデータが残っていたり、
キーを押し下がった状態かもしれない。そこでGetInputChar(TRUE)の繰り返しにより、
キーバッファをクリアして、キーが押されていない状態まで待つ。
100:片山博文MZ ◆T6xkBnTXz7B0
17/02/02 23:20:02.37 16is72Ce.net
【今日のまとめ】
◎ideoneはDxLibプログラムをビルドできない。
◎メインループでは描画処理を回すためキー待ちは避ける。
◎プログラム起動直後はキーバッファをクリアする。
101:片山博文MZ ◆T6xkBnTXz7B0
17/02/02 23:24:01.91 16is72Ce.net
◎モードごとに描画処理を分ける。
◎関数を呼び出す順序は大事。
102:デフォルトの名無しさん
17/02/02 23:43:05.98 0MnIHg2o.net
>>94
普通に勉強した方が理解早いだろ
最初のスレ立ててから何日経った?
関数の引数、返り値なんて環境構築除いたら、初日で理解できる話だぞ
103:片山博文MZ ◆T6xkBnTXz7B0
17/02/02 23:51:32.89 16is72Ce.net
>>79
例えば「int x = f(2);」
という文があったとしよう。この文のfは関数であり、この文のf(2)は関数呼び出しだ。
f(2)が戻り値3を返せばxには3が代入される。
104:片山博文MZ ◆T6xkBnTXz7B0
17/02/02 23:56:41.07 16is72Ce.net
>>101
この呼び出しのときに渡した2という値が引数だ。引数(英語でparameter)は関数呼び出しのときに渡される変数のようなものと考えていい。
105:デフォルトの名無しさん
17/02/03 08:29:26.55 eQGH3P9D.net
>>102
引数はargument(s)でしょ。パラメータでも解るから良いけど。違いは普通気にしないし
106:デフォルトの名無しさん
17/02/03 10:42:52.04 255kONQ4.net
で、数学の先生に関数の話は聞いたのか?
107:デフォルトの名無しさん
17/02/03 10:49:59.18 ChB/Y1ca.net
関数やメソッドのパラメタに渡される値が引数です。
パラメタは日本語では仮引数といいます。渡される値のほうの引数は正式には実引数です。
別に日本では「その関数のパラメタは何?」でもふつーに通じますけど、
他所の国ではparametersとargumentsは別の概念なので混同すると通じないかも
しれません。
108:デフォルトの名無しさん
17/02/03 12:37:35.14 3RMGfeD0.net
このレベルだと先が思いやられるな
とりあえずぬーぶは片山の家に行って手取り足取り教えてもらったほうがいい
109:ぬーぶ ◆upkqfrxkrw
17/02/03 16:17:21.90 dZfCQ2ov.net
>>100
そうやね、大人しくあのページの動画見て一通り勉強する事にする(´・ω・`)
110:ぬーぶ ◆upkqfrxkrw
17/02/03 16:18:17.99 dZfCQ2ov.net
>>101
やっと理解できた。
return 3にすればxに3が代入されるって事…だよね?
でも関数が2つあったらどうなるの?
111:デフォルトの名無しさん
17/02/03 16:23:51.01 BWUTfzTy.net
>>108
お前は人に聞く前に、まず試してみろよ
目の前にあるのはただの箱じゃないだろうが
試した結果、それが正しいかどうかを確認するために人に聞くことを学べよ
112:ぬーぶ ◆upkqfrxkrw
17/02/03 16:46:41.42 dZfCQ2ov.net
int x = f(2)
って入れた途端識別子がどうのこうの言われるんだけど…
113:ぬーぶ ◆upkqfrxkrw
17/02/03 16:55:16.79 dZfCQ2ov.net
かんすーって難しいのう…_(:3 」∠)_
114:デフォルトの名無しさん
17/02/03 17:04:07.36 BWUTfzTy.net
>>110
どこかのお勉強サイトの基本を手打ちでコピペして実行してみるところから始めろよ
手抜きしてんじゃねーよ
だから何も得られないんだよ
115:ぬーぶ ◆upkqfrxkrw
17/02/03 17:07:16.14 dZfCQ2ov.net
>>112
今それを調べてるよ。
116:デフォルトの名無しさん
17/02/03 17:29:51.83 3RMGfeD0.net
プログラミング教えてもらう生放送やったほうがいい
117:ぬーぶ ◆upkqfrxkrw
17/02/03 17:47:17.28 dZfCQ2ov.net
>>114
ツイキャスとか?
でもニコ生キャプチャ?か何かのやつ
使えるかなーと思ったんだけど
Windows10に対応してなくて使えなくなったんよ…
118:デフォルトの名無しさん
17/02/03 17:56:25.82 ZJaGJG4k.net
URLリンク(codepad.remoteinterview.io)
こことか?なんか相手のタイプがほぼリアルタイムで見れるみたいだ
119:デフォルトの名無しさん
17/02/03 17:57:00.28 Z/axXXa+.net
>>109
みんな何度も同じこと言ってるが
その度に彼はその手のレスだけシカトしてる。
わざとなのか、自分には関係ないと思っているのか知らんがね。
残念ながら
必要になってから覚えれば良い、
あとで覚えれば良い、
自分が興味あることだけ覚えたい、
みたいなやつは、
画面にキャラ表示してキーボードで移動させたあたりで満足して終了する。
大体、returnってなんですか? &&ってなんですか?とか言ってるやつが、
フレームワーク使ったらぁー、誰が作っても同じようなゲームにしかならないんでぇー、自分はもっと出来るやつだからぁー、C++で下回りまで全部作ってバリバリにカスタマイズとかしたいんですよね(キリッ
って舐めてんのかと。
これから先、シーンの切り替えやキーコンフィグ、BGMの再生に効果音の遅延なし再生、リソースの管理にetcetc。
DBも必要になるかもしれないし、ネトゲ作りたければ通信回りの知識も必要だ。
キャラやステージを作るためのツールだって自分で作らないといけない。
3Dにしたいならその知識も必要だ。
OpenGLで三角形一つ(一番単純なポリゴン)描けるかい?
その単純なポリゴン一つに裏表があるって知ってるかい?
そのポリゴンがカメラから見て表を向いているか裏を向いているか判別する方法は知っているかい?
この先大量の難関が待ち構えている地獄に足を踏み入れようとしてるのに、
基礎知識という最低限の装備もなしに突っ込むからダメだこいつって思われてるんだよ。
下積み舐めんな、基礎からやり直してこい。
120:ぬーぶ ◆upkqfrxkrw
17/02/03 18:13:48.06 dZfCQ2ov.net
>>116
そんなのがあるのか、便利やね
121:ぬーぶ ◆upkqfrxkrw
17/02/03 18:24:54.37 dZfCQ2ov.net
>>117
シカトしてるんじゃなくて
こういうレスいくつもあるし返信するとキリがないんよ。
人に聞いたのは悪いと思ってるし基本文法今やってるよ。
必要になってから覚えれば良いっていうのは
多分そうなんだと思う。
DxLib触って、分からないやつがあったら
基本文法のほうで勉強したり、どうしても分からなかったら
人に聞くとかして覚える。回りくどいやり方かもしれないけど
自分にはこれが一番やり易い方法なんよ。変だけど。
基本文法ばっかりやってたら途中で飽きちゃって結局放置っていうのが
以前にもあったから、まず先に触ってみて「あ、"ここが駄目"だな」って
狙いを定めて勉強しに行くほうがやる気が出るし覚えやすい。
その結果returnとか&&とか基礎部分で混乱してるんだけどね(´・ω・`)
大量の難関があるのは分かってるけど
34のほうと違ってそこまで急ぐ事じゃないから本当にのんびりやってるんよ。
高校行くまでにちょびっと知識つけてれば良いなーくらいだから。
122:デフォルトの名無しさん
17/02/03 18:32:49.66 ZJaGJG4k.net
まあそれにしたって基礎をさらっとでもいいから通っておかないと
効率悪すぎだあな
のんびりって言葉が好きなのは発達特有?
123:ぬーぶ ◆upkqfrxkrw
17/02/03 18:40:53.36 dZfCQ2ov.net
>>120
基礎は本当にかすった程度にだけど一応通ったよw
と言っても入出力とか変数とか乱数とか使っただけだけどね。
C++の入門書に書いてあることは一通りやったつもりだよ。
効率悪いのは確かにそうだけど僕の場合基礎漬けにすると
逆にやる気なくなってそっちのほうが効率悪くなるんだよ(´・ω・`)
別にのんびりって言葉が好きなわけではないけど
物凄くマイペースって小さい頃から言われてたし実際マイペース。
これが発達特有のものなのかは分からないけど、
本当に焦るべき時はちゃんとやるよ。
ただ今は特に焦る必要もないし、のんびりゆっくりまったりって感じかな。
124:デフォルトの名無しさん
17/02/03 19:17:08.45 OIRn6CQQ.net
>>121
君のレベルだとひらがな全部書けないのに大長編小説書こうとしているようなもんだぞ
一般的な文章のテクニックを覚えろって言ってるんでなくて、最低限ひらがな、カタカナ、小学校低学年レベルの漢字位マスターしとけよ
って言う話をしてるんだぞ
足し算引き算出来ないのに高校数学やるようなもんだぞ
それ位でやる気なくなら、プログラマ目指すの辞めた方が良い、周りに迷惑かけるだけ
125: ◆f5STnaEXUk
17/02/03 19:26:31.29 zij4wc16.net
OpenGL 4.0 Shading Language Cookbook
この本でOpenGL勉強中。今半分ぐらい
隔離スレみたいな場所なのに厳しいね
DirectXは触ったことないからそっちはわからんけどC++の話ならわかるぞ
126:ぬーぶ ◆upkqfrxkrw
17/02/03 19:33:26.95 dZfCQ2ov.net
>>122
そう、それで変なやり方だけど、
大長編小説を読んで分からない文字を調べて覚える。
高校数学の関数とか変な式とか分からないから
それを調べる。調べた先に分からないのがあったら
そいつをまた調べる。という回りくどいやり方。
まあ流石にこの変な理屈で進めるのもあれだし
基本文法は今からでもちゃんとやるけどね(´・ω・`)
プログラマーを目指すかどうかはまだ決めてないよ。
ゲーム関係をやりたいからそういう高校に行くんだけど、
今考えると結局高校出た後どうしようかなってなるな…。
127:デフォルトの名無しさん
17/02/03 21:39:40.88 47On8+xI.net
自分が作りたいものに直結する基礎を勉強する気が起きない理由がわからん
ゲームが好きなだけであってプログラミングが好きなわけじゃないんじゃないか
128:ぬーぶ ◆upkqfrxkrw
17/02/03 22:03:59.64 dZfCQ2ov.net
>>125
んー、プログラミングも好きだけど、
自分の思い通りのゲームを作りたいって気持ちのほうが
6:4くらいで強い。
でもUnityとかRPGツクールとかの直感的に作れるようなのは
あんまり使いたくないっていう謎の拘り(´・ω・`)
129:片山博文MZ ◆T6xkBnTXz7B0
17/02/03 22:07:12.55 6yKPOmXk.net
>>110
それより前に関数fを定義しないと未定義エラーになるよ。
130:デフォルトの名無しさん
17/02/03 22:08:17.23 ChB/Y1ca.net
中学数学の一次関数も分かってなさそうだけど、
これじゃ高校なんて底辺校しか入れないだろw
131:ぬーぶ ◆upkqfrxkrw
17/02/03 22:12:21.55 dZfCQ2ov.net
>>127
てーぎ…?intで良いんかな。
intしても何かエラー出るけど…調べてみますわ(´・ω・`)
132:片山博文MZ ◆T6xkBnTXz7B0
17/02/03 22:15:42.07 6yKPOmXk.net
int f(int n)
{
return n + 1;
}
これが関数fの定義。
133:デフォルトの名無しさん
17/02/03 22:16:01.63 1UyF/cRh.net
>>120
人の言うこと全く聞かないのは、すごく似てるよな~、特性なんだろうね。
134:ぬーぶ ◆upkqfrxkrw
17/02/03 22:16:14.77 dZfCQ2ov.net
>>128
分かりますが、何か?(´・ω・`)
理科とか社会とかの暗記科目は苦手(理科はまだマシ)だけど
英数国辺りはちゃんとできるよ。数学は超苦手だけど一応なんとか。
英語は授業全く出てないけどPerfectだよ、多分。多分ね(´・ω・`)
数学はどっちかって言うと連立方程式のほうが苦手。
一次関数も苦手っちゃ苦手だけど普通に解けるし、
強いて言えば一次関数のグラフが苦手かな。
xとyの位置から一次方程式の式を書けっていうアレが苦手。
135:デフォルトの名無しさん
17/02/03 22:17:09.92 3/9JwJ7/.net
中学生なの?
136:ぬーぶ ◆upkqfrxkrw
17/02/03 22:17:16.31 dZfCQ2ov.net
>>130
あ、なんか全然違う事調べてた。
何だったんだこの苦労は…_(:3 」∠)_
137:ぬーぶ ◆upkqfrxkrw
17/02/03 22:17:36.24 dZfCQ2ov.net
>>131
聞いてるよ、だから今基礎からやり直してるよ…(´・ω・`)
138:ぬーぶ ◆upkqfrxkrw
17/02/03 22:18:35.33 dZfCQ2ov.net
>>133
あ、うん。今中2だよ。
あと数ヶ月で受験の待ってる3年生という現実を信じたくない2017年(´;ω;`)
139:ぬーぶ ◆upkqfrxkrw
17/02/03 22:19:36.33 dZfCQ2ov.net
ご飯食べてくるのでレスまた後で。恵方巻食べます。
今年は北北西だそうな。違ってたらスンマセン。
140:デフォルトの名無しさん
17/02/03 22:21:17.40 3/9JwJ7/.net
>>136
まじかー
じゃあ高校生になったら数学と物理を死ぬ気で勉強しないとな
ツールなしでゲーム作りたいなら回り道する勇気も必要よ
141:デフォルトの名無しさん
17/02/03 22:21:34.30 1UyF/cRh.net
>>124
いや、調べてないって突っ込まれてるのよ。
プログラマからすると、"我輩はねこである" の "は"って何ですかね?って質問してるのと同じなの。そういう質問してるというこのレベル感は最低限解って。
142:デフォルトの名無しさん
17/02/03 22:22:44.83 ZJaGJG4k.net
えらく晩飯遅くないか?特別学校?
143:ぬーぶ ◆upkqfrxkrw
17/02/03 22:56:54.47 dZfCQ2ov.net
>>138
物理ってそんなに大事なんか…
母が物理好きだけど面白いのかな。
素直に基礎から回り道します(´・ω・`)
144:ぬーぶ ◆upkqfrxkrw
17/02/03 22:57:15.77 dZfCQ2ov.net
>>139
うーん…分かった。聞く前にまず調べる。
145:ぬーぶ ◆upkqfrxkrw
17/02/03 22:59:22.96 dZfCQ2ov.net
>>140
うちは晩御飯遅いんよ…今からお風呂入って
寝るのは1時くらいになるかな今日は。
母がヘルニアで具合悪くて。しかも指とかじゃなくて
首の神経圧迫してるから肩から指先にかけて痛いやつ。
それに自律神経失調症と来てるからもう…ね(´・ω・`)
僕が不登校になったのも元々自律神経系の異常。
成長期に起こりやすいものらしい。多分そういう体質が遺伝したんだなぁ…。
146:デフォルトの名無しさん
17/02/03 23:03
147::02.36 ID:jU395Rqo.net
148:ぬーぶ ◆upkqfrxkrw
17/02/03 23:16:35.73 dZfCQ2ov.net
>>144
勝手に失踪する気はないから大丈夫よー(´・ω・`)
ただ次第に質問とかでも本格的なプログラミングになると
ソースは出さない質問になっちゃうかもしれない。
やっぱりゲーム作りたいしプログラムを誰かに知られると
身バレの可能性とかもあるし…
結果的にスレ畳むときは中途半端に終わっちゃうと思う。
このスレは長くて来年の今頃まで続くと思う。
受験ギリギリになってPC封印さえなければ…(´・ω・`)
149:デフォルトの名無しさん
17/02/03 23:48:21.86 jU395Rqo.net
出しても問題ない様なサンプルコードを書ける程度には勉強してくれ
150:デフォルトの名無しさん
17/02/04 00:00:59.79 KjQ98FiG.net
>>143
そりゃあんたが甘えるんじゃなくて家族でお母さん支えないかんでしょ
151:デフォルトの名無しさん
17/02/04 00:09:29.44 KjQ98FiG.net
それに自律神経がやられるのは不規則な生活が原因だよ
152: ◆f5STnaEXUk
17/02/04 07:46:02.45 iNV0wm7r.net
おはよう。
俺も昨日恵方巻食べた
一人でコード書いてると途中で辛くなってくる
今日はガウシアンフィルタのサンプルから
>>145
新しく覚えることが増えるかもしれないけど
MaximaやMathematicaなんかの数学ツールが使えるようになっておくと
物理や数学なんかの調べ物をするときに自分で試せてはかどるよ
Mathematicaはとても高いけど学割がある
といっても中学生にはちょっと早いのだけど
もし3Dのプログラムをやるならすぐ試せる行列が出てくるからね
153:ぬーぶ ◆upkqfrxkrw
17/02/04 09:28:21.04 DxVF1dAI.net
>>146
Yes, I wanna be able to do it.
154:ぬーぶ ◆upkqfrxkrw
17/02/04 09:28:47.69 DxVF1dAI.net
>>147
支えると言っても…どうやって…(´・ω・`)
155:ぬーぶ ◆upkqfrxkrw
17/02/04 09:30:08.23 DxVF1dAI.net
>>148
不規則なのもあるけど
一番の原因はストレスだって言われたよ
他にもストレスが原因の病気持ってるから…
そもそもそのストレスが不規則が原因だったり()
今日はこうして早く起きてみたよー
156:ぬーぶ ◆upkqfrxkrw
17/02/04 09:32:17.81 DxVF1dAI.net
>>149
恵方巻美味しいけどエビフライの尻尾がノドにひっかかって痛い
ひえっ、Mathematicaってどうせ4、5万やろって思ったけど
40万円以上すんのか…殺す気かい。
それだけ価値があっても僕には使いこなせる気がしない(´・ω・`)
157:ぬーぶ ◆upkqfrxkrw
17/02/04 09:42:52.78 DxVF1dAI.net
恵方巻食べたから絶対受験受かるはずや…
あと宝くじも当たってゲームも作れて大学もちゃんと行けて……
もうこれって恵方巻食べるときに
「何でも思い通りになりますように」って願ったら
一番手っ取り早いよね
158: ◆f5STnaEXUk
17/02/04 10:13:10.82 iNV0wm7r.net
ちょっとした用途なら無料のMaximaで十分だよ
MaximaになれてたらMathematicaもすぐ使えると思う
対応する関数名とか記号を調べればいいだけだから
しかし恵方巻で尻尾がつまるとか、弱いな
一気に丸かじりでもしたんか
159:デフォルトの名無しさん
17/02/04 10:18:17.61 tcdpo06Y.net
恵方巻ってエビ入ってんのかよ
160: ◆f5STnaEXUk
17/02/04 14:03:11.75 iNV0wm7r.net
プログラムやってると甘いものがないと辛いな
セブンイレブンで大量に売られてた果実のど飴なめながらやっている
ガウシアンフィルタ終わった
次はbloomエフェクト
bloomエフェクトは元画像の光ってるところ抽出して
ガウシアンフィルタ(ぼかし)かけてもと
161:の画像と混ぜると得られる 考え方自体はそんなに難しくない
162:ぬーぶ ◆upkqfrxkrw
17/02/04 18:04:18.19 DxVF1dAI.net
>>155
Maximaやらの数学や物理のツールって
あんまりぱっとイメージが湧くものじゃないけど
どんなのなんだろう。
けど中学生の数学でも使えるのかどうか…
顎が弱くて噛めない()
163:ぬーぶ ◆upkqfrxkrw
17/02/04 18:04:46.99 DxVF1dAI.net
>>156
美味しいよ、恵方巻にエビフライ。
164:ぬーぶ ◆upkqfrxkrw
17/02/04 18:06:15.30 DxVF1dAI.net
>>157
甘い物かー、ティラミスが一番好き
けどこの年頃だと甘い物より旨い物が食べたい
へぇ…プログラミングって画像の抽出とかもできるんか…
自分には到底できそうにないな(´・ω・`)
165:デフォルトの名無しさん
17/02/04 18:52:00.27 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]
と答えを出してくれる
個人的には行列を学ぶのに便利だと思う
166:デフォルトの名無しさん
17/02/04 19:03:51.60 +5NPixg9.net
たぶんそれ、pythonのモジュールでも可能
167: ◆f5STnaEXUk
17/02/04 19:12:50.90 iNV0wm7r.net
まぁそういうことが出来る言語もあるだろうさ。
でも数式処理ソフトウェアほど簡潔にはかけないと思う
pythonは個人的には嫌いだな
2系と3系が互換性がないせいで
どちらもインストールせねばやっていけないあたりが
168:デフォルトの名無しさん
17/02/04 19:29:52.73 ceaLvvG5.net
2系がまだ根強いってのはあるな
ただ世間の趨勢としてデータサイエンスの分野はほぼpythonに流れつつある
169:片山博文MZ ◆T6xkBnTXz7B0
17/02/04 19:55:59.09 sK4bvJ1n.net
DxLibで好きな一次関数のグラフとx軸、y軸を書け。
注意。DxLibでは画面左上が原点であり、y軸が下向きである。
y成分を反転し、原点が画面中央になるようにずらす必要がある。
170:片山博文MZ ◆T6xkBnTXz7B0
17/02/04 20:05:36.71 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)は画面中央。
171:片山博文MZ ◆T6xkBnTXz7B0
17/02/04 20:19:17.30 sK4bvJ1n.net
頑張れ、ねねっち!
172: ◆f5STnaEXUk
17/02/04 20:54:55.48 iNV0wm7r.net
>>164 python自体はそこまで嫌いじゃないよ。インデント強制が苦手なぐらい
俺のperl6は普及すらしていないので
python2のような依存関係の問題などは起きないというメリット?がある
>>167
ねねっちの勉強はdxlib限定なの?
とりまmaximaで。plot2d(29*x+831,[x,-10,10]);
今やってるOpenGLの方ではまだラインの引き方を習ってないので難しいな
明日調べてみようかな
そろそろ寝る
173:ぬーぶ ◆upkqfrxkrw
17/02/04 21:52:06.36 DxVF1dAI.net
>>161
ほーなるほど、世の中には便利なもんがあるんやねぇ…
174:ぬーぶ ◆upkqfrxkrw
17/02/04 21:54:02.11 DxVF1dAI.net
>>165-167
グラフを描画するのは難しいな…
g(x,y)=…っていうのはこの前のarray?
ちょっと基礎を勉強してるから
これ以上の出題はもうちょっと待って頂けると有難い(´・ω・`)
あと私はねねっちではないぞい…
175:ぬーぶ ◆upkqfrxkrw
17/02/04 21:56:33.5
176:4 ID:DxVF1dAI.net
177:ぬーぶ ◆upkqfrxkrw
17/02/04 21:57:00.70 DxVF1dAI.net
明日からちょいと用事があるので
レス返せるのは明後日になるかもしれません(´・ω・`)
178:デフォルトの名無しさん
17/02/05 00:50:18.18 34mVtrou.net
ねねっちなどいなかった
179: ◆f5STnaEXUk
17/02/05 07:18:36.28 U3r5qPlD.net
おはよう
>>171
プログラマになるよりハッカーになるほうがずっと難しいと思う
ゲーム作りか、昔初めて取り組んだときは挫折したな
プログラミングの極意は重複をさけることだと個人的に思うよ
コピペが1回増えるごとに修正箇所は2倍になる
これが3,4回分重なると8-16倍、この辺でメンテの限界がくる
だから関数をうまく使って必要なコードを1ヶ所にまとめること
同じコードを書いてるなと思ったら関数の使用を考える
これが出来れば大きなプログラムになっても開発できるようになる
180:ぬーぶ ◆upkqfrxkrw
17/02/05 08:12:35.50 pyEhJrBN.net
>>174
おはようです
ハッカーはドラマとか見て
「あーなんか凄い、何か分からんけど凄い」
っていう感じだったから、それがキッカケでプログラミングに触れた。
難しいのは分かってるけどね(´・ω・`)
最初のゲームは3Dじゃなくても2Dで良いと思ってるけど
やっぱり当たり判定とかも難しいのかな。
コピペで貼り付けてプログラミングするプログラマーを
「コーダー」って呼ぶみたいに聞いたけど、
実際プログラム作るときってプログラムの破片を寄せ集めて
プラモデルみたいに作るほうが良い気がするけど
そういうのはタブーなのかな。手っ取り早いし知らないコードも覚えられる。
前に簡単なゲーム作ったときにはプログラムの行数が数千行になったから、
それも多分効率の悪いプログラミングのせいなのかな…
今思えばもっと条件文と変数使ったらより効率が良かった。
181: ◆f5STnaEXUk
17/02/05 08:55:55.53 U3r5qPlD.net
俺は別にコピペは否定しないよ
別に破片を寄せ集めてプラモデル的に作っても良い
コピペの後に重複を取り除いたり構造を直したり(リファクタリング)
するならの話だけど
ただ同じコードを関数にもまとめずにペタペタ張りつけたりして作るのは悪だよ
数千行のコードを破綻させずに書いたことがあるのは驚いた
Cの関数の理解も怪しい段階でよくそこまで出来たと思うよ
どうやってそんなに書いたのよ
まずC++を使ってるならクラスとは言わないまでも
せめて関数は使い方をちゃんと覚えよう
182:片山博文MZ ◆T6xkBnTXz7B0
17/02/05 09:55:33.91 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);
} (続く)
183:片山博文MZ ◆T6xkBnTXz7B0
17/02/05 10:09:34.31 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()) {
184: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; }
185:片山博文MZ ◆T6xkBnTXz7B0
17/02/05 10:44:38.02 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);
} (続く)
186:片山博文MZ ◆T6xkBnTXz7B0
17/02/05 10:47:28.82 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;
}
187:片山博文MZ ◆T6xkBnTXz7B0
17/02/05 10:49:43.88 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);
}
188:デフォルトの名無しさん
17/02/05 11:00:42.26 NgmJ8ASd.net
片山氏もideoneかどこかに貼った方がいいんじゃないかな?
189:片山博文MZ ◆T6xkBnTXz7B0
17/02/05 11:01:59.43 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
}
190:ぬーぶ ◆upkqfrxkrw
17/02/05 11:32:45.06 pyEhJrBN.net
>>176
木の破片を寄せ集めて机を作って、
仕上げにやすりをかける感じに書くのか。
数千行のやつはHSPで組んだ。
デバッグが大変だった
191:デフォルトの名無しさん
17/02/05 12:06:21.77 34mVtrou.net
コピペをつなぎ合わせて作るのは別にいいと思うけど
何をやってるコードなのか理解した上でコピペすべきだよ
192: ◆f5STnaEXUk
17/02/05 12:25:52.49 U3r5qPlD.net
確かにソースはideoneとかに張り付けてくれる方が便利だね
俺はcodepad使ってる。ideoneよりは少し軽い気がする
>>184
hspかー。関数というよりサブルーチンみたいなのを使って書くようだね
初心者向けって言われてるけど逆にそちらのほうが難しそうに感じるよ
193:ぬーぶ ◆upkqfrxkrw
17/02/05 13:26:51.53 pyEhJrBN.net
>>186
codepadやらideoneやら色々あるんだなぁ…
優秀な先輩プログラマーさんのおかげやね(´・ω・`)
スクリプト言語でゲーム作りに向いてるって言うから、
簡単そうだと思って触ってみたら結構面白かったの。
今は電卓作ったり単純な運ゲー作ったりして使ってるよ。
数学の問題の式解くのにも使えるし便利だなぁ…(小声)
194: ◆f5STnaEXUk
17/02/05 16:54:56.87 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が増えてしまう)
195:ぬーぶ ◆upkqfrxkrw
17/02/05 17:00:28.04 pyEhJrBN.net
>>188
ちょっと待って、もしかしてプログラミングと数学と
"関数"っていう言葉が一緒にあったからこんがらがってたのかな。
基礎を勉強していくうちでいずれ分かるかな…
数学的かそうでないかについてはまだよく分からんな…
196:デフォルトの名無しさん
17/02/05 17:05:01.75 NgmJ8ASd.net
まあ部品だな
pascalなんかだと値を返さない関数はprocedureと明確に分けてるけどcは初めは分かりにくいかな?
197:デフォルトの名無しさん
17/02/05 17:22:20.53 U3r5qPlD.net
そうだね、プログラミング言語にも数学にも関数があるけど違う意味だね
バグを出しにくいコードの書き方とかを気にしている本とかに出会えれば
いずれわかるようになるかな
俺は関数型言語ってのを学んだときにその辺覚えたよ
関数型言語は難しい点もあるから
もっとプログラミングに慣れてから触った方がいいかもしれない
198:デフォルトの名無しさん
17/02/05 20:11:56.58 NgmJ8ASd.net
関数(function)はソフトウェアを構成するための部品、
そういった部品をまとめ再利用しやすくしたものをライブラリと呼ぶ
(場合によってはAPIとかSDKなどとも呼ばれる)
ライブラリには関数の他必要な定数や構造体の定義なども含まれる
関数ではなくクラスの定義や実装を集めたものはクラスライブラリと呼ばれる
特にある目的で呼び出し順やクラスの拡張ポイントが規定されているものは
フレームワークと呼ばれることがある
クラスに結びついた関数をメソッドとも言う
199: ◆f5STnaEXUk
17/02/06 06:57:16.37 X4lA+IN8.net
独学スレというのもあったんだな
プログラマは1年に1個新しい言語を覚えるといいとよくきくけど
ここ最近新しい言語は覚えてないなぁ
実用重視ならkotlin
趣味重視ならPrologを覚えてみたい
本はジオメトリシェーダというところにさしかかった
あまりジオメトリシェーダについて解説がないので
webも併用して調べつつやってる
URLリンク(open.gl)というサイトが丁寧な解説してくれてた
200:デフォルトの名無しさん
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
お前の悪いところは、いつまでたっても難しい、わからないしか言わないところ
わからないだけじゃなく、具体的にどうわからないのか説明して見たら?
こういう風な動作を期待しているのに、こんな結果になってしまったと
できればコード付きで
そしたら、優しい誰かが答えてくれるだろうよ