明日への断片

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

26欠片目:100%成功する雨ごいの話

 こんにちは。「雨男」でも「晴れ男」でもなく、「望まざる天気」男のvoidです。

晴れてほしい!→大雨...
雨降って欲しい!→雲一つない快晴...

前世は一体どれだけの悪行を働いたのでしょうかね...

100%

 タイトルの「100%成功する雨ごいの話」、ご存知の方もいるかもしれませんので早速種明かしをすると、雨が降るまで祈り続けるのです

はい、これで100%です。絶対成功です。なぜなら成功するまで祈っているのですから。


これを、近代的かつゲーム的な例で言うと、
ソーシャルゲームのガチャで、欲しいキャラを絶対に引く』と同じです。


出るまで引く。


っていう考え方と同じですね。そこはかとなく危険な香りがします。


しかし、この考え方は何かを成功させたいときに、非常に大切な考え方だと思います。(※注)課金しようっていうお話ではありません。

途中で諦めてしまっては、成功するものもしなくなってしまいます。
していないことを達成させるというのは不可能に近いです。買っていない宝くじを当選させるようなものです。


何が言いたかったというと

 失敗に恐れず色んな事に挑戦して、成功させるまで続ければいいんじゃないかということです。最後に成功させれば勝ちなのです。

とは言え、社会に出るとこうも言っていられません。ただ成功させるだけでなく、期限や手法など様々な制限を満たす必要があり、失敗すれば他者からの信用を失い、自分の不利益へと繋がります。(こういう文章は書いてるだけで気が重くなります...)

しかし、だからこそです。学生としていられる期間だけでも、色んな事に挑戦していきたいです。





今回は、自分に喝を入れるブログでした。


余談

 余談①
今回のタイトル、『ソーシャルゲームのガチャで欲しいキャラを絶対に引く方法』と
ちょっと迷ったのですが、明らかに詐欺臭を放っていたので没にしました。

 余談②
してないことを達成させるのは不可能に近いと言いましたが、あくまで近いだけです。これは小学生の頃、好きでもない人に告白もしていないのに、フラれたことがあるという(どーしようもない)実体験から導き出した結論です。ごく稀に、原因もなく結果が訪れる理不尽な世の中なのです。

短くなってない...

昨日のブログとはなんだったのか...(執筆時間は多少短くなりましたが)
これも、徐々に成功に持っていけるようにします!ではまた!

25欠片目:取り戻せ‼生活リズム

 こんにちは。最近生活リズムが3時間くらい後ろにズレていて、このままじゃまずいと感じているvoidです...
本日は、その改善方法を模索します。

主な原因

 多分、きっと、恐らく、間違いなく、ほぼ確実にこのブログが影響していると思います。

『このブログ1日分制作過程』
*開始*
「今日は何のこと書こうかな...」


~30分経過~

「これは、面白くないしなぁ...」

~1時間経過~

「よし。これにしよう。」

...

~1時間半経過~

「うーん、ここ見にくいなー。」

「あ、あのことも書いておきたいなー」

~2時間後~
「よしゃー。できたー。寝るか―」
*終了*


長い日は大体こんな感じで2時間かかってしまっています...
多分、最近調子が悪いのは生活リズムが崩れているからですね...


ブログ改善計画

 このままじゃまずいです。何とかブログを書く時間を短くしなくては...
かといって、毎日手を抜いてテキトー済ませていてはブログを継続する意味がないように感じてしまいます。

全体量を減らしつつ、中身が薄くならないようにする...
考えるだけでムズカシそうですね。



しかし一番時間がかかってしまう原因は、あれも書こうこれも書こうとしてしまうことだと思います。
ゲーム制作でも同じことを注意されていたのを思い出しました...


というわけで

 明日からは、内容は今まで通りで、文量減らしてやっていこうと思います。
ではまた!
 

24欠片目:C言語の禁忌、goto文

 こんにちは。最近やりたいゲームが多すぎて困っているvoidです!時間とお金がたくさん欲しいです。

ブログのデザインを変更して見ました。(PC表示)
前回のは少し暗かったかなーと思ったので

goto文とは?

 初めに言っておきますが、gotoは「後藤」ではないので気を付けてください。全国の後藤さんファンの皆様、ごめんなさい。

goto(ゴートゥー)とは英語の go to (~へ行く)そのままの意味です。

goto ラベル名;

と書くことで、ラベルのところに一気に処理を飛ばす機能を持ちます。

ラベルとは

LABEL: // ラベル名の後にコロン

このように書くことが出来ます。


実例

/* goto01.c */

#include <stdio.h>

int main(void)
{
	int a = 0;
	int b = 0;
	int c = 0;

	a = 10;

	goto LABEL;  // LABELまで処理を飛ばす!
	b = 20;    // 飛ばされたのでこの文は処理されない‼

LABEL:         
	c = a + b;   // b = 20;が実行されていないのでbは0のまま!

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

        return 0;

}

このプログラムの実行結果は10となります。

まず初めに、変数a,b,cが0で初期化。
次に、a = 10;が処理され、aの値が10になります。(ここまでは普通です。)

次に!(ここがポイントです)goto LABELによってLABEL:まで飛ばします。そのせいで、b = 20は実行されません。
その結果、a(10) とb(0のまま)の和は10ですね。

なぜ嫌われるのか

goto文はC言語界ではかなりの嫌われ者です。goto文をむやみに使うことは禁止されているそうです。では、一体なぜそんなにも嫌われてしまったのでしょう?

goto ラベル名;

と書くだけで、好きな時に、好きな処理に飛ばすことが出来るんですよ?上記の例のように、処理を飛ばすだけでなく、プログラムの先頭まで戻ったり、色んな事が出来てしまう万能な子なんですよ?

はい。だからC言語では嫌われてしまうのです!


C言語構造化プログラミングと言って、簡単に言うと、①上から順番に、②if文等で分岐、③for,whileでの繰り返し、の3つを使ってプログラムを書くことで、分かりやすく処理を書いていこうというよなものです。


goto文を使ってしまうと処理順序や構造が複雑化してしまいます。そのようなプログラムのコードをスパゲッティコードなんて呼んだりもします。スパゲッティコードは可読性(プログラムの読みやすさ)が低下し、メンテナンス性(手直ししやすさ)が悪くなりますので、回避しなくてはならないのです。




結論:gotoはスパゲッティ職人なので、基本的に使うのは避けましょう。

goto NAPOLI;

じゃ存在価値はないのか?

goto「 (´・ω・`)... 」

そうとは、一概に言い切ることは出来ません。

多重ループを一気に抜ける際はgoto文の方がスマートに書けたりするそうです。


goto「 (`・ω・´)! 」

例)

/* gotoなしで2重ループを脱出 */

int main(void)
{

	int i;
	int j;

	for  (i = 0; i < 10; i++)
	{
		for (j = 0; j < 10; j++)
		{
			if (i == 5 && j == 2)	// iが5でjが2の時にループを抜けたい!
			{
				break;		// 内側のfor文を抜け、外側のループに戻る
			}
		}
		if (i == 5 && j == 2)		// iが5でjが2の時にループを抜けたい(2回目...)
		{
			break;			// 外側のfor文を抜ける
		}
	}
        return 0;
}
/* goto文を使ってループを脱出 */

int main(void)
{

	int i;
	int j;

	for (i = 0; i < 10; i++)
	{
		for (j = 0; j < 10; j++)
		{
			if (i == 5 && j == 2)	// iが5でjが2の時にループを抜けたい!
			{
				goto END;	// ENDラベル(ループの外)へ一気に脱出!
			}
		}
	}

        END:
        return 0;
}

この2つのプログラムでは、恐らく後者のgoto文を使った方が見やすいと言えるでしょう。

goto「 (^ω^) 」

まぁ、とは言っても基本的に多用は避けて方がいいとは思います。


