马刺中文论坛
用户名 忘了密码?
密码 注册

马刺中文论坛 » Fantasy Games 交流区 » ChinaSpurs.com FBA选秀顺位确定办法

 
 
主题工具
 2006-08-31 23:11  #1
Young
 
加入日期: 2005-09-20
帖子: 6306
现金: 535 盾
ChinaSpurs.com FBA选秀顺位确定办法

Iceman 联盟:

上一年未进入前12名季后赛的GM、以及新加入的特邀GM,组成乐透区,其余GM组成非乐透区;

如乐透区共有6名GM,则在选秀的前6轮都将采用乐透选法;即乐透区的GM被选为状元、榜眼、探花……第6的概率要高于非乐透区的GM,这里模仿NBA的乐透选秀,比如设定1000个数字,其中乐透区的GM每人占有50个数字,非乐透区的GM每人占有40个数字…等等。每一轮的概率之比会有不同,在6轮结束之后,所有GM的选秀概率将变成相同,不再区分乐透和非乐透。

本次,邀请了 邓不肯 来编写选秀的程序,当他执行完程序之后,将确定类如以下的选秀名单:
一共分A、B……P共16名GM,其中A~F为乐透区,G~P为非乐透区
结果:
状元:F 榜眼:L 探花:B………………(同时显示程序执行时间)

同时,我将随机确定A~P分别代表的是哪个GM的球队,并发送短信至一个马甲处,等 邓不肯 执行完选秀程序之后,两相对比,确定最终的选秀顺位。该马甲事后将公开,以示公正(上面有短信发送时间和接收时间的)


Admiral 联盟,除了将不区分乐透区、非乐透区(每人每轮的概率都相同)外,其余操作流程和Iceman 联盟相同


如有疑问,请回复提出
__________________
Blessing in Disguise

Heaven in Hell
tinysands离线中   引用
 2006-08-31 23:18  #2
大叔
 
加入日期: 2005-01-10
帖子: 2947
现金: 72 盾
回复: ChinaSpurs.com FBA选秀顺位确定办法

这是大家经过讨论,即减少工作量,又保证公平性的较好办法。

请大家相信组委会的严肃性、认真性和公正性。
邓不肯离线中   引用
 2006-08-31 23:32  #3
Tim 帅哥
小黑屋住户
 
加入日期: 2005-01-13
帖子: 683
现金: -3289 盾
回复: ChinaSpurs.com FBA选秀顺位确定办法

啊啊啊啊啊,,,

最佳创意奖!
Tim离线中   引用
 2006-09-01 09:18  #4
四年生~
 
加入日期: 2005-09-09
帖子: 3886
现金: 75 盾
回复: ChinaSpurs.com FBA选秀顺位确定办法

大概沒有一個FBA會要求一個選透的程式出現吧...
支持沙子和大叔....
__________________
How many brothas fell victim to tha streetz
Rest in peace young nigga, there's a Heaven for a 'G'
be a lie, If I told ya that I never thought of death
my niggas, we tha last ones left
but life goes on.....

[right]alwayz 2Pac[/right]
kikikilian离线中   引用
 2006-09-01 14:56  #5
Young
 
加入日期: 2005-09-20
帖子: 6306
现金: 535 盾
回复: ChinaSpurs.com FBA选秀顺位确定办法

测试程序的效果图如下
上传的图像
 
__________________
Blessing in Disguise

Heaven in Hell
tinysands离线中   引用
 2006-09-01 15:31  #6
大叔
 
加入日期: 2005-01-10
帖子: 2947
现金: 72 盾
回复: ChinaSpurs.com FBA选秀顺位确定办法

补充说明:A-K为非乐透区,L-P为乐透区
第一轮:乐透区的概率:非乐透区的概率 = 100:80
第二轮为95:80,第三轮为90:80,第四轮为85:80
第五轮开始,所有选手的抽签概率均相等。
邓不肯离线中   引用
 2006-09-01 18:43  #7
Tim 帅哥
小黑屋住户
 
加入日期: 2005-01-13
帖子: 683
现金: -3289 盾
回复: ChinaSpurs.com FBA选秀顺位确定办法

大叔,给偶传一个,8过偶木装C#,请传打包程序一份,外加TXT版源代码一份。

发到偶的信箱 lpj903@126.com

谢啦!!
Tim离线中   引用
 2006-09-01 22:08  #8
大叔
 
加入日期: 2005-01-10
帖子: 2947
现金: 72 盾
回复: ChinaSpurs.com FBA选秀顺位确定办法

要安装dotnetfx.exe,23兆多,不好传。
源程序本身很小。
邓不肯离线中   引用
 2006-09-01 23:10  #9
Young
 
加入日期: 2005-09-20
帖子: 6306
现金: 535 盾
回复: ChinaSpurs.com FBA选秀顺位确定办法

Admiral 联盟的程序测试结果如下
上传的图像
 
__________________
Blessing in Disguise

Heaven in Hell
tinysands离线中   引用
 2006-09-02 15:25  #10
Thx, Bruce
 
加入日期: 2005-03-19
帖子: 1819
现金: 780 盾
回复: ChinaSpurs.com FBA选秀顺位确定办法

引用:
作者 邓不肯:
要安装dotnetfx.exe,23兆多,不好传。
源程序本身很小。

大叔,源程序传给我看看吧。^^
xinsuimadong@gmail.com 谢谢啦。
__________________
"It was a great series, and we felt that,In all honesty, even in defeat, I'm starting to enjoy what our group accomplished already. It's no fun to lose, but we lost to a better team. And you can live with that as long as you've given your best. And I think we have." by Popovich
xinsuimadong离线中   引用
 2006-09-02 21:46  #11
大叔
 
加入日期: 2005-01-10
帖子: 2947
现金: 72 盾
回复: ChinaSpurs.com FBA选秀顺位确定办法

源程序在单位,要下周了。不过这个程序很简单的,基本没有学习价值。
邓不肯离线中   引用
 2006-09-02 21:58  #12
Thx, Bruce
 
加入日期: 2005-03-19
帖子: 1819
现金: 780 盾
回复: ChinaSpurs.com FBA选秀顺位确定办法

引用:
作者 邓不肯:
源程序在单位,要下周了。不过这个程序很简单的,基本没有学习价值。

不要紧,不要紧。。。有时间的话就传来看一下^^比较有兴趣的说。
__________________
"It was a great series, and we felt that,In all honesty, even in defeat, I'm starting to enjoy what our group accomplished already. It's no fun to lose, but we lost to a better team. And you can live with that as long as you've given your best. And I think we have." by Popovich
xinsuimadong离线中   引用
 2006-09-03 20:54  #13
大叔
 
加入日期: 2005-01-10
帖子: 2947
现金: 72 盾
回复: ChinaSpurs.com FBA选秀顺位确定办法

为公正起见,特公布抽签程序的源代码,使用Visual C# 2005

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;

namespace lottery
{
///
/// Form1 的摘要说明。
///

public class Form1 : System.Windows.Forms.Form
{
///
/// 必需的设计器变量。
///

private System.ComponentModel.Container components = null;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.TextBox textBox2;
private System.Windows.Forms.TextBox textBox3;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.TextBox textBox4;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.TextBox textBox5;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.TextBox textBox6;
private System.Windows.Forms.TextBox textBox7;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.TextBox textBox8;
private System.Windows.Forms.Label label8;
private System.Windows.Forms.Label label9;
private System.Windows.Forms.TextBox textBox9;
private System.Windows.Forms.Label label10;
private System.Windows.Forms.TextBox textBox10;
private System.Windows.Forms.Label label11;
private System.Windows.Forms.TextBox textBox11;
private System.Windows.Forms.TextBox textBox12;
private System.Windows.Forms.Label label12;
private System.Windows.Forms.TextBox textBox13;
private System.Windows.Forms.Label label13;
private System.Windows.Forms.Label label14;
private System.Windows.Forms.TextBox textBox14;
private System.Windows.Forms.Label label15;
private System.Windows.Forms.TextBox textBox15;
private System.Windows.Forms.TextBox textBox16;
private System.Windows.Forms.Label label16;
private System.Windows.Forms.TextBox textBox17;
private System.Windows.Forms.Label label17;
private System.Windows.Forms.Label label18;
private System.Windows.Forms.TextBox textBox18;
private System.Windows.Forms.Button btnBegin;
private System.Windows.Forms.Label label19;
private GroupBox groupBox1;
private RadioButton rbAdmiral;
private RadioButton rbIceman;
private Label label20;
private ComboBox cmbPlayers;


private ArrayList lots; // 保存所有种子数
private Player[] players; // 所有选手
private TextBox[] txts; // 保存所有文本框,以便于用循环方式进行处理
private int player_count = 16; // 选手数量
private bool isIceman = true; // 表示当前所选择的是否为Iceman联盟,由于Iceman存在优先级,所以要特别处理
private int seed_per_player = 80;
private Label lblTime; // 每位普通选手的种子数,默认为80
private int seed_count = 1380; // 11 * 80 + 5 * 100, 100是乐透选手的种子数

public Form1()
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent();

txts = new TextBox[18];

txts[0] = this.textBox1;
txts[1] = this.textBox2;
txts[2] = this.textBox3;
txts[3] = this.textBox4;
txts[4] = this.textBox5;
txts[5] = this.textBox6;
txts[6] = this.textBox7;
txts[7] = this.textBox8;
txts[8] = this.textBox9;
txts[9] = this.textBox10;
txts[10] = this.textBox11;
txts[11] = this.textBox12;
txts[12] = this.textBox13;
txts[13] = this.textBox14;
txts[14] = this.textBox15;
txts[15] = this.textBox16;
txts[16] = this.textBox17;
txts[17] = this.textBox18;

this.cmbPlayers.SelectedIndex = 3; // 16
}

///
/// 清理所有正在使用的资源。
///

protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}

