明日への断片

ゲーム制作やプログラミング関する記事を中心に更新していこうと思います。

37欠片目:私とバイトと体調不良

こんにちは。見当たらなくて必死で探したiPhoneを鳴らしてみたら、鞄のわきにちょこんと置いてあっていろいろとがっかりしたvoidです。

本日は日記(のようなもの)です。

学生スタッフ研修

 オープンキャンパスや体験入学などをお手伝いする、学校のアルバイトスタッフを務めさせていただくことになりまして、本日は初めて実際のお仕事の研修がありました。自分も本校のオープンキャンパスには何度か参加していたので、懐かしいなぁと思いながらも実際のお仕事の内容を学んでいくことが出来ました。


 前半まではそれで問題なかったのです...


お昼が近づいてきたころ、突然「なんか体調悪いなぁ...」と感じて、少し座らせてもらって研修を続けていました。



「...これなんかヤバい...」



そしてそのままどんどん悪化していく一方で、最終的に今まで感じたことのない吐き気のようなものと腹部の痛みに襲われました。
(この時の苦痛の印象が余りのも強かったので、ブログのネタにしようと思いました。)



しかし、その後お水を飲んで10分ほど休んだら何事もなかったかのように回復しました。ふと思い出すと前日の朝から飲み物を飲んでいなかったような気がしてきました...

教訓

 水分補給、しっかり

精神的治療

 今回も若干そうだったのですが、お腹が痛くなったときなど、体調不良で苦しいときは、頭の中がどんどんマイナス思考に埋め尽くされてより苦しくなっていくような気がします。そこで自分は、無理やりにでも楽しいことを考えるようにしています。
「今苦しくても、どうせちょっとしたら治るさ」とか、「あんな思いで楽しかったな」(決して走馬燈ではない)とか、「これからはあんなこともやってみたいなぁ」(決して死亡フラグではない)とか、無理やりポジティブな思考を作り出すことで、比較的緩和されている気分になれます。


実際、プラシーボ効果というものが存在しているように、自己暗示や気の持ちようで何とかなるんじゃないかなと思っています。


でも、本当にヤバいときはちゃんとしたお医者さんに見てもらうのが一番だと思います

これからはしっかり体調を整えて挑んでいきたいと思います。
皆様もお体にはお気をつけて下さいませ。

本日は以上。ではまた!

36欠片目:最近面白かったゲームアプリ

 こんにちは。5日ほど前に止まった時計が今日ようやく電池交換で動き出し、安らぎを覚えるvoidです。
気が付けば3月も後半に入り、色々なことに焦燥感を覚えています...


本日は自分が最近遊んで、面白いなぁと思ったゲームアプリを3つ紹介していきたいと思います。

シェアハウス

f:id:yasu-game-void:20170317003859p:plain

 シェアハウスの住人兼管理人の主人公が、同じシェアハウスに住んでいる住人から命を狙われその犯人を探し出す推理型のノベルゲームです。
 主人公はある晩何者かに襲撃され、住人の中の誰かが自分を殺そうとしていることを知ります。そこで住人たちの部屋に隠しカメラを設置して監視し、情報を集めながら犯人を探し出します。

 容疑者である住人たちは、それぞれかなり個性的でストーリーとしても面白いですし、謎解き部分もしっかりとできていてとても面白かったです。無料で最後まで遊べて、1、2日あればエンディングまでたどり着けるので、とても手軽に遊べます。

トライビットロジック

 

f:id:yasu-game-void:20170317003922p:plain


 ビット演算を使ってバグを撃退するパズルゲームです。
OR や NOTなどのビット演算を上手く使って、4つのビットを持つ敵を「1111」か「0000」にして撃退します。
ビット演算の基礎も学べて、パズルとしても程よい難易度になっていると思うので、パズル好きの人はハマってしまうかもしれません。

Evoland

 

Evoland

Evoland

  • Playdigious
  • ゲーム
  • ¥600

f:id:yasu-game-void:20170317003933p:plain

一見ただのRPGかと思うかもしれませんが違うんです。このゲームなんと、ゲームを進めれば進めるほど、ゲーム自体が進化していくのです!
 どういうことかというと、はじめは2Dの白黒のドットrpgなのですが、宝箱を開けるたびに、色や音を手にれたり、3Dになったり、システム機能が追加されたりと、ゲーム自体が過去から現在に近づくように進化していくのです。
 また、ただ進化システムだけが面白いというわけでもなく、ストーリーやバトルや謎解きもしっかりと用意されていて、ゲームの進化を味わいながらゲームを楽しむことが出来ます。


