2017年12月25日

NIKO NIKO CINEMA!~ほっこり?クリスマス動画をあなたに

こんにちは!裏編です。
さて、今回のPCメディア情報は、「NIKO NIKO CINEMA!」と称して、ニコニコ動画にアップされている色々な動画を紹介していこうと思います。

さてさて。

メリークリスマス!

皆さんは、どんなクリスマスをお過ごしでしょうか?
今回は、クリスマスなので、クリスマスで検索して見つけてきた動画を紹介していこうと思います。
どうぞお楽しみください。

[今年のクリスマスは]いもようかん作るお[研究室で過ごす]


ニコニコではおなじみのジャンル、『作ってみた』系の動画です。
この動画の主、ほんとに手先が器用ですよね。 裏編なんか、いまだに包丁で皮むきできませんよ~(;_;
今年は、いいクリスマスを過ごせることをお祈りしております。

【ミク・リン・レン】あわてんぼうのサンタクロース【カバー】


ミク、リン、レンの三人のボーカロイドが、クリスマスソングの「あわてんぼうのサンタクロース」を歌ってくれます。
この歌、裏編も初めて聞いたのですが、とても楽しく愉快で、いかにもクリスマスという曲ですよね。
聞いてて楽しくなってきます。

最後に
今月の『NIKONIKO-CINEMA』はどうでしたか?
今月の動画を見て、楽しいクリスマスをお過ごしください~。

それではよいお年を~。 フガクク(某国民的主婦的

※次の更新は、1月15日。特集『役目を終えたPCを有効活用しよう!』と『パソレクのなく頃に』の予定です。お楽しみに!
posted by 裏編 at 09:22| Comment(0) | PCメディア情報 | このブログの読者になる | 更新情報をチェックする

2017年12月21日

LGP講座(かり~第5回 ユーザー関数について学ぼう!

yuu_bustup.jpg
優:こ、こんにちわ。柊優です……。こ、今回もよろしくね……。

airi_bustup.jpg
愛梨:結城愛梨ですっ。今回もよろしくねっ。

haruka_bustup.jpg
陽香:永乃原陽香です。よろしくお願いしますね。

yuu_bustup.jpg
さ、さて、今回は、ユーザー関数について説明するよ。よろしくね……。

~ユーザー関数の書き方

yuu_bustup.jpg
さて、愛梨ちゃん。関数ってわかるかな?

airi_bustup.jpg
うんっ。サブルーチンの親玉みたいなものでしょ?

yuu_bustup.jpg
うん、その通りだよ。ひとまとまりの処理をまとめて、呼び出せるようにしたもので、関数はその中でも、処理の結果を返すもののことを言うんだ。

haruka_bustup.jpg
返さないものは、LGPでは、サブルーチン、または、サブモジュールと言うんですよ。

airi_bustup.jpg
へぇ~。それで、どう使えばいいの?

yuu_bustup.jpg
関数の処理は、FUNCとENDFUNC文ではさまれた間に書くんだ。FUNC文はこう書くんだよ……。

-------------------------------------------------------
FUNC 戻り値を入れる変数名 関数名 (引数名1,引数名2…)
例 FUNC aaa test1(bb1,bb2)
※斜めの文字は、省略できることを表しています
-------------------------------------------------------

airi_bustup.jpg
引数というのは、呼び出し元から、関数に渡す値のことだよね?

yuu_bustup.jpg
うん、そうだよ……。呼び出し元から渡された値は、ここに書かれたのと同じ名前の変数のようなものに格納されるんだ……。なお、引数が必要ないときは、省略してもいいんだ……。

haruka_bustup.jpg
さて、関数の処理は、ENDFUNC文まで進むとそこで終わり、呼び出し元に戻るんですけど、RETURN文を入れると、そこで終わらせて呼び出し元に戻すこともできるんですよ。

airi_bustup.jpg
へぇ、なるほど~。 それで、関数を呼ぶには、どうすればいいのかな?

yuu_bustup.jpg
うん、それには、次の二つの方法があるよ……。

--------------------------------------------------------------
方法1:
 変数名 = 関数名(引数1,引数2…)
 例1 modori1 = test1(5, 3)
  …関数test1を5と3を引数として渡して呼び出す。
   関数の処理の結果は、変数modori1に格納される。
 例2 modori2 = test2()
  …引数を何も渡さず、関数test2を呼び出す。
   処理の結果は、変数modori2に格納される。
方法2:
 関数名(引数1,引数2…)
例 test3(a, b, c)
  …変数a、b、cの内容を引数として渡し、関数test3を呼び出す。
   処理の結果は返されない。
---------------------------------------------------------------

haruka_bustup.jpg
例2のように、引数が必要ない関数の場合は、引数を省略していいんですよ。

airi_bustup.jpg
なるほど~。

yuu_bustup.jpg
このほかにも、関数を使うにはいくつかの制限があるけど、それはマニュアルを読んでみてね……。

airi_bustup.jpg
は~い。

~グローバル変数ってなに?

airi_bustup.jpg
そういえば優ちゃん。今までの説明を聞く限りでは、処理結果は1つしか返せないようだけど、複数の結果を返すにはどうすればいいの?

yuu_bustup.jpg
うん。そんなときには、他に変数を介して返せばいいんだ……。つまり、他の変数に結果を入れて、その変数を呼び出し元で使えばいいわけだね……。

airi_bustup.jpg
なるほど~。よし、それじゃさっそく……。

haruka_bustup.jpg
あ、ちょっと待ってください愛梨ちゃん。ただ変数に結果を入れるだけではダメなんですよ。

airi_bustup.jpg
ほえ? どういうこと?

yuu_bustup.jpg
普通の変数は、ローカル変数といって、その関数などの中のみで有効な関数なんだ。だから、その外からでは使うことはできないんだよ……。

lgp1712-01.JPG

airi_bustup.jpg
え~。そしたら、どうすればいいの?

yuu_bustup.jpg
うん。その変数をグローバル変数にすればいいんだ……。グローバル変数は、どこからでも使うことのできる変数なんだよ……。

haruka_bustup.jpg
グローバル変数は、普通の変数とは違って、事前に宣言していなければなりません。それには、STATIC文を使います。

-----------------------------------------------------
STATIC 変数
例1 STATIC ABC
 …変数ABCをグローバル変数として宣言する。
例2 STATIC DEF$
 …文字列変数DEF$をグローバル変数として宣言する。
例3 STATIC GHI(5,3)
 …5x3の配列変数GHIをグローバル変数として宣言する。
-----------------------------------------------------

haruka_bustup.jpg
このように宣言された変数は、どこからでも使うことができるんですよ。

airi_bustup.jpg
なるほどー。

yuu_bustup.jpg
それじゃ、ここで愛梨ちゃんに問題だよ。
関数を使って、二つの変数の数の足し算と引き算の答えを返すプログラムを作ってみて……。

airi_bustup.jpg
はーい。 カタカタカタ……。

------------------------------------
STATIC WA
STATIC SA

A=6
B=4
TASIHIKI(A,B)

SC=G@SETUP(640,480,16,1)

LOOP
 G@PRINT(SC, 320, 240, STR(WA))
 G@PRINT(SC, 320, 280, STR(SA))
 G@FLIP()
 S@SLEEP(1000) //1秒停止
ENDLOOP

FUNC TASIHIKI(TA,TB)
 WA=TA+TB
 SA=TA-TB
ENDFUNC
------------------------------------

airi_bustup.jpg
できたよー

haruka_bustup.jpg
それじゃ、実行してみてくださいね。

airi_bustup.jpg
はーいっ。

lgp1712-02.JPG
airi_bustup.jpg
やったぁっ、ちゃんとできたよっ。

yuu_bustup.jpg
うん。さて、ここで注意するべきところは、値を返す関数のときは、ちゃんと上の方法1のやり方で、返さない関数の場合は方法2のやり方で関数を呼ぶこと。間違えると、エラーが出ちゃうから注意してね……。

airi_bustup.jpg
はーい、わかりましたーっ。

yuu_bustup.jpg
それじゃ、今月はここまで……。
次回は、いよいよグラフィックの基本を勉強していくよ……。

airi_bustup.jpg
やったぁっ、次回が楽しみだねっ。

haruka_bustup.jpg
次回も楽しんでいきましょうね。
それでは、ごきげんよう。

yuu_bustup.jpg
また次回……。

airi_bustup.jpg
またね~

※次の更新は、12月25日、マルチメディア情報の予定です。お楽しみに!
posted by 裏編 at 09:07| Comment(0) | LGP講座(かり | このブログの読者になる | 更新情報をチェックする

2017年12月19日

URAURA!Game Review:ファイナルファンタジーⅢ(リメイク版)

さて、今回ご紹介するゲームは、リメイク版ファイナルファンタジーⅢ。ファミコン版の同ゲームを、ニンテンドーDSやPSP、スマホなどにリメイクした一作である。

今回はこの作品について、ファミコン版とどう変わったかをメインに、レビューしていこうと思う。

~うらうらチェックその1! 『キャラクター設定がなされた!』~
ファミコン版では、主人公キャラ四人には、特に設定はなかった。ただ、『村に住む孤児四人』という簡単な設定だけであった。
一方リメイク版では、この四人にそれぞれ細かい性格づけがなされた。

主人公の、好奇心旺盛な、いかにも主役といった感じの孤児、ルーネス。
その幼馴染でおとなしく、本を読むのが好きなアルクゥ。
お転婆な鍛冶屋の娘、レフィア。
沈着冷静で、サラ姫に思いを寄せる城の兵士、イングズ。

このように、それぞれ四人に別々の設定がなされるようになったのだ。なお、名前は変更可能である。
このように設定がなされることで、プレイヤーはキャラクターや物語に感情移入しやすくなり、さらに物語もより深化するように、よりドラマチックになったのだ。

さらにそれにともない、各ジョブにチェンジしたときの姿も、各キャラクターごとに設定されている。

これはささやかながらも、大きな改良点のひとつと言えるだろう。

~うらうらチェックその2! 『ジョブチェンジ!』~
さらにジョブチェンジシステムにも手が加えられている。
かつて、旧ベーマガで有名な山下章氏は、旧ベーマガの中で、FF3についてこのように述べている。

ただ一つの不満は、最終的な職業編成が、どうしても同じようになってしまうので、どの職業でもエンディングを迎えられる幅を、もう少し持たせてほしかった

ちなみに、最終的な職業編成とは、山下氏は具体的には言ってなかったが、ラストダンジョン時の、忍者と賢者の組み合わせのことだろう。確かに、全ての武器防具を扱え、強力な手裏剣を扱える忍者、全ての魔法を覚えられる賢者。この二職業はとても強力で、ほとんどのプレイヤーが最終的には、人数の違いこそあれ、この忍者と賢者でパーティを編成していたのではなかろうか。

だが、ジョブ選択の自由がポイントであるFF3をプレイするなら、ラストバトルまで自分独自のパーティ編成でクリアしたいと思っている方も多いことだろう。おそらく山下氏は、そのことを述べていたのだろう。

その山下氏のレビューや、他のプレイヤーの意見を反映したのか、リメイク版では、ジョブのバランスがかなり見直されている。
強かったジョブは、性能を抑えられ、弱かったジョブは、逆に戦闘に役立つ方向にバランス調整されたのだ。
もちろんそれは、前述の忍者や賢者も例外ではない。(忍者は、装備可能な装備の数が減ってFF5の忍者に近い感じになり、賢者は全ての魔法が扱える代わりに、使用回数や能力が他のジョブに比べて劣るようになっている)
これによって、各ジョブの差が縮まり、自由にパーティを組んでクリアできる自由度がより高まったといえる。
FF5に近くなったといえばいいだろうか。

さらに、FC版では、キャパシティポイントを消費してジョブチェンジしたが、DS版ではポイント制ではなく、ジョブチェンジ直後に実力を十分に発揮できない期間を設けるシステムになっている。これによって、さらにジョブチェンジの自由度が高まったといえるだろう。

~それだけではない!~
この二つが裏編が目をつけたポイントであるが、この他にも、ポリゴンによる3Dになったり、オープニングムービーがついたり、モグネットなどのお楽しみ機能がつけられていたりと、原典であるFC版に比べて、かなりパワーアップされている。
しかもそれでいながら、FF3独自の面白さは少しも色あせていない。
ストーリーや、バトルなどの面白さはあのままなのだ。きっとプレイしていくうちに、FC版をプレイしたのと同じ感動や面白さを味わうことができるだろう。

あえて言おう。
FF3はリメイクされて、究極版となったのだ。

では最後に、聖戦士ダンバインに出てきたセリフから引用して一言。

リメイク版FF3をプレイした者は幸せである。

※次の更新は、12月21日、LGP講座(かりの予定です。お楽しみに!
posted by 裏編 at 09:39| Comment(0) | その他のゲーム情報 | このブログの読者になる | 更新情報をチェックする

2017年12月14日

師匠のJava道場~第4回・繰り返しの命令!forとwhileじゃ!

師匠T:はああああ! 見よ、B-Magaはっ!

弟子D:赤く萌えているぅぅぅぅぅ!!

師匠T:ふぅ、いい汗をかいたのう、弟子よ。さて、今回のJava道場は繰り返しの命令について説明していくぞ。

弟子D:おぉっ!

師匠T:それでは、いくとするぞ!!

▽まずはfor文じゃ!▽

師匠T:まずは、for文から説明していくとするぞ。これはこのように書く。

===============================================================
for (カウンタ変数の初期化;ループの継続条件;カウンタ変数の変化)
例:for (int i=0;i<10;i++) {

}
===============================================================

師匠T:まずは、カウンタ変数の初期化から説明していくぞ。これは、継続条件となる変数に最初の値を入れるところじゃ。書き方は、通常の変数の代入と同じじゃ。例でいえば、変数iに0を入れておるわけじゃな。

弟子D:ふむふむ。

師匠T:なお、例ではintが頭についておるが、既に変数が宣言されておる場合は、別につける必要はない。

弟子D:なるほど、わかりました。

師匠T:では次、ループの継続条件じゃ。こちらは、条件を書くのじゃが、for文は、この条件が満たされている間、{と}の間の処理を繰り返すのじゃ。

弟子D:ということは……。

師匠T:うむ。条件が成立しなくなったら、繰り返しから抜けるというわけじゃな。上の例でいえば、iが10未満の間、繰り返す。つまり、iが10以上になったらループを終えるわけじゃ。

弟子D:なるほど。そしてカウンタ変数の変化はそのまま、ループの最後まで行ったときに、変数の値を変える処理を書くわけですね?

師匠T:……。

弟子D:ど、どうされましたか?

師匠T:まさか、おぬしがそれをわかるとは……。誰じゃ、弟子の脳をいじくった者は!?

弟子D:……。

師匠T:こほん。おぬしの言うとおりじゃ。例でいえば、ループの最後まで行ったあと、変数のiの値に1を足すわけじゃ。

弟子D:なるほど……あれ?1を足すのなら、i=i+1なのでは?

師匠T:おぉ、それを説明し忘れておったの。++はインクリメント演算子と言って、左辺の変数に1を足して、その値をそのままその変数に入れる、という処理をする演算子なのじゃ。これに似たものとして、1を引いて入れるデクリメント演算子というのもあるぞ。こちらは--じゃ。

弟子D:なるほど。

師匠T:なお、for文のこれらの記述は全て省略してこのように書いてやることも可能じゃ。

===================
for (;;) {

}
===================

弟子D:こうするとどうなるのですか?

師匠T:うむ。終了条件も何もないので、ループを永遠に繰り返すことになるぞ。

弟子D:うわ、それはとても困るのでは。

師匠T:心配はいらぬ。breakを入れれば、そこでループから抜ける。これを、条件分岐と組み合わせてやればよいのじゃ。

弟子D:なるほど。終了条件を満たしたときに、break文を実行するように、if文を書けばいいわけですね。こんな風に。

===================
for (;;) {
  if (i>10) {
    break;
  }
}
===================

師匠T:うむ、その通りじゃ。では次に進むぞ。

▽while文じゃ!▽

師匠T:さて、次はwhile文じゃ。これも、forと似ており、条件式が成立している間、{ と } の間の処理を繰り返す、というものじゃ。このように書くぞ。

===================
while (条件式) {

}
===================

師匠T:また、これと似たようなもので、do~whileというものもある。

===================
do {

} while(条件式)
===================

弟子D:この二つはどう違うのですか?

師匠T:条件式が成立している間繰り返すというのは、先のwhileと同じじゃ。ただ、このdo~whileの場合は、条件が成立していなくても、最低一回だけ繰り返す、というところが違うのじゃ。

弟子D:なるほど。うまく使い分けることが肝要ですね。

師匠T:そうじゃな。

▽breakとcontinueについて▽

師匠T:最後に、breakともう一つ、continueについて教えておこう。breakについてはわかっておるな。

弟子D:はいっ!……えーと、なんでしたっけ?

師匠T:たわけがっ!!(飛び蹴り)

弟子D:うわぁっ。

師匠T:おぬしの頭は容量が1KBしかないのか。breakを実行すると、そこでループを終了し、} の次の命令に処理を移すのじゃ。

弟子D:な、なるほど。それではcontinueは?

師匠T:うむ。こちらは、実行されると、そこでループの先頭に戻って次の繰り返しを始めるのじゃ。図にするとこうなるぞ。

java171213-01.jpg
▲ break

java171213-02.jpg
▲ continue

弟子D:なるほど。こちらも使い分けることが肝要ですね。

師匠T:うむ、その通りじゃ。さて、次回は、繰り返しと組み合わせて使うと強力な配列について説明するぞ。復讐をしっかりとやっておくがよい。

弟子D:あの、師匠。ふくしゅうの字が違います。

師匠T:気にするな。



※次回の更新は12月18日、URA URA GAME REVIEW!の予定です。お楽しみに!
posted by 裏編 at 09:31| Comment(0) | 師匠のJava道場 | このブログの読者になる | 更新情報をチェックする

2017年12月11日

ワンキーでベストラップを目指せ!『Switch Lanes』

free-171211-01.JPG

レースゲームには、色々なものがありますよね。
F-ZEROのようなエアカーによるSFレーシングや、リッジレーサーのような、ポリゴンのリアルレーシングとか。

フリーゲームにも、色々なレースゲームがありますが、今回紹介するSwitch Lanes(すいれん)は、一味変わったレースゲームです。
というのも、このすいれんは、ワンキーレースゲームなのです。

■■■ゲームのシステム
先ほども紹介したとおり、このすいれんで使うキーはZかスペースのどれかひとつだけ。
このキーを押すと、マイカー(?)は加速し、離せば減速するようになっています。
でも、これだけだと、ただ押していればいいという気がしますよね? そこまで世の中甘くありません(笑

■■■同時に覚えゲー
コースの各所にはジャンプ台があります。 そこからジャンプできるわけですが、当然のことながら、加速がついてる状態で飛べば遠くまで飛び、そうでなければ、近くまでしか飛びません。

free-171211-02.JPG
▲ そーれ、ジャンプ!

さらにコース各所には、加速できるリングと、減速リングも配置されており、さらに複数のレーンが縦に並んでいるところもあります。

free-171211-03.JPG
▲ コースを間違えると、このようなドツボなコースに・・・(青リングは減速)

つまり、ベストなルートを覚え、そこを通るための最適な速度操作を覚え、そのとおりに操作することも必要になってくるのです。
ワンキーながら、なかなかゲーム性がありまくるレースゲームじゃありませんか!

■■■走ってみての感想

やはり、面白いゲームでした。ただ加速すればトップに立てるというわけではなく、何回も走りこんでコースを覚えなくてはならないことは、他のレースゲームと同じ。 さらに、ワンキーというシンプルさが、その面白さをさらに加速させます。
さらに、通常はライバルカーも出てきますが、それらを登場させないようにして、いわゆるフリー走行もできるなど、ユーザーへの配慮もばっちりです。
コースもとても作りこまれていて、なかなか面白いです。

そうそう、このゲームはキーボードにしか対応していないので、JoyToPadのような、ジョイパッドの入力をキー入力に置き換えるツールを使うと、さらにプレイしやすくなりますよ。

この『すいれん』、読者の皆さんもプレイしてみてはどうでしょうか?^^

Switch Lanesは TERU-soach. 氏の作品で、こちらからダウンロードできます!

※次の更新は、12月14日、師匠のJava道場の予定です。お楽しみに!
posted by 裏編 at 09:30| Comment(0) | その他のゲーム情報 | このブログの読者になる | 更新情報をチェックする