えくすとらんのブログ

いきあたりばったりでプログラミング 方向転換ノ章

ここまで順調?にすすんできましたが....

いきあたりばったりの仕様上少し変更したほうがよいかな

と思っている箇所がでてきました

最初に作ったLV別のリストですが当初の考えではLV別に作っておけば

呼び出しが簡単になるのではないかと思っていたのですが

どうやらこれを呼び出すと戦闘場面の処理などをもう一度書かないといけないようで

これならリストをひとまとめにしてランダムで選ぶ数字の方を制御したほうが

効率がよさそうかななんておもっています

#!/usr/bin/python
# -*- coding: utf-8 -*-

import random
import sys
from time import sleep

class Syokki:
    def __init__(self,name,num,val,hp,mindam,maxdam,gold):
        self.name = name
        self.num = num
        self.val = val
        self.hp = hp
        self.mindam = mindam
        self.maxdam = maxdam
        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,3,2)
furaipancyu = Syokki("フライパンダ",4,7,8,3,5,3)
furaipansyo = Syokki("フライパンツァー",5,12,11,2,5,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]

maxdamstage1= [ryoutenabe.maxdam,denkinabe.maxdam,furaipandai.maxdam,
furaipancyu.maxdam,furaipansyo.maxdam]
maxdamstage2= [furaipanfuta.maxdam,nabefuta.maxdam,katatenabedai.maxdam,
katatenabecyu.maxdam,katatenabesyo.maxdam,donburicyu.maxdam]
maxdamstage3= [donburisyo.maxdam,ball.hp,zaru.maxdam,saradai.maxdam,
saracyu.maxdam,sarasyo.maxdam,houcyou.maxdam,manaita.maxdam]
maxdamstage4= [hashietc.maxdam,syamoji.maxdam,pira.maxdam,shinktarai.maxdam,
akikan.maxdam,pura.maxdam,mu.maxdam]

mindamstage1= [ryoutenabe.mindam,denkinabe.mindam,furaipandai.mindam,
furaipancyu.mindam,furaipansyo.mindam]
mindamstage2= [furaipanfuta.mindam,nabefuta.mindam,katatenabedai.mindam,
katatenabecyu.mindam,katatenabesyo.mindam,donburicyu.mindam]
mindamstage3= [donburisyo.mindam,ball.hp,zaru.mindam,saradai.mindam,
saracyu.mindam,sarasyo.mindam,houcyou.mindam,manaita.mindam]
mindamstage4= [hashietc.mindam,syamoji.mindam,pira.mindam,shinktarai.mindam,
akikan.mindam,pura.mindam,mu.mindam]

goldstage1= [ryoutenabe.gold,denkinabe.gold,furaipandai.gold,
furaipancyu.gold,furaipansyo.gold]
goldstage2= [furaipanfuta.gold,nabefuta.gold,katatenabedai.gold,
katatenabecyu.gold,katatenabesyo.gold,donburicyu.gold]
goldstage3= [donburisyo.gold,ball.hp,zaru.gold,saradai.gold,
saracyu.gold,sarasyo.gold,houcyou.gold,manaita.gold]
goldstage4= [hashietc.gold,syamoji.gold,pira.gold,shinktarai.gold,
akikan.gold,pura.gold,mu.gold]

print("瞼の裏に届く柔らかな光とわずかな草の香りで少しずつ覚醒してゆく"
"気だるさを感じながら""ああそろそろ時間か...と体をおこした")
#sleep(1)
print("・・・・・")
#sleep(1)
for i in range(3):
    print("えええ.....まわりを見渡すとそこはただ広い平原だった........")
    #sleep(1)

print(" ")
print(" ")
print("勇者の名前を入れてください")
yusya_name = input()
print(" ")
#sleep(1)
print("私の名前は "+ yusya_name+ " 。")
#sleep(1)
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(2)
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,20)
yusya2 = yusya_fastste(2,0,6,180,1,18)
yusya3 = yusya_fastste(3,0,7,150,1,16)
yusya4 = yusya_fastste(4,0,8,80,1,14)
yusya5 = yusya_fastste(5,0,9,70,1,12)
yusya6 = yusya_fastste(6,0,10,60,1,10)
yusya7 = yusya_fastste(7,0,11,50,1,8)
yusya8 =yusya_fastste(8,0,12,40,1,6)
yusya9 =yusya_fastste(9,0,13,30,1,8)
yusya10 = yusya_fastste(10,0,14,20,1,22)

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+"のステータスは")
sleep(1)
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)
def one():
    global story
    while yusya_hosu > 20 and yusya_hosu < 30 and story == 0:
        story = story+ 1
        print(story)
        sleep(1)
        print(".....少し お休みになってはどうですか?....")
        sleep(1)
        print("ん だれだ?")
        sleep(1)
        print("まわりを見渡すと自分が今通ってきたばかりの場所に")
        sleep(1)
        print("真っ黒な服を着た少女が立っていた")
        sleep(1)
        print("あれ...さっきまで.....そうおもったがなにより人と出会えたことがうれしい")
        sleep(1)
        print("こんにちは...焦りをさとられないよう 紳士的にあいさつをかわすことにした")
        sleep(1)
        print("こんにちは...少女は少し照れながらあいさつをかわした")
        sleep(1)
        print("しばらく沈黙が続いたあとオウム返しのように")
        sleep(1)
        print("この辺に少し落ち着ける場所はないですか?と口をひらいた")
        sleep(1)
        print("少女は私がこの世界のことを何も知らないことをみすかしているかのように")
        sleep(1)
        print("少し説明的な口調で喋り初めた")
        sleep(1)
        print("さて...いきなりですがあなたはこの世界で勇者となってふえつづける食器MOB")
        print("と戦っていただきます")
        sleep(1)
        print("なぜ?")
        sleep(1)
        print("なぜ?...と考えましたね")
        sleep(1)
        print("答えはこのゲームがそういうゲームだからです")
        sleep(1)
        print("あ....はぁ...")
        sleep(1)
        print("自己紹介しておきます 私はゲームマスターの秋カンナ..")
        sleep(1)
        print("ひとまずここから50ほど歩いたところに町があるのでそこへ向かって下さい")
        print("そこでまたあいましょう")
        sleep(1)
        print("そうゆうと煙とともに消えてしまった...")
        sleep(1)
        print("ああ...消えちゃうんだ まぁ驚かない.... この世界はそんなもの..と")
        print("考えることにした。")
        sleep(1)
        print("少し疲れた..はやく町にたどり着いて休むことにしよう...")
        eventlot()

#print(one.story)
def fib(n):
    result = []
    a, b = 0, 1
    while b < n:
        result.append(b)
        a, b = b, a+b
    return result
lvtable = (fib(999999900000000))
del lvtable[0:5]
#print(len(lvtable))
table = lvtable[my_lv]

def fight():
#print(choiceno1)
    global hp
    global zanhp
    global hit
    global my_hp
    global now_myhp
    global val
    global my_val
    global table
    global my_lv
    global my_gold
    global now_gold
    global my_mindam
    global my_maxdam
    val = valliststage1[choiceno1]
    now_myhp = int(my_hp)
    hp = hpliststage1[choiceno1]
    now_gold = goldstage1[choiceno1]
    while int(hp) or now_myhp> 0:
        hit = random.randint(my_mindam,my_maxdam)
        print(str(yusya_name)+ "の攻撃")
        #sleep(1)
        hp -= int(hit)
        print(choicemob1+"に"+str(hit) + "のダメージをあたえた")
        #sleep(1)
        if int(hp)<= 0:
            my_val = my_val + val
            my_gold = int(my_gold)+ int(now_gold)
            #print(str(val)+"の経験値"+ " "+ str(now_gold)+ "のゴールドを手に入れた")
            break
        print(choicemob1+"の残りHPは"+ str(hp))
        #sleep(1)
        print(str(choicemob1)+"の攻撃")
        #print(mobmin,mobmax)
        mobhit = random.randint(mobmin,mobmax)
        #sleep(1)
        print(str(yusya_name)+ "は"+ str(mobhit)+ "のダメージを受けた")
        now_myhp-= int(mobhit)
        if now_myhp <=0:
            print("あなたは死んだ sayonara")
            #sleep(3)
            sys.exit(0)
        print("あなたのHPは"+ str(now_myhp))
    #sleep(1)
    print(choicemob1+"に勝利した")
    print(str(val)+"の経験値"+ " "+ str(now_gold)+ "のゴールドを手に入れた")
    print("経験値:"+ str(my_val)+ "ゴールド:"+ str(my_gold))
    if my_val > int(table):
        my_lv = my_lv + 1
        print("LVアップだ",my_lv)
        table = lvtable[my_lv]
        print(table)
        my_hp = int(my_hp)+ (round(int(my_hp)/2))+ int(my_lv)
        my_mindam = int(my_mindam)+(round(my_mindam/2))+int(my_mindam)
        my_maxdam= int(my_maxdam)+(round(my_maxdam/2))+int(my_maxdam)
        print("(LV):"+str(my_lv)+ "(HP):" + str(my_hp) + " "+ "(gold):"
        + str(my_gold) +" "+  "(mindam):"
        + str(my_mindam)+" "+  "(maxdam):"+ str(my_maxdam)+"になりました。")
    sugoroku()

