Hiragi(GKUTH)の日常
理系大学生の日記

プログラミングの楽しさ

アバター
Hiragi(GKUTH)
記事: 167
登録日時: 14年前
住所: 大阪府
連絡を取る:

プログラミングの楽しさ

投稿記事 by Hiragi(GKUTH) » 10年前

http://dixq.net/forum/viewtopic.php?f=3&t=16247


この質問をされている方がついこないだまでの私だなぁ、とつくづく思ってしまいました。誰もが一度はやってみたものじゃないでしょうか(?)
こういうしょーもない(といったら悪いかもしれないが)ことをただ興味本位でして、うまく行ったときにすごいうれしいんですよねー
そっから少しづつ機能の拡張とかをしていって遊んだりしてました、自分の書いた通りに
動くんですし、自分が弄ればその通りに動く、 それが本質的な楽しみなんじゃないかなーとか思います(プログラミング初心者のたしなみ。)

弄っていけば、少しづつ少量のコードで動くようになってきて、より早く書けるようになってきます。ソレを実感できるのも単なる
数学などの普通の教科と違い、しっかりと認識できるのですごいなと自分で思ったり、

例えば今から4年ほど前に重力を表現したくて、Softyaさんに聞いて書いたコード、バウンドすらせずにただ単に自由落下するだけのプログラム
を作りたかったんですが、その時はそれだけで50-70行ほど書いてた記憶があります、どうすればそんなに行数稼げるのかもう自分でもわかりません。

んなときがあった私も今ではバウンドの処理もいれて10行ぐらいで出来る様になってしまった、恐ろしい。
同じコードの量でできる動作の量が飛躍的に上がっているのが分かります。

CODE:

	//適当にバウンドさせる処理
ball[i].v = ball[i].v + G;
ball[i].y = ball[i].y + ball[i].v;
if (ball[i].y > 480 - R)
{
	ball[i].y = 480 - R;
	ball[i].v = -ball[i].v;
}
今回この質問者さんがしたいことも私自身がほんの半年ほど前に考え、理解したようなことです。今ではソレも何も見ずに自分だけで実装できてしまいます。
怖いものです。
んでこの質問者さんもいろいろと弄っていってもっとプログラミングの楽しみに気づいてほしいなぁと思った次第です。
► スポイラーを表示
それにしても自分は高レイヤーに浸りすぎてると最近よく感じます。DXライブラリはとても優秀なライブラリですが、
故にもっと専門的な(WindowsAPIなどの低いレベルでのプログラミング)もしないといけないんじゃないかと思ったりもして、
DirectXとかも直接たたきたい...!だけど全然見ても分からん!
こんな感じです。


追記:タイトルがおかしかったので変えました。
最後に編集したユーザー Hiragi(GKUTH) on 2015年1月18日(日) 22:28 [ 編集 1 回目 ]

アバター
nullptr
記事: 239
登録日時: 13年前

Re: プログラミングの楽しさ

投稿記事 by nullptr » 10年前

そんなことよりリア充を爆発させよう

アバター
usao
記事: 1889
登録日時: 12年前

Re: プログラミングの楽しさ

投稿記事 by usao » 10年前

どうでもいいけど,個人的にこの書き方嫌い.
typedef struct { ... } Ball_t;

↓のように書くのが好き.
typedef struct Ball_t { ... } Ball_t;

アバター
Hiragi(GKUTH)
記事: 167
登録日時: 14年前
住所: 大阪府
連絡を取る:

Re: プログラミングの楽しさ

投稿記事 by Hiragi(GKUTH) » 10年前

nullptr さんが書きました:そんなことよりリア充を爆発させよう
NullPointerException...

アバター
Hiragi(GKUTH)
記事: 167
登録日時: 14年前
住所: 大阪府
連絡を取る:

Re: プログラミングの楽しさ

投稿記事 by Hiragi(GKUTH) » 10年前

usao さんが書きました:どうでもいいけど,個人的にこの書き方嫌い.
typedef struct { ... } Ball_t;

↓のように書くのが好き.
typedef struct Ball_t { ... } Ball_t;
あぁ、例のサイトの影響ですね、私がその構文一つ一つが何を意味しているか分からぬまま使っているのが主な原因でしょう、それと省略癖があるので...

アバター
nullptr
記事: 239
登録日時: 13年前

Re: プログラミングの楽しさ

投稿記事 by nullptr » 10年前

Hiragi(GKUTH) さんが書きました:
usao さんが書きました:どうでもいいけど,個人的にこの書き方嫌い.
typedef struct { ... } Ball_t;

↓のように書くのが好き.
typedef struct Ball_t { ... } Ball_t;
あぁ、例のサイトの影響ですね、私がその構文一つ一つが何を意味しているか分からぬまま使っているのが主な原因でしょう、それと省略癖があるので...
そのコードが本当はCで、たまたま囲っているタグがC++なら別に好みで良いと思います。

もしC++なら、全く以て無意味な書き方なので、謎です。Cのコードが動くように今でも許可されているだけで、typedef structはC++においては意味を持たない書き方です。
型名を定義の後ろに持ってきても見づらいだけですので、struct Ball_t { ... };と書くべきだと思います。

アバター
Hiragi(GKUTH)
記事: 167
登録日時: 14年前
住所: 大阪府
連絡を取る:

Re: プログラミングの楽しさ

投稿記事 by Hiragi(GKUTH) » 10年前

nullptr さんが書きました:
Hiragi(GKUTH) さんが書きました:
usao さんが書きました:どうでもいいけど,個人的にこの書き方嫌い.
typedef struct { ... } Ball_t;

↓のように書くのが好き.
typedef struct Ball_t { ... } Ball_t;
あぁ、例のサイトの影響ですね、私がその構文一つ一つが何を意味しているか分からぬまま使っているのが主な原因でしょう、それと省略癖があるので...
そのコードが本当はCで、たまたま囲っているタグがC++なら別に好みで良いと思います。

もしC++なら、全く以て無意味な書き方なので、謎です。Cのコードが動くように今でも許可されているだけで、typedef structはC++においては意味を持たない書き方です。
型名を定義の後ろに持ってきても見づらいだけですので、struct Ball_t { ... };と書くべきだと思います。
完全なCで書いてるつもりですが、まぁC++で書いたとしても同じ書き方をするでしょうね。
struct Ball_t{ ... };でいいんですね、 というか折角C++なのですから、構造体を使わずこの場合クラスにするべきなんでしょうけど
クラスの事もまだよくわかってない今、どう書けばいいのやら。

ISLe
記事: 2650
登録日時: 14年前

Re: プログラミングの楽しさ

投稿記事 by ISLe » 10年前

C++としては無意味かもしれませんが、ヘッダファイルの記述をCとC++で分けずに済む点は便利だと思います。
Cの宣言でstructを省略するかしないかというのは好みの問題でしょうし。

アバター
usao
記事: 1889
登録日時: 12年前

Re: プログラミングの楽しさ

投稿記事 by usao » 10年前

毎回 struct Ball_t a; とかstruct付けて書くのめんどいから typedefするぜ ← わかる
typedefで無名構造体にBall_tという別名を付けるぜ ← これがすっきりしない

単に「なんか嫌」ってだけの話ですけどね.
前方宣言しないなら何の問題もない.