現代軟體工程課程設計 黃金點遊戲(一)

2021-10-24 22:36:17 字數 3431 閱讀 2618

三、執行截圖

四、階段總結

功能編碼

功能描述

fun-1

建立玩家物件

fun-2

設定遊戲基本資訊

fun-3

輸入各玩家本輪的輸入值

fun-4

計算本輪的**點值

fun-5

勝負判斷

fun-6

修改winner和loser的分值

fun-7

記錄並輸出本輪資訊

**如下(示例):

class player:

def __init__

(self,name)

: self.__score =

0 self.__decision =

0 self.__name = name

def score

(self)

:return self.__score

def decision

(self)

:return self.__decision

def name

(self)

:return self.__name

# 本輪次該玩家給出的數值為 num

def setdecision

(self,num)

: self.__decision = num

# 本輪次該玩家獲勝,分值增加 num

def win

(self,num)

: self.__score = self.__score + num

# 本輪次該玩家失敗,分值減少

def lose

(self)

: self.__score = self.__score -

2 # 本輪過後,

def info

(self,time)

:return self.__name +

'第{}輪給出數值:{}, 該輪次過後的分值為:{}'

.format

(time,self.__decision,self.__score)

import player

# 建立玩家列表

def buildplayers

(n):

players =

for i in range

(n):

name =

input

('請輸入第{}位玩家姓名:'

.format

(i+1))

newplayer = player.

player

(name)

players.

(newplayer)

return players

**如下(示例):

# n 為同學數目

n =int(

input

('請輸入同學數目:'))

# n 為遊戲的輪數

n =int(

input

('請輸入遊戲的輪數:'))

# process 保留各輪次結果

process =

**如下(示例):

# 玩家輸入

def playerin

(players:player,time,n)

:for i in range

(n):

decision =

int(

input

('請輸入第 {} 輪 {} 同學該輪次的選擇:'

.format

(time, players[i]

.name()

))) players[i]

.setdecision

(decision)

**如下(示例):

# 計算**點

def calculationg

(players,n)

: sum =

0for i in players:

sum = sum + i.

decision()

return sum/n*

0.618

**如下(示例):

# 勝負判斷

def judge

(g,players,n)

: min,max =0,

0for i in range(1

,n):

ifabs

(players[i]

.decision()

-g)<

abs(players[min]

.decision()

-g):

min = i

for i in range(1

,n):

ifabs

(players[i]

.decision()

-g)>

abs(players[max]

.decision()

-g):

max = i

return min,max

**如下(示例):

# 修改winner和loser的分值

def changescore

(players:player,min,max,n)

: players[min]

.win

(n) players[max]

.lose

()

**如下(示例):

resultg =

'第{}輪次g值為:{}'

.format

(time,g)

print

(resultg)

print

('第{}輪次各位同學的的得分為:'

本次專案設計,我們利用簡便的python語言完成了主體部分的**,並實現了基本功能。

現代軟體工程 黃金點遊戲

n個同學 n通常大於10 每人寫乙個0 100之間的有理數 不包括0或100 交給裁判,裁判算出所有數字的平均值,然後乘以0.618 所謂 分割常數 得到g值。提交的數字最靠近g 取絕對值 的同學得到n分,離g最遠的同學得到 2分,其他同學得0分。定義了以下幾個類 player類 class pla...

軟體工程結對專案之黃金點遊戲

專案是我和孫虎一起完成 用c 語言寫 我主要是畫流程圖 include include include include using namespace std struct gold typedef struct gold node void displayname int x string est...

13商軟 《軟體工程》課程設計 評分

根據大家的反饋,換算了大家的團隊貢獻分,新的評分如下 1班 2班 有問題找助教反饋。今天晚上11點提交,然後就不能改了。找主任也不行。軟體工程 課程設計 的統計評分如下表,評分為abcde五個等級,a為優秀,b為良好.請注意,e為不及格。請大家核對,有疑問請在1月14號之前提出,回覆在本部落格下方。...