python可视化大作业_python 大作业

Point Destroy

设计文档

【数据】

circle

:定义

CIRCLE

类,每个圆为

CIRCLE

的一个实例对象,存储第一个点坐标、方向、

类型(长度)

、颜色,以及包含剩余圆的个数。所有圆的对象放进一个列表

circles

里。

棋盘:

使用二维列表,

grid[i][j]

存储棋盘第

i

行第

j

列的信息,

grid[i][j]=’

-

表示没有,

grid[i][j]

为数字

x

表示

grid[i][j]

上摆的是编号为

x

的圆。

【主算法】

用伪代码的形式给出主算法流程:

点击数

shoot

初始化为

0

击中数

hit

初始化为

0

#

随机得到整张棋盘的信息

剩余圆数

circlenum

随机为

Min_Circles, MAX_Circles

之间的随机数

圆的类型数

classnum

初始化为

0

每种类型圆的数量列表

classcount[]

初始化为空

for i in range(circlenum):

随机圆

i

的信息(第一个点坐标

(

保证不出界

)

、方向、类型、颜色)

while i

[0..i-1]

中的圆有相交或

(i

是最后一条圆且

classnum==1):

重新随机

i

的信息

根据

i

的类型更新

classnum

classcount

打印棋盘信息(供调试)

#

正式开始游戏

While True:

p=win.getMouse()

if p

点在棋盘内:

inc(click)

获得

p

点所在的格子

(x,y)

if (x,y)

点过了

:

输出已点过信息

else:

if (x,y)

没圆

:

标记

(x,y)

已点过,并输出

wrong

信息

(x,y)

显示

’X’

else:

标记

(x,y)

已点过,并输出打中信息

inc(hit)

获得

(x,y)

的圆的编号

S

(x,y)

显示

S

的颜色

if S

剩余圆体长度

==0:

dec(circlenum)

变换圆

S

占的所有格子的样式

输出

S

被点中信息

获得

S

的类型

type

if classcount[type]==0:

python大作业 一、Turtle创意大PK 自拟题目,完成一个利用Python程序的创意绘图,采用turtle库绘图为主,不少于50行代码,可选采用其他库。 (滑稽绘制) 二、程序练习 2.1 问题描述(10分) 人们常常提到"一万小时定律",就是不管你做什么事情,只要坚持一万小时,应该都可以成为该领域的专家。那么,10000小时是多少年多少天呢? 2.2 问题描述(10分)0380031003800341590145037657 编写计算从n到m和的函数‬,函数名为sum(n,m)‬,函数返回值为n到m所有数据的和‬,使用该函数计算输入数据x,y之间所有数据的和。 2.3 问题描述(15分) 编写函数judgeTri(a,b,c),判断以参数a,b,c的值为边长能否构成三角形并判断三角形的形状;若是锐角三角形,返回R;若是直角三角形,返回Z;若是钝角三角形,返回D;若三边长不能构成三角形,返回ERROR。 2.4 问题描述(15分) 用户输入一个字符串,分别统计其中小写字母、大写字母、数字、空格和其他字符的个数,并在一行内输出小写字母、大写字母、数字、空格和其他字符的个数。 2.5 问题描述(20分) 程序的功能: (1) 使用随机库功能,生成一个包含10个不重复且小于200的正整数列表ls1,输出ls1。‬ (2) 使用列表排序方法,对ls1按奇数在前偶数在后,并且奇数之间的相对顺序不变,偶数之间的相对顺序也不变进行排序,再输出ls1。‬ (3) 使用列表排序方法,对ls1按元素字符长度降序进行排序,输出ls1。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值