def eventlot():
    global evelot
    for i in range(saikoro):
        evelot = random.randint(1,1000)
    if evelot <= 400 and yusya_hosu <= 200:
        global choicemob1
        global fight_choice
        global hp
        global choiceno1
        global mobmin
        global mobmax
        choiceno1 = random.randint(0,4)
        choicemob1 = nameliststage1[int(choiceno1)]
        mobmin = mindamstage1[int(choiceno1)]
        mobmax = maxdamstage1[int(choiceno1)]
        hp = hpliststage1[int(choiceno1)]
        print(choicemob1+"があらわれた")
        fight_choice = input("たたかいますか?  y or n:")
        if fight_choice == "y":
            fight()
    else:
        print(random.choice(saikorolist))
        sugoroku()
yusya_hosu = 0
story = 0
def sugoroku():
    print("サイコロを振りますか?")
    sai = input("y or n :")
    if sai == "y":
        global saikoro
        global yusya_hosu
        global story
        saikoro = random.randint(1,6)
        yusya_hosu = yusya_hosu+int(saikoro)
        print("サイコロの目は"+ str(saikoro)+ "です")
        #sleep(1)
        print("歩数は"+str(yusya_hosu) +"です")
        one()
        eventlot()
    elif sai == "n":
        sugoroku()
    else:
        print("y or nだよ")
        sugoroku()
def startchoice():
    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(" ")
    print("1:ゲームを始める")
    print(" ")
    start_sentaku = input(":")
    if start_sentaku == "1":
        print("ゲームを初めます")
        sugoroku()
    else:
        print("no")
        startchoice()

startchoice()



input()

20歩進んだところにストーリーを追加しました

(あとは同じように◯歩ごとにストーリー追加ができるはず?...)

話が面白いかは別として....ストーリーが入ると一気にゲームっぽく

なってきます

そこしづつ敵を強くしていきたい+”歩数を戻す”を実装したい

をとりあえず目標にしていきたいとおもっていますが途中で折れる可能性もあります

^^;

風邪がなかなか治りませんTT














python3 print ターミナル文字色

ちょっと調べてみた

モジュールに依存しない方法を調べたところ

print("\033[32mどうですか\033[40m")

#\はバックスラッシュ

ASCIIコードANSI color codes でだす方法をみつけた

自分用に貼っておこ...