#region Windows 窗体设计器生成的代码

///
/// 应用程序的主入口点。
///

[STAThread]
static void Main()
{
Application.Run(new Form1());
}

// 初始化种子
public void InitLottery()
{
if (this.isIceman)
this.seed_count = 1380;
else
this.seed_count = this.player_count * seed_per_player;

lots = new ArrayList( this.seed_count );

Random ran = new Random();
int count = 0;

while( count < this.seed_count )
{
int k = ran.Next( 1, this.seed_count + 1 );

if( !lots.Contains( k ))
{
count ++;
lots.Add( k );
}
}

players = new Player[18];

players[0] = new Player( "A");
players[1]= new Player( "B");
players[2]= new Player( "C");
players[3]= new Player( "D");
players[4]= new Player( "E");
players[5]= new Player( "F");
players[6]= new Player( "G");
players[7]= new Player( "H");
players[8]= new Player( "I");
players[9]= new Player( "J");
players[10]= new Player( "K");
players[11]= new Player( "L");
players[12]= new Player( "M");
players[13]= new Player( "N");
players[14]= new Player( "O");
players[15]= new Player( "P");
players[16] = new Player("Q");
players[17] = new Player("R");

if (this.isIceman)
{
players[11].isLot = true;
players[12].isLot = true;
players[13].isLot = true;
players[14].isLot = true;
players[15].isLot = true;
}

for (int m = 0; m < seed_per_player; m++)
{
for( int n = 0; n < this.player_count ; n ++ )
{
players[n].seeds.Add( lots[m*this.player_count + n]);
}
}

// 如果是Iceman联盟,增加乐透区选手的种子数
if (this.isIceman)
{
for (int m = 0; m < 10; m++)
{
for (int n = 0; n < 5; n++)
{
players[11 + n].seeds.Add(lots[1200 + m * 5 + n]);
}
}
}
}

// 前四轮乐透区选秀
public void PriorityPick()
{
int result = 0;

Random ran = new Random();
bool selected = false;

// 前四轮为乐透选秀
for( int p = 0; p < 4; p ++ )
{
while( true )
{
selected = false;

result = ran.Next( 1, this.seed_count + 1 );

for( int i = 0; i < this.player_count ; i ++ )
{
if( players[i].seeds.Contains( result ) )
{
if( players[i].selected == false )
{
players[i].selected = true;
selected = true;
this.txts[p].Text = players[i].name;

// 每轮之后,乐透选手的种子数减去5
for (int j = 11; j < player_count; j++)
{
players[j].TrimSeeds(5);
}

break;
}
else
break;
}
}

if( selected )
break;
}
}
}

// 非乐透选秀,从第start+1轮直到第end轮
public void EvenPick( int start, int end)
{
int result = 0;

Random ran = new Random();
bool selected = false;

for( int p = start; p < end; p ++ )
{
while( true )
{
selected = false;

result = ran.Next( 1, this.seed_count + 1 );

for( int i = 0; i < this.player_count ; i ++ )
{
if( players[i].seeds.Contains( result ) )
{
if( players[i].selected == false )
{
players[i].pick = p;
players[i].selected = true;
selected = true;
this.txts[p].Text = players[i].name;
break;
}
else
break;
}
}

if( selected )
break;
}
}
}

