2016-02-02

CustomVector

ちょっとまだ半分位までしか物語の流れが決まっていないのですが、ゲームプログラム本体に取りかかり始めました。で、いつもいつも思っていたんですが、私はそこらじゅうでコンテナの頭から尻尾まで要素を一つずつ確認していく作業というのをするんですね。

std::vector< Character* > characterlist;
for(unsigned int n = 0; n < characterlist.size(); n++){
 characterlist[n]->うんちゃらかんちゃら
}

とかいう感じで。
これはもう、いたるところに出てきまして、いい加減この形のfor文を書くのに飽きたのです。
そこで、これをなんとか簡略化できないかということで考えました。

続きを読む »

スポンサーサイト



2016-02-08

CustomVector2

ちょっと将棋の話でも書こうと思ったのですが、驚きのコメントをいただきましたので、CustomVectorの続きを書きたいと思います。
先日、ながったらしいFor文書くのに飽きたから、簡略化できるようにstd::vectorのラッパークラスを作ったという記事を書きました。が、私がやりたかったことは、すでに実現されているらしく

std::vector< Character* > m_characterlist;
というリストにたくさんのキャラクターが登録されていた場合、
for( Character* p_character : m_characterlist){
 p_character->うんちゃらかんちゃら
}

で頭から尻尾までまわせるようです。びっくりしました。また、autoという便利機能もあるようで、

for(auto p_character : m_characterlist)

でもかまわないようです。Character*のコンテナなんだから、そこの要素を取り出そうとしてる以上、p_characterはCharacter*に決まってんだろということを勝手に判断してくれるらしい?
とはいえ、すでにCustomVectorクラスを使い始めてしまったので、全部std::vectorに書き直すのはめんどくさいし、やっぱりオリジナル機能を取り付けたりはしたいので、このまま使えるようにしたいと思いました。

続きを読む »

2016-02-11

初心者ドクトリン

プログラムのほうはゆったりと進んでおります。とりあえず、エディタで保存したマップデータをゲームプログラム本体で読み込んで表示できるところまではきました。

さて今回は将棋の話の続きでも。
あれから結局、ssjはやめました。クリックミスしやすいので。やっぱり、カーソルの中心と駒画像の中心はあわせてほしいなぁ。
最近は一日に何回かプレイしても集中力が持つ感じなので、一日一局縛りは撤廃し、適当にやってます。一ヶ月前、あれだけ苦戦していた将皇将棋Lv0にはだいたい勝てるようになりました。うっかりでただ取りでもされなければの話ですが。感覚的には、以前のハムスターくらいの感じです。
Lv1はちょうど五分くらいでしょうか。まだちょっと苦手意識があるんですが、なんかよくわからないけど勝てる感じ。あれ、それでいいの? って言う事もちらほらでてきてるので、何がどう変わったのかは分かりませんが、きっと上達してるんでしょう。

ここまで来るにも試行錯誤がありました。
相居飛車は分かるけど振られるとどうしたらいいか分からず、ぼこぼこにされました。それじゃどうするかっていうんで、じゃぁ、縦の将棋だけするかと相手が振ったらこっちも振る戦法も試しましたが、いつ振るかわかんないよ。振るまで待ってたら、駒組みに支障が出ます。
相手振り飛車なら角道止めたくないといってみた所で、横歩取りとか全力でお断りしたい。そうすると、角道開けあったときの対処が難しい。そもそも、対振り用の左美濃が好きになれない。普通の美濃囲いは理想的な囲いなのに、左でやろうとするとすごく薄い。玉の頭が歩三枚って何よ。やる気あんの? 88玉型なんか角が直通だから論外だし。
それならと評判の穴熊試したら何も出来ずにフルボッコだし。囲ってる間に相手が攻めの対戦完成させてるとか、こんなのどうするんだと思いました。

で、まぁ、そうやっていろいろと失敗を繰り返した結果、私なりに戦法が確立され、だいたい2種類に絞れたわけです。
今回はその、初心者がどういう風に戦法を選ぶのが効率的かについてのお話。

続きを読む »

2016-02-21

二ヶ月

将棋を始めて二ヶ月がたちました。おかげでゲーム製作が進んでいません。ゲーム製作の合間に将棋をするならいいんですが、将棋の合間にプログラムちょっとさわるだけになっています。さすがにこれはまずい。そろそろなんとかしないと。

そうやって初期のペースを維持したままいろいろがんばってるんですが、いまいちこれといってはっきりとは成長していません。
ようやく将皇将棋のLv2に一回だけ勝てましたが。しかし別に、そんなに上達したとかじゃないんですよね。相手振り飛車で、穴熊を組ませてくれればやりやすいとか、そういう条件的なもののようです。COMは詰め将棋強すぎて、矢倉とかだとさくっと詰んじゃって辛い。

対人戦はまだ先かなぁ。14級とかでも将皇Lv2に勝てるとかいう話なんですよね。初心者が始めても、一勝もできずに30連敗くらいするんじゃないかという世界と読みました。
せめてLv1にはだいたい勝てるようになりたいところです。いまだ五分程度。対抗形では優勢、相居飛車で劣勢、平均して五分みたいな感じ。

そろそろペースおとしてゲーム製作メインにしないとまずいし、対人デビューはいつになるやら。
最終目標はK-shogiだから、ずっとコンピューター相手にしててもかまわないと言えばかまわないんですがw エイリアンMODのような立ち位置です。

Copyright (C) 旅の雲. All rights reserved. Template by Underground