コミュ障だから明日が僕らをよんだって返事もろくにしなかった

何かを創る人に憧れたからブログをはじめたんだと思うよ

シマリスのベーシックをさわってみた

BASICに触ってみた

今回はみんな大好きBASICで何か作っていきます。今回も初めて導入する環境なので、まずは電卓として利用していきます。今回のBASIC環境はこちらから拾っています。

Chipmunk Basic Home Page

BASIC

BASIC(ベーシック)は手続き型プログラミング言語のひとつ。
名前は「beginner's all-purpose symbolic instruction code」(「初心者向け汎用記号命令コード」を意味する)の頭字語である。

早速使ってみる

それでは式を入力して…
f:id:andron:20170114184701p:plain

はい、今回のBASICでは必要最低限の機能しかないのでいつもの電卓ネタができません。ちなみにこの書き方だと、左の数字が行番号として挿入されて面倒くさいことになります。そんなときはnewですっきりリセットしましょう。ちなみに入力した内容の確認はlistとなります。そして、動作の確認はrunとなります。


電卓ネタができないので、なにか作ってみた

電卓としての利用ができないので、簡易信号機を作成しました。


「簡易信号機」
入力された色に応じて、赤の時は一呼吸置いて進め、黄色の時は状況に応じて注意して進め、青の時は進めという命令をする信号機である。


全部進めなんですけど……。
いつものおふざけで作っているものなので、細かいことを気にしてはいけません。人生は常に前向きに進んでいくことがいいのです。でも信号無視はNO!。

というわけで、この糞仕様でプログラムをつくりました。
f:id:andron:20170114201451p:plain

ソースコード

100 input "choose color: red, yellow, green => ",color$
110 if color$ = "red" then gosub 200 : goto 100
120 if color$ = "yellow" then gosub 300 : goto 100
130 if color$ = "green" then gosub 400 : goto 100
140 end

200 print "Stop"
210 for I = 1 to 3
220 print I
230 next
240 print "Go!!"
250 return

300 print "Attention"
310 rem 適当な数値
320 num = int(rnd(1) * 10) + 1
330 if num >= 5 then print "Go!!": return
340 if num < 5 then print "Be careful and Go!!": return

400 print "Go"
410 return


たまたまドットインストールにBASICのレッスンがあったからやってみたけど、これを覚えてもセンター試験の数学問題の意味がわかるようになるだけで実生活に役立たないというのが悲しいところです。

"月" 曜日最高!!

月曜日です

「新しい朝が来た 希望の朝だ♪」の朝が"月曜日"のことを指しているのは自明ですが、皆様いかがお過ごしでしょうか?
ええ言葉にせずともわかりますよ。そうですね、待望の月曜日です。朝になるのが待ち遠しい気持ちでいっぱいだとは思います。

バイナリデータをいじってみる(exe編)

ごめん、やっぱつれぇわ。自分に嘘つけねぇ。


そんなわけで、この気持をデータともに書き換えます。ゲツヨウビ ミンナ スキ。


準備編

今回はbatファイルと違ってexeファイルを利用するので準備がいります。どちらのファイルもWindowsだと実行形式のファイルで、ボタンポチーっとすると実行されるファイルには変わりありません。では何が違うのかといいますと、「batファイルは単体の命令で構成されたプログラムファイル」で「exeファイル(実行形式ファイル)は複数の命令がまとめて構成されたプログラムファイル」なんです。まあ、知らんけど(無責任)。例えるならbatファイルは単発ガチャ、exeファイルは10連ガチャみたいな感じです。exeファイルにすると確定レアが入っていてお得!みたいな感じです。

というわけでexeファイルをつくるために、今回はC言語で作っていきます。そのための準備としてフリーのコンパイラ(exeファイルを作るための装置)を準備します。

こちらのものを利用します
MinGW | Minimalist GNU for Windows

MinGW
MinGW(ミン・ジー・ダブリュー、Minimalist GNU for Windows)はGNUツールチェーンのWindows移植版である。MinGWWindows APIのためのヘッダファイルを含んでおり、フリーのコンパイラであるGCCを、Windowsアプリケーションの開発のために利用できる。

これ「ミンジーダブリュー」って読むんですね。僕ずっと「ミングゥ」って読んでました。そして、ダウンロードしたインストーラー、パッケージ管理までしてくれるのにPathは通してくれないんですね。


インストールを終えたら、早速メモ帳か何かでC言語を打ち込んでいきます。

何かを打ち込んだソースコード

#include <stdio.h>

int main(void){
	printf("月曜日最低");
	getchar();
	return 0;
}

先ほどの話になりますが、一行目の"stdio.h"がガチャで言う確定レアにあたるものになります。その下は自分でこれから何するよということ書いているだけの処理です。そして、これをコンパイルすると月曜日最高と黒い画面に表示する糞プログラムになります。例えが全くよくわかりませんが続けていきます。

実行結果
f:id:andron:20161231210311p:plain

やります

まずは作ったものを実行ファイルに変換しますgcc [ファイル名.c]。これで生成されたものを実行したものが上の画像になります。

そしてこいつをStirlingを使って中身を覗きます。

すると、このようなものが出てきます。色々と情報を詰め込んでいるので元のファイルよりはるかにボリューミーな感じで出てきます。画像のところに怪しい物があったのでこいつをいじります。
f:id:andron:20161231210148p:plain

いじりました。
f:id:andron:20161231200201p:plain


そして実行します。


書き換えに成功しました。
f:id:andron:20161231204133p:plain
実際は、やろうと思えば本当に色々できるそうですが、僕はやりません。テキストの書き換えで僕が満足しているのはこの文字列を眺めてるだけで頭が痛くなるからです。こういった形で、暗号化とかしなければパスワードなんて簡単に抜き出せるんだぞぐらいの気持ちで各々のセキリティ意識を高めていただければ幸いです。

タメになる話っぽいことをしてしまいました。
ああ…やっぱり月曜日って最高だ。

ドアを開け続けていたら夜になっていた

どこまでもドア~

古い時代の人間はドラえもんの曲というと「こんなこといいな できたらいいな♪」と歌うそうですが、今の時代の人間だと「シャラララ 歌をうたおう」らしいですね。


さて、そんなドラえもん話はさておき、ドアを永遠と開け続けていたら夜になってしまいました。
いつものことですが、何をやってるんでしょうね僕は……。本当に、何をやってるんでしょうね……。


ドアを開け続けるだけのサイト

ドアを開け続けるだけのサイトを紹介します。

f:id:andron:20161123184728p:plain
このようにドアを開け続けるだけとなります。永遠に……。
楽しさとやりがいとかそういったは各人で見つけ出してください。人生と同じですね。


そんなサイトはこちらになります。
big long now .com by rafaël rozendaal, 2006, collection of sébastien de ganay