Skip to content

Instantly share code, notes, and snippets.

@pikachu0310
Last active May 20, 2019 16:31
Show Gist options
  • Save pikachu0310/13efc766be6c4e48cdf9347ccac4ea8f to your computer and use it in GitHub Desktop.
Save pikachu0310/13efc766be6c4e48cdf9347ccac4ea8f to your computer and use it in GitHub Desktop.
テストのテストのテストの試作のテスト
import random
import time
from tqdm import tqdm
for i in tqdm([2]):
time.sleep(1)#ループしたい処理を書く
class main:
def __init__(self, name, HP, ATK, DEF):
self.name = name
self.HP = HP
self.ATK = ATK
self.DEF = DEF
# 1ターンでの処理 ダメージ計算 damage = int(((player1.ATK + int(((ransuu % 10)-4)*2/3)) * hosei) - player2.DEF)
def turn():
global player1, player2
# player1 → player2
ransuu = random.randrange(1, 100+1)
if 10 >= ransuu:
hosei = 1.5
critical = "クリティカル!(1.5倍 1/10)"
elif 95 <= ransuu:
hosei = 2
critical = "スーパークリティカル!(2倍 1/20)"
elif ransuu == 50:
hosei = 5
critical = "ミラクルクリティカル!(5倍 1/100)"
else:
hosei = 1
critical = ""
damage = int(((player1.ATK + int(((ransuu % 10)-4)*2/3)) * hosei) - player2.DEF)
if damage >= 0:
print(player1.name, "の攻撃!", critical, player2.name, "に", damage, "のダメージ!")
player2.HP -= damage
else:
print(player1.name, "の攻撃!", critical, player2.name, "に", "0", "のダメージ!")
player2.HP -= 0
# player2 → player1
ransuu = random.randrange(1, 100 + 1)
if 10 >= ransuu:
hosei = 1.5
critical = "クリティカル!(1.5倍 1/10)"
elif 95 <= ransuu:
hosei = 2
critical = "スーパークリティカル!(2倍 1/20)"
elif ransuu == 50:
hosei = 5
critical = "ミラクルクリティカル!(5倍 1/100)"
else:
hosei = 1
critical = ""
damage = int(((player2.ATK + int(((ransuu % 10) - 4) * 2 / 3)) * hosei) - player1.DEF)
if damage >= 0:
print(player2.name, "の攻撃!", critical, player1.name, "に", damage, "のダメージ!")
player1.HP -= damage
else:
print(player2.name, "の攻撃!", critical, player1.name, "に", "0", "のダメージ!")
player1.HP -= 0
# メイン
global player1, player2
num = 0
members = ["ピカチュウ", "しょぼん"]
while num < 100:
num += 1
player1 = main(members[random.randrange(len(members))], random.randrange(100, 250 + 1), random.randrange(3, 20 + 1), random.randrange(0, 5 + 1))
player2 = main(members[random.randrange(len(members))], random.randrange(100, 250 + 1), random.randrange(3, 20 + 1), random.randrange(0, 5 + 1))
if player1.name != player2.name:
break
num = 0
print(player1.name, "vs", player2.name)
print(player1.name, "'s status→", "HP:", player1.HP, "ATK:", player1.ATK, "DEF:", player1.DEF)
print(player2.name, "'s status→", "HP:", player2.HP, "ATK:", player2.ATK, "DEF:", player2.DEF)
print(player1.name, "のHP:", player1.HP)
print(player2.name, "のHP:", player2.HP)
# 戦闘
while 0 < player1.HP and 0 < player2.HP and num < 100:
time.sleep(1)
num += 1
turn()
print(player1.name, "のHP:", player1.HP)
print(player2.name, "のHP:", player2.HP)
# 戦闘終わり
if num >= 100:
print("勝負つかねえぞ?? 引き分け定期")
else:
if 0 >= player1.HP:
print(player1.name, "は倒れた!")
if 0 >= player2.HP:
print(player2.name, "は倒れた!")
if 0 >= player1.HP and 0 >= player2.HP:
print("共倒れ!引き分け!")
elif 0 >= player1.HP:
print(player2.name, "の勝ち!")
print("残りHP:", player2.HP)
elif 0 >= player2.HP:
print(player1.name, "の勝ち!")
print("残りHP:", player1.HP)
# <editor-fold desc="序盤まとめ">
import discord
import random
from googletrans import Translator
from asyncio import sleep
from datetime import datetime
import sys
import time
import math
kousin = datetime.now().strftime("%m/%d %H:%M:%S")
client = discord.Client() # せつぞく
# 起動時に実行するお
@client.event
async def on_ready():
print('Pikachu BOT TEST 起動')
print("テスト")
await client.change_presence(game=discord.Game(name="最終更新時間" + str(kousin)))
class main:
def __init__(self, name, HP, ATK, DEF):
self.name = name
self.HP = HP
self.ATK = ATK
self.DEF = DEF
def turn():
global player1, player2
print(player1.name, "の攻撃!", player2.name, "に", player1.ATK - player2.DEF, "のダメージ!")
player2.HP -= player1.ATK - player2.DEF
print(player2.name, "の攻撃!", player1.name, "に", player2.ATK - player1.DEF, "のダメージ!")
player1.HP -= player2.ATK - player1.DEF
# ほ ん へ
@client.event # ----------------------------------------------------------------------------------------------------
async def on_message(message):
global ikkai, player1, player2
ikkai = True
if message.content.startswith("/gametest"):
if ikkai:
ikkai = False
f = open("python_out", 'w')
sys.stdout = f
num = 0
player1 = main("pikachu", random.randrange(10, 25 + 1), random.randrange(2, 4 + 1), random.randrange(0, 2 + 1))
player2 = main("shobonvip", random.randrange(10, 25 + 1), random.randrange(2, 4 + 1), random.randrange(0, 2 + 1))
print(player1.name, "vs", player2.name)
print(player1.name, "'s status→", "HP:", player1.HP, "ATK:", player1.ATK, "DEF:", player1.DEF)
print(player2.name, "'s status→", "HP:", player2.HP, "ATK:", player2.ATK, "DEF:", player2.DEF)
print(player1.name, "のHP:", player1.HP)
print(player2.name, "のHP:", player2.HP)
while 0 < player1.HP and 0 < player2.HP and num < 15:
num += 1
turn()
print(player1.name, "のHP:", player1.HP)
print(player2.name, "のHP:", player2.HP)
if num >= 25:
print("勝負つかねえぞ?? 引き分け定期")
else:
if 0 >= player1.HP:
print(player1.name, "は倒れた!")
if 0 >= player2.HP:
print(player2.name, "は倒れた!")
if 0 >= player1.HP and 0 >= player2.HP:
print("共倒れ!引き分け!")
elif 0 >= player1.HP:
print(player2.name, "の勝ち!")
print("残りHP:", player2.HP)
elif 0 >= player2.HP:
print(player1.name, "の勝ち!")
print("残りHP:", player1.HP)
sys.stdout = sys.__stdout__
with open("python_out", "r") as f:
await client.send_message(message.channel, str(f.read()))
f.close()
ikkai = True
# ------------------------------------------------------------------------------------------------------------------
# bot起動構文
client.run("見せられないぜ")
#
# <editor-fold desc="序盤まとめ">
import discord
import random
from googletrans import Translator
from asyncio import sleep
from datetime import datetime
import sys
import time
import math
kousin = datetime.now().strftime("%m/%d %H:%M:%S")
client = discord.Client() # せつぞく
# 起動時に実行するお
@client.event
async def on_ready():
print('Pikachu BOT TEST 起動')
print("テスト")
await client.change_presence(game=discord.Game(name="最終更新時間" + str(kousin)))
class main:
def __init__(self, name, HP, ATK, DEF):
self.name = name
self.HP = HP
self.ATK = ATK
self.DEF = DEF
def turn():
global player1, player2
# player1 → player2
ransuu = random.randrange(1, 100+1)
if 10 >= ransuu:
hosei = 1.5
critical = "クリティカル!(1.5倍 1/10)"
elif 95 <= ransuu:
hosei = 2
critical = "スーパークリティカル!(2倍 1/20)"
elif ransuu == 50:
hosei = 5
critical = "ミラクルクリティカル!(5倍 1/100)"
else:
hosei = 1
critical = ""
damage = int(((player1.ATK + (((ransuu % 10) - 4) * 2 / 3) * (player1.ATK / 10)) * hosei) - player2.DEF)
if damage >= 0:
print(player1.name, "の攻撃!", critical, player2.name, "に", damage, "のダメージ!")
player2.HP -= damage
else:
print(player1.name, "の攻撃!", critical, player2.name, "に", "0", "のダメージ!")
player2.HP -= 0
# player2 → player1
ransuu = random.randrange(1, 100 + 1)
if 10 >= ransuu:
hosei = 1.5
critical = "クリティカル!(1.5倍 1/10)"
elif 95 <= ransuu:
hosei = 2
critical = "スーパークリティカル!(2倍 1/20)"
elif ransuu == 50:
hosei = 5
critical = "ミラクルクリティカル!(5倍 1/100)"
else:
hosei = 1
critical = ""
damage = int(((player2.ATK + (((ransuu % 10) - 4) * 2 / 3) * (player2.ATK / 10)) * hosei) - player1.DEF)
if damage >= 0:
print(player2.name, "の攻撃!", critical, player1.name, "に", damage, "のダメージ!")
player1.HP -= damage
else:
print(player2.name, "の攻撃!", critical, player1.name, "に", "0", "のダメージ!")
player1.HP -= 0
# ほ ん へ
@client.event # ----------------------------------------------------------------------------------------------------
async def on_message(message):
global ikkai, player1, player2, members
ikkai = True
if message.content.startswith("/gametest"):
if ikkai:
ikkai = False
f = open("python_out", 'w')
sys.stdout = f
num = 0
members = list(message.server.members)
while num < 150:
num += 1
player1 = main(members[random.randrange(len(members))].name, random.randrange(450, 550 + 1), random.randrange(12, 16 + 1), random.randrange(4, 7 + 1))
player2 = main(members[random.randrange(len(members))].name, random.randrange(450, 550 + 1), random.randrange(12, 16 + 1), random.randrange(4, 7 + 1))
if player1.HP > player2.HP*11/10:
player2.ATK = int(player2.ATK * 1.25)
player2.DEF = int(player2.DEF * 1.25)
elif player2.HP > player1.HP*11/10:
player1.ATK = int(player1.ATK * 1.25)
player1.DEF = int(player1.DEF * 1.25)
if player1.ATK + player1.DEF > (player2.ATK + player2.DEF)*11/10:
player2.ATK = int(player2.ATK * 1.25)
player2.DEF = int(player2.DEF * 1.25)
elif player2.ATK + player2.DEF > (player1.ATK + player1.DEF)*11/10:
player1.ATK = int(player1.ATK * 1.25)
player1.DEF = int(player1.DEF * 1.25)
if player1.name != player2.name:
break
num = 0
print(player1.name, "vs", player2.name)
print(player1.name, "'s status→", "HP:", player1.HP, "ATK:", player1.ATK, "DEF:", player1.DEF)
print(player2.name, "'s status→", "HP:", player2.HP, "ATK:", player2.ATK, "DEF:", player2.DEF)
print(player1.name, "のHP:", player1.HP)
print(player2.name, "のHP:", player2.HP)
while 0 < player1.HP and 0 < player2.HP and num < 100:
num += 1
turn()
print(player1.name, "のHP:", player1.HP)
print(player2.name, "のHP:", player2.HP)
if num >= 150:
print("150回ターン目でも勝負つかねえぞ?? 引き分け定期")
else:
if 0 >= player1.HP:
print(player1.name, "は倒れた!")
if 0 >= player2.HP:
print(player2.name, "は倒れた!")
if 0 >= player1.HP and 0 >= player2.HP:
print("共倒れ!引き分け!")
elif 0 >= player1.HP:
print(player2.name, "の勝ち!")
print("残りHP:", player2.HP)
elif 0 >= player2.HP:
print(player1.name, "の勝ち!")
print("残りHP:", player1.HP)
sys.stdout = sys.__stdout__
with open("python_out", "r") as f:
text = str(f.read())
if len(text) < 2000:
await client.send_message(message.channel, text)
elif len(text) < 4000:
await client.send_message(message.channel, text[0:2000])
await client.send_message(message.channel, text[2000:])
elif len(text) < 6000:
await client.send_message(message.channel, text[0:2000])
await client.send_message(message.channel, text[2000:4000])
await client.send_message(message.channel, text[4000:])
elif len(text) < 8000:
await client.send_message(message.channel, text[0:2000])
await client.send_message(message.channel, text[2000:4000])
await client.send_message(message.channel, text[4000:6000])
await client.send_message(message.channel, text[6000:])
elif len(text) < 10000:
await client.send_message(message.channel, text[0:2000])
await client.send_message(message.channel, text[2000:4000])
await client.send_message(message.channel, text[4000:6000])
await client.send_message(message.channel, text[6000:8000])
await client.send_message(message.channel, text[8000:])
elif len(text) < 12000:
await client.send_message(message.channel, text[0:2000])
await client.send_message(message.channel, text[2000:4000])
await client.send_message(message.channel, text[4000:6000])
await client.send_message(message.channel, text[6000:8000])
await client.send_message(message.channel, text[8000:10000])
await client.send_message(message.channel, text[10000:])
elif len(text) < 14000:
await client.send_message(message.channel, text[0:2000])
await client.send_message(message.channel, text[2000:4000])
await client.send_message(message.channel, text[4000:6000])
await client.send_message(message.channel, text[6000:8000])
await client.send_message(message.channel, text[8000:10000])
await client.send_message(message.channel, text[10000:12000])
await client.send_message(message.channel, text[12000:])
elif len(text) < 16000:
await client.send_message(message.channel, text[0:2000])
await client.send_message(message.channel, text[2000:4000])
await client.send_message(message.channel, text[4000:6000])
await client.send_message(message.channel, text[6000:8000])
await client.send_message(message.channel, text[8000:10000])
await client.send_message(message.channel, text[10000:12000])
await client.send_message(message.channel, text[12000:14000])
await client.send_message(message.channel, text[14000:])
elif len(text) < 18000:
await client.send_message(message.channel, text[0:2000])
await client.send_message(message.channel, text[2000:4000])
await client.send_message(message.channel, text[4000:6000])
await client.send_message(message.channel, text[6000:8000])
await client.send_message(message.channel, text[8000:10000])
await client.send_message(message.channel, text[10000:12000])
await client.send_message(message.channel, text[12000:14000])
await client.send_message(message.channel, text[14000:16000])
await client.send_message(message.channel, text[16000:])
elif len(text) < 20000:
await client.send_message(message.channel, text[0:2000])
await client.send_message(message.channel, text[2000:4000])
await client.send_message(message.channel, text[4000:6000])
await client.send_message(message.channel, text[6000:8000])
await client.send_message(message.channel, text[8000:10000])
await client.send_message(message.channel, text[10000:12000])
await client.send_message(message.channel, text[12000:14000])
await client.send_message(message.channel, text[14000:16000])
await client.send_message(message.channel, text[16000:18000])
await client.send_message(message.channel, text[18000:])
else:
await client.send_message(message.channel, "20000文字超え!?!? 長すぎて、まずいですよ!")
f.close()
ikkai = True
# ------------------------------------------------------------------------------------------------------------------
# bot起動構文
client.run("見せないぜ")
#
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment