Last active
May 20, 2019 16:31
-
-
Save pikachu0310/13efc766be6c4e48cdf9347ccac4ea8f to your computer and use it in GitHub Desktop.
テストのテストのテストの試作のテスト
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# <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("見せられないぜ") | |
# |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# <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