エモンのブログ(スマホアプリ作成日記) -2ページ目

エモンのブログ(スマホアプリ作成日記)

エモンのブログです。

GooglePlayとAppStoreにアプリをリリースしてます。
「詰将棋パラダイス」4500問無料で公開。
「みんなのしょうぎ」投票型の将棋対局。いずれもソーシャルアプリなので、ソーシャルゲーム作成に興味があるかたは是非ご覧ください。

今更ですが、詰将棋ファンとしてコンピュータ将棋に感謝してます。
コンピュータの詰みの能力がなければ、詰将棋界も発展しなかっただろうと思います。

なにより、余詰を発見するのが容易になりました。
「ワシはコンピュータなど使わなくても余詰は自分で見つけるわい!」
と言う方もいらっしゃるでしょうけど、詰将棋を発表する際にその媒体側は確実に柿木将棋を使います。
ここで柿木がなければ確実に発表数は激減し、作家として活躍している人たちも半減するでしょう。

ところが、そんな柿木将棋がvectorで1000円で販売されています。
こりゃあ、はっきり言って安すぎます。2万円は最低でも取るのが妥当でしょう。
柿木将棋9
権利買い取って値段跳ね上げさせようかなと思うくらいです。

残念なことに棋力では他に劣ります。フリーでのBonanzaやAperyのほうが強いですね。
したがって、柿木将棋は詰将棋愛好家のみが使っているといっても過言ではありません。

商品というものは、より多くの人が使う場合は大量生産し、薄利多売になります。
コンピュータソフトの場合は、ソフトを作る人の給料をソフトを買っている人が分割して支払っているというイメージです。

柿木将棋の場合は、詰将棋愛好家で分割して給料を支払うことになります。一人頭の金額は上がるのが普通ですね。
しかも柿木の仕様を見てください。確実に詰将棋向けにカスタマイズされていますよこれは。
つまり詰将棋愛好家が柿木さんに「オーダーして」作っているような状態です。
これは1人10万ですね。払いましょう。(半分冗談)

しかし、柿木さんだって一人で篭って開発していたわけではないでしょう。
色々な人達と技術交流もあっての、今の形になったのだと推察できます。
となるとやはりコンピュータ将棋界に感謝せざるを得ない今日このごろなのです。

結論。柿木将棋を今のうちに買いましょう。
さらっと「ねこ将棋」をスマホアプリにしている仕組みについて書いてみます。

言語はActionScriptでFlashです。AdobeAIRを使っているのでwindowsやMacでも動きます。
Android, iOS上でも動くし、どんな解像度の端末でもAIRがうまいことサイズを合わせてくれます。
ねこの思考もActionScriptで行っています。

ヒントはhttp通信でパラメータは局面と手番をサーバに渡します。
サーバ上でGPS将棋を立ち上げて指し手を取得し、クライアントにポストバックします。
この際、局面と手番をkeyに、結果の指し手をvalueにしてmemcachedに保存してます。

思考をサーバ上で行いたい場合も上記ヒントと同じにする感じでいいと思います。

TCP/IP通信でfloodgateみたいにするのはサーバの構成の仕方がわからないんだぜ☆
memcachedを他のサーバからアクセスする。ubuntu14編
なおこの記事ではコマンドの前にsudo を飛ばしているのでご注意を。
ルートでやっているのならそのままのコマンドを貼り付けてもらえればいいです。

◯memcachedをインストールする。PHPからも使えるようにする。
apt-get update
sudo apt-get install memcached
apt-get install php5-dev
apt-get install php5-memcached

◯memcachedの設定
/etc/memcached.conf
にて
-l 127.0.0.1
となっているところを自分のサーバ(memcachedを今入れたサーバ)のIPアドレスに書き換え
-l [IPアドレス]
・再起動
service memcached stop
service memcached start

◯IP制限をする ※ポートを11211とする
・ufwをインストール
apt-get install ufw
・ファイアウォールを有効にする
ufw enable
・SSHを有効にする。※これがないとsshで繋がらなくなる
ufw allow from [許可したいIPアドレス] to any port 22
・httpを有効にする
ufw allow from [許可したいIPアドレス] to any port 80
・IP制限の設定
ufw allow from [許可したいIPアドレス] to any port 11211
これでmemcachedは許可したIPアドレスのサーバからしかアクセスできない。
これを設定しないと他から参照だけならまだしも、書き込みをされてしまう。

◯確認
許可したIPアドレスのマシンにて
※以下 「> 」と書いてあるところが入力
> telnet [memcachedサーバのIPアドレス] 11211
Trying xxx.xxx.xxx.xxx ....
Connected to xxx.xxx.xxx.xxx
Escape character is '^]'.
> set key1 0 0 5
> test1
STORED
> get key1
VALUE key1 0 5
test1
END

おおおおお! memcachedに読み書きができましたね!