忍者ブログ

神戸電子専門学校ゲームソフト学科の生徒が運営するGESのブログです。

   

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

HTMLのお話、その1

こんばんは。
文月浩加です。

ZAKIさんたちに話してる時に、周り数人にやってくれといわれてしまいました。
というわけで、早速書いてみようと思います。


第一回HTML講座!!!

といっても昔自分のサイトでコラムとしてやっていたもののコピーです。

 HPを作ろう その1
  =HTMLの基本を見てみよう=


準備するもの

・PC
・ネット環境
・公開するためのサーバ。
・ソースを作成するためのソフト。

Windowsのエディタソフトは『メモ帳』と言うものがあります。

メモ帳の実行方法
スタートボタン→すべてのプログラム→アクセサリ→メモ帳。

ちなみに私はフリーソフトの『Style Note』というソフトを使っています。
 
HTMLや、CSSなどにもある程度準拠しているので使いやすいです。

一般的なHPは、HTMLという言語を使って作られています。
他にも現在、CSS、XHTMLなどの言語も存在しています。
これについてはまた後日。

私は、現在はHTMLと、CSSを利用してHPを作成しています。

まずは、HTMLの簡単な形式を説明して行きましょう。

手始めに、こちらのソースをメモ帳にコピペして『index.html』と言う名前で保存してください
そしてブラウザ(Internet ExplorerやOpera、FireFoxなどなど)で実行して見てみましょう。

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=shift-jis">
  <title>こんにちは</title>
  </head>
    <body>
      こんにちは
    </body>
</html>

これが一番の基本のタグです。
一番最初の一行は『このドキュメントはHTMLです。基本指定はHTML 4.01です』という宣言をしてます。
つまり、『今からHTMLが始まります。4.01の設定を利用します。』っていうことです。
実際無くても表示はされますが、一応あった方がいいと思います。
これ以外の<!DOCTYPE>文はこちら→とほほのWWW入門


1.<head>~</head> ヘッダー。このページの設定です。

2.<meta>   基本的には、テキストがどの形式か、文字コードは何かなどなど。

3.<title>~</title>  ココの中がタイトルバーに表示されます。

4.<body>~</body>  ココの中が画面の中に表示されます。


タグは、<!DOCTYPE> <meta>(宣言文)<BR>(改行)、<IMG>(画像読み出し)などの閉じタグないものを除いて
<>~</>が基本形式です。

<HTML>で始まって</HTML>で終わります


今回はとりあえず本当に基本まで。

次回から一気に画像表示からテキスト編集などなど。
簡単なシステムの紹介が終わったら、次はCSSの説明もする予定でいます。

ではでは、ダッシュで夜勤にいってまいります。浩加でした。


以下はまたしてもGESメンバー向け。

拍手[0回]

PR

面接01~それっておいしいんですか?~

どうも。GESのサポートに回るEkiyaです。
今日は真面目な。まじっっめな記事です。ヤッホゥ。

主に就職活動中の皆に向けて書けとのことなので面接を題材にしたいと思います。
私が受けた所がゲーム系だったのでここで書ける事はゲームに偏るかもしれません。

まずは結論から。

@声出そう!
@自信持とう!
@笑おう!
@迷うな!
@あとは練習あるのみ!

よし。お疲れ。後は読みたい人だけでいいよ。

まず一つ。
大きな声で喋りましょう。叫ぶなよ?
最初の自己紹介でわざと大きな声を出して緊張を解すのも手です。(声を張るという意味で)
一度恥をかいておけば限度と言うものを理解できるでしょう。
いい意味で新しい扉が開けますよ。変な意味じゃないって。別に気持ちよくはならないって。

二つ。
面接は自分の売り込みです。引いたら負けです。
多分、生島先生や松尾先生が良く言いますがその通りだと思います。
先生の出す全ての質問に答えてください。
先生が指示をくれます。
いいところ悪い所友達に聞いてみてください。
言ってくれない奴はトモダチじゃないデス。冗談です。

三つ!
笑う事は大事ですっ。
なんたって場が和みます。一気に自分にエンジン掛かりますよホント。
言葉にちょっとした「あるあるw」的な失敗談を織り交ぜるのもいいと思います。
「そんな失敗をしました。ですがX~Xやってちゃんと乗り越え自分の自信にできたと思います」
まぁ私のテンプレなんて役に立つか分かりませんが最終的に自分のプラスの話で終わればいいと思います。
あと接客系のバイトしてる人には朗報。
対人戦は絶対的な経験量がモノを言います。今回は接客系のバイトとかやってる人が優位ですよ。
私が見てきた感じですが、やっぱり面接に慣れる速度が違ったと思います。

