软工第三次课设-黄金点游戏的进一步优化

对原有项目的改进

首先,本次版本在原有基础上增加了登录界面,登录后方可进行游戏,这样可以便于以后多轮游戏结果可视化显示及数据分析。
而后,我们修改了新的游戏规则,每个用户每次可以提交两个数字,其他规则一样,这样一来,用户们可以通过2个数字的相互补足来获取胜利,也可以通过恶意调整另外一个数字来干扰其他用户的判断,这样增加了游戏的趣味性。

具体实现

登录界面:
在这里插入图片描述

登录失败
在这里插入图片描述
登录成功后会进入游戏界面。
在这里插入图片描述

新增游戏界面(每人输入两个数字)
在这里插入图片描述

代码

load.cpp
用户登录

void load::OnBnClickedOk()
{
	CString sun, spwd;
	GetDlgItemText(IDC_EDIT1, sun);
	GetDlgItemText(IDC_EDIT2, spwd);

	if (!sun.CompareNoCase(_T("user")) && !spwd.CompareNoCase(_T("admin")))
	{
		MessageBox(_T("登录成功"));
		EndDialog(0);
	}
	else
	{
		MessageBox(_T("密码错误"));
	}
}
newgoldDlg.cpp

新规则中表的初始化

m_list.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_CHECKBOXES);//在最左侧添加勾选框,选中一整行
	m_list.InsertColumn(0, _T("玩家数字(1)"),0,200);
	m_list.InsertColumn(1, _T("玩家数字(2)"),0,200);
	m_list.InsertColumn(2, _T("玩家得分"),0,200);

增加两个玩家数字

void CnewgoldDlg::OnBnClickedButtonadd()
{
	// TODO: 在此添加控件通知处理程序代码
	adddlg dlg;
	dlg.DoModal();
	int ncount = m_list.GetItemCount();
	m_list.InsertItem(ncount,dlg.snumber);
}

修改玩家的两组数据

void CnewgoldDlg::OnBnClickedButtonupdate()
{
	// TODO: 在此添加控件通知处理程序代码
	for (int i = 0; i < m_list.GetItemCount(); i++)
	{
		BOOL state = m_list.GetCheck(i);
		if (state)
		{
			adddlg dlg;
			dlg.DoModal();

			m_list.SetItemText(i,0,dlg.snumber);
			m_list.SetItemText(i,1,dlg.snumber2);
		}
	}
}

adddlg.cpp
获得玩家输入的数值

void adddlg::OnBnClickedButtonok()
{
	// TODO: 在此添加控件通知处理程序代码
	GetDlgItemText(IDC_EDIT_number,snumber);
	GetDlgItemText(IDC_EDIT_number2, snumber2);
	EndDialog(0);
}

游戏效果

在这里插入图片描述

小结

我们希望通过修改原本较为简单的游戏规则来提高游戏的趣味性,使得用户在进行游戏时可以考虑更多的策略,目前项目还有更多可改进的地方,比如多轮游戏结果可视化显示及数据分析等方面,这样优化可以使得用户从对多轮游戏结果的分析中汲取教训,寻求更有效的获胜之道。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值