ばとる
とりあえず此方の攻撃をmobにあたえてみようとおもい
whileを使って敵のHPを0にするまで
現在の勇者のLV(まだ実装してませんが...)のランダムな攻撃力で
戦います
修正を少しずついれています
敵の名前を選ぶ時listのインデックス数とrandintの引数が
同じでなかったため5,6が選ばれたときプログラムがクラッシュしていましたが
修正してみました
つぎは敵のターンを作っていきたいですが....
まぁ ぼちぼちです^^
ストーリーも作りたいですがまだまだ先になりそうです
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import random
from time import sleep
class Syokki:
def __init__(self,name,num,val,hp,maxdam,mindam,gold):
self.name = name
self.num = num
self.val = val
self.hp = hp
self.maxdam = maxdam
self.mindam = mindam
self.gold = gold
##################################################
#name=mobname num=mobnumber val=討伐経験値
#hp=moblifepoint maxdam=mobmaxdamage mindam=mobmindamage #
#gold=会得ゴールド name num val hp max min gold
##################################################
ryoutenabe = Syokki("両手ナベンナー",1,3,5,1,3,3)
denkinabe = Syokki("エレキプレードン",2,3,7,1,3,4)
furaipandai = Syokki("フライパンタロン",3,6,6,2,5,2)
furaipancyu = Syokki("フライパンダ",4,7,8,3,7,3)
furaipansyo = Syokki("フライパンツァー",5,12,11,4,8,10)
furaipanfuta = Syokki("フライトン",6,14,14,8,12,7)
nabefuta = Syokki("ナベトン",7,20,16,4,14,18)
katatenabedai =Syokki("片手ナベンナー",8,20,18,10,15,18)
katatenabecyu = Syokki("片手ナベンナー哀",9,25,24,8,16,1)
katatenabesyo = Syokki("片手ナベンナー喜",10,20,26,8,16,50)
donburicyu = Syokki("ドンブリャー青",11,30,22,10,13,15)
donburisyo = Syokki("ドンブリャー赤",12,30,22,11,14,16)
ball = Syokki("タマボール",13,200,200,1,200,200)
zaru = Syokki("サルザルモンキー",14,38,40,25,30,37)
saradai = Syokki("ソーサラ魔",15,36,50,30,35,30)
saracyu = Syokki("ソーサラ天",16,36,60,30,38,32)
sarasyo = Syokki("ソーサラ破",17,36,65,28,40,35)
houcyou = Syokki ("ホー蝶",18,40,47,40,45,32)
manaita = Syokki("マナボード",19,50,52,30,50,32)
hashietc = Syokki("スプーン",20,50,65,45,55,30)
syamoji = Syokki("シャモ人",21,120,200,100,150,30)
pira = Syokki("ピーラーヒーラー",22,150,300,100,300,100)
shinktarai = Syokki("シンクタライオン",23,180,400,300,500,100)
akikan = Syokki("秋カンナ",24,190,600,500,800,150)
pura = Syokki("プラゴミン",25,50,120,200,300,100)
mu = Syokki("エクストラン",0,2000,2000,1000,5000,5000000)
nameliststage1 = [ryoutenabe.name,denkinabe.name,furaipandai.name,
furaipancyu.name,furaipansyo.name]
print(len(nameliststage1))
print(nameliststage1[4])
nameliststage2 =[furaipanfuta.name,nabefuta.name,katatenabedai.name,
katatenabecyu.name,katatenabesyo.name,donburicyu.name]
nameliststage3=[donburisyo.name,ball.name,zaru.name,saradai.name,saracyu.name,
sarasyo.name,houcyou.name,manaita.name]
nameliststage4 =[hashietc.name,syamoji.name,pira.name,shinktarai.name,
akikan.name,pura.name,mu.name]
valliststage1= [ryoutenabe.val,denkinabe.val,furaipandai.val,
furaipancyu.val,furaipansyo.val]
valliststage2= [furaipanfuta.val,nabefuta.val,katatenabedai.val,
katatenabecyu.val,katatenabesyo.val,donburicyu.val]
valliststage3= [donburisyo.val,ball.val,zaru.val,saradai.val,saracyu.val,
sarasyo.val,houcyou.val,manaita.val]
valliststage4= [hashietc.val,syamoji.val,pira.val,shinktarai.val,
akikan.val,pura.val,mu.val]
hpliststage1= [ryoutenabe.hp,denkinabe.hp,furaipandai.hp,
furaipancyu.hp,furaipansyo.hp]
hpliststage2= [furaipanfuta.hp,nabefuta.hp,katatenabedai.hp,
katatenabecyu.hp,katatenabesyo.hp,donburicyu.hp]
hpliststage3= [donburisyo.hp,ball.hp,zaru.hp,saradai.hp,saracyu.hp,
sarasyo.hp,houcyou.hp,manaita.hp]
hpliststage4= [hashietc.hp,syamoji.hp,pira.hp,shinktarai.hp,
akikan.hp,pura.hp,mu.hp]
print("もう何日ここをさまよっただろう....")
#sleep(2)
print("・・・・・")
#sleep(2)
for i in range(3):
print("えええ.....まわりを見渡すとそこはただ広い平原だった........")
#sleep(2)
print(" ")
print(" ")
print("勇者の名前を入れてください")
yusya_name = input()
print(" ")
#sleep(2)
print("私の名前は "+ yusya_name+ " 。")
#sleep(2)
print("しかしまわりの状況がわからないのは不安である....")
#sleep(2)
print("....しばらく歩く事にしよう")
for i in range(3):
print(" ")
#sleep(3)
print("******************************")
print("******キッチンクエスト(仮)****** by xtoran")
print("******************************")
for i in range(3):
print(" ")
#sleep(2)
print(yusya_name+ "のステータスを抽選中............")
#sleep(3)
class yusya_fastste:
def __init__(self,num,val,hp,gold,mindam,maxdam):
self.num = num
self.val = val
self.hp = hp
self.gold = gold
self.mindam = mindam
self.maxdam = maxdam
yusya1 = yusya_fastste(1,0,5,200,1,10)
yusya2 = yusya_fastste(2,0,6,180,1,9)
yusya3 = yusya_fastste(3,0,7,150,1,8)
yusya4 = yusya_fastste(4,0,8,80,1,7)
yusya5 = yusya_fastste(5,0,9,70,1,6)
yusya6 = yusya_fastste(6,0,10,60,1,5)
yusya7 = yusya_fastste(7,0,11,50,1,4)
yusya8 =yusya_fastste(8,0,12,40,1,3)
yusya9 =yusya_fastste(9,0,13,30,1,2)
yusya10 = yusya_fastste(10,0,14,20,1,1)
yusya_hplist = [yusya1.hp,yusya2.hp,yusya3.hp,yusya4.hp,yusya5.hp,
yusya6.hp,yusya7.hp,yusya8.hp,yusya9.hp,yusya10.hp]
yusya_goldlist = [yusya1.gold,yusya2.gold,yusya3.gold,yusya4.gold,
yusya5.gold,yusya6.gold,yusya7.gold,yusya8.gold,yusya9.gold,yusya10.gold]
yusya_maxdamlist = [yusya1.maxdam,yusya2.maxdam,yusya3.maxdam,yusya4.maxdam,
yusya5.maxdam,yusya6.maxdam,yusya7.maxdam,yusya8.maxdam,
yusya9.maxdam,yusya10.maxdam]
yusya_mindamlist = [yusya1.mindam,yusya2.mindam,yusya3.mindam,yusya4.mindam,
yusya5.mindam,yusya6.mindam,yusya7.mindam,yusya8.mindam,
yusya9.mindam,yusya10.mindam]
nameval = len(yusya_name)
for i in range(nameval):
steval = random.randint(1,10)
my_hp = yusya_hplist[steval-1]
my_gold = yusya_goldlist[steval-1]
my_mindam = yusya_mindamlist[steval-1]
my_maxdam = yusya_maxdamlist[steval-1]
my_lv = 1
my_val =0
print(" ")
print(yusya_name+"のステータスは")
print(" ")
print("***********************************")
print("(LV):"+str(my_lv)+ "(経験値):"+str(my_val)+ " "+
"(HP):" + str(my_hp) + " "+ "(gold):"+ str(my_gold) +" "+ "(mindam):"
+str(my_mindam)+" "+ "(maxdam):"+ str(my_maxdam)+"になりました。")
print(" ")
saikorolist = ["足が痛い","歌をうたってみた","道草を食べた..すぐにはきだした。",
"何も考えられないので空をみあげた。","川をみつけた","石をなげてみた","険しい山だ",
"屈伸運動をした","傾いた像がある","火をおこしたい","花のようなものが咲いている",
"コンビニないかな...","遠くでガンッとゆう音がした","大木がある","苦笑してみた",
"なにか獣臭い","遠くで何かが光った","大声を出してみた","ちかくでガサガサ音がする",
"ちょっと寒い","背中がかゆい","知らない間に足のツメが剥がれている","ガスの元栓占めたかなぁ",
"涙がでてきた",]
#print(len(saikorolist))
#sleep(1)
class Story:
def __init__(self,story):
self.story = story
one= Story("story1")
#print(one.story)
def fight():
#print(choiceno1)
global hp
global zanhp
global hit
hp = hpliststage1[choiceno1]
while int(hp) > 0:
hit = random.randint(my_mindam,my_maxdam)
print(str(yusya_name)+ "の攻撃")
hp -= int(hit)
print(choicemob1+"に"+str(hit) + "のダメージをあたえた")
print(choicemob1+"の残りHPは"+ str(hp)+"だ")
print(choicemob1+"に勝利した")
def eventlot():
global evelot
for i in range(saikoro):
evelot = random.randint(1,1000)
if evelot <= 400 and yusya_hosu <=400:
global choicemob1
global fight_choice
global hp
global choiceno1
choiceno1 = random.randint(0,4)
choicemob1 = nameliststage1[int(choiceno1)]
hp = hpliststage1[int(choiceno1)]
print(choicemob1+"があらわれた")
fight_choice = input("たたかいますか?:")
if fight_choice == "y":
fight()
elif fight_choice =="n":
print("命からがら逃げ延びた。")
else:
print(random.choice(saikorolist))
sugoroku()
yusya_hosu = 0
def sugoroku():
print("サイコロを振りますか?")
sai = input("y or n :")
if sai == "y":
global saikoro
global yusya_hosu
saikoro = random.randint(1,6)
yusya_hosu = yusya_hosu+int(saikoro)
print("サイコロの目は"+ str(saikoro)+ "です")
print("歩数は"+str(yusya_hosu) +"です")
eventlot()
elif sai == "n":
sugoroku()
else:
print("y or nだよ")
sugoroku()
def startchoice():
print("なにをしますか?")
print(" ")
print("1:ゲームを始める")
print(" ")
start_sentaku = input(":")
if start_sentaku == "1":
print("ゲームを初めます")
sugoroku()
else:
print("no")
startchoice()
startchoice()
input()
lvの経験値テーブルも作りたいなぁ
どんどん複雑になってゆく....^^;
0 件のコメント:
コメントを投稿