python实现简单飞行棋
作者:htnigel 发布时间:2021-07-24 23:02:14
标签:python,飞行棋
本人刚开始学习python,看了一段时间视频教程之后,决定做一个小游戏来巩固一下知识点,就做了一个文字版飞行棋,暂不具备图形界面。把代码贴出来,给自己留个标记。
chess_main.py
import chess_tools
# 输入玩家信息
chess_tools.input_player()
while chess_tools.end_flag:
for player in chess_tools.player_list:
chess_tools.ironman(player)
input(player["name"]+",请按enter掷骰子")
chess_tools.throw(player)
if chess_tools.judge(player) == 1:
break
chess_tools.hit(player)
chess_tools.speedup(player)
print("")
chess_tools.py
from random import randint
player_list = []
end_flag = 1
def input_player():
num = input("数据玩家数量:")
i = 0
while i < int(num):
player_name = input("输入第" + str(i + 1) + "位玩家名字:")
play_info = {"name": player_name,
"score": 0}
player_list.append(play_info)
i = i + 1
def throw(player):
"""
玩家扔骰子,随机1-6点
:param player: 当前玩家
:return:
"""
points = randint(1,6)
# 首先判定是否起飞
if player["score"] == 0 and points == 6:
player["score"] = 1
print("%d 点,恭喜起飞!当前在第%d格" % (points, player["score"]))
elif player["score"] == 0 and points < 6:
print("%d 点,起飞失败!" % points)
return
# 分数大于100,要后退,多几分退几步
elif player["score"] + points > 100:
player["score"] = player["score"] - (player["score"]+ points) % 100 + 1
print("%d 点,飞过头了!回到%d格" % (points,player["score"]))
else:
player["score"] += points
print("%d 点!当前在第%d格" % (points, player["score"]))
def judge(player):
global end_flag
if player["score"] == 100:
end_flag = 0
print(player["name"]+"赢了")
return 1
def hit(player):
"""
判断当前玩家是否会将领先的玩家撞回起飞位置
:param player: 当前玩家名字
"""
for other_player in player_list:
if player["score"] == other_player["score"] \
and other_player["name"] != player["name"]:
other_player["score"] = 0
def speedup(player):
if player["score"] == 15 or \
player["score"] == 35 or \
player["score"] == 85:
player["score"] += 5
print("加速5格,当前在%d格" % player["score"])
def ironman(player):
"""
主角光环,名字中含有指定字符的人可以获得50分加成
:param player:当前玩家的名字
"""
master = player["name"].count("t")
if master > 0 and player["score"] == 0:
player["score"] = 50
print("- I am Iron Man!贾维斯,先给我加50分。")
print("- 好的,%s 。当前已走到第50格。" % player["name"])
print("")
来源:https://blog.csdn.net/u010186366/article/details/100142908
0
投稿
猜你喜欢
- 前几天写了一个ajax的,总感觉代码比较多,今天晚上又得写了一下,感觉代码还是比较多,但还好的是,比较通用。谁有办法优化一下当然好。&nbs
- 本文实例讲述了php tpl模板引擎定义与使用。分享给大家供大家参考,具体如下:tpl.php<?phpnamespace tpl;/
- 本文实例讲述了python简单获取数组元素个数的方法。分享给大家供大家参考。具体如下:mySeq = [1,2,3,4,5] p
- 本文实例为大家分享了python OpenCV来表示USB摄像头画面的具体代码,供大家参考,具体内容如下确认Python版本$ python
- 本文实例讲述了php的RSA加密解密算法原理与用法。分享给大家供大家参考,具体如下:最近因为工作的需要,要倒腾支付宝支付相关的知识,因为支付
- 具体代码如下所示:import numpy as npfrom matplotlib import pyplot as pltfrom sc
- 在本章中,我们将详细讨论对称和非对称密码术.对称密码术在此类型中,加密和解密进程使用相同的密钥.它也被称为秘密密钥加密.对称加密的主要特征如
- 一、首先我们来填个坑支付验签失败这个问题折磨了我两天,官方文档比较含糊不清。各种百度下来的方法试过之后也不尽人意,最后发现问题是没有二次签名
- Pycharm是当前进行python开发,尤其是Django开发最好的IDE。GitHub是程序员的圣地,几乎人人都在用。本文假设你对pyc
- 一、框架菜单1.1 common模块1.2 其他二、Excel接口测试案例编写三、读取Excel测试封装(核心封装)excel_utils.
- 0.引言利用Dlib官方训练好的模型“shape_predictor_68_face_landmarks.dat”进行68点标定,利用Ope
- 优化数据库的注意事项:1、关键字段建立索引。2、使用存储过程,它使SQL变得更加灵活和高效。3、备份数据库和清除垃圾数据。4、SQL语句语法
- 当然还是要使用FileSystemObject(FSO)来创建了。不过在创建前,要先检查以下目录是否存在,如果存在,就不用创建了: 
- 表中主键必须为标识列,[ID] int IDENTITY (1,1)1.分页方案一:(利用Not In和SELECT TOP分页)语句形式:
- python数据结构之 列表和元组序列:序列是一种数据结构,它包含的元素都进行了编号(从0开始)。典型的序列包括列表、字符串和元组。其中,列
- 本文实例讲述了php输出xml必须header的解决方法。分享给大家供大家参考。具体方法如下:问题描述:最近在做一个xml输出时发现我们直接
- 前言在任何编程语言中,代码需要根据不同的条件在给定的输入中做不同的决定和执行相应的动作。例如,在一个游戏中,如果玩家生命点为0,游戏结束。在
- 建立资料表:Step1首先开启phpmyadmin,进入wordpress资料库中,并新增一个wp_gbook的资料表与栏位数目8。Step
- Oracle Tips, Tricks & Scripts1. Topic: Compiling Invalid Objects:O
- 一、利用Google API生成二维码Google提供了较为完善的二维码生成接口,调用API接口很简单,以下是调用代码:$urlToEnco