-
Notifications
You must be signed in to change notification settings - Fork 27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
first #13
base: main
Are you sure you want to change the base?
first #13
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -60,6 +60,65 @@ public class Progress : IProgress | |
// 一个进度条 | ||
// 只允许修改Progress类中的代码 | ||
// 要求实现IProgress中的要求 | ||
public int Num { get; set }; | ||
public int RequiredProgress { get; set }; | ||
public int FinishedProgress { get; set }; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 本意是希望能在set访问器里限制 FinishedProgress的范围的,特别是多人研发时能确保安全。 |
||
//构造函数 | ||
public progress() | ||
{ | ||
this->Num = 1; | ||
this->RequiredProgress = 0; | ||
this->FinishedProgress = 0; | ||
} | ||
|
||
public bool Start(int requiredProgress) | ||
{ | ||
if (requiredProgress <= 0) | ||
{ | ||
throw new Exception("RequiredProgress must be positive. (Parameter 'Homework1.Progress')"); | ||
} | ||
else | ||
{ | ||
if(FinishedProgress >= RequiredProgress) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 请自行编译,查看存在的若干错误 |
||
{ | ||
FinishedProgress = 0 | ||
if (RequiredProgress != 0) | ||
{ | ||
Num++; | ||
} | ||
|
||
RequiredProgress = requiredProgress; | ||
return true; | ||
} | ||
else | ||
{ | ||
return false; | ||
} | ||
} | ||
} | ||
|
||
public void Add(int addProgress) //增加addProgress的进度 | ||
{ | ||
FinishedProgress += addProgress; | ||
FinishedProgress = FinishedProgress > RequiredProgress ? RequiredProgress : FinishedProgress; | ||
} | ||
|
||
public void Sub(int subProgress)//减少subProgress的进度 | ||
{ | ||
FinishedProgress -= subProgress; | ||
FinishedProgress = FinishedProgress < 0 ? 0:FinishedProgress; | ||
} | ||
|
||
public void Double() //进度翻倍 | ||
{ | ||
FinishedProgress *= 2; | ||
FinishedProgress = FinishedProgress > RequiredProgress ? RequiredProgress : FinishedProgress; | ||
} | ||
|
||
public (int FinishedProgress, int RequiredProgress) GetProgress()//获取进度 | ||
{ | ||
return (FinishedProgress, RequiredProgress); | ||
} | ||
} | ||
|
||
/* | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Num表明是第几个实例化的Progress,不是指第几次Start