Python之初级RPG小游戏

news/2024/12/28 18:16:26/

在国外网站上找到一个练习Python的小游戏感觉不错,自己实现了一下。

通过该练习你能学到:

  1. 元组
  2. 字典
  3. 简单定义函数和封装
  4. 条件控制语句

 

游戏说明

以下是3个房间和1个花园:

Hall 客厅 有一把钥匙,Kitchen 厨房 有一只怪物,Dinning Room 餐厅 有一瓶药水,Garden 花园

完成游戏条件:拿到钥匙和药水到达花园并躲避怪物。

游戏操作指令:
      go [direction]
      get [item]

[direction] 包含:east, west, south, north

[item] 包含:key, potion

 

游戏源码

#! python3
"""
author: laoxu
"""# 游戏说明
def showInstructions():print('''RPG Game========完成游戏条件:拿到钥匙和药水到达花园并躲避怪物。命令:go [direction]get [item]''')# 打印当前房间和背包信息
def showCurrentRoom(room, bag):print('You are in the %s' % room)print('Inventory: ', bag)rooms = {'Hall': {'south': 'Kitchen','east': 'Dinning Room','item': 'key'},'Kitchen': {'north': 'Hall','item': 'monster'},'Dinning Room': {'west': 'Hall','south': 'Garden','item': 'potion'},'Garden': {'north': 'Dinning Room'}
}# 初始化房间
currentRoom = 'Hall'# 初始化物品栏
inventory = []# 打印游戏帮助
showInstructions()print('You are in the %s' % currentRoom)
print('Inventory: ', inventory)
print('You see a key')while True:# 玩家进入厨房,游戏结束if 'item' in rooms[currentRoom] and 'monster' in rooms[currentRoom]['item']:print('你被怪物抓住了...游戏结束!')break# 玩家拿到钥匙和药水进入花园,游戏结束if currentRoom == 'Garden' and 'key' in inventory and 'potion' in inventory:print('你逃脱了房子!你赢了!')break# 接收操作步骤step = input()# 客厅->厨房if currentRoom == 'Hall' and step == 'go south':currentRoom = 'Kitchen'continue# 客厅->餐厅elif currentRoom == 'Hall' and step == 'go east':currentRoom = 'Dinning Room'# 厨房->客厅elif currentRoom == 'Kitchen' and step == 'go north':currentRoom = 'Hall'# 餐厅->客厅elif currentRoom == 'Dinning Room' and step == 'go west':currentRoom = 'Hall'# 餐厅->花园elif currentRoom == 'Dinning Room' and step == 'go south':currentRoom = 'Garden'# 花园->餐厅elif currentRoom == 'Garden' and step == 'go north':currentRoom = 'Dinning Room'# 拿到钥匙elif currentRoom == 'Hall' and 'key' not in inventory and step == 'get key':inventory.append('key')print('key got!')# 拿到药水elif currentRoom == 'Dinning Room' and 'potion' not in inventory and step == 'get potion':inventory.append('potion')print('potion got!')# 打印房间和物品栏showCurrentRoom(currentRoom, inventory)if currentRoom == 'Hall' and 'key' not in inventory:print('You see a key')if currentRoom == 'Dinning Room' and 'potion' not in inventory:print('You see a potion')continue

 

运行效果

 

 


http://www.ppmy.cn/news/578816.html

相关文章

RPG类型游戏—1

现在中国游戏市场出现了好多那种中国类型的RPG类型的游戏,我自己也有几份那样的代码,在看他们代码的时候,觉得他们的代码编写有一个通病,就是写的太过于臃肿不够简洁,代码的移植性也不是很高,如果做同一类型…

RPG小游戏

#导包 import time import random 与学姐的台词 SCRIPT_NPC_SCHOOL_SISTER [你好!,你好!,你是新生吗?,是的,想要我教你魔法吗?,\n1、好的 \\n2、不用了吧,我不和学姐学魔法!\n]世界里的魔法清单 MAGIC_BOOKS [ [火…

RPG游戏-任务系统

一、前置部分 (一)、协议部分 enum QUEST_STATUS {IN_PROGRESS 0;//已接受,未完成COMPLATED 1;//已完成,未提交FINISHED 2;//已完成,已提交FAILED 3;//已失败 }enum QUEST_LIST_TYPE {ALL 0;IN_PROGRESS 1;FI…

Java实现RPG游戏

一.实验目的 掌握面向对象程序设计的方法。 明确类与对象的概念,掌握面向对象设计七大原则;掌握常见的设计模式以及类图的描述。 二、UML类图 三、实验要求 1.功能描述几乎所有的RPG游戏(一种源自《龙与地下城》的游戏类型&…

RPG

J2ME RPG游戏边学边做(一)   笔者以前是做j2ee的,一个月前由于兴趣所致开始利用业余时间学习j2me游戏开发。在网上看了一通教程后,便准备动手一边学一边做一个简单的rpg游戏。虽然起点比较高,但感觉游戏难度越大&…

rpg游戏发展史计算机网络,PC Gamer盘点史上最经典RPG游戏TOP15

RPG角色演类游戏往往能带给玩家史诗般的剧情和难忘的战斗体验,今天外媒PC Gamer盘点了史上最经典RPG游戏TOP15,让我们一起来看看吧! 第 2 页 史上最经典15大RPG 2 6.《质量效应2(Mass Effect 2)》 发行时间: 2010年 发行商: BioWare 与第一…

堪比端游 欧美十大RPG网页游戏推荐

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴! 你喜欢RPG游戏吗?大多数玩家的…

rpg人物制作软件_能够自己DIY角色的rpg游戏-可以自己DIY角色的rpg游戏大全_飞翔游戏专题...

V1.0 安卓版 一款以文字修仙为主题的角色扮演手游 莽荒封神纪是一款以文字修仙为主题的角色扮演手游,唯美的场景设计,丰富特色的玩法,可灵根修炼、洪荒探索,还原一个真实的莽荒世界,感兴趣的玩家赶紧来下载莽荒封神纪官…