今日の呟き

スロゲーライク

アバター
V30
記事: 21
登録日時: 9年前
住所: 岡山県

スロゲーライク

投稿記事 by V30 » 6年前

クラスである必要がないと思い関数に書き換えたんだけど、
改めて見ると、何となく気持ち悪いコーディングだ。
こんなんでいいのかな?

CheckFormation Function
► スポイラーを表示
CheckFormation 使用例
► スポイラーを表示
実行結果
ライン 0(中段) stopformation[0] → 13 777
ライン 1(上段) stopformation[1] → 0 ハズレ
ライン 2(下段) stopformation[2] → 3 単チェリー
ライン 3(右下) stopformation[3] → 0 ハズレ
ライン 4(右上) stopformation[4] → 3 単チェリー

参考画像
[album]1036[/album]
一昔前に作った図柄種数・1リール当たりの図柄数・リール数・判別ライン数・
役構成図柄数・役数、データ構成要素何種類でも多い少ない長い短い混在型でも
OKな自由自在な万能停止役判定コードです。

戻り値は、停止ライン別の役番号(変数 formation の配列番号)です。
リール図柄の位置番号は、上のリールシート最上段が0で、最下段が20です。
画像は、使用例コードと合致しています。

動作確認はしましたが、動作保証はありません。
配列の添え字は、自作アプリ内では列挙体の列挙子を利用しています。
なお、日記・コードは予告なく編集することがあります。

うっ、今日も夜更かしだ! もう寝よっと。。。。。。zzz
最後に編集したユーザー V30 on 2017年12月15日(金) 19:57 [ 編集 7 回目 ]

アバター
purin52002
記事: 235
登録日時: 7年前

Re: スロゲーライク

投稿記事 by purin52002 » 6年前

残念な素人の残念な意見です。
適当にスルーしてください^^;

for文の初期化式(size_t line(0)とか)が気持ち悪い。line=0でいいのでは?
for文の条件式でsize()関数を使うと効率が悪い(ほぼ誤差のレベル^^;)
for文の更新式で後置インクリメトを使うと効率が悪い(これもほぼ誤差^^;)

11行から21行(ライン別停止位置の作成?)を関数化してもいいかも
24行から48行(役判定?)を関数化してもいいかも

vector型をreturnすると遅い(vectorが小さければほぼ誤差^^;)

偉そうにコードレビューのようなことをしてしまいました^^;
今度私がコードを挙げたときはボロクソに突っ込んでください^p^

アバター
V30
記事: 21
登録日時: 9年前
住所: 岡山県

Re: スロゲーライク

投稿記事 by V30 » 6年前

purin様、
貴重なご意見、ありがとうございます。

振り返ってみました。

・for文の初期化式
コンストラクタ代入が正義なので、これは譲れない。
てか、これってコンストラクタ代入になるのか調べたことない。
どこで習ったんだかも不明。

・for文の条件式で関数使用
これって、毎ループ関数呼び出しありますね。ある意味ヤバイ。
理由は、呼び出し毎に同じ数を返すとは限らないから、マシン語
になっても毎ループコールされる。つまり、最適化されない。
せめて、size_t変数に変換してから使おう。

・for文で後置インクリメント
前置全く使わないので、えぇっと、、、
、、、whileよりdo while 使えみたいな。。。
今更変えられる自信ない!!!(意味不明)

・部分コードの関数化
考えたこともない。
なので、今から考えてみる。
forループネスト、見づらい。
すっきりしたコード、大好き。

・vector型をリターン
使えないことはないが、これは自信をもってイケナイ。
参照渡しからの参照イジリが賢明。


いつの間にか自分では考えなくなった基本事項を的確に指摘されるとは、
プリン様スゴイ!!!!!
ただの初心者とは思えない。