HAPPY 的魔兽争霸

首先我们要搭建三个窗体。

FrmLogin

FrmRegister

FrmMain

2.我们先看一下第一个窗体的代码

首先我们先双击窗体进入代码页面

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

public UserInfo[] users=new UserInfo[10];   //创建长度为0的数组

       private void FrmLogin_Load(object sender, EventArgs e)     //双击窗体

       {

           //01.给数组的前3个位置赋值

           InitDataToArray(); 

         

       }

       private void InitDataToArray()    //为数组赋初值的方法

       {

           UserInfo user1=new UserInfo();     //赋值第一种方法

           user1.Uid = 1;

           user1.Uemail = "1";

           user1.Upwd = "1";

           //让游离的  user1对象    归属于  users数组

           users[0] = user1;

           users[1] = new UserInfo();       //赋值的第二种方法

           users[1].Uid = 2;

           users[1].Uemail = "2";

           users[1].Upwd = "2";

         

       }

  在双击登陆按钮

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

private void btnLogin_Click(object sender, EventArgs e)     //双击登陆按钮

       {

           //1.0     一个标记,代表登录结果

           bool flag = false;

           //1.1     如何判定用户录入的 邮箱和  密码是正确的

           string email = txtEmail.Text;

           string pwd = txtPwd.Text;

           //1.2     循环遍历数组,依次取出每一项   item

           foreach (UserInfo item in users)

           {

                //1.3  每一个item代表一个UserInfo对象

               if (item!=null)

               {

                   if (item.Uemail.Equals(email)&&item.Upwd.Equals(pwd))

                   {

                       //证明   邮箱   和密码   都是匹配的

                       flag = true;

                   }

               }

           }

           //    1.4  除了循环,判定flag是真还是假

           if (flag==true)

           {

               //进入主窗体

               FrmMain frm=new FrmMain();

               frm.email = txtEmail.Text;

               frm.Show();

           }

           else

           {

               MessageBox.Show("登录失败");

           }

  我们要为没有账号的用户注册账号

?


1

2

3

4

5

6

7

8

9

10

private void llbRegist_LinkClicked(object sender,LinkLabelLinkClickedEventArgs e)   // 双击注册按钮

       {

           //01. 自身隐藏

           //this 代表的当前窗体对象  

           this.Hide();

           //02.让注册显示

           FrmRegister frm=new FrmRegister();

           frm.login = this;

           frm.Show();

       }

  第二个页面注册

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

//定义窗体对象保存logininfo窗体传过来的值

public FrmLogin fl;

//点击注册触发的事件

private void btnregin_Click(object sender, EventArgs e)   //双击注册战网

{

   

    if (ProvingInfo() == true)

    {

        //获取文本框中对应的值

        string name = txtname.Text;

        string email = txtemail.Text;

        string cid = txtcid.Text;

        string password = txtpassword.Text;

        LoginInfo info = new LoginInfo();

       info.Name = name;

        info.Id = cid;

        info.Email = email;

       info.Password = password;

        MessageBox.Show("注册成功!");

        for (int i = 0; i < LoginInfo.array.Length; i++)

        {

            if (LoginInfo.array[i] == null)

            {

                LoginInfo.array[i] = info;

                break;

            }

        }

    }

}

//验证填写信息

public bool ProvingInfo()

{

     if(txtname.Text.Trim().Equals(string.Empty))

     {

         MessageBox.Show("请填写姓名");

         this.txtname.Focus();

         return false;

     }

     else if(txtcid.Text.Trim().Equals(string .Empty))

     {

         MessageBox.Show("请填身份证号码");

         this.txtcid.Focus();

         return false;

    

     }

     else if (txtemail.Text.Trim().Equals(string.Empty))

     {

         MessageBox.Show("请填身份证号码");

         this.txtemail.Focus();

         return false;

     }

     else if (txtpassword.Text.Trim().Equals(string.Empty))

     {

         MessageBox.Show("请填写密码");

         this.txtpassword.Focus();

         return false;

     }

     else if (txtone.Text.Trim().Equals(string.Empty))

     {

         MessageBox.Show("请确认邮箱输入");

         this.txtone.Focus();

         return false;

     }

     else if (txtokone.Text.Trim().Equals(string.Empty))

     {

         MessageBox.Show("请确认密码输入");

         this.txtokone.Focus();

         return false;

     }

     else if (!txtemail.Text.Equals(txtone.Text))

     {

         MessageBox.Show("两次输入的邮箱不一致");

         return false;

     }

     else if(!txtpassword.Text.Equals(txtokone.Text))

     {

      MessageBox.Show("两次输入的密码不一致");

      return false;

     }

     else

    {

        return true;

     }

  

  第三个页面显示   “欢迎你***”。

?


1

2

3

4

5

6

7

8

//定义变量保存窗体传过来的值

       public string loginame;

       //Load事件

       private void FrmMain_Load(object sender, EventArgs e)  //双击窗体

       {

           //给label控件赋值

           lblloginname.Text = "欢迎" + loginame + "来到魔兽世界";

       }

时间: 2024-10-07 14:41:52

HAPPY 的魔兽争霸的相关文章

对玩家爱好的深渊魔王们--魔兽争霸里的Azgalor评议

对玩家爱好的深渊魔王们--魔兽争霸里的Azgalor评议Method工会早已顺利击毙了传奇地狱之火碉堡的Mannoroth,直面污染者,作为燃烧军团的副官Azgalor也就是敝人口中的"深渊'深受广大玩家嗜好.Draenor的程序还在风起云涌的举办着:地狱火城堡的FD争取战一样在赓续着.这一次.玩家将再次面临自己的老好友--恶魔军团!提及燃烧军团.不单是堕落泰坦Sargeras,还分外轻而易举想象到那些体型稍宏大的怪兽--深渊魔王,这些外形很是庞大的毁坏狂是恶魔军团的军务指导.由于气力十分强壮.

魔兽争霸是

Description 魔兽争霸是游侠UFO最喜欢玩的游戏之一,某天下午游侠UFO在网上和某人厮杀,战争进入了胶着状态,如何把手上的资源有效地转化成战斗力成了困扰游侠UFO的一个问题.现在游侠UFO手上有一大笔钱V,而他所选的Undead族有N个兵种,是造一大堆食尸鬼还是一群冰龙呢?这是你需要帮助游侠UFO解决的问题.我们知道,每个兵种都有不同的造价和作战能力,假设第i个兵种造价为v[i],作战能力为w[i].显然为了能得到更高的获胜概率,我们需要在有限的资源下获得更多的作战能力,你的任务就是编

Win10玩魔兽争霸不能全屏显示的设置教程

Win10玩魔兽争霸不能全屏显示的设置教程: 1.右击桌面左下角的windows图标,显示图片内容,然后点击运行: 2.点击运行,有个输入框,输入regedit,点击确认: 3.显示win10注册表,点击 HKEY_CURRENT_USER,点击展开的SOFTWARE,再点击Blizzard Entertainment,然后再点击Warcraft III,点击Vedio,在右侧展显示很多注册表,发现reswidth,resheight 两个选项,按自己的屏幕分辨率来修改值: 备注:resheig

如何修改魔兽争霸war3 分辨率

如何修改魔兽争霸war3 分辨率 有时候发现老电脑从XP系统升级到WIN7之后,发现玩魔兽不能全屏了(2边会有一些黑屏的).最后检查发现是魔兽在安装注册表之后显示的分辨率跟电脑的实际分辨率不同导致的. 一.使用工具 下载地址:https://files-cdn.cnblogs.com/files/aiwuxia/%E9%AD%94%E5%85%BD%E5%88%86%E8%BE%A8%E7%8E%87%E5%BF%AB%E9%80%9F%E8%AE%BE%E7%BD%AE.zip 二.修改注册表

魔兽争霸III冰封王座作弊代码(仅单机模式)

魔兽争霸秘籍在战役模式下(多人游戏不可),敲回车,会出来对话框,然后把下面字符输入即可 无敌并一击必杀 whosyourdaddy 无限能量 thereisnospoon 魔兽争霸秘籍 任务模式里即使失败也继续游戏 strengthandhonor 地图全开 iseedeadpeople 魔兽争霸秘籍 立即胜利 allyourbasearebelongtous 立即失败 somebodysetusupthebomb 禁止任务默认的胜利条件 itvexesme 加黄金 keysersoze [黄金

魔兽争霸系统

创建魔兽系统相关窗体: 登录窗体(frmLogin) 注册窗体(frmRegister) 主窗体   (frmMain) 实现魔兽登录系统: 登录的界面如下 实现思路: 1.创建一个对象数组,长度为10,初始化数组并进行赋值 2.在登录按钮里验证邮箱和密码是否正确,使用文本框中的值遍历数组,查看是否有与之匹配的值.并关联主窗体 3.在这里使用到了一个LinkLabel控件,在此按钮里的事件里显示注册窗体隐藏自身 实现魔兽注册系统: 注册的界面如下 实现思路: 在注册按钮里创建userInfo类的

hdu-3008魔兽争霸

这道题目相当有意思,打魔兽对于很多人来说并不陌生,人和boss的hp都是100,人首先攻击,人的普攻为1,有木有这么弱!还好技能是自己输入,不然真的没话说. 好啦,这题就是用动态规划解题,主要还是看状态方程,状态方程不唯一,你可以设f[i][j]表示第i次攻击是剩余蓝量j所造成的最大伤害,也可设第i次攻击所造成的伤害j所消耗的蓝量,反正这道题状态方程不唯一,这是我用第一种状态方程写的,变量有点多,但是找到关键,其实都是浮云.状态方程:f[i][j-a[k]+t]=max(f[i][j-a[k]+

魔兽争霸联机修改金钱和木头原理(可局域网多人修改不掉线)

写给感兴趣的码农(如果只想使用此工具,请直接跳过这部分): 此文章所有测试都是在1.24E版本进行!!! 其实局域网修改资源之所以会掉线,排除网络和游戏崩溃的因素,就是因为玩家之间的资源数据不同步导致的.只要确保修改之后玩家之间的资源数据同步,就不会出现掉线的情况.我们有两种方法修改:①定时修改资源:②HOOK修改资源的函数.明显前者不太显现实,买东西快一点就容易掉线了,只能选后者了. 经过调试分析发现一个极其关键的CALL,地址是6F473C50(6F000000是game.dll的首地址,这

【Tyvj1601】魔兽争霸(主席树,树套树)

题意:要求在N个数的序列中支持以下操作: 1:将第X个元素加上Y 2:询问当前K大值 n<=30000,m<=50000 思路:树状数组套主席树 Tyvj又炸了,还不知道对不对 1 var t:array[0..12000000]of record 2 l,r,s:longint; 3 end; 4 d:array[1..50000,1..3]of longint; 5 a,save,q,root,hash:array[0..100000]of longint; 6 b:array[1..20