HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2008
0812
ルキアルゴリズム9解決


ルキ

リンク

2008/8/12(Tue) 23:06:02|NO.18086

初めまして、ルキという者です。プログラミング初心者です。
このたび質問させていただきたいのは、「アルゴリズム」についてです。
まず「初心者のためのHSP入門」には一通り目を通してみました。
基本的な関数について学んだまではよいのですが、その関数をどのように応用していけばよいのか、アルゴリズムの考え方がよくわかりません。

高校の授業でCOBOLの勉強をしているので、変数や配列などの意味は分かると思います。
しかし授業で勉強したのは「すでに出来上がったプログラムの空欄を埋めていく」というような内容だったので、「アルゴリズムを自分で考えてプログラムを完成させる」というのは初めてです。
プログラミングを勉強していくなら、それがどんな言語であろうとアルゴリズムが分からなければ意味がないと思います。そこでアルゴリズムの勉強をしたいと思うのですが、その勉強方法がわかりません。
インターネットでHSPの講座サイトを検索してみたのですが、関数の使い方を一つ一つ説明しているもの、一つのプログラムの制作過程を説明しているものなど色々な種類があって、どのサイトが勉強に適しているのかも自分ではよくわかりません。
皆さんは、HSPを……というか、HSPに限らず、アルゴリズムをどのように勉強しましたか? また、どのようなサイトや書籍を参考にしましたか? よろしければ是非教えてください。

と、色々書いてみましたが、もし文章のおかしいところや思い違い、勉強不足なところがあったらすみません…。今後のためにもご指摘いただけると嬉しいです。



この記事に返信する


ルキ

リンク

2008/8/12(Tue) 23:20:20|NO.18088

追記です。
私は、ゲームを作ってみたいと思っていますので、ゲームのアルゴリズムについて特に知りたいです。
まずは簡単なゲームから作っていきたいと思います。よろしくお願いします。



高頻度通りすがり

リンク

2008/8/12(Tue) 23:26:50|NO.18089

私は基本的にほとんどが自己流ですね。
自力でアルゴリズムを生み出すのは遠回りかと思いますが、
応用を効かせるための力になるかと思います。

とは言っても、自分の力には限界がありますし…
最近は、サンプルを眺めつつどういう構造なのかを考えることが多いですね。
私としては、サンプルの解説は極力見ない方がいいと思います。
自分で、「これがこーで、あれがあーなってて、」というのを考えることで自分の力になるかと思います。

長々と書きましたが、個人差があるので何とも言えませんが^^;



ジャスミン

リンク

2008/8/12(Tue) 23:55:13|NO.18091

わたしも自己流でよく考えます。
でもあまりにも初心者でなにをどうしたら?って場合は、簡単なゲームのスクリプトを見て
基本の流れは覚えるべきでしょう
本屋でHSP関連の本を探せばそういった簡単なゲームのスクリプトを詳しく解説している
本がいくつかあります
ネット上のサイトとかはよく知りません(スイマセン)
自分でいつくものアルゴリズムを考案して来ましたが
数学の解法みたく、自分で考えてできたときの嬉しさは格別ですよ!



GENKI

リンク

2008/8/13(Wed) 00:12:15|NO.18092

空欄うめですか。単位のための授業って感じですね。
授業ではそんな感じなんですか。
私のころはまだ(ry


さて、アルゴリズムがどうとか難しいところから入ると嫌になってくるものです。
まずは付属のサンプルスクリプトからはじめてみるのはどうでしょうか?
改造しては動作を見たりするなどしているうちに、体感を通して
こういう構造でこうやって動いているというのが分かるようになってくると思います。

また構造を理解するには図で書いてみる方法もあります。
サンプルからフローチャートを書いてみるのもいいと思います。
書いてみるとここにこれを付け足すと…?などの改造アイデアが浮かんでくるかもしれません。
そんなときは改造して結果を確認。ようは構造を把握することが重要なんです。

などなどと、いろいろやっている間にHSPにも慣れるでしょう。
慣れてきたら非公開でいいので、簡単な作品(ジョークプログラムでもOK)をサンプルつぎはぎでもいいので一つ作ってみるといいですよ。
サンプルつぎはぎの場合は構造理解しないと意味ないですけど。


> 私は、ゲームを作ってみたいと思っていますので、ゲームのアルゴリズムについて特に知りたいです。

ゲームってたくさん種類のアルゴリズムの集合体なのですよね。
とりあえずその中でもたいてい共通している表示部分の解説サイトを紹介しておきます。

HSP開発wiki - 基本的なスクリプトのパターン
http://hspdev-wiki.net/?HSP%B9%D6%BA%C2%2F%B4%F0%CB%DC%C5%AA%A4%CA%A5%B9%A5%AF%A5%EA%A5%D7%A5%C8%A4%CE%A5%D1%A5%BF%A1%BC%A5%F3
まあサンプルをしっかり眺めていれば分かる範囲のことしか書いてませんが。



むう。長くなってしまったついでにここまで書いてしまおう。

> 皆さんは、HSPを……というか、HSPに限らず、アルゴリズムをどのように勉強しましたか?
> また、どのようなサイトや書籍を参考にしましたか? よろしければ是非教えてください。

私の場合、主に掲示板やHSP開発wikiなどで収集しています。
またプログラムにまったく関係ない記事などからでも情報が得られることがあります。
コラムだったり高校教科書だったり立ち読みだったりいろいろです。
要は考え方なので、あとはHSPで記述できればOK。



あり

リンク

2008/8/13(Wed) 01:54:55|NO.18095

『私のおもちゃ箱』さん(『ようこそ私のおもちゃ箱へ』で検索)の中にある
プログラミングテキストのHSP3.0の項目にかなり詳しく書かれた情報がありました。
HSPの基礎的な事ならここで殆んど勉強できそうな気がします。
ゲームアルゴリズムの情報も非常に多く書かれているので一度覗かれてみてはいかがでしょう?

私がHSPを勉強した時に重宝したのが
『HSP2.55スクリプトプログラミング逆引きテクニック』という本でした。
2.55時代の本ですでに絶版になっていると思いますが、当時とても役に立ってくれました。
今ならゲームの参考書という点では
『12歳からはじめる、HSP3.0ゲームプログラミング教室』が入門用としてはおすすめと思うのですが
これも2005年の本なので探すのはちょっと難しいかもしれません。

ネットで勉強という事ならHSPTVのおすすめリンクを一通り巡ってみるだけでも
良いのではないでしょうか?まずは観て回る事が重要だと私は思います。
そして興味をひいた情報から調べていけば自分のやりたい事は結構出来るようになるものです。
あとは自分の作りたいゲームのジャンル名とHSPで検索すると大抵ヒットするページが
あるはずです、それぐらいHSPは多くの人に使われていますので・・・。

・・・何か偉そうな文章ですね、すみません(汗)



S&R

リンク

2008/8/13(Wed) 07:32:21|NO.18137

あー長々と親身に書いて書き直してやってみたけどやっぱ性に合わんわ。

一言だけ言わせてもらえるならば、
ルキさんは「アルゴリズム」をどう解釈しているのかが知りたい。

何人かの人は「アルゴリズム」と無理にカタカナ用語を使わなくてもいいような使い方をしているのが気になる。



レヴィン

リンク

2008/8/13(Wed) 11:17:31|NO.18138

>>私は、ゲームを作ってみたいと思っていますので
で、どんなゲームが作りたいんですか?

こういうのって自分の作りたいものに少しずつ近づくように作っていけば、
おのずと、それに近づいていくと思うのですが。


俺は格闘ゲームが作りたくてサンプルをググって探したけど
結局、自分の求めるものが見つからなくて全部自分で考えました。
むしろ、自分の気に入っている市販ゲームをじっくり遊んで仕様とかを分析して、
それをどうやったらできるのかって考えるほうが近道な気がします。
俺はそうやりました。

まぁ、人それぞれですが・・・



ルキ

リンク

2008/8/14(Thu) 01:48:00|NO.18170

>S&Rさん
私は「アルゴリズム」については「ある結果を導き出すための処理の手順」と解釈しておりますが…もし解釈が間違っていたのなら申し訳ないです。単純な勉強不足ですね(汗)

>レヴィンさん
そうですね…作りたいと思っているゲームには「タイピングゲーム」「シューティングゲーム」などがあります。
これらのゲームがどのようにして動いているのか、自分で考えるのも大切そうですね。一度じっくり考えてみようと思います。

>レスをくださった皆様
皆様、たくさんの意見をありがとうございます。初心者ゆえの分かりづらい質問であったと思いますが、親切にお答えくださり大変嬉しく思います。
自分でアルゴリズムを考えていくのは初心者の私には容易ではありませんが…ある程度の「慣れ」も必要なのかもしれません。
皆様の意見で多く見られるのは「調べる」「考える」といった意見ですね。初心者が独学でやっていくなら近道なんて無いでしょうし、もっと自分で調べて、考えて、慣れていきたいです。
皆様の意見を参考にしつつ、脱・初心者目指して頑張りたいと思います。



S&R

リンク

2008/8/14(Thu) 06:50:58|NO.18195

ルキs>
「ある結果を導き出すための処理の手順」
結果が同じであれば処理の手順は異なってもいいってことですはい。
そしてあなたが今まで見てきたサンプルに一つとして
同じ変数
同じ変数の使い方
同じ処理の順序
何もかも同じソースコード
がないのと同じように、
あなたもサンプルと同じソースコードを書く必要はない。
「ソースコード=プログラム(命令の集まり)の手順書」のような文章を目にしたことがあるだろうか?
ソースコードはいわば、これから作ろうとするプログラムの説明文でもある。
プログラミングっていうのは作文と一緒なんだよ。
まずは作ろうとするプログラムについて説明できなければプログラムは作れない。
説明つったって、
・オープニング表示して
・ゲームモード選択して
・ゲーム開始
・キー入力があったら
・ブロックを動かして
・横一列並んだら
・ブロックが消える
・上までブロックが詰まれたらゲームオーバー
なんていう説明で終わってたらプログラムはできない。
・オープニング表示して
・・使用する画像をbufferに読み込んで
・ゲームモード選択して
・・選択されている項目をほかよりも明るく
・ゲーム開始
・・音楽再生
・キー入力があったら
・・入力されたキーは?
・ブロックを動かして
・・移動可能な範囲しか動かせない
・横一列並んだら
・・ブロックの位置はどう記憶しておく?
・ブロックが消える
・・ゆっくり消えるのかパッと消えるのか
・上までブロックが詰まれたらゲームオーバー
・・コンティニューor終了
のように細分化して、でもまだまだあmだだまだだdまだだまだ細分化したりない。
でだな、
今箇条書きで並べた全体は「アルゴリズム」とは呼ばない。
たしかに大きいプログラムの「処理の手順」ではあるが、でかすぎる。
「アルゴリズム」というのはもっともっとっもっともttお小さい範囲での処理の手順を指す。
「○○のアルゴリズム=○○の常套手段・定石」と解釈したほうがよい。

疲れたから以上。



ONION software Copyright 1997-2021(c) All rights reserved.