0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Qiitaの練習を兼ねた自己紹介記事

Last updated at Posted at 2023-11-30

Qiitaの練習とアドカレの予行を兼ねて自己紹介記事を書いていきます。初心者が書くものですから暖かく見ていただけると幸いです。

基本情報

  • 名前:SHINN
  • 生年月日:秘密だぞ‼
  • 出身:日本
  • 職業:職業ではないけど都内の某大学に通わせていただいています

今までに作ったもの

大したものは作っていませんが、一つだけpythonの練習として夏休みに作ったものがあるのでコードを載せときます。あまりきれいなコードではありませんが、何かしらのファイルに張り付けたらcmdとかで遊べるようになっています。

import random

# 初期化
my_life = 1
enemy_life = 1
my_charge = 0
enemy_charge = 0
options = {"1": "charge", "2": "beam", "3": "barrier"}


def reset():
    global my_life, enemy_life, my_charge, enemy_charge
    my_life = 1
    enemy_life = 1
    my_charge = 0
    enemy_charge = 0   

def battle(my_option, enemy_option):
    global my_life, enemy_life, my_charge, enemy_charge
    if my_option == "beam" and enemy_option == "barrier":
        my_life -= 1
        my_charge -= 1
        enemy_charge -= 1
        print("あなたは返り討ちに会いました")
    elif my_option == "barrier" and enemy_option == "beam":
        enemy_life -= 1
        my_charge -= 1
        enemy_charge -= 1
        print("あなたは相手を返り討ちにしました")
    elif my_option == "beam" and enemy_option == "beam":
        my_charge -= 1
        enemy_charge -= 1
        print("互いのビームが相殺されました")
    elif my_option == "charge" and enemy_option == "charge":
        my_charge += 1
        enemy_charge += 1
        print("あなたはチャージしました\n相手はチャージしました")
    elif my_option == "charge" and enemy_option == "beam":
        my_life -= 1
        my_charge += 1
        enemy_charge -= 1
        print("あなたはビームを受けました")
    elif my_option == "charge" and enemy_option == "barrier":
        my_charge += 1
        enemy_charge -= 1
        print("あなたはチャージしました")
    elif my_option == "beam" and enemy_option == "charge":
        my_charge -= 1
        enemy_life -= 1
        enemy_charge += 1
        print("相手にビームを当てました")
    elif my_option == "barrier" and enemy_option == "charge":
        my_charge -= 1
        enemy_charge += 1
        print("相手はチャージをしました")
    elif my_option == "barrier" and enemy_option == "barrier":
        my_charge -= 1
        enemy_charge -= 1
        print("特に何も起こらなかった")

while True:
    home = input(f"何をしますか? 1:ccレモンゲームを行う, 2:ccレモンゲームの説明を受ける, 3:ゲームを終了する\n{'-'*26}\n") # '-'の文字列を26個並べて区切りをつけている
    if home == "1":
        reset()
        while my_life > 0 and enemy_life > 0:
            print(f"{'-'*26}\n{'-'*26}\nあなたのチャージ数は{my_charge}\n相手のチャージ数は{enemy_charge}")
            my_choice = input(f"何を選択しますか? 1:チャージ, 2:ビーム, 3:バリア\n{'-'*26}\n")
            if my_charge == 0 and my_choice != "1":
                print("チャージが足りません、チャージしてください")
                continue
            if my_choice not in ("1", "2", "3"):
                print("1,2,3のどれかを選択してください")
                continue

            if enemy_charge == 0:
                enemy_choice = "1"
                print(enemy_choice)
            else:
                enemy_choice = random.choice(list(options.keys()))
            print(f"あなたは{my_choice}, 相手は{enemy_choice}を選択しました。")
            battle(options[my_choice], options[enemy_choice])

        if my_life == 0:
            print(f"あなたの負けです。出直してきてください。\n{'-'*26}")
        elif enemy_life == 0:
            print(f"あなたの勝ちです。おめでとうございます!!\n{'-'*26}")

    elif home == "2":
        while True:
            explain = input(
                f"{'-'*26}\nどの説明を受けますか? 1:ルール概要 2:チャージ 3:ビーム 4:バリア 5:説明を終わる\n{'-'*26}\n"
            )
            if explain == "1":
                print(
                    "・ccレモンゲームとは相手にビームを当てたら勝ちのゲームです。ビームを当てるのに様々な駆け引きを行うのがこのゲームの醍醐味です。"
                )
            elif explain == "2":
                print("・チャージとはビームやバリアを行うのに必要なポイントです。チャージしていないと何もできません。")
            elif explain == "3":
                print("・ビームはチャージを一つ使用して相手を攻撃するコマンドです。相手もビームを行った場合は相殺されて何も起こらなくなります。")
            elif explain == "4":
                print("・バリアは相手がビームを打ってきたときに跳ね返すコマンドです。発動するにはチャージを一つ消費します。")
            elif explain == "5":
                break
            else:
                print("そのような選択肢は存在しません")

    elif home == "3":
        break

    else:
        print("このような選択肢は存在しません")

コード直貼りですが許してください。一応今回のこの記事の裏目的はQiitaの機能を一通り使ってみるということなので、コードを張り付けてみたかったんです。ついでに授業の課題で作った絵(コンピュータで出力したやつ)も張り付けておきます。これもファイルを張り付ける練習...

assPicture.png

なかなかいい絵でしょ(笑)。けど、私的にはもうちょっと改良したいなとは思っているんです。大学の友人からよさそうなプログラムの方法を教えてもらったので時間があったらやってみようと思います。←これやらない人がよく言うやつですね、はい。あとは、そうですねぇ...。画像のサイズを変えてみるとかでしょうか。こんな感じで。

asPicture.png

うまく実装ができてよかったです。この実装は結構苦戦したのですが、htmlの記事を調べたら一発でできました。なぜなのでしょうか...。有識者の方がいらっしゃったら教えてほしいものです。とりあえずここらへんで終わりましょうか。

終わりに

稚拙な文章でお見苦しいものをお見せしてしまいましたが、ここまで付き合ってくださってくださりありがとうございました。ぜひアドカレのほうも見ていただけると嬉しいです。気が向いたら記事を投稿していこうと思うので、その時はぜひ見ていってください‼

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?