Behind Coleus

大学生なのに特別大学で楽しいことが一 つもない。虐待と男子校病のせいにしてみる。→日本脱出しました 今ジャカルタにいます。→ジャカルタから帰ってきました。

忘れない程度にプヨグラミングする

相手がガードファイターを選んでも終わらないバグがあって、returnしないといけない。

if let Ok(selected_index) = input.trim().parse::<usize>() {
                    if selected_index == 0 {
                        // 攻撃をやめる場合
                        println!("ガードされませんでした");
                        being_attacked_event_writer.send(BeingAttacked {
                            attacked_card_id: event.attacked_card_id,
                            attacker_id: event.attacker_id,
                        });
                        return;
                    }
                    if selected_index > 0 && selected_index <= available_guards.len() {
                        let selected_entity = available_guards[selected_index - 1];

                        if let Ok*1 = query.get(selected_entity) {
                            attack_fzone_event_writer.send(AttackFZone {
                                attacked_card_id: selected_entity,
                                attacker_id: event.attacker_id,
                            });
                            println!("{} にガードされました", card.name); // カード名を表示
                            commands.entity(selected_entity).insert(SpinCondition::Spin);
                            println!("{}はスピンしました", card.name);
                            return;
                        }

2個目のreturnが無かった。

スキップできてなかった。


pub fn withdraw_management(
    mut next_state: ResMut<NextState<PlayState>>,
    mut pick_fighter_to_withdraw_event_writer: EventWriter<PickFighterToWithdraw>,
    field_conditon: ResMut<FieldCondition>,
    mut withdraw_management_event_reader: EventReader<WithdrawManagement>,
) {
    for event in withdraw_management_event_reader.read() {
        let choice = check_the_will_of_withdraw();

        match choice {
            1 => {
                if field_conditon.has_fzone_card {
                    println!("撤退できます");
                    pick_fighter_to_withdraw_event_writer.send(PickFighterToWithdraw);
                } else {
                    if field_conditon.has_xzone_card {
                        println!("Fゾーンにカードが無いのでXフェーズに移行します");
                        next_state.set(PlayState::XPhase)
                    } else {
                        println!(
                            "Xゾーンにカードが無いのでXフェーズをスキップしてメインフェーズに移行します"
                        );
                        next_state.set(PlayState::MainPhase)
                    }
                }
            }
            2 => {
                if field_conditon.has_xzone_card {
                    println!("Xフェーズに移行します");
                    next_state.set(PlayState::XPhase);
                } else {
                    println!(
                        "Xゾーンにカードが無いのでXフェーズをスキップしてメインフェーズに移行します"
                    );
                    next_state.set(PlayState::MainPhase);
                }
            }

            _ => {}
        }
    }
}

2個目のnext_stateをMainPhaseに直しました。

github.com一度、出来上がったコードを公開しました。

結局他の人の人生は右綴じになってて、左綴じの人生な私は 何千ページと捲ってたどり着いた場所は他の人にとっては10ページ先にあるものだったりする。
始まりが違うんだ。

*1:_, card, _, _