[30m
--
set foreground color to black
[31m
--
set foreground color to red
[32m
--
set foreground color to green
[33m
--
set foreground color to yellow
[34m
--
set foreground color to blue
[35m
--
set foreground color to magenta (purple)
[36m
--
set foreground color to cyan
[37m
--
set foreground color to white
[39m
2.53
set foreground color to default (white)
[40m
--
set background color to black
[41m
--
set background color to red
[42m
--
set background color to green
[43m
--
set background color to yellow
[44m
--
set background color to blue
[45m
--
set background color to magenta (purple)
[46m
--
set background color to cyan
[47m
--
set background color to white
[49m
2.53
set background color to default (black)

システムお引っ越し

ハードディスクを交換

しましたので(中古)

新しくarchlinuxを入れ直しました

いつものようにLXDEをいれて様子を見ていたのですが

どうもブラウザゲームの動き(描画)が悪かったので

(ちなみにchromiumでslther.io)

前のハードディスクとの違いを考えてみた

最初はハード自体の仕様の問題だとおもっていたのですが

(ハードディスクのキャッシュの容量...あるいは読み出しのスピード等)

前から思っていたことを確認して確信に変わりました

....

compiz入れると描画がはやくなる?!

いつものように
WM: Compiz
DE: LXDE
に設定


詳しいことはわかりませんがopenGLで描画するからなのかなぁ

ビデオカード(ちなみにえくすとらんのは中古で買ってきた GeForce 9500 GT)

によってはかなりの差がでるのではないかなぁなんておもってます

やっぱりcompizいいわぁ^^

あとは chrome://flagsをいろいろとつつくと動きが変わるところも

あるようです

ゲームしよ....




ゆる〜いプログラミング pyてょn3

第一回 数 文字

自分のおさらいをなんとなく書いてみる *内容はアマチュアなので保証しない

python3の場合,数と文字は明確に区別される

数を使いたいときには int()

文字を使いたいときには str() を宣言する

最初の入力で数か文字か決まるらしい

a = "hello" ←文字
b = 1 ←数字

a+b
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: must be str, not int

文字と数はたすことが出来ないのでエラーですよとでてくる

a + str(b)
'hello1'

bを文字宣言!

文字と数はエラーのもと....






どうなのかな..

不確かな情報は一切だめ

という風潮がネット上で厳しくなっているように思う

確かに情報は確実なもののほうがよいとおもうのですが

こうなると必然的に失敗談やチャレンジ談は少なくなって

きてしまう

もしかしたらその失敗談やチャレンジ談を読んで

なにかをひらめく人がいるかもしれない

私がよくわかりもしないパソコン関係のことや

自分勝手な趣味のブログを書くのは

このブログをみた人がなにかすごいことを思いついてくれたらいいのになぁ

なんて他力本願な気持ちもあるからだったりします

人間の想像力は素晴らしいとおもいます

もしかしたらさらっと読み飛ばした間違った知識の個人のブログで

偉大な発明が生まれるかもしれません

なので 失敗はだめ 間違ったことを書いているブログはダメ

とは一概に言えないのではないかとつねづねおもっています

(私がこの偉大なプログラムをつくったきっかけになったのは一つの間違ったソースを

見たからでした....)なんてだれか言ってくれないかな^^

ほんと...キビシィー世の中ですねぇ;




不覚....

風邪をひいてしまった

なんとかぜをひいてしまいました><

体力的にも精神的にもかなりパワフルなバイオリズムな時だったのですが

急に喉がいたくなり今日はフラフラです><

趣味のプログラミングの方は一旦おやすみとりあえずバトルシーンの

構築はほぼ終わっているのでシナリオに走るのか

それともバトルーシーンのLVアップにするのか考え中です

バトルシーンの設定はただいまstage1のモンスターだけがでてくる設定に

なっています これを歩数に応じた強さのモンスターをだしたいなぁ

なんておもっていますがどうやればいいのかはまだわかりません

こんな場合は別ファイルにstage1のファイルをコピーして

stage2のモンスターに置き換え歩数分岐でインサートしてもいいのでしょうか...

それなら最初からLV1のモンスターも別ファイルにしては?....

なんて考えも...

ブログアップは少し時間を置いてからしてみようとおもいます

まぁ いろいろやってみて素直に動く方法をみつけたいなぁなんて思っています

...話はかわりますが

グッピー飼いました






















(水槽の中をスマホの写真でとるのは結構難しいものですねぇ)

♂♀2匹づつ買ったのですが

購入時のコンディションが悪かったのか一匹死んでしまいました

グッピーといえばやはり繁殖が醍醐味

我が家の2匹の♀も早速大きなお腹になっています

オスはレッドコブラモザイク(よくわからないけどこんな感じ)

メスはイエローモザイクとブラオです

もちろんどちらのメスが子を産んでも楽しみなのですが

ブラオのほうはもともとブルーグラスの劣勢遺伝ということで

今回誕生する子はブルーグラスになるかもしれないということです

レッドコブラのモザイクとブラオのメス....

どんな子供ができるのでしょう....

楽しみですね^^


いきあたりばったりでプログラミング 勇者は化物になったで章

ゲームバランスの悪さ

数LVUPで勇者が強くなりすぎ...死なない.負けない....あげくHP10の雑魚キャラに

k超えのダメージを与え地面さえ割ってしまいそうな勢いで成長する^^

う〜むこれはこまった

少し考えなければならない

まぁ ひとまず 経験値.ゴールドの付与 LVアップにダメージの上昇はできるように

なったようだ

エピソードを進めるために歩数を基準にステージオープンにともなう敵LVのアップ

なんかも考えているのだけどちょっとストーリーのほうも考えてみたいなぁ

#!/usr/bin/python
# -*- coding: utf-8 -*-

import random
import sys
from time import sleep

class Syokki:
    def __init__(self,name,num,val,hp,mindam,maxdam,gold):
        self.name = name
        self.num = num
        self.val = val
        self.hp = hp
        self.mindam = mindam
        self.maxdam = maxdam
        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,3,2)
furaipancyu = Syokki("フライパンダ",4,7,8,3,5,3)
furaipansyo = Syokki("フライパンツァー",5,12,11,2,5,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]

maxdamstage1= [ryoutenabe.maxdam,denkinabe.maxdam,furaipandai.maxdam,
furaipancyu.maxdam,furaipansyo.maxdam]
maxdamstage2= [furaipanfuta.maxdam,nabefuta.maxdam,katatenabedai.maxdam,
katatenabecyu.maxdam,katatenabesyo.maxdam,donburicyu.maxdam]
maxdamstage3= [donburisyo.maxdam,ball.hp,zaru.maxdam,saradai.maxdam,
saracyu.maxdam,sarasyo.maxdam,houcyou.maxdam,manaita.maxdam]
maxdamstage4= [hashietc.maxdam,syamoji.maxdam,pira.maxdam,shinktarai.maxdam,
akikan.maxdam,pura.maxdam,mu.maxdam]

mindamstage1= [ryoutenabe.mindam,denkinabe.mindam,furaipandai.mindam,
furaipancyu.mindam,furaipansyo.mindam]
mindamstage2= [furaipanfuta.mindam,nabefuta.mindam,katatenabedai.mindam,
katatenabecyu.mindam,katatenabesyo.mindam,donburicyu.mindam]
mindamstage3= [donburisyo.mindam,ball.hp,zaru.mindam,saradai.mindam,
saracyu.mindam,sarasyo.mindam,houcyou.mindam,manaita.mindam]
mindamstage4= [hashietc.mindam,syamoji.mindam,pira.mindam,shinktarai.mindam,
akikan.mindam,pura.mindam,mu.mindam]

goldstage1= [ryoutenabe.gold,denkinabe.gold,furaipandai.gold,
furaipancyu.gold,furaipansyo.gold]
goldstage2= [furaipanfuta.gold,nabefuta.gold,katatenabedai.gold,
katatenabecyu.gold,katatenabesyo.gold,donburicyu.gold]
goldstage3= [donburisyo.gold,ball.hp,zaru.gold,saradai.gold,
saracyu.gold,sarasyo.gold,houcyou.gold,manaita.gold]
goldstage4= [hashietc.gold,syamoji.gold,pira.gold,shinktarai.gold,
akikan.gold,pura.gold,mu.gold]

print("瞼の裏に届く柔らかな光とわずかな草の香りで少しずつ覚醒してゆく"
"気だるさを感じながら""ああそろそろ時間か...と体をおこした")
#sleep(1)
print("・・・・・")
#sleep(1)
for i in range(3):
    print("えええ.....まわりを見渡すとそこはただ広い平原だった........")
    #sleep(1)

print(" ")
print(" ")
print("勇者の名前を入れてください")
yusya_name = input()
print(" ")
#sleep(1)
print("私の名前は "+ yusya_name+ " 。")
#sleep(1)
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(2)
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,20)
yusya2 = yusya_fastste(2,0,6,180,1,18)
yusya3 = yusya_fastste(3,0,7,150,1,16)
yusya4 = yusya_fastste(4,0,8,80,1,14)
yusya5 = yusya_fastste(5,0,9,70,1,12)
yusya6 = yusya_fastste(6,0,10,60,1,10)
yusya7 = yusya_fastste(7,0,11,50,1,8)
yusya8 =yusya_fastste(8,0,12,40,1,6)
yusya9 =yusya_fastste(9,0,13,30,1,8)
yusya10 = yusya_fastste(10,0,14,20,1,22)

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+"のステータスは")
sleep(1)
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 fib(n):
    result = []
    a, b = 0, 1
    while b < n:
        result.append(b)
        a, b = b, a+b
    return result
lvtable = (fib(999999900000000))
del lvtable[0:5]
print(len(lvtable))
table = lvtable[my_lv]

def fight():
#print(choiceno1)
    global hp
    global zanhp
    global hit
    global my_hp
    global now_myhp
    global val
    global my_val
    global table
    global my_lv
    global my_gold
    global now_gold
    global my_mindam
    global my_maxdam
    val = valliststage1[choiceno1]
    now_myhp = int(my_hp)
    hp = hpliststage1[choiceno1]
    now_gold = goldstage1[choiceno1]
    while int(hp) or now_myhp> 0:
        hit = random.randint(my_mindam,my_maxdam)
        print(str(yusya_name)+ "の攻撃")
        #sleep(1)
        hp -= int(hit)
        print(choicemob1+"に"+str(hit) + "のダメージをあたえた")
        #sleep(1)
        if int(hp)<= 0:
            my_val = my_val + val
            my_gold = int(my_gold)+ int(now_gold)
            #print(str(val)+"の経験値"+ " "+ str(now_gold)+ "のゴールドを手に入れた")
            break
        print(choicemob1+"の残りHPは"+ str(hp))
        #sleep(1)
        print(str(choicemob1)+"の攻撃")
        #print(mobmin,mobmax)
        mobhit = random.randint(mobmin,mobmax)
        #sleep(1)
        print(str(yusya_name)+ "は"+ str(mobhit)+ "のダメージを受けた")
        now_myhp-= int(mobhit)
        if now_myhp <=0:
            print("あなたは死んだ sayonara")
            #sleep(3)
            sys.exit(0)
        print("あなたのHPは"+ str(now_myhp))
    #sleep(1)
    print(choicemob1+"に勝利した")
    print(str(val)+"の経験値"+ " "+ str(now_gold)+ "のゴールドを手に入れた")
    print("経験値:"+ str(my_val)+ "ゴールド:"+ str(my_gold))
    if my_val > int(table):
        my_lv = my_lv + 1
        print("LVアップだ",my_lv)
        table = lvtable[my_lv]
        print(table)
        my_hp = int(my_hp)+ (round(int(my_hp)/2))+ int(my_lv)
        my_mindam = int(my_mindam)+(round(my_mindam/2))+int(my_mindam)
        my_maxdam= int(my_maxdam)+(round(my_maxdam/2))+int(my_maxdam)
        print("(LV):"+str(my_lv)+ "(HP):" + str(my_hp) + " "+ "(gold):"
        + str(my_gold) +" "+  "(mindam):"
        + str(my_mindam)+" "+  "(maxdam):"+ str(my_maxdam)+"になりました。")
    sugoroku()

def eventlot():
    global evelot
    for i in range(saikoro):
        evelot = random.randint(1,1000)
    if evelot <= 400 and yusya_hosu <= 200:
        global choicemob1
        global fight_choice
        global hp
        global choiceno1
        global mobmin
        global mobmax
        choiceno1 = random.randint(0,4)
        choicemob1 = nameliststage1[int(choiceno1)]
        mobmin = mindamstage1[int(choiceno1)]
        mobmax = maxdamstage1[int(choiceno1)]
        hp = hpliststage1[int(choiceno1)]
        print(choicemob1+"があらわれた")
        fight_choice = input("たたかいますか?  y or n:")
        if fight_choice == "y":
            fight()
    else:
        print(random.choice(saikorolist))
        sugoroku()
yusya_hosu = 0
story = 0
def sugoroku():
    print("サイコロを振りますか?")
    sai = input("y or n :")
    if sai == "y":
        global saikoro
        global yusya_hosu
        global story
        saikoro = random.randint(1,6)
        yusya_hosu = yusya_hosu+int(saikoro)
        print("サイコロの目は"+ str(saikoro)+ "です")
        #sleep(1)
        print("歩数は"+str(yusya_hosu) +"です")
        while yusya_hosu > 20 and yusya_hosu < 30 and story == 0:
                print(".....少し お休みになってはどうですか?....")
                print("ん だれだ?")
                print("まわりを見渡すと")
                print("")
                story = story + 1
                eventlot()
        eventlot()
    elif sai == "n":
        sugoroku()
    else:
        print("y or nだよ")
        sugoroku()
def startchoice():
    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(" ")
    print("1:ゲームを始める")
    print(" ")
    start_sentaku = input(":")
    if start_sentaku == "1":
        print("ゲームを初めます")
        sugoroku()
    else:
        print("no")
        startchoice()

startchoice()



input()




今日はべた張りで

かなりすすんだ〜^^b











 久しぶりの更新です 備忘録 使っているarchlinuxにnvidiaのドライバを入れたところドライバがあっていなかったのかxが起動せずこれをアンインストールしたがその後xf86-video-nouveauが入っているにもかかわらずxが起動しなくなったのでarchwikiにて調...