已有57人关注
一个关于俄罗斯方块的问题!!
发表在C#图书答疑 2012-04-20
是否精华
版块置顶:
问题来自C#编程全能词典的入门模式》入门训练》第5课》俄罗斯方块例子上,在实际按照步骤操作时遇到问题了。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace 俄罗斯方块
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
         [font color=#FF0000] Class1 [/font]MyRussia = new [font color=#FF0000]Class1()  [/font];//实例化Class1类,用于操作游戏
           [font color=#FF0000] Class1[/font] TemRussia = new[font color=] Class1(); [/font]//实例化Class1类,用于生成下一个方块样式
            public bool ispause = true;//判断是否暂停游戏
            public Timer timer = new Timer();//定义计时器对象
    }
        

   private[font color=#FF0000] void [/font]button1_Click()
    {
         MyRussia.ConvertorClear();//清空整个控件
    MyRussia.firstPoi = new [font color=#FF0000]Point[/font](140, 20);//设置方块的起始位置
    label3.Text = "0";//显示去除的行数
    label4.Text = "0";//显示分数
    MyRussia.Label_Linage = label3;//将label3控件加载到Russia类中
    MyRussia.Label_Fraction = label4;//将label4控件加载到Russia类中
    timer1.Interval = 500;//下移的速度
    timer1.Enabled = false;//停止计时
    timer1.Enabled = true;//开始计时
    Random rand = new[font color=#FF0000] Random[/font]();//实例化Random
    MyRussia.CakeNO = rand.Next(1, 8);//获取随机数
    MyRussia.CakeMode(MyRussia.CakeNO);//设置方块的样式
    MyRussia.Protract(panel1);//绘制组合方块
    beforehand();//生成下一个方块的样式
    MyRussia.PlaceInitialization();//初始化Random类中的信息
    MyRussia.isbegin = true;//判断是否开始
    ispause = true;
    MyRussia.timer = timer1;
    button2.Text = "暂停";
    ispause = true;
    textBox1.Focus();//获取焦点
    }

     private [font color=#FF0000]void[/font] timer1_Tick(object sender, EventArgs e)
    {
            MyRussia.ConvertorMove(0);//方块下移
   if (MyRussia.become)//如果显示新的方块
      {
       beforehand();//生成下一个方块
       MyRussia.become = false;
       }
   textBox1.Focus();//获取焦点
        
        }
        public void beforehand()
{
    Graphics P3 = panel3.CreateGraphics();
    P3.FillRectangle(new [font color=#FF0000]SolidBrush[/font](Color.Black), 0, 0, panel3.Width, panel3.Height);
    Random rand = new [font color=#FF0000]Random[/font]();//实例化Random
    MyRussia.CakeNO = rand.Next(1, 8);//获取随机数
    TemRussia.firstPoi = new [font color=#FF0000]Point[/font](50, 30);//设置方块的起始位置
    TemRussia.CakeMode(MyRussia.CakeNO);//设置方块的样式
    TemRussia.Protract(panel3);//绘制组合方块
}
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
    if (!MyRussia.isbegin)//如果没有开始游戏
        return;
    if (!ispause)//如果游戏暂停
        return;
    if (e.KeyCode == Keys.Up)//如果当前按下的是↑键
        MyRussia.MyConvertorMode();//变换当前方块的样式
    if (e.KeyCode == Keys.Down)//如果当前按下的是↓键
    {
        timer1.Interval = 300;//增加下移的速度
        MyRussia.ConvertorMove(0);//方块下移
    }
    if (e.KeyCode == Keys.Left)//如果当前按下的是←键
        MyRussia.ConvertorMove(1);//方块左移
    if (e.KeyCode == Keys.Right)//如果当前按下的是→键
        MyRussia.ConvertorMove(2);//方块右移
}
    }
}



Class1类也添加了!但RussiaFKClass.dll添加不了,只是把它放在debug文件夹里。我特意标有红色的地方它都报错!!求解
分享到:
精彩评论 1
东方_mrkj
学分:0 LV1
2012-04-24
沙发
读者你好:
    问题还是出现在Class1上,所以必须添加RussiaFKClass.dll程序集,并且引入“Class1”的命名空间。关于“但RussiaFKClass.dll添加不了”,这个能说得再细一些吗?
首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照