软件工程作业2——硬币游戏—— 代码分析与改进

任务:

  • Python 程序阅读理解
  • 学习Python 编码风格指南中译版(Google SOC), 改进Python程序
  • 如何设计游戏规则,使得慈善事业可持续。 地铁口放置硬币箱(初始值500硬币),顾客可取、可放。请设计一组规则,使得该钱箱永远有钱取(尽量符合实际)
  • 参考:地铁口钱箱

步骤:

1. fork 老师的仓库

+硬币游戏:http://git.oschina.net/juking2017/Game.git 将其 fork 到你的码云仓库。

2.clone 到本地,修改后 push 到你的远端仓库

  • 将你的仓库Game.git clone到本地, 运行Python 程序,截图。

3.运行Python,并打开游戏代码

4.规范化后的代码

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import random
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import mlab
from matplotlib import rcParams

# 初始参数设置
Box_sum =500         # 箱子中剩余硬币数量,初始值
People_Flag= random.randint(1,10)       # flag 模拟人们取硬币或放硬币的概率 1~10
Threshold = 2.5        #  阈值,可调: 1~Threshold 为取硬币,Threshold+1 ~10 为放硬币
Max_TakeCoin=5       #  最多可取硬币数量
Max_DonateCoin=1     #  最多可放硬币数量

delata=0                # 取、放硬币数量
Box_per_remain= [500]   # 每次箱子中硬币余额,list

# 算法模拟
for x in range(1,5000):  # 循环次数表示参与人数
    flag= random.randint(1,10) # flag 模拟人们取硬币或放硬币的概率
    if flag > Threshold:
        # 放硬币
        delta=random.randint(1,Max_DonateCoin)
        delta=random.randint(1,delta)          # 模拟了人们捐款可能性,有偏少的倾向
        Box_sum =Box_sum + delta
        Box_per_remain.append(Box_sum)
    else:
        # 取硬币
        delta=random.randint(1,Max_TakeCoin)
        delta=random.randint(delta,Max_TakeCoin) # 模拟了人 取硬币的可能性,偏多的倾向
        if Box_sum < delta:
            Box_sum =0                           # 如果不够取,则取光
        else:
            Box_sum =Box_sum - delta
        Box_per_remain.append(Box_sum)

print(Box_per_remain)

# 绘图区
fig = plt.figure()

## 1. 标题、X、Y 轴 label
plt.title(‘Subway testing‘)
plt.xlabel(‘Time‘)
plt.ylabel(‘Money remained‘)

x= np.arange(len(Box_per_remain))

## 2. data

plt.plot(x,Box_per_remain,color=‘r‘)
plt.bar(x,Box_per_remain,alpha=.5,color=‘g‘)

plt.show()

5.修改游戏规则:初始值改为1000

阈值改为3.5

代码修改部分:

6.上传到码云

7.我的远端仓库链接:https://gitee.com/LuLe123/Game/blob/master/src/GameMain.py

时间: 2024-09-29 23:33:21

软件工程作业2——硬币游戏—— 代码分析与改进的相关文章

软工作业: (2)硬币游戏—— 代码分析与改进

