以学习为目的,我自己写了一个没有界面的,用控制台操作的小游戏,初步涉及到随机ROLL点和放置元素。
如果有朋友喜欢的话,可能还会进一步开发。
我的设计理念是,最简洁的画面,和最耐玩的游戏性。
PS: 系统需要安装Python3,只使用内置模块,无需安装第三方轮子。
以下是部分代码:
[Python] 纯文本查看 复制代码 import random
def main():
round_counter = 0 # 回合计数器
print('第一关')
while True:
# 单次猜数字1-9
max_num = 9
a = random.randint(1, max_num)
# print(a) # 调试用
counter = 0 # 单回合猜的次数
while 1:
c = input('范围1-%d,请输入:' % max_num)
if c.isdigit(): # 判断数据类型是否是 数字
b = int(c)
if b > a:
print('猜大了')
elif b < a:
print('猜小了')
elif b == a:
print('猜对了,正确答案就是 %d' % b)
counter += 1
break
counter += 1
else:
print('请输入一个整数')
if counter > 3:
round_counter = 0
if counter < 4:
round_counter +=1
print('成功在三次以内猜中了答案,已连续猜对%s次' % round_counter)
if round_counter >= 3:
input('你已经连续三回合,在三次以内猜中答案,恭喜过关,按回车继续:')
round_counter = 0
break
if __name__ == '__main__':
main()
[Python] 纯文本查看 复制代码 import random
import time
def jiqimao(max_num):
for i in range(1,max_num + 1):
print('本次猜 %d' % i)
if i == a:
print('终于猜到了,正确答案是%d' % i)
break
time.sleep(0.5)
def main():
global a
round_counter = 0 # 回合计数器
print('第四关')
input('系统奖励你一只猜谜猫,帮助你自动猜数字,按回车开始:')
while True:
print('第 %d 回合开始' % (round_counter + 1))
# 单次猜数字1-20
a = random.randint(1,20)
# print(a) # 调试用
jiqimao(20)
round_counter += 1
if round_counter >= 10:
input('你已经十回合猜中答案,恭喜过关,按回车继续:')
round_counter = 0
break
if __name__ == '__main__':
main()
[Python] 纯文本查看 复制代码 import random
import time
def main():
# 角色名 = [生命值,攻击力]
player1 = [100,10,'你']
player2 = [100,5,'老鼠精']
招式=['摆拳','勾拳','侧踹腿','过肩摔','上步抱膝摔','右鞭拳','侧弹腿','横扫腿','夹颈过背摔','接腿转压摔']
# 决定出手的先后顺序
field = [player1,player2]
a = random.randint(0,100)
if a <= 50:
field.reverse() # list元素反向排序
print('第六关:BOSS战开始')
while 1:
atk_ad = field[0][1] # field[先手的角色][该角色攻击力]
# 对敌人造成的伤害幅度为 攻击力 * 0.8 到 攻击力 * 1.2 之间
# uniform函数区间,不包括右侧临界值
dmg = int(random.uniform(0.8,1.3) * atk_ad)
field[1][0] -= dmg # 防守角色的血量
print('%s 使出了 *%s* 对 %s 造成了 %d 点伤害' % (field[0][2], random.choice(招式), field[1][2], dmg))
if field[1][0] < 1:
print('%s 将 %s 击倒' % (field[0][2], field[1][2]))
break
field.reverse()
time.sleep(1)
input('你已经打败老鼠精,恭喜过关,按回车继续:')
if __name__ == '__main__':
main()
完整代码已打包,双击main.py运行完整流程:
链接:https://pan.baidu.com/s/1oCAm12C7f7WAAEJTJdXE9g
提取码:8wx5 |