小白初体验——判断大小的游戏

本文介绍了一个基于Python的小游戏项目,玩家可以购买武器、查看金币、进行对战等操作,通过实战练习提升Python编程技能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学习Python一个星期了,将所学内容做一个练习,废话不多说,直接上代码,基本每行都做了对应注释。

代码如下:

import random
print('*'*35)
print('\t欢迎来到超级黑对战')
print('*'*35)
weapon_list = []#创建空的武器列表。
coins = 1000#定义初始金币值,用于进入游戏后购买武器。
role = input('请输入游戏角色名称:')#用户自定义角色名称。
print('欢迎{}进入游戏,现有金币{}枚!'.format(role,coins))#打印告知用户内容。
print('1.购买武器:\n2.进入对战:\n3.查看武器和金币:\n4.删除武器:\n5.退出游戏:')#打印选择列表。
while True:
	choice = int(input('请选择:'))
	if choice == 1:#判断用户选择。
		print('进入武器库:')
		weapons = {'匕首':200,'手枪':500,'步枪':800,'狙击枪':1000,'手雷':600,'火箭炮':2000}#创建武器库字典。
		print(weapons.items())#打印武器库。
		keys = list(weapons.keys())#keys=字典键。
		values = list(weapons.values())#values=字典值。
		while True:
			weapon = int(input('输入武器金额对应购买:'))#接收用户输入的武器价格并转为整数型。
			if weapon in values:#判断用户输入的值是否在字典值中。
				print('您购买了如下武器:',keys[values.index(weapon)])
				weapon_list.append(keys[values.index(weapon)])#将用户购买的武器存到武器列表中。
				coins-=weapon#扣除对应金币。
				print('金币剩余:',coins)
				break
			else:
				print('输入错误,请重新输入!')
	elif choice == 2:#判断用户选择。
		print('......进入战场......')
		rol_1 = random.randint(0,10)#生成敌方战斗力,范围0-10。
		print('敌方战力:',rol_1)
		rol_2 = random.randint(0,10)#生成我方战斗力,范围0-10。
		print('我方战力:',rol_2)
		if rol_1 < rol_2:#判断敌我双方战斗力大小。
			print('获胜!金币+200')
			coins += 200#奖励机制,获胜可得200枚金币。
		elif rol_1 == rol_2:#判断敌我双方战斗力大小。
			print('平局!')
		else:#判断敌我双方战斗力大小。
			print('失败了!')
	elif choice ==3:#判断用户选择。
		print('武器:',weapon_list)
		print('金币:',coins)
	elif choice ==4:#判断用户选择。
		if len(weapon_list)>0:#判断武器库中是否有数据。
			while True:
				print(weapon_list)
				answer = input('请从以上武器中选择要删除的:')#接受用户输入的武器名称。
				if answer in weapon_list:#判断武器名是否存在于武器库中。
					weapon_list.remove(answer)#删除武器库中对应武器。
					coins += values[keys.index(answer)]#增加删除武器对应的金币值。
					print('成功删除{}!回收金币{}枚!'.format(answer,values[keys.index(answer)]))
					break
				else:
					print('没有找到{}!'.format(answer))
		else:
			print('还没有可删除的武器!')
	elif choice == 5:#判断用户选择。
		answer = input('是否确认退出游戏?(y/n):')
		if answer == 'y':
			break
		else:
			print('...继续游戏...')
	else:
		print('输入有误,请重新选择!')

还不会制作界面,只能手动在漆黑的界面里输入输出~期待继续学习后可以做出更好的内容。
微调代码,主要修改对白内容,避免了删除武器环节需要跳出并重新进入。

代码如下

import random
print('*'*35)
print('\t欢迎来到超级黑对战')
print('*'*35)
weapon_list = []#创建空的武器列表。
coins = 1000#定义初始金币值,用于进入游戏后购买武器。
role = input('请输入游戏角色名称:')#用户自定义角色名称。
print('欢迎{}进入游戏,现有金币{}枚!'.format(role,coins))#打印告知用户内容。

while True:
	choice = int(input('请选择:\n1.购买武器:\n2.进入对战:\n3.查看武器和金币:\n4.删除武器:\n5.退出游戏:\n'))#用户输入选择种类。
	if choice == 1:#判断用户选择。
		print('进入武器库:')
		weapons = {'匕首':200,'手枪':500,'步枪':800,'狙击枪':1000,'手雷':600,'火箭炮':2000}#创建武器库字典。
		print(weapons.items())#打印武器库。
		keys = list(weapons.keys())#keys=字典键。
		values = list(weapons.values())#values=字典值。
		while True:
			weapon = int(input('输入武器金额对应购买:'))#接收用户输入的武器价格并转为整数型。
			if weapon in values:#判断用户输入的值是否在字典值中。
				print('{}购买了如下武器{}:'.format(role,keys[values.index(weapon)]))
				weapon_list.append(keys[values.index(weapon)])#将用户购买的武器存到武器列表中。
				coins-=weapon#扣除对应金币。
				print('{}金币剩余:{}'.format(role,coins))
				break
			else:
				print('输入错误,请重新输入!')
	elif choice == 2:#判断用户选择。
		print('......进入战场......')
		rol_1 = random.randint(0,100)#生成敌方战斗力,范围0-99。
		print('敌方战士战力:',rol_1)
		rol_2 = random.randint(0,100)#生成我方战斗力,范围0-99。
		print('我方{}战力{}:'.format(role,rol_2))
		if rol_1 < rol_2:#判断敌我双方战斗力大小。
			print('获胜!金币+200')
			coins += 200#奖励机制,获胜可得200枚金币。
		elif rol_1 == rol_2:#判断敌我双方战斗力大小。
			print('平局!')
		else:#判断敌我双方战斗力大小。
			print('失败了!')
	elif choice ==3:#判断用户选择。
		print('{}拥有的武器:{}'.format(role,weapon_list))
		print('{}拥有的金币:{}'.format(role,coins))
	elif choice ==4:#判断用户选择。
		if len(weapon_list)>0:#判断武器库中是否有数据。
			while True:
				print(weapon_list)
				answer = input('请从以上武器中选择要删除的,或输入n返回上层菜单:')#接受用户输入的武器名称。
				if answer in weapon_list:#判断武器名是否存在于武器库中。
					weapon_list.remove(answer)#删除武器库中对应武器。
					coins += values[keys.index(answer)]#增加删除武器对应的金币值。
					print('{}成功删除武器{}!回收金币{}枚!'.format(role,answer,values[keys.index(answer)]))
					break
				elif answer == 'n':
					break
				else:
					print('没有找到{}的武器{},请重新输入武器名称!'.format(role,answer))
		else:
			print('目前{}还没有可删除的武器,快去武器库购买吧!'.format(role))
	elif choice == 5:#判断用户选择。
		answer = input('亲爱的{}是否确认退出游戏?(y/n):'.format(role))
		if answer == 'y':
			print('...Game Over And See You Again...')
			break
		elif answer == 'n':
			print('...继续游戏...')
		else:
			print('无法判断是否结束游戏,请重新输入!')
	else:
		print('亲爱的{},您的输入有误,请重新选择!'.format(role))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值