AIメーカー

チャットAIを作れる、AIと遊べる
powered by ONJ.open2ch
トップに戻る

!ai にコードを書かせよう

ソース:http://hayabusa.open2ch.net/test/read.cgi/livejupiter/1680688639/
open2chさん 2023-04-05 18:57:19
概要を見る AIとチャット41
一覧に戻る
表示範囲:
A:以下がPython3で書かれた、簡単な育成ゲームの例です。colaboratoryで実行可能となるように、コード内の入力処理を修正しています。

```python
import random

class Monster:
def __init__(self, name, hp, attack, defense):
self.name = name
self.hp = hp
self.attack = attack
self.defense = defense

def attack_monster(self, target):
damage = self.attack - target.defense
target.hp -= damage
print(f"{self.name}の攻撃! {target.name}に{damage}のダメージを与えた!"

class Player:
def __init__(self, name):
self.name = name
self.lv = 1
self.exp = 0
self.max_hp = 20
self.hp = self.max_hp
self.attack = 5
self.defense = 2
self.money = 0
self.item = []

def status(self):
print(f"{self.name} LV:{self.lv} EXP:{self.exp} HP:{self.hp}/{self.max_hp} 攻撃力:{self.attack} 防御力:{self.defense} 所持金:{self.money}G"

def battle(self, monster):
print(f"{monster.name}が現れた!"
while True:
command = input("どうする? 1:戦う 2:逃げる"
if command == "1":
self.attack_monster(monster
if monster.hp <= 0:
print(f"{monster.name}を倒した!"
self.get_exp(monster
self.get_money(monster
break
monster.attack_monster(self
if self.hp <= 0:
print("あなたは負けてしまった…"
exit(
elif command == "2":
success_rate = random.randint(1, 60
if success_rate <= 20: # 逃げられた
print("逃げられた!"
break
else: # 逃げられなかった
print("逃げられなかった!"
monster.attack_monster(self
if self.hp <= 0:
print("あなたは負けてしまった…"
exit(
else:
print("コマンドが不正です。再入力してください。"

def attack_monster(self, monster):
damage = self.attack - monster.defense
monster.hp -= damage
print(f"{self.name}の攻撃! {monster.name}に{damage}のダメージを与えた!"

def get_exp(self, monster):
exp_gained = monster.hp + monster.attack + monster.defense
self.exp += exp_gained
if self.exp >= self.lv * 30:
self.lv += 1
self.max_hp += 5
self.hp = self.max_hp
self.attack += 2
self.defense += 1
print(f"Level UP! {self.name}はLV{self.lv}になった!"

def get_money(self, monster):
money_gained = monster.hp * 2
self.money += money_gained
print(f"{money_gained}G獲得した!"

player_name = input("あなたの名前を入力してください:"
player = Player(player_name
player.status(

while True:
command = input("どうする? 1:冒険をする 2:ステータスを見る 3:ゲームを終了する"
if command == "1":
monster_list = [
Monster("スライム", 10, 2, 1),
Monster("ゴブリン", 20, 4, 2),
Monster("ドラゴン", 50, 10, 5
]
selected_monster = random.choice(monster_list
player.battle(selected_monster
elif command == "2":
player.status(
elif command == "3":
exit(
else:
print("コマンドが不正です。再入力してください。"
```
2023-04-06 03:41:18 10カ月前