#include "stdafx.h"
#include "TogetherForMarriage.h"
#include "TogetherForMarriageDlg.h"
#include "afxdialogex.h"
#include <stdio.h>
#include <windows.h>
#include <mmsystem.h>
#pragma comment(lib,"winmm.lib")
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// CTogetherForMarriageDlg 对话框
int boyviews=0;
int boymoney=0;
int boyhealth=0;
int boyhealth2=0;
int boyability=0;
int boyability2=0;
int boyface=0;
int boyluck=0;
int girlviews=0;
int girlface=0;
int girlmoney=0;
int girlhealth=0;
int girlability=0;
int girlgentle=0;
int level=0;
int m_born=0;
int starttime=0;
int nowtime=0;
int clicktime=0;
int m_select=0;
int selecttime=20;
int basedot=0;
HDC hdc;
HBITMAP bmp,oldbmp;
CRect rect;
CTogetherForMarriageDlg::CTogetherForMarriageDlg(CWnd* pParent /*=NULL*/)
: CDialogEx(CTogetherForMarriageDlg::IDD, pParent)
{
m_hIcon = AfxGetApp()->LoadIcon(IDI_ICON2);
}
void CTogetherForMarriageDlg::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(CTogetherForMarriageDlg, CDialogEx)
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_BN_CLICKED(IDOK, &CTogetherForMarriageDlg::OnBnClickedOk)
ON_BN_CLICKED(IDC_BUTTON2, &CTogetherForMarriageDlg::OnBnClickedButton2)
ON_WM_TIMER()
ON_BN_CLICKED(IDC_BUTTON1, &CTogetherForMarriageDlg::OnBnClickedButton1)
ON_BN_CLICKED(IDC_BUTTON6, &CTogetherForMarriageDlg::OnBnClickedButton6)
ON_BN_CLICKED(IDC_BUTTON5, &CTogetherForMarriageDlg::OnBnClickedButton5)
ON_BN_CLICKED(IDC_BUTTON4, &CTogetherForMarriageDlg::OnBnClickedButton4)
ON_BN_CLICKED(IDC_BUTTON3, &CTogetherForMarriageDlg::OnBnClickedButton3)
ON_BN_CLICKED(IDC_BUTTON7, &CTogetherForMarriageDlg::OnBnClickedButton7)
ON_BN_CLICKED(IDC_BUTTON8, &CTogetherForMarriageDlg::OnBnClickedButton8)
END_MESSAGE_MAP()
// CTogetherForMarriageDlg 消息处理程序
BOOL CTogetherForMarriageDlg::OnInitDialog()
{
CDialogEx::OnInitDialog();
SetIcon(m_hIcon, TRUE);
SetIcon(m_hIcon, FALSE);
SetTimer(1,100,NULL);
return TRUE;
}
void CTogetherForMarriageDlg::OnPaint()
{
if (IsIconic())
{
CPaintDC dc(this); // 用于绘制的设备上下文
SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);
// 使图标在工作区矩形中居中
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;
// 绘制图标
dc.DrawIcon(x, y, m_hIcon);
}
else
{
CPaintDC dc(this);
GetClientRect(&rect);
hdc=CreateCompatibleDC(dc);
bmp=(HBITMAP)LoadImage(NULL,TEXT("bg.bmp"),
IMAGE_BITMAP,rect.right,rect.Height(),LR_LOADFROMFILE);
oldbmp=(HBITMAP)SelectObject(hdc,bmp);
BitBlt(dc,0,0,rect.right,rect.Height(),hdc,0,0,SRCCOPY);
DeleteObject((HBITMAP)SelectObject(hdc, oldbmp));
DeleteDC(hdc);
//CDialogEx::OnPaint();
}
}
HCURSOR CTogetherForMarriageDlg::OnQueryDragIcon()
{
return static_cast<HCURSOR>(m_hIcon);
}
void CTogetherForMarriageDlg::OnBnClickedOk()
{
// TODO: 在此添加控件通知处理程序代码
//CDialogEx::OnOK();
}
void CTogetherForMarriageDlg::OnBnClickedButton2()//born
{
if(m_born==0){
m_born=1;
starttime=timeGetTime();
boyviews=MyRand(10000,10000);
SetDlgItemText( IDC_BOYVIEWS , IntToCString(boyviews));
boymoney=MyRand(5000,10000000);
selecttime+=(boymoney-5000)/100000;
SetDlgItemText( IDC_BOYMONEY , IntToCString(boymoney));
boyface=MyRand(30,65);
SetDlgItemText( IDC_BOYFACA , IntToCString(boyface));
boyability=MyRand(50,45);
boyability2=boyability;
SetDlgItemText( IDC_BOYABILITY , IntToCString(boyability2));
boyluck=MyRand(10,85);
SetDlgItemText( IDC_BOYLUKY , IntToCString(boyluck));
boyhealth=MyRand(50,45);
boyhealth2=boyhealth;
SetDlgItemText( IDC_BOYHEALTH ,IntToCString(boyhealth2));
level=0;
SetDlgItemText( IDC_LEVEL ,IntToCString(level));
}
}
void CTogetherForMarriageDlg::OnTimer(UINT_PTR nIDEvent)
{
basedot++;
if(basedot==10000)basedot=0;
if(m_born==1){
if((basedot+10)%10==0&&boyhealth2<boyhealth)boyhealth2++;
if((basedot+10)%10==0&&boyability2>boyability-30)boyability2--;
if(boymoney>0)boymoney--;//最低开支
if(m_select==1){
if(basedot%10==0&&boyviews!=girlviews&&level<1000)level+=50/abs(boyviews-girlviews);
}
if(level>500)MessageBox(TEXT("恭喜你,如愿以偿了"));
Updata();
}
CDialogEx::OnTimer(nIDEvent);
}
void CTogetherForMarriageDlg::OnBnClickedButton1()//重置
{
Empty();
}
void CTogetherForMarriageDlg::OnBnClickedButton6()//关心
{
if(m_born==1&&m_select==1){
clicktime++;
if(MyRand(0,100)>60&&level<1000)level+=5;
nowtime=timeGetTime();
if(MyRand(0,100)>50&&clicktime>(60*(nowtime-starttime)/60000)){
RunAway();
MessageBox(TEXT("你这么狂追,要不得"));
clicktime=0;
m_select=0;
}
SetDlgItemText( IDC_LEVEL ,IntToCString(level));
}
}
void CTogetherForMarriageDlg::OnBnClickedButton5()//花钱
{
if(m_born==1){
if(boymoney>1000&&m_select==1){
boymoney-=1000;
if(MyRand(0,100)>50)level+=5;
}
}
}
void CTogetherForMarriageDlg::OnBnClickedButton4()//挣钱
{
if(m_born==1&&boyhealth2>30){
boymoney+=boyability;
boyhealth2-=10;
UpdataBoy();
}
}
void CTogetherForMarriageDlg::OnBnClickedButton3()//select
{
level=0;
if(m_born==1){
if(selecttime>0){
selecttime--;
m_select=1;
girlviews=MyRand(10000,10000);
SetDlgItemText( IDC_GIRLVIEWS , IntToCString(girlviews));
girlmoney=MyRand(5000,10000000);
SetDlgItemText( IDC_GIRLMONEY , IntToCString(girlmoney));
girlface=MyRand(30,65);
SetDlgItemText( IDC_GIRLFACE , IntToCString(girlface));
girlability=MyRand(50,45);
SetDlgItemText( IDC_GIRLABILITY , IntToCString(girlability));
girlgentle=MyRand(10,85);
SetDlgItemText( IDC_GIRLGENTLE , IntToCString(girlgentle));
girlhealth=MyRand(50,45);
SetDlgItemText( IDC_GIRLHEALTH ,IntToCString(girlhealth));
}
}
}
CString CTogetherForMarriageDlg::IntToCString(int vol)
{
TCHAR ch[100];
wsprintf(ch,TEXT("%d"),vol);
return ch;
}
int CTogetherForMarriageDlg::MyRand(int min, int range)
{
Sleep(rand()%50);
srand(timeGetTime());
return rand()%range+min;
}
int CTogetherForMarriageDlg::Updata(void)
{
SetDlgItemText( IDC_BOYVIEWS , IntToCString(boyviews));
SetDlgItemText( IDC_BOYMONEY , IntToCString(boymoney));
SetDlgItemText( IDC_BOYFACA , IntToCString(boyface));
SetDlgItemText( IDC_BOYABILITY , IntToCString(boyability2));
SetDlgItemText( IDC_BOYLUKY , IntToCString(boyluck));
SetDlgItemText( IDC_BOYHEALTH ,IntToCString(boyhealth2));
SetDlgItemText( IDC_GIRLVIEWS , IntToCString(girlviews));
SetDlgItemText( IDC_GIRLMONEY , IntToCString(girlmoney));
SetDlgItemText( IDC_GIRLFACE , IntToCString(girlface));
SetDlgItemText( IDC_GIRLABILITY , IntToCString(girlability));
SetDlgItemText( IDC_GIRLGENTLE , IntToCString(girlgentle));
SetDlgItemText( IDC_GIRLHEALTH ,IntToCString(girlhealth));
SetDlgItemText( IDC_LEVEL ,IntToCString(level));
return 0;
}
int CTogetherForMarriageDlg::RunAway(void)
{
girlviews=0;
girlface=0;
girlmoney=0;
girlhealth=0;
girlability=0;
girlgentle=0;
level=0;
SetDlgItemText( IDC_GIRLVIEWS , IntToCString(girlviews));
SetDlgItemText( IDC_GIRLMONEY , IntToCString(girlmoney));
SetDlgItemText( IDC_GIRLFACE , IntToCString(girlface));
SetDlgItemText( IDC_GIRLABILITY , IntToCString(girlability));
SetDlgItemText( IDC_GIRLGENTLE , IntToCString(girlgentle));
SetDlgItemText( IDC_GIRLHEALTH ,IntToCString(girlhealth));
SetDlgItemText( IDC_LEVEL ,IntToCString(level));
return 0;
}
int CTogetherForMarriageDlg::UpdataBoy(void)
{
SetDlgItemText( IDC_BOYVIEWS , IntToCString(boyviews));
SetDlgItemText( IDC_BOYMONEY , IntToCString(boymoney));
SetDlgItemText( IDC_BOYFACA , IntToCString(boyface));
SetDlgItemText( IDC_BOYABILITY , IntToCString(boyability2));
SetDlgItemText( IDC_BOYLUKY , IntToCString(boyluck));
SetDlgItemText( IDC_BOYHEALTH ,IntToCString(boyhealth2));
return 0;
}
void CTogetherForMarriageDlg::OnBnClickedButton7()//学习
{
if(boyability2<boyability+20)boyability2++;
}
void CTogetherForMarriageDlg::OnBnClickedButton8()//冒险
{
if(m_born==1){
boymoney+=boyluck*10000;
if(MyRand(0,boyluck)<30){
Empty();
}
UpdataBoy();
}
}
int CTogetherForMarriageDlg::Empty(void)
{
boyviews=0;
boymoney=0;
boyhealth=0;
boyhealth2=0;
boyability=0;
boyability2=0;
boyface=0;
boyluck=0;
girlviews=0;
girlface=0;
girlmoney=0;
girlhealth=0;
girlability=0;
girlgentle=0;
level=0;
m_born=0;
m_select=0;
selecttime=20;
basedot=0;
Updata();
return 0;
}