アプリゲームはソーシャルゲームだけじゃない

 スマホのアプリゲームというと、つい課金ソーシャルゲームが思い浮かんでしまいがちですが、それ以外にも面白いアプリはたくさんあるのです。面白いものにはそれなりの『理由』があるはずなので、それをコツコツと自分の中にため込んでいきたいなぁという大義名分の下、色んなゲームを遊んでいきたいと思います。
おもしろゲームを見つけたらまた紹介していきたいと思います。

本日は以上。ではまた!
 

35欠片目:アスキーコードで 文字⇔数字

 こんにちは。甘党でもあり辛党でもあるvoidです。基本的に食べ物は何でも好きです。


本日は、地味に役立つアスキーコードについて書いていきます。

文字は計算できる?

/*test01.c*/
#include <stdio.h>

int main(void)
{
	int a = 2;
	int b = 3;

	printf("%d+%d = %d\n", a, b, a + b);
	return 0;
}

 上記はC言語の基本的なプログラムで、整数同士の計算を行っています。


実行結果はこのようになります。
f:id:yasu-game-void:20170315235142j:plain


ごく自然な結果です。このように整数の計算は問題なく行えます(むしろこれが出来なかったら問題アリですが...)


では、文字同士を計算するとどうなるのでしょうか?

/*test02.c*/
#include <stdio.h>

int main(void)
{
	char a = 'A';
	char b = 'B';

	printf("%c+%c = %c\n", a, b, a + b);

	return 0;
}


実行結果はこちらです。
f:id:yasu-game-void:20170315235644j:plain

なるほど、AとBを足すと・になるそうです。

...これでは上手くいっているか分かりません。


では、文字と数字はどうでしょうか?

/*test03.c*/
#include <stdio.h>

int main(void)
{
	char a = 'A';
	int b = 1;

	printf("%c+%d = %c\n", a, b, a + b);

	return 0;
}


実行結果はこちらです。
f:id:yasu-game-void:20170316000158j:plain


...おや。

Aに1を足すとBになるそうです。これは何か関係がありそうですね。
実際、Aに2を足すとCに、3を足すとDになります。

種明かし編

 実は文字は内部的には整数値で扱われています。そのためAに1を足すとAの数字の次の数値であるBとなったわけです。

test03.cのプログラムで、char型を標準出力するときに「%c」ではなく「%d」を使って表示してみると
f:id:yasu-game-void:20170316000941j:plain
こんな感じになります。

'A'は内部では65として扱われているようです。




お待たせしました。ここでようやくアスキーコードの説明に入ります。
アスキーコードとはこのように文字や数字や記号を整数値に割り当てた文字コードのことです。

【定期】いつ使うの?

 文字を数字にしたところでどうなるのって思うかもしれませんが、これはとある場面で非常に重要な役割を果たします。

それはいつかというと、ファイルからデータを読み込むときです。
プログラムで扱うデータをプログラム内に書くこともできますが、データは別のファイルから読み込めるようにしておくと何かと都合がいいのです。ゲームでいうと、セーブデータやマップデータなどが想定されます。

例えば、セーブデータをテキストで保存して「プレイヤーのレベル = 1」というデータがあるとします。
その「1」の部分を使おうとファイルから読み込んだとしても、それは文字としての「1」でしかありません。


ここで、アスキーコードを使うことで文字の「1」数字の「1」に変換してあげることが出来るのです。



アスキーコードから整数値に変換するにはatoi関数(ascii to integer)を使用します。
atoi関数を使うにはstdlib.hをインクルードする必要があります。

引数はchar型のポインタ(文字列)で、戻り値は変換された整数値を返します。変換不能な場合は0を返します。

char* data= "1";
int player_level= atoi(data);

これで、文字を数値に変換して扱うことができます。




因みに、sample02では足した数字がコードが用意されている127よりも大きくなてしまっていたので、残念ながらA+Bが・というわけではないようです。


ASCII

 最後にASCIIコード表のリンクを貼っておきます。
本日は以上。ではまた!

34欠片目:お金より大事なもの

 こんにちは。未来よりも今を優先してしまうvoidです。そんな刹那主義が災いして今の金欠がもたらされているのは言うまでもなく明白です...
 

 今日はお金よりも大切な何かを守り抜いたお話です。

友を選ぶか金を選ぶか

 つい先日、正しい選択についてのブログを投稿しましたが、今日早速、比較的重要な選択を迫られてきました。

中学生時代の仲が良かった同級生が何人かが集まっているということで、学校での作業終えた私は合流することにしました。(思えばこの選択が間違いだったのかもしれません)
 普通に駄弁って終わりだと思っていたのですが、その後カラオケに行こうという話になりました。自分はお金がないからと断ったのですが、それでも強引に誘われてしまいました。また、さらにその後夕飯も食べるという話がありました。


ここで、自分の中に葛藤が生まれます。せっかく友達に誘われているのだからお金的には無理をしてでも行くべきではないだろうか?
同級生たちは、大学に進学していたり、就職していたりで会える日は限られています。とは言え、この機を逃したら、次の機会は2度とこないというわけでもありません。

私は短い葛藤時間の後、行くことに決めました。
やはり、今を楽しみたという感情が前面に出てきてしまったのです。結果、幾ばくかの金銭を消費して、友人たちと楽しいひと時を過ごすことが出来ました。私はこの選択が正しかったということを信じています...


 結論、お金は大事。友達はもっと大事


本日は以上。ではまた!

余談

 夕飯はサイゼリヤでした。ミラノ風ドリア美味しかったです。懐にも優しいので大好きです。

33欠片目:百人一首のお話

 こんにちは。学校の奨学生試験の結果、一定の学費免除を頂くことが出来て嬉しいvoidです。
奨学生と小学生ってイントネーションでの区別が難しいですよね...


今日は、何の脈絡もなく百人一首の事について書こうと思います。

百人一首

 自分は、小学校の5,6年生の時のクラブ活動で百人一首クラブに参加していました。人数はまぁ、他のクラブと比べて少ない方でしたね。
学校のクラブでやろうと思ったきっかけは、それまでは正月に祖母の家(市内)に行ったときにやったことがある程度だったのですが、3年生の頃に学年での百人一首大会があり、友達とどっちが先に全部覚えられるか競争になり、気づいたら全部覚えることが楽しくなっていて、百人一首自体も面白いと思うようになっていたからです。

 ところで、百人一首の知名度はどのくらいあるのでしょうか。お正月とかにはテレビのニュース番組で取り上げられていた記憶がありますが、近年は正月にテレビを見ないので分からんとです。
 最近では『ちはやふる』という作品で取り上げられているようですが、見たことがないので何とも言えません...


 簡単に言うと「かるた遊び」なのですが、平安、鎌倉時代に生きた歌人の優れた短歌をまとめたものでもあるのです。小学生のときは意味なんか考えずにひたすら文字とリズムだけで覚えていましたが、中学生のときにで改めて意味を調べてみたときに、当時の人々の心情が描かれていて面白いなぁと思いました。一番多いのは恋愛関係の歌だったりもします。

一字決まり句

 ここで、百人一首を実践するとき(恐らくないと思いますが...)に役立つ知識を紹介します。
プロ(?)の人たちは、読み手の人が読み始めた瞬間に『シュターン!!』と手を出していますが、あれに近づくためのものです。

一字決り句とは読んで字のごとく、「一字で決まる句」なのです。

何文字か読めば、上の句を読み切るまでもなく下の句を特定できてしまうのが、百人一首の特徴ともいえます。
それが、一文字で決まってしまう句が一字決まり句です。

具体的には、「む・す・め・ふ・さ・ほ・せ」この文字で始まる7句です。

む→  村雨の 露もまだ干ぬ 槇の葉に 霧立ち上る 秋の夕暮れ

というように、「む」と読まれた瞬間に、「きりたちのほるあきのゆふくれ」を取ればいいのです!(取り札は昔の仮名遣いがされていることが多いです)

是非とも今回は、「むすめふさほせ」だけでも覚えてもらえれば幸いです。(謎の売り込み)

す→ 住の江の 岸による波 よるさへや 夢の通ひ路 ひとめよくらむ
め→ めぐり逢ひて 見しやそれとも わかぬ間に 雲がくれにし 夜半の月かな
ふ→ 吹くからに 秋の草木の しをるれば むべ山風を嵐といふらむ
さ→ 寂しさに 宿を立ち出でて 眺むれば いづこも同じ 秋の夕暮れ
ほ→ ほととぎす 鳴きつる方を 眺むれば ただ有明の 月ぞ残れる 
せ→ 瀬を早み 岩にせかるる 滝川の われても末に 逢はむとぞ思ふ


本日は以上なりけり。ではまた!

32欠片目:ゲーム制作に便利な数学関数~atan2編~

 こんにちは。座右の銘は『人畜無益』のvoidです。
今回は唐突に数学関数紹介の続きをやっていきたいと思います。

おさらい

数学関数を使うときは、

#include <math.h>

が必要でしたね。

atan2(エータンツ―)

 このatan2というのは、2個の引数(y, x)を基にアークタンジェントを計算するというものです。

簡単にまとめると2つの座標から角度(ラジアン値)を求めることが出来るというものです。

注意点としては、引数の順番が(y, x)と、yが第1引数に来ることです。普通の座標系に慣れているとついxが先に来てしまうので要注意です!


角度が分かりやすいように、縦が2横が2の直角二等辺三角形の角度計算を例に挙げてみます。

#include <math.h>
#include <stdio.h>

int main(void)
{
	float x = 2.0;
	float y = 2.0;

	float angle = atan2(y, x);      // 角度をラジアン値で求める

	angle = angle * (180 / 3.141592);   // ラジアン値を度数法に変換する

	printf("%.2f", angle);


	return 0;
}
実行結果:
45.00


f:id:yasu-game-void:20170313012439p:plain

図で表すとこんな感じになります。



このことを応用してあげると、プレイヤーの座標と敵の座標から、「敵がプレイヤーから見てどの方向にいるか」を調べることが出来ます。


f:id:yasu-game-void:20170313013422p:plain

プ:プレイヤー

プレイヤのx座標,y座標をそれぞれplayer.x,player.yで表し、
敵のx座標,y座標をそれぞれenemy.x,enemy.yで表すとします。


このように、2つのオブジェクトの座標の差を使うことで、上の図と同じように角度を導き出すことが出来ます。ホーミングとかに使えそうですね!

お疲れ様でした。疲れました。

 本日は以上です。ではまた!

31欠片目:正しい選択

 こんにちは。嫌な予感は80%的中するvoidです。
たまに予知能力でもあるんじゃなかろうかというレベルで的中するのですが、これって誰にでもあることなんでしょうか...?


今回は雑談と言いますか、最近思ってること感じてることを吐き出す感じです。

正しさとは何か

 私たちが普段生活していく中で「選択」というものは必ず訪れるものだと思います。そしてその選択というものは往々にして、「正しい選択」が求められています。その「正しい選択」ができないと、失敗と呼ばれたり、間違いと呼ばれる結果がもたらされるのです。その失敗や間違いは、自分の不利益や損へとつながっていき、困難や苦労が生じていきます。

 


 しかし正解のない選択、またはどの選択が正しいか分からない選択というのもたくさん存在しています。
例えば、朝食を終えて先に着替えをするかそれとも先に歯を磨くか、という小さな選択や、将来の就職先や進学先を決めるといった進路を決める大きな選択もあると思います。

前者の場合、どちらが正しいということもないでしょうし、殆どの場合どちらを選んでも後に影響することはない思います。

後者は、今後の人生を大きく変化させるような選択です。その進路が正しかったどうかは、実際に進んでみてからでないと判断はつかないので、選んだ瞬間には正しいかどうかは分からない選択です。(そしてもうすぐ自分の前に立ちはだかる壁でもあります。)



 さらには、「正しい選択」をするということ自体が「間違った選択」だったりすることもあります。例えば、ある集団で過半数以上がルール違反を犯しているような場合、それを注意するという選択自体は正しい筈ですが、結果、多勢に無勢で言い負かされ、注意をした側が不利益を被るケースは少なくはないはずです。(実体験)



 小学校や中学校という場所は、用意された答えを苦労して見つけ出す大切さを学んだり、正しい答えを導き出すための力を付けるような場所だったなぁとも思ったりします。(高校は中途退学してるのでよく分からなかったですが...)
それも大事だなぁとは思いますが、恐らく世の中には正解がない選択の方が多くて、そういう選択の方が生きていく上で重要だったりするんじゃないかなぁと思ったりするのです。



などということを

 最近は考えるようになってしまっています...
先のことなんか考えずに無邪気に生きていた小学生(低学年)の頃が懐かしいです。
頭空っぽの方が夢詰め込めるんですね。

何が正しいか分からないことが多くなってきたように感じる今日この頃ですが、せめて悔いのない選択をして生きていきたいなぁと思っております。本日は以上。ではまた!