メインコンテンツへスキップ
見出し画像

【ぽてぽてPC】生成AI“Claude”に、数当てゲームのプログラムを作ってもらった🐻🎮│プログラムのコピペ方法を追記しました。

    上の記事で配布しているシステムにコピペして(要プログラム保存)、遊べます🐻


    ◇プログラムの保存方法
    ※画像は開発中バージョンを含みます

    画像
    ①BASICタグに移動します
    画像
    ②プログラム欄をタップします
    画像
    ③ソースコードを貼り付けます。
    新規の名称を指定して、「プログラム保存」の操作を忘れずに行って下さい🐻

    このタイプの数当て、ヒントで0H0Bが出てくれると、一番楽なんだけどね。


    ソースコード:
    対象システム→Kuma-BASIC V0.62以降

    REM ぽてぽて式 数当てゲーム(ヒット&ブロー)
    REM 3桁 / 1から9を重複なしで使用
    DIM S(3)
    DIM G(3)
    DIM U(9)
    DIM V(9)
    DIM H$(999)
    SCREEN 0
    REPEAT
        N = 0
        T = 0
        REPEAT
            U(T) = 0
            T = T + 1
        UNTIL T >= 10
        C = 0
        REPEAT
            D = RND(1, 9)
            IF U(D) = 0 THEN
                U(D) = 1
                C = C + 1
                S(C) = D
            END IF
        UNTIL C >= 3
        FIN = 0
        REPEAT
            GOSUB *ASK
            GOSUB *JUDGE
            N = N + 1
            Q$ = STR$(G(1)) + STR$(G(2)) + STR$(G(3))
            H$(N) = STR$(N) + "回目  " + Q$ + "   ヒット" + STR$(HT) + "  ブロー" + STR$(BL)
        UNTIL HT >= 3
        FIN = 1
        GOSUB *DRAW
        A$ = STR$(S(1)) + STR$(S(2)) + STR$(S(3))
        LOCATE 1, 15
        PRINT "🎉 正解!答えは " + A$ + " でした"
        LOCATE 1, 16
        PRINT STR$(N) + "回で当たりました!"
        LOCATE 1, 18
        BUTTON 11, "もう一度"
        BUTTON 12, "やめる"
        WAITBTN B
    UNTIL B = 12
    CLS
    LOCATE 1, 1
    PRINT "遊んでくれてありがとう🐻"
    END
    
    *ASK
    K = 0
    MSG$ = " "
    T = 0
    REPEAT
        V(T) = 0
        T = T + 1
    UNTIL T >= 10
    REPEAT
        GOSUB *DRAW
        WAITBTN B
        IF B = 10 THEN
            IF K > 0 THEN
                X = G(K)
                V(X) = 0
                K = K - 1
            END IF
            MSG$ = " "
        ELSE
            IF V(B) = 0 THEN
                K = K + 1
                G(K) = B
                V(B) = 1
                MSG$ = " "
            ELSE
                MSG$ = "その数字はもう使っています"
            END IF
        END IF
    UNTIL K >= 3
    RETURN
    
    *JUDGE
    HT = 0
    BL = 0
    I = 1
    REPEAT
        J = 1
        REPEAT
            IF G(I) = S(J) THEN
                IF I = J THEN
                    HT = HT + 1
                ELSE
                    BL = BL + 1
                END IF
            END IF
            J = J + 1
        UNTIL J >= 4
        I = I + 1
    UNTIL I >= 4
    RETURN
    
    *DRAW
    CLS
    LOCATE 1, 0
    PRINT "🐻 数当てゲーム"
    LOCATE 1, 1
    PRINT "3桁・1〜9・重複なし"
    LOCATE 1, 2
    PRINT "ヒット=数字も場所も正解"
    LOCATE 1, 3
    PRINT "ブロー=数字だけ正解"
    ST = N - 9
    IF ST < 1 THEN
        ST = 1
    END IF
    R = 5
    P = ST
    REPEAT
        IF P <= N THEN
            LOCATE 1, R
            PRINT H$(P)
            R = R + 1
        END IF
        P = P + 1
    UNTIL P > N
    IF FIN = 0 THEN
        D$ = ""
        P = 1
        REPEAT
            IF P <= K THEN
                D$ = D$ + STR$(G(P)) + " "
            ELSE
                D$ = D$ + "_ "
            END IF
            P = P + 1
        UNTIL P >= 4
        LOCATE 1, 15
        PRINT "あなたの予想: " + D$
        LOCATE 1, 16
        PRINT MSG$
        LOCATE 1, 17
        P = 1
        REPEAT
            P$ = STR$(P)
            BUTTON P, P$
            P = P + 1
        UNTIL P >= 10
        LOCATE 1, 18
        BUTTON 10, "1つ戻す"
    END IF
    RETURN
    


    あなたへのおすすめ