四つ。
「かもしれません」や「だと思います」的な曖昧な言葉を使うのを止め、ハキハキ喋りましょう。
それだけで大分デキル奴に見えるそうです。
ただ「傲慢な態度」と履き違えないようにしてくださいね……。
卑屈になりすぎて自分をけなすのも良くないです。
まぁ思う存分けなしまくって最後に
「ですが! 私はそれを全部克服してここに自信を持ってやってまいりました! ばきゅーん!
って言える位なら存分に自分を貶してください。
貴方の器は私を越えています。もう心配ありません。いや、逆に心配です。

最後に。
やっぱり、経験量です。
集団面接練習でダメだったなら友達と一緒に練習しましょう。
とりあえず個人でもガンガン先生に言って疲れさせましょう。
松尾先生が狙い目です。あ、いえ。何でもないです。
先生達は全力でサポートしてくれますからね☆


うわぁ……下らない話をクダグダスミマセン。あ~やだやだ。歳か?職業病か?
過去最長の記事になれたかな?プログラムも載ってないのに良く書くな自分……。(ホントは倍ぐらい書いたよ)
ま、まぁとにかく上のほうに書いた@あたりだけココロにとどめてください。
また機会があれば今度は面接の体験談とか書きますね。
ではっよい就職活動を! Ekiyaでしたっ。

拍手[0回]

1ヶ月が過ぎました

寒い夜に冷え切った部屋からこんばんは。矢那です。

今年もキーボードを打つのがつらい季節になりました。
制作も佳境に入るという時に指先がかじかむとちょっと萎えます。
去年、あまりにも寒かったので薄手の手袋買っちゃいましたよ。
少しマシにはなりましたが家でしか使えません。あまり有効活用できてない。

まぁ、こんな他愛のない無駄話から始まりますが、GESブログが開設から1ヶ月を迎えました。

さりげなくアクセス解析もつけてました。約900弱HITしているようです。ありがとうございます。

リンク元もちょっとだけ見ましたが、Yahooさんなどの検索でいらっしゃる方が多数。
学校のリンクがメインかと思いきや。色んなワードで検索かけられてました。

それでは突然ですが ここで ワード検索 TOP5を発表したいと思います。はいどーん。


rank.jpg


栄光の一位は「ヤーウェイ」でした。ぱふーぱふー。

お礼にリンク貼っときました。これからもよろしくお願いします。


あ、ちなみに、制作のチームでサイトがあるよーってな方はコメントに書き込んでください。
リンク貼らせていただきますので。面白いサイト大募集しております。

他にもおもしろ検索ワードがいくつかありますが、また次の機会にでも。

ではでは。連続更新のために繋いでみた矢那でした。

拍手[0回]

FPS制御 ~概要編2~

ども、こんにちわ~

いよいよ寒くなってきましたね~

今年二度目のにわか風邪を引いているZAKIです

何やら連続記事投稿記録が伸びているようですね

記録を伸ばすためにも、みんながんがん投稿しちゃってください


さて、今回のテーマは「FPS制御 ~概要編2~」です

2(ツー)です2(ツー)。

前回はFPSの動機について話しましたが、今回は仕組みについてです

そんなもんいいから、ソースみせれ!って人はこちらへどうぞ

さて、それではどうやったら1秒間のフレーム数を固定にできるのか

答えは簡単、1フレームにかける時間を一定にすればいいんです

1秒間に60フレーム(FPS:60)処理するとしましょう

そうすると、1フレームにかける時間は

1秒 ÷ 60回 = 0.0166666......秒

ミリ秒単位に直すと約16秒。

1フレームは最大約16ミリ秒かかればいいのです

じゃあ、16ミリ秒まてばいいかというと、そうでもないんです

ゲームでキャラを動かしたり、描画したりする時間も含めないと、

? ミリ秒(描画などの処理時間) + 16ミリ秒(待ち時間) = 16 +? ミリ秒

という感じで待ちすぎてしまいます

なので、処理した時間を測って、その分引いてやる必要があるんです