private void rbIceman_CheckedChanged(object sender, EventArgs e)
{
this.ClearAllText();

if (this.rbAdmiral.Checked)
{
this.cmbPlayers.Enabled = true;
this.cmbPlayers.SelectedIndex = 4;
this.isIceman = false;
this.player_count = 18; // 默认联盟人数为18
}
else
{
this.cmbPlayers.SelectedIndex = 0;
this.cmbPlayers.Enabled = false;
this.isIceman = true;
this.player_count = 16;
}
}

private void btnBegin_Click(object sender, EventArgs e)
{
this.lblTime.Text = DateTime.Now.ToLongDateString() + " " + DateTime.Now.ToLongTimeString();

this.ClearAllText();

this.InitLottery();

if (this.isIceman)
{
this.PriorityPick();
this.EvenPick(4, this.player_count);
}
else
{
this.EvenPick(0, this.player_count);
}
}

private void cmbPlayers_SelectedIndexChanged(object sender, EventArgs e)
{
// Iceman规定为16名选手,Admiral联盟的人数可以是10-18人
this.player_count = Convert.ToInt32(this.cmbPlayers.Text);
}

// 清空所有文本框的内容
private void ClearAllText()
{
for (int i = 0; i < this.txts.Length; i++)
{
this.txts[i].Text = "";
}
this.lblTime.Text = "";
}
}

public class Player
{
public int pick;
public bool selected;
public bool isLot;
public string name;
public ArrayList seeds;

public Player( string nam )
{
selected = false;
name = nam;
seeds = new ArrayList( 100 );
}

public void TrimSeeds( int seed )
{
if( this.isLot )
{
this.seeds.RemoveRange( 0, seed );
}
}
}
}
邓不肯离线中   引用
 2006-09-03 22:05  #14
管理员
 
加入日期: 2004-04-25
帖子: 4439
现金: 62 盾
回复: ChinaSpurs.com FBA选秀顺位确定办法

炫耀咩?我可什么都看不懂 =。=
香瓜离线中   引用
 2006-09-03 22:16  #15
Young
 
加入日期: 2005-09-20
帖子: 6306
现金: 535 盾
回复: ChinaSpurs.com FBA选秀顺位确定办法

BS楼上的……不务正业……BS一千遍啊一千遍……
__________________
Blessing in Disguise

Heaven in Hell
tinysands离线中   引用
 2006-09-06 11:22  #16
啦啦队
 
加入日期: 2006-09-06
帖子: 109
现金: 550 盾
回复: ChinaSpurs.com FBA选秀顺位确定办法

这种选秀顺位确定办法好新颖,有点意思
长风离线中   引用
 2006-09-06 14:09  #17
四年生~
 
加入日期: 2005-09-09
帖子: 3886
现金: 75 盾
回复: ChinaSpurs.com FBA选秀顺位确定办法

什麼也看不懂....
__________________
How many brothas fell victim to tha streetz
Rest in peace young nigga, there's a Heaven for a 'G'
be a lie, If I told ya that I never thought of death
my niggas, we tha last ones left
but life goes on.....

[right]alwayz 2Pac[/right]
kikikilian离线中   引用
 2006-09-06 21:35  #18
板凳
 
加入日期: 2006-09-04
帖子: 984
现金: 352 盾
回复: ChinaSpurs.com FBA选秀顺位确定办法

偶也看不懂……8过盲目支持
迷你石佛离线中   引用
 2006-09-14 20:01  #19
球星
 
加入日期: 2006-01-23
帖子: 3094
现金: 20 盾
回复: ChinaSpurs.com FBA选秀顺位确定办法

什么时候选啊???
__________________
老刺离线中   引用
 2006-09-14 21:02  #20
四年生~
 
加入日期: 2005-09-09
帖子: 3886
现金: 75 盾
回复: ChinaSpurs.com FBA选秀顺位确定办法

选秀應該會定於名單確定之後...

而且NBA.com 和 各大美國體育網站
在開季前都應該會發出很多有關FBA選秀的文章

我一找到就會轉給大家看一看
所以選秀的事宜不用太急於一時

大概是十月中的日子吧
__________________
How many brothas fell victim to tha streetz
Rest in peace young nigga, there's a Heaven for a 'G'
be a lie, If I told ya that I never thought of death
my niggas, we tha last ones left
but life goes on.....

[right]alwayz 2Pac[/right]
kikikilian离线中   引用
 
主题工具

发帖规则
不可以发表新主题
不可以回复主题
不可以上传附件
不可以编辑您的帖子

vB 代码开启
[IMG]代码开启
HTML代码开启
论坛跳转



马刺中文网 - 始于2004年 - 网站地图 - Go Spurs Go!