ゲームらしきもの(標準のPythonで実行)
実行イメージ(Enterで次のメッセージが表示される)
スライムが現れた! スライムの攻撃! 1 のダメージ レオンハルト: 9 スライム:5 スライムの攻撃! 2 のダメージ レオンハルト: 7 スライム:5 レオンハルトの攻撃! スライム に1のダメージを与えた レオンハルト: 7 スライム:4 レオンハルトの攻撃! スライム に2のダメージを与えた レオンハルト: 7 スライム:2 レオンハルトの攻撃! スライム に3のダメージを与えた レオンハルト: 7 スライム:-1 スライムを倒した! 10ゴールド手に入れた!
ファイル名:slimega.py
# スライムが現れた
import random
player = ["レオンハルト", 10]
slime = ["スライム", 5]
print("{}が現れた!".format(slime[0]))
input()
while True:
# 攻撃
if random.randrange(2) == 1:
print("{}の攻撃!".format(slime[0]))
attack = random.randint(1,3)
player[1] -= attack
print("{} のダメージ".format(attack))
else:
print("{}の攻撃!".format(player[0]))
attack = random.randint(1,3)
slime[1] -= attack
print("{} に{}のダメージを与えた".format(slime[0], attack))
print("\n{}: {} {}:{}".format(player[0], player[1], slime[0], slime[1]))
input()
# 判定
if player[1] <= 0:
print("{}は力尽きた...".format(player[0]))
break
if slime[1] <= 0:
print("{}を倒した!".format(slime[0]))
print("{}ゴールド手に入れた!".format(random.randint(5, 11)))
break
ゲーム(ライブラリpgzeroをインストールして実行)
実行イメージ
準備
ライブラリpgzeroのインストールが必要。
pip install pgzero
利用している画像ファイルはこちらからダウンロードしてください。
展開してできたフォルダ images は名前を変更せずにスクリプト game0.py と同じフォルダに配置してください。
ファイル名:game0.py
# game0
import pgzrun
import random
WIDTH = 240
HEIGHT = 320
player_name = "kero"
player = Actor(player_name, center=(100, 100) )
player.speed = 2
teki_name = "teki"
enemys = []
points = 0
def draw():
global points
screen.fill((65, 105, 225))
player.draw()
for enemy in enemys:
enemy.draw()
enemy.x -= enemy.speed
screen.draw.text(str(points) + "Gets", (0, 0), owidth=1.0, ocolor="YELLOW", color="BLUE", fontsize=32)
def update():
global points
if random.randrange(100) == 1:
teki = Actor(teki_name, center=(screen.width, random.randrange(screen.height)))
teki.speed = random.randint(1,3)
enemys.append(teki)
if player.y < screen.height:
if keyboard.space:
player.speed = -2
else:
player.speed = 2
player.y += player.speed
points += 1
for enemy in enemys:
rect = Rect(enemy.center, (25, 25))
if player.collidepoint(enemy.x, enemy.y):
enemys.remove(enemy)
player.y = screen.height
pgzrun.go()
コメント