goto「 (´・ω・`) 」

明日に向かってゴーゴーゴー

今日はこんな感じで。ではまた!

goto TOMORROW;

23欠片目:『今週の無料App』を活用する

 こんにちは。iPhone6sユーザーのvoidです。

本日は私が普段活用している、「今週の無料App」について語りたいと思います。


今週の無料App とは

 今週の無料Appとは、AppStoreにて販売されている有料アプリの内、Appleが選んだアプリが1週間無料になるという神システムなのです!
ゲームから、便利系Appまで、色んなものが無料化されます。

今週(2017/03/03時点)の無料App

 では、実際どんなものが選ばれているのでしょうか。

Vantage Calendar

Vantage Calendar

  • Fortyfour AB
  • 仕事効率化
  • 無料

今週は、デザイン重視のカレンダーアプリでした。(早速ダウンロードして使い始めました)
いくつかのパターンから自分の好きなパターンをカスタマイできます。デザインはとても独特な感じがしましたが、使いやすく、ついスケジュールを組みたくなってきます。

もはや毎週のちょっとした楽しみ

 iPhoneユーザーの方は、毎週気にして見てはどうでしょうか?
欲しかったアプリが無料で手に入るチャンスがあるかもしれません。
ではまた!

22欠片目:久しぶりに読書したらすごくよかった話

 こんにちは、小学生の時は図書委員をやっていたvoidです。

今回は、以前ちらっとお話したことが覚えがある読書について書こうと思います。

どこから読書家?

 自分は、本を読むのは好きな方だとは思っています。が、「月に○○冊読む」というほどたくさん読んでいるわけではありません。本を読みたいなぁ思ったときに、フラーっと本屋に立ち寄って、面白そうなものを適当に見繕って読んでます。それでも、本を読んでいる時間は物語に没入出来て、とても落ち着いた時間を過ごすことが出来るので好きです。

バナナはおやつに入りますか?

 「本」、と一口に言っても、漫画や雑誌、ライトノベルや参考書、推理小説や恋愛小説など様々なジャンルが存在します。
 
 ここで物議を醸すのが、『漫画は読書に入るのか問題』です。「漫画は教養のためにならないから読書じゃない」とか、「文字より絵が多いから読書じゃない」等の意見により、漫画は読書に入らないとされている人の方が多数のようです。
 


しかし、個人的な意見を述べると、漫画は読書に入ると思います。

なぜなら、漫画から得られる知識が日常生活に役立つこともありますし、文字だけでなく絵の描写を用いることで、より具体的に物語の世界を描いてくれると思うのです。

後者の理由を具体的に例えるならば、花が一面に咲く風景の描写を、小説では「辺り一面に広がる花が」等となり、どんな大きさの花がどれだけ、どんな風に咲いているかというのは、具体的に書かれない限り読者の想像に委ねられます。一方漫画では、背景を描くと必然的に細かい情報までが限定されていき、より統一されたイメージを持たせることが出来るでしょう。

つまり、絵で描くか、文で書くかで、持たせるイメージの鮮明度が違うだけで、何かを表現する手段ということに変わりはないと思います。




あれこれ言いましたが、漫画は「読書に入る!」と肯定する必要性も、「読書じゃない!」と否定する理由も特にないと思うんです。本を読んでいれば読書っていうことでいいんじゃないですかね...

本題

 何故か無駄な議論を(勝手に)繰り広げていましたが、ここからは本題の、自分が最近読んだ本のお話をしたいと思います。

いつかのブログでも書いたように、『オズの魔法使い』を読んでいました。
余りにも有名な作品なので、タイトル自体や登場人物、あらすじは何となく程度で知っていましたが、具体的にどんな内容なのか今までは知りませんでした。

本屋で見かけて、そういえば詳しい話は知らないなぁと思って買ってみました。実際に読んでみると、想像以上に面白かったです。
童話というだけあって、話がシンプルでテンポよく進んでいき、とっても読みやすいです。

まず、主人公の少女「ドロシー」の家が竜巻に飛ばされるとこから話は始まります。そして、オズの国にたどり着いたドロシーは、元の家に帰してもらうため、偉大なる魔法使い「オズ」のいるエメラルドの国を目指して旅に出ます。その旅の道中、かかし、ブリキの木こり、臆病なライオンに出会います。彼らもオズに叶えてもらいたい願いがあり、ドロシーと共に旅を進めていきます。


自分が面白いと思った点は、旅路にはいくつもの困難が待ち受けていて、その度に仲間と協力して乗り越えて絆を深めていく様子や、様々な色を持つ世界を冒険して行く中で色んなキャラクターとの出会いがあり、次は何が起こるんだろうと、童心に返ったようにワクワクできたことです。

どんな話だったか忘れた方やまだ読んだことのない方には、是非とも読んで頂きたい作品です!

読書...いいなぁ

 久しぶりに本をじっくり読みました。何というか、非常にリラックスした時間を過ごせて、(寝転んでスマホやってるより)有意義な時間を過ごせている感じがします。これを機にもっと色んな本をたくさん読みたいと思いました!いい本を見つけたらブログで紹介することにします。ではまた!

21欠片目:ゲーム大賞2017テーマ発表!

 こんにちは。昨日まで自転車がパンクしていて使えなかったのですが、今朝直してもらっていざ出発!

「「ガコン‼」」

(チェーンが外れていた)

で1日が始まったvoidです。

テーマは「はさむ」

awards.cesa.or.jp

本日、日本ゲーム大賞のアマチュア部門のテーマが発表されました!今年のテーマは「はさむ」でした。

... ... 難しいとこきたなぁと思いました。

はさむゲーム

はさむをテーマにしたゲームを作るということで、既存のはさむゲームを研究してみます。

・オセロ(リバーシ)

 8×8のマス目上で白と黒の駒を交互に置いていき、自分の色の駒で相手の駒をはさむと、駒をひっくり返して自分の色にし、最終的に自分の色の駒を相手の駒より多く盤面に残せば勝利というルールです。
非常にシンプルですが奥が深く、永く遊ばれているボードゲームの一つです。

はさみ将棋

将棋の歩の駒を横一列に並べて、駒を直線のみの移動で動かします。相手の駒を自分の駒ではさむことで相手の駒を取ることができ、相手の駒を一定数取ると勝利となります。
名前に「はさみ」と入るだけあって、はさみ成分の強いゲームです。

・シンペイ

瞬間決着ゲームシンペイ
『はさんで飛ばす新感覚頭脳対戦ゲーム』として数年前に一世を風靡した(?)ボードゲームです。

こちらのゲームは五目並べのような感覚で遊びやすく、はさんだ相手の駒を盤面の好きな場所飛ばせるのが、戦略のカギとなっています。

テラバトル

テラバトル

テラバトル

  • MISTWALKER CORPORATION
  • ゲーム
  • 無料

敵のパネルを味方のパネルではさむことでスキルを発動させ、相手を攻撃するといった戦闘形式のRPGです。味方の配置によって、連鎖をたくさん繋ぐことができより有利に戦闘することが出来ます。


このように、『はさむ』をテーマにしたゲームはいくつか存在しています。
これらと同じようなゲームを作っても、評価はされにくいとのことです。要するに二番煎じでは面白くないということです。

斬新なアイディアかつ、テーマを伝わりやすくというのはとても難しいと思います。

期間は4カ月

 この期間を惜しみなく使って、納得のいく作品を完成させたいです。
ではまた!

20欠片目:答え合わせ

 こんにちは。このブログもとうとう3週間続いて、驚きと達成感の狭間に在るvoidです。


今日は、昨日お約束した暗号の答え合わせをします。

暗号答え合わせ

 さて、昨日の暗号の答え合わせです。

□1.かひらえざじうみせ ↑ 

解答:おはようございます

ヒントは「↑」です。それぞれの文字の50音での一つ上を読むと、「おはようございます」となります。
一見何の意味のないような文字列でも、共通した変化を加えれば意味のある分になるってとても面白いと思うのです。

□2.22* 15 03 32 83* 13 32* 81* 55 21 54 55 25 14

解答:ぎおんしょうじゃのかねのこえ

解法は、携帯(ガラケー)の文字入力で
2桁ずつ並ぶ数字の左側は携帯電話のボタン、右側はボタンを押す回数で、
「22*」 なら 「か」 を 2回押すので 「き」 になり、*は濁音を表し、 「ぎ」 となります

ひたすら並ぶ数字の列が、実は意味のある文章ってロマンがありますよね?ね?

この暗号は割と有名だとは思いますが、今はスマホな時代なので少し思いつきにくいですね。

□3.あをのこしす んつもうろよ ごくけおい うるっもで

解答:あんごうをつくるのもけっこうおもしろいですよ



あをのこしす んつもうろよ ごくけおい うるっもで

・空白で改行します。

↓あをのこしす 
 んつもうろよ 
 ごくけおい 
 うるっもで

・矢印の向きに読む

これは、俗にいう縦読みとかの改造版です。
新聞のテレビ番組欄の縦読みとかをネットでたまに見かけますが、組み込む人も見つける人もたいしたもんだなぁって思います。


こんな感じです。

どうでしょうか、こんな遊びもたまには悪くないんじゃないでしょうかね?

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