処理時間を計るにはどうすればいいでしょう

普通、時間を計る時には前の時刻と今の時刻を引き算しますよね?

プログラムでも同じで処理開始時間と処理終了時間を引き算してやればいいのです

開始時間が90で終了時間が100だとすると

16ミリ秒(待ち時間) - {100(終了時間) - 90(開始時間)} = 16ミリ秒 - 10ミリ秒(処理時間)

                                         = 6ミリ秒

となり、この場合は次のフレームまで6ミリ秒待ってやればいいのです

この処理を毎回行うことで1秒間のフレーム数を固定することが出来ます

もし、答えがマイナスになったときは、

処理時間のみで1フレームの最大時間を越えたことになるので、

待つ必要がありません

ただ、その時の対処法が二つありまして、(僕が知る限りなのですが
  • そのまますぐに次のフレームの処理を始める場合
  • 描画処理の部分を飛ばして次のフレームの処理を始める場合
の二つがあります。

前者の場合は1フレームの時間が増えて、処理する回数が減るため、スローモーションのような状態になります

これを「処理落ち」と言います

後者の場合は描画を処理する負担が減るので、ほとんどの場合で1フレームの時間内に次のフレームに移れますが、

描画回数が減るので、画面には瞬間移動のように映ります

これを「コマ落ち」といいます。

格闘ゲームなど見た目のタイミング等が重要な場合は前者が向いているでしょうし、

3Dゲームなど描画部分に強い負担がかかる場合には後者が向いているんじゃないでしょうか

どちらがよいかはゲーム内容によって変わるので、一概には言えないですね


長々と説明してきましたが、これが一連の処理の流れになります

ほんとになっがいww

文章のデコレーションで死に掛けました

次回はいよいよプログラムの解説へはいっていきたいと思います

それでは今回はこの辺で。

あでゅーノシ

 

拍手[0回]

ひょっこり現れました。

ひょっこり。

こんばんは。
三年の春井こと、ティールです。

GESの中の位置では歩兵です。わらわらいる中の一人です。
それか、忍です。

イベントの準備など、KDの行く末を決めるような所では出てきます。
目立ちたがり
人手がいるのは手伝わないとね!
ササッと参上する、そんな感じです。

という事で、忍者です。にんにん。

なぜ急に書いたかと言うと、これを更新したら1週間連続更新だったのです。

重要なポジションでした。
まさかのミスです。

記事の投稿日を操作してあたかも連続更新しているように見せかける作戦も、失敗です。
ありませんでした。

昔の人は言いました。
八方塞、無い袖は振れぬ、四面楚歌、果報は寝て待て・・・。

でもね、やっぱりここで踏みとどまってちゃだめなんですよ。

こういう言葉があります。

人生にはきっと抜け路がある。

ってね☆


とにかく、今更なんだかんだ言うつもりはありません。
ただ知って欲しいのは、
済んだことをいつまでも根に持たず、これからどうすればいいのかを行動する。
そういう事です。

やべぇ、勉強せな。
これやらなあかんなー。

そんな事言ってる場合じゃありません。
それだといつまで経っても変わりません。

そう思った時、その瞬間には、既に行動していないとだめなのです。
考える事はいつでもできます、行動は今しかできません。

ならば、行動しながら考えると。

でなければ、取り返しのつかないことになります。
ええ、本当に・・・。


案外記事を書くのが楽しくなって来ました。

たとえ、ブラウザ設定のせいで一度消えていようとも。

ええ、そんな事は気にも留めません

メロンパンを手に入れた私は無敵、なのです。

持ち直しました、消えてしまうところでした。


さて、この辺で一区切りにしようと思います。

ちなみに、私の記事は永久に雑記です。
多分タメになりません。

活動や勉強の事は他の人に任せます。

ひょっこり登場して、ささっと消えます。
ではでは。

ささっ。

拍手[0回]

季節は移り変わり

学祭準備で組曲ニコニコ動画を合唱していた恵谷ことEkiyaです。
ティールがまずったのでフォローに入ります。
と言うわけで製作忙しくなってきた秋の終わりいかがお過ごしでしょう?
朝が辛いですねぇ……。

今日は懐かしい物を見つけたので引っ張り出してきました。

gesblog_eda01.png
モンスターハンターフロンティア(以下MHF)の4コマです。
神ゲーブログに載せてもらうつもりで書いたんですが渡しそびれてました。



夏休み前の話題です。
最近はどうなんでしょうね?



Skypeとあわせて友達とやると臨場感が出てめっちゃ楽しかったですよ。




特に狩りの後が
←みたいに盛り上がりましたw
金銭的な理由で私はドロップアウトしましたが……。



GESでもやってる人はいるみたいです。
一緒に誘ってやってみては? 更にスカイプに入ってやると楽しいよ。
課金はネックですが……。皆でやれば怖くない!


え、それはいいから制作ですか?
遊んでる場合じゃないですもんね。
うーん。大体ペイントツールと睨めっこしてましたね。
一年時は2DのEdgeというドット絵ツール使っていました。
動くだけで4フレームの絵に立ち揺れや通常攻撃、必殺……それら全てが縦横斜めの8方向。
左右対称じゃないキャラを8方向ドットにするのは心底疲れました。
更に画面フレームもかいて……。
500枚ほどを4ヶ月で仕上げました。最初2ヶ月は一日中ドットですよ。
基本動作は年内に上げましたし、画面システム系のプログラムも打ってました。

あ、そうだ。
一年生でプログラム打ちたいけどドッターに”なった”。または”やらされている”人。
全然イケます。絵を描きながらプログラム打てますよ。当然、仕事は貰ってくださいね。
最終的には何でも屋として扱われるようになるかもしれませんが、
最後までプログラムしかやらなかった人よりは、グラフィッカー心に触れることもできます。
何でも屋である事は才能が広いのだと自信を持ってください。
私はそういう立場にいながらちゃんとプログラマとして内定もらえましたので。
プログラマ目指すのであれば二年生で頑張ればいいんです。
二年生で卒業してしまうのであれば頑張るのは今ですよ? Now!

よし! いいこと言った! もういいですか? あ、二年生も?

2年生の方は大抵スーツ着て現実を見せ付けられてて嫌な感じでしょう。
私も嫌でした。鬱になりますよね。
3年の野郎就職決めて遊びやがってコンチクショウって感じですよね。
グダグダ言うのは先生方の仕事なのでお任せしますが。
私の就活の感想を言えば、
冬に不合格の通知が来れば心も寒いですし、春は内定の言葉で五月病ですし、夏の空の下のスーツは超暑いです。
頑張って下さい。


では。絵が無くては語れないEkiyaでしたー。

拍手[0回]

こんな企画とかその1~参考書フリマ~



こんにちは。GESの矢那です。

学園祭も終わり、もう11月も半ばを迎えますね。
一気に肌寒くなってきましたが、皆さんはお元気でしょうか。

私は先週1週間ほど風邪をこじらせ、ひたすら「コーホー」としゃべっていたりと
いろいろオイシイ病人になっていました。
これから制作の山場です。体調が悪いときに修羅場を迎えると気持ちから滅入ってしまうので
体調には気をつけてくださいね!

さてさて。GESの方も学園祭が終わったので一息ついていると思いますが
これから卒業する3年にも進級する1・2年にも使えるのでは…?と思う企画を一人で考えました。
うん、実はまだGESメンバーの誰にも聞いてません。私一人の思い付きです。はい。

とは言え、そんな大げさなイベントでもないのですが。もったいぶらずに言いますと、

参考書のみの市(フリマ的な意味で)

を開催してはどうかな…?と思っています。

上級生には見なくなって久しい参考書(放置ともいう)がきっと山積みになっているはず。
下級生は欲しいけど高くて何冊も手が出せない…という学生もいるはず。
タワーを作って部屋の隅でぐらぐらしているアイツを片付けたい。そんな学生もいるはず。
それを是非とも有効活用しようじゃありませんか。

同じ学科の「先輩と後輩」の仲なのでなるべくお金の取引はない方向でいきたいです。
きっと無料バザーの形になるでしょう。


と、このように概要だけ述べましたが、その先はまだ全然考えていません。
ざっと思いつくだけでも、開催日時、場所、告知期間と回収方法やタイミングなどが決まっていません。
こちらの方は、採用されればGES会議で纏めていきたいですね。
本を出したくても制作に使うかもしれないと思うとなかなか出せませんからね。

こんな感じで次の木曜はこの企画を推していこうかな。よし。頑張ります。







と思っている矢那でした。何かツッコミ等ありましたらコメントでよろしくです。
ではでは。風邪に気をつけてください。コーホー。


拍手[0回]

文化祭お疲れ様でした。

こんにちは、文月浩加こと、GESホールスタッフリーダー松本です。
HNでいいとのことだったので、次からこちらで。


改めて、GESの皆さんお疲れ様でした。

1日目の一般参加が少なかったのがちょっぴり悔しいですが…。
なんとかいい方向にいったのではないかと、思っています。

私は、1日目のウィンダムXP大会の、本選をメインに仕切らせていただいていました。

この件に関してはまず、サウンドの皆さんにお礼をいわねばなりません。

本当にありがとうございました!
お疲れ様でした。

最後の最後、スタッフの皆さんだけが知ってることですが
私が最後にマイクを持って出てきて、サウンドの皆さんにありがとうございましたを言う。
これは、個人的に絶対やりたい、と決めていたことでした。

台本を三回変えたり(いやこれは編集の下手な自分が悪いんだけど
入り時間勘違いしてたり
(30分は会場にイン出来る時間だったんです。12時から運び入れはOKだったとのこと

もうほんとに、いろいろご迷惑をおかけしてしまってました。
改めて本当にありがとうございました!


改めて本番。
お客さんもそれなりに入り
プレイヤーの皆さんも楽しんでいただけたと思います。

あの場所はやっぱり緊張しますね。
正直舞い上がってました。

そして、直前で決まったGESDUMの乱入時には
キーボード担当の先生がアドリブで音入れてくださったり!(先生感謝です!

セッティングから片づけまで手伝ってくれた2年生のホールスタッフ、ありがとー。
そして、三年のホールスタッフもお疲れ様でした!




では、以下は告知です。>GESメンバー向け

拍手[0回]

学園祭終了

dd288b23jpeg.jpg

IMG_0087.jpg


ども・・・・
GES会長の和佐田雅史です。

 

今日は学園祭最終日でした。

立体視ウィンダムも公開しています。

 

神戸ゲームショウには2日目にも関わらずブースに沢山の人が集まってくれました。

普段では体験できないようなリアリティな視点でゲームをPlay出来るという事で、学生は勿論一般の方や卒業生の方々も興味津々のようです。

 

 

皆さんの喜んでいる顔を見ると、これまで頑張ってきた甲斐があったというものです。

来年学園祭が今から楽しみになりますね。

 

本日まで共に頑張ってきてくれたGESメンバーは本当にお疲れ様でした。

明日は休みなのでゆっくり休息を取ってください。

 

それではお疲れ様でした。

拍手[0回]

学園祭初日

90a17299.jpg

UNI_0079.jpg


ども・・・・
GES会長の和佐田雅史です。

 

今日は学園祭初日です。

神戸ゲームショウのブースも大盛況です。

 

 

本日10時より北野館エントランスにてウィンダム大会の予選が行われ、13時より本選が北野館ソニックホールにて行われました。

 

本選ではSound学科のBGM生演奏で準決勝、決勝を行いましたがこれまでに無い盛り上がりを見せ、結果は大成功と言えます。

 

今回コラボレーションシさせて頂いたSound学科の皆様は大変感謝の極みです。

協力してくださった皆さんのお陰で無事に一日目を終える事が出来ました。

 

明日は学生作品の展示と共に、立体視のウィンダムを展示予定です。

普段とは違った視点でゲームを楽しむ事が出来ますので、皆さん是非お立ち寄り下さい。

 

 

明日は最終日です。

この調子で明日も盛り上げて行きましょう。

 

お疲れ様でした。

 

拍手[0回]

学園祭前日

UNI_0067.jpg


UNI_0068.jpg


UNI_0069.jpg



 ども・・・・GES会長の和佐田雅史です。

 

いよいよ学園祭も明日に迫って参りました。

現在は各自ブースの設営、衣装の作成、デコレーションで作成したコクピットの配置など作業も最終段階に入っています。

 

 

立体視ウィンダムの方も先生共々頑張っています。

明日から学園祭が終わるまで皆さんで力を合わせてGES一同頑張っていく次第なのでウィンダムの大会に参加される方や、ゲームコースの皆さんは勿論、他のコースの方々共に盛り上げ必ずや楽しいものにしましょう。

 

日曜日には3D立体視のウィンダムも公開予定ですので、是非ブースに立ち寄って行って下さい。

 

それでは私は作業に戻ります。

お疲れ様でした。


追記
メイドの方が誰か知りたい人は是非ブースにいらして下さい。

拍手[0回]

学園祭も後数日。

UNI_0059.jpg


ども・・・・・
GES会長の和佐田雅史です。

 

 

いよいよ学園祭も明後日となりました。

PCのデコレーションや、素材の加工、ウィンダムの衣装等作成など色々頑張っています。

今回協力してくれている下級生や開発部メンバーには大変感謝の極みです。

 

デコレーションもほぼ完了し、明日は北野館一階に荷物運びを行うと同時にとウィンダムの衣装を完成させ、土曜日はプレイヤーの方々共々盛り上げて行こうと思います。

 

 

少しだけですが・・・ウィンダムの衣装を公開します。

明日はこれに色がつきます。


後ついでに言っておきますが、この人物は私ではありません。
誰か知りたい人は是非ブースにいらしてください。

それではお疲れ様でした。

拍手[0回]

FPS制御 ~概要編~

こんにちわ~

ども、ZAKIです

学園祭が間近ですね~

出し物をする人は忙しく動いていることでしょう

当日までがんばっていきましょー

GESでもゲームブースを出すので一度見に来てください


さて、今回のテーマは「FPS制御 ~概要編~」です。

ところでFPSとは何ぞや?

FPSはFramePerSecond(フレームパーセカンド)の略です

以上です。

……や、やだなぁ。冗談ですよ~

ゲームで一回の処理(計算と描画)をフレームと言います

そのフレームを1秒間に何回行うかを管理することをFPS制御というんですね~

たまに画面の端っこなどに「FPS 60」とか書いてあるのを見たことがありませんか?

あれは一秒間に60回処理をしているよ~という表記なのです。

なぜFPS制御をするのか?

例えば、

ゲームを作っているパソコンとゲームを行うパソコンが違う場合、

開発側のパソコンは1秒間に5回処理できます

プレイヤー側のパソコンは1秒間に10回処理できます

キャラクターが1回の処理で5進むとすると、

開発側のパソコンでは1秒間に25進みますが、プレイヤー側のパソコンでは50進みます

同じゲームなのに開発側とプレイヤー側とでキャラクターのスピードが違います。

開発側はキャラクターは1回の処理に5進むのが丁度いいと思っていても、

プレイヤー側にとってはスピードが速過ぎるということになります

これを1秒間に行う処理回数(FPS)を制御をして、どちらのパソコンでも1秒間に5回処理するようにすればいいわけです

さらに!

FPSをわざと下げてやれば、スローモーションを表現できたりも!?

と、いろいろと便利なので、是非やっておくべきだと思います。

特にデジタルワークスに出たいと思っている人は必要だと思います

デジタルワークスではゲームラボのパソコンを使うので、学生のノートパソコンとでは性能が段違いです

ラボでwait数値を手打ちで調整するよりもFPS制御をしておいたほうが断然楽ですし、発表前はバグとりなどで忙しいので、

今のうちからやっておいたほうがいいんじゃないでしょうか


次の機会には実際にやり方を解説しようと思います

この部分がわからない!

解説がおかしい!

など、コメントなどで指摘してくもらえれば、

修正、解説したいと思うのでよろしくお願いします

では、この辺で。

あでゅーノシ

拍手[0回]

本日のGES会議・現在の活動状況

どーも安井です。

今回の学園祭ではサウンド分野とのコラボレーションの一環として、

ゲームソフトコースの学生が作った作品映像にBGMをつけて頂き、

学園祭のブースで流す予定です。

また、ホールスタッフが現在ソニックホールで行うゲーム大会の

台本を作成しています。

 

GESの一二年生もポスターの作成や、

会場で使うデスクトップPCのデコレーションの作成等を行っています。

 

サウンド科とのコラボによって成り立つだけでなく、

初めてGES全体が一丸となって動く学園祭です。

皆さんの力で是非とも成功させましょう!

拍手[0回]

stlを利用したlistコンテナ

ども・・・・・・GES会長の和佐田雅史です。
一年生からリストコンテナを使いたいという要望があったので乗せておきます。


STLのリストコンテナを利用したプログラム

STLはスタンダードテンプレートライブラリと言い、C++に標準で入っているライブラリで、開発効率をかなり上げることが出来ます。

 

STLを利用する事によって変数の型に依存せずにプログラム組めるようになります。

例で言うとint型のリストchar型のリストが違うだけでアルゴリズムは同じです。そのアルゴリズムの部分だけを組んでおいて後から使用する変数の型を指定するプログラムの組み方がSTLの組み方になります。

             

今回はリストコンテナと言うものを利用したプログラムを解説します。

<>左のような括弧の中にで指定したリスト構造を勝手に作ってくれる便利なものをしようすることで一々手動でリスト構造を設計すること無く、自動生成をしてくれるものです。

 

ではまず宣言の仕方から説明します。

: 宣言の仕方

// int型のリスト構造を作成するプログラム

#include <conio.h>

#include <list>

 

// 名前空間stdを使用する

using namespace std;

 

int main()

{

        // 定義

list< int > intList;

 

              // 以下STLによるプログラム

 

return 0;
}
 

※作成するリストの型はintは勿論構造体やクラス等の型も指定できるのでリストクラス等を作成する場合などには便利です。

                  

 

格納の仕方

値を格納するにはpushbackメソッドを使用します。リストの末尾に要素を追加する事が出来ます。



 

//----------------------------------------------------

// 010までの値を格納する

//----------------------------------------------------

for( int i=0 ; i<=10 ; i++ )

{

    // pushbackメソッドで値を格納

    intList.push_back( i );

}
※同様にpopbackというメソッドを使用するとリストの末尾の要素を消す事が出来ます。
 

これで宣言が完了しました。

では次に値を参照するにはどうすればよいのでしょう?
通常ではリストを参照するには基本的にHeadからTailまでをポインタで参照しながら処理します。


ではここでリストの先頭と末尾を取得するメソッドを紹介しましょう。



 

// int型のリストコンテナの要素を参照する物

list< int >::iterator i_IntIterator;

 

// リストの先頭を取得します

i_IntIterator = intList.begin();

 

// リストの末尾を取得します

i_IntIterator = intList.end();

 

 

格納した値を参照するには?

格納した値を参照する時はiterator( イテレータ )と言うものを使います。

イテレータとは反復子と呼ばれ、ポインタのような動きをします。

 

宣言は以下のようにします。

list< int >::iterator 変数名;

 

// イテレータを宣言する : ポインタみたいなもの

list< int >::iterator i_IntIterator;


以上の事を踏まえると、以下のようなループになると思います。

 

// イテレータの参照が先頭から末尾で無いときイテレータは次を参照続ける

for( i_IntIterator = intList.begin() ; i_IntIterator != intList.end() ; i_IntIterator++ )

{

        printf("%d\n" , ( *i_IntIterator ) );

}
 

 

 

     ( *i_IntIterator )とはどういうことなのか?

ポインタが参照している値を弄るには*p = 10のようにアスタリスクを付けます。

同じように、( *i_IntIterator ) = 10とすると、

 

int型のイテレータが参照しているものの中身に10という値を代入する

 

という事になります。

因みにですが、変数のアドレスがほしい場合は

 

&( *i_IntIterator )

 

のような記述の仕方になります。

イテレータはポインタと同じような動きはしますが、ポインタではない(正確にはメンバでint型のポインタオブジェクトを保持している)ので直接アクセスする事が出来ません。

 

なので、

 

イテレータの中に格納されている変数の中身のアドレス

 

と言うように記述してやらないと、構文エラーになります。

 

以上でlistコンテナの説明は終わりです。
他のvectorやmapコンテナ等も同じようにiteratorを利用する事が多いので触る予定の人は今のうちに慣れておいたほうが良いでしょう。

 

因みにですが、これが使えるプログラマと使えないプログラマでは開発における効率の差が100倍近くあります。

業界でC++が必須の技術となっているので必ず使えるようになっておきましょう。

それでは今日の
 講義はここまでとします。お疲れ様でした。

 

拍手[1回]

ブログ内検索

最新コメント

[01/29 人面犬]
[10/01 8ch]
[09/12 uncle]
[09/10 某卒業生]
[06/07 uncle]

カレンダー

10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

テスト

Copyright ©  -- GESブログ --  All Rights Reserved
Design by CriCri / Photo by Geralt / powered by NINJA TOOLS / 忍者ブログ / [PR]