软工作业: (2)硬币游戏-- 代码分析与改进 一.作业要求 1.Python 程序阅读理解 2.学习Python 编码风格指南中译版(Google SOC)(http://blog.csdn.net/damotiansheng/article/details/43867175),改进Python程序 3.设计游戏规则,使得慈善事业可持续. 地铁口放置硬币箱(初始值500硬币),顾客可取.可放.请设计一组规则,使得该钱箱永远有钱取(尽量符合实际) 注:参考http://www.cnblogs.c

【Chapter2】硬币游戏——代码分析与改进

本次作业涉及的代码是老师提供的"硬币游戏",需要我们阅读这段Python 程序,学习Python编码风格并改进Python程序.同时修改游戏规则,使得慈善永久不衰.最后,提交到码云平台. step 1: fork 老师的仓库 打开硬币游戏链接:http://git.oschina.net/juking2017/Game.git ,登录自己的码云账号后,点击页面右上角的fork,即将其 fork 到自己的码云仓库. step 2:clone 到本地并运行Python程序 (1)打开自己G

2017(秋)软工作业: (2)硬币游戏—— 代码分析与改进

要求: Python 程序阅读理解 学习Python 编码风格指南中译版(Google SOC), 改进Python程序 如何设计游戏规则,使得慈善事业可持续. 地铁口放置硬币箱(初始值500硬币),顾客可取.可放.请设计一组规则,使得该钱箱永远有钱取(尽量符合实际) step 1: fork 老师的仓库 +硬币游戏:http://git.oschina.net/juking2017/Game.git 将其 fork 到你的码云仓库,登录码云点击右上角fork即可.     step2:将自己仓

[SakuraiYo][软工作业(2)]硬币游戏—— 代码分析与改进

作业目标 Python 程序阅读理解 学习Python 编码风格指南中译版(Google SOC), 改进Python程序 如何设计游戏规则,使得慈善事业可持续. 地铁口放置硬币箱(初始值500硬币),顾客可取.可放.请设计一组规则,使得该钱箱永远有钱取(尽量符合实际) 参考:地铁口钱箱 截至日期:作业布置一周内 作业过程 step 1: fork 老师的仓库 +硬币游戏:http://git.oschina.net/juking2017/Game.git 将其 fork 到你的码云仓库. st

硬币游戏—— 代码分析与改进

一.实验目的 此次实验的目的是理解Python程序,并通过学习Python编码风格改进Python程序.在此基础上自己设计一个游戏规则. 二.实验步骤 Step1:fork老师的仓库 点击 http://git.oschina.net/juking2017/Game.git 将其fork到自己的码云仓库: Step2:将仓库Game.git clone到本地, 运行Python 程序,截图 1.将仓库Game.git clone到本地: 为了查找方便我将仓库clone到了桌面在桌面新建文件夹,在

硬币游戏--代码分析与改进

我的作业: 1.登录码云,打开连接http://git.oschina.net/juking2017/Game.git,点击屏幕右上角的fork. 2.在F盘新建一个目录dizhi,打开Git bash并将码云上的项目clone到该路径下.(http://gitee.com/WangCarmen/Game.git) 3.下载安装python,打开Game,运行程序,发现缺少模块"numpy". 4.打开命令提示符,安装"numpy". 键入如图所示 再键入pytho

(2)硬币游戏—— 代码分析与改进

1.将你的仓库Game.git clone到本地, 运行Python 程序,截图 2.修改代码 #!/usr/bin/env python3# -*- coding: utf-8 -*-import randomimport numpy as npimport matplotlib.pyplot as pltfrom matplotlib import mlabfrom matplotlib import rcParams # 初始参数设置Box_sum =500 # 箱子中剩余硬币数量,初始值

软工作业2:硬币游戏——代码的分析与改进

目的: Python 程序阅读理解 学习Python 编码风格指南中译版(Google SOC), 改进Python程序 如何设计游戏规则,使得慈善事业可持续. 地铁口放置硬币箱(初始值500硬币),顾客可取.可放.请设计一组规则,使得该钱箱永远有钱取(尽量符合实际) 参考:地铁口钱箱 作业步骤: step 1: fork 老师的仓库 +硬币游戏:http://git.oschina.net/juking2017/Game.git 将其 fork 到自己的码云仓库. step2:clone 到本

常用 Java 静态代码分析工具的分析与比较

转载自: http://www.oschina.net/question/129540_23043 简介: 本文首先介绍了静态代码分析的基本概念及主要技术,随后分别介绍了现有 4 种主流 Java 静态代码分析工具 (Checkstyle,FindBugs,PMD,Jtest),最后从功能.特性等方面对它们进行分析和比较,希望能够帮助 Java 软件开发人员了解静态代码分析工具,并选择合适的工具应用到软件开发中. 引言 在 Java 软件开发过程中,开发团队往往要花费大量的时间和精力发现并修改代