| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4229 人关注过本帖, 2 人收藏
标题:求助!!!
只看楼主 加入收藏
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:0 
就拿我们班上学习的情况来说,真正去自己思考的学生才从项目中得到了很多的东西,因为老师除了类方面的知识其它的东西都不会去讲,只讲三堂课。
问题是不愿意自己去思考的学生也很多,总是等着组长去讲解怎么做。讲完类的第三堂课后,偶们几个组长,偶用了一夜的时间就搞定。
最后我们班真正从这个项目中收获良多的据偶估计,只有五个组长,偶和一个朋友,不到十个人。五个女生,有两个偶在带她们做这个项目,
很不幸,结果是五个女生没有一个人真正掌握。

我们都在路上。。。。。
2012-05-17 12:04
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
回复 80楼 hellovfp
嗯 是像你说的那样 看别人的实例就局限在那里面了 不过看了好些代码后真体会到了 处理数据的重要性
尽管是一个界面 如果没有好的数据结构支撑也无法让windows程序设计的那些知识应用起来 以前我总是把窗口看的hen主要 现在确实体会到界面好比衣服 数据才是身子。我现在的想法是尽可能的通过一个个例子来体会作者在写这个程序时是如何运用数据结构来架设他蓝图,实现预期的功能。像T版说的 人要管理好代码。我想更重要的是我们要想方设法让自己的代码区管理好数据。

我现在的情形的孤军奋战 没老师没同学 只能对着电脑 狂翻网页

[ 本帖最后由 有容就大 于 2012-5-17 12:12 编辑 ]

梅尚程荀
马谭杨奚







                                                       
2012-05-17 12:10
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:0 
回复 82楼 有容就大
不同的思维,带来不同的代码实现,这是程序设计之所以称为设计之根本。
如果用C++的类来写这个项目,写出来的东西和你现在的代码完全不同。
偶那个朋友一开始也没有明白这个项目怎么回事,在看偶给另两个女生边讲解,边打代码举例的时候,看明白了。

曾经在给小鱼兄讲链表项目的时候,也是这样,灌了16页*10的帖子,偶始终不提指针是什么,但在最后一楼,终于等来了小鱼兄自己的领悟留帖。
因为小鱼兄真正去思考过了。从这两个身边的例子,偶清楚自己思考的重要性,别人的代码不能代替你思维,只能给你一些启示。

拿代码管理来说吧,偶敢说你还没有最基本的管理的经验,当然这些还没有跟讲过。
有没有想过创建src目录、include目录、res、images、config目录,来管理你的代码?

我们都在路上。。。。。
2012-05-17 12:30
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
没啊 都不晓得 没弄过

梅尚程荀
马谭杨奚







                                                       
2012-05-17 12:34
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:0 
回复 84楼 有容就大
慢慢来吧,编程之路远兮,吾将上下而求索。。
罗马不是一天就盖成的。。从最简单的项目入手,不要一上来就做大型的项目。
这是经验之谈,偶们班上一个组长就是因为贪大,在项目中想做个比所有组长都大的东西出来,
结果因为接口经验不足,到项目要演示的那天通宵赶都没有搞出来,流产了。

我们都在路上。。。。。
2012-05-17 12:41
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
回复 85楼 hellovfp
可能是我太看中结果了 想到个什么东西 不管有没有条件就扑上去了 我也知道自己基础很不牢靠 边搞边补吧
当我遇到难题时 上来向你请教总能有很大的收获 有具体的知识 更重要的是方向性的东西 很感激啊

梅尚程荀
马谭杨奚







                                                       
2012-05-17 13:01
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:0 
回复 86楼 有容就大
每个人其实初学的时候都是这么想的,当年偶也是这样,学习C++ builder总想一步一开始就做成一个CD播放器。
拿着上面的可视化控件在表单里左拖右拉的搞了个界面,结果API都没有学会,问了一下同学,讲一下,写一段,
下一步完全不知道怎么去做,知识不到位,MSDN都不知道如何查起。

后来才知道,MSDN中搜索旁边有个书签按钮,可以随时把在上面找到的某个网页用书签功能保存在这里,以备后来查找。
这里每位高人都有他们自己的一些小经验,偶虽然不算高人,也乐于给你分享一些自己在学习中得到的经验。
因为自己懂了算一码事,把别人讲懂,又是另一码事。

我们都在路上。。。。。
2012-05-17 13:23
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
回复 87楼 hellovfp
哈哈 以前都是同一个函数在MSDN的索引里面输入N遍的
 现在用你说的这个方法就省事多了。

梅尚程荀
马谭杨奚







                                                       
2012-05-17 13:30
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:0 
这是偶们用C#类写的中国象棋其中一个炮的类,算法和结构估计和你看到的代码都不一样。
都是单独的一个文件。
////////////////////////////////////////////////////
ClsBoard.cs 棋盘类
ClsChess.cs 棋子类
ClsPoint.cs 点类

ClsCannon.cs 炮类
ClsCarriage.cs 车类
ClsElephant.cs 象类
ClsHorse.cs 马类
ClsKavass.cs 士类
ClsKing.cs 王类
ClsSoldier.cs 兵类

///////////////////////////////////////////
using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;

namespace CnChess
{
    /// <summary>
    /// 中国象棋--炮类,继承自ClsChess棋子基类
    /// </summary>
    class ClsCannon : ClsChess
    {
        /// <summary>
        /// 默认的构造方法
        /// </summary>
        public ClsCannon(string color)
        {
            if(color == "红")
            {
                this._chessType = EnumChessType.红;
                this.ChessImage = Image.FromFile(@"Images\红炮.gif");
            }
            else
            {
                this._chessType = EnumChessType.黑;
                this.ChessImage = Image.FromFile(@"Images\黑炮.gif");
            }
            this._chessName = EnumChessName.炮;
        }


        /// <summary>
        /// 重写基类的方法,实现炮的走法规则
        /// </summary>
        /// <param name="point"></param>
        /// <returns></returns>
        public override bool MoveTo(ClsPoint point)
        {
            int offset;

            //判断是否是移动炮的走法,和车走法类似.
            if (point.currChess == null)
            {
                //竖走判断
                if (this._currPoint.point_x == point.point_x)
                {
                    offset = Math.Abs(_currPoint.point_y - point.point_y);
                    //计算路上是否有棋子阻隔
                    if (BeelineCheck(point, offset, false) == 0)
                    {
                        return base.MoveTo(point);
                    }
                }

                //横走判断
                if (this._currPoint.point_y == point.point_y)
                {
                    offset = Math.Abs(_currPoint.point_x - point.point_x);
                    //计算路上是否有棋子阻隔
                    if (BeelineCheck(point, offset, true) == 0)
                    {
                        return base.MoveTo(point);
                    }
                }
            }

            //判断炮打翻山吃子的情况
            if (point.currChess != null && this._chessType != point.currChess._chessType)
            {
                if (this._currPoint.point_x == point.point_x)
                {
                    offset = Math.Abs(_currPoint.point_y - point.point_y);
                    //计算直线上是否有一个棋子
                    if (BeelineCheck(point, offset, false) == 1)
                    {
                        return base.MoveTo(point);
                    }
                }

                if (this._currPoint.point_y == point.point_y)
                {
                    offset = Math.Abs(_currPoint.point_x - point.point_x);
                    //计算直线上是否有一个棋子
                    if (BeelineCheck(point, offset, true) == 1)
                    {
                        return base.MoveTo(point);
                    }
                }
            }

            return false;
        }

    }
}

我们都在路上。。。。。
2012-05-17 13:32
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
ChessImage 是自定义的吗?
if (BeelineCheck(point, offset, false) == 1)
 if (BeelineCheck(point, offset, true) == 1)
这两个一个带false 一个带true 为什么都实行  base.MoveTo(point);操作?

梅尚程荀
马谭杨奚







                                                       
2012-05-17 13:47
快速回复:求助!!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.039787 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved