当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 问题描述在给定大小的方格状棋盘上, 将棋子”马”放在指
 

 

 ·opengl 下的文字显示    »显示摘要«
    摘要: 一直以来,opengl状态下的文字显示都是一个问题,本文使用嵌套显示列表的方式进行opengl状态下的字符串的显示。 有以下几点需要注意: 1:本程序显示按照给定的高度和文字的位置显示某一种字体的文字,其中一些字体的参数定义在opengltext内部给定,可以随意将它抽出来。如果将代码用于实际应用中,建议文字的文字间距自己设定,也可以随意添加文字的倾斜角、旋转角度、定位方式等等参数。 ......
    摘要: 如何在vc6或者vc7下用 atl做一个opengl的(com)控件? 目的:由于在写opengl程序的时候这些东西每次都要写一遍,而且特别繁琐!为了刚步入opengl人提供一个界面控件,让他们较早的看到自己写的opengl程序的效果!让他们觉得opengl的神奇! 作者:王卫星(wangweixing2000) 1, 新建一个atl空项目(项目名opengl_atl) 2, 添加一个a......


马走日棋盘算法

 

问题描述 【程序编程相关:关于"建立空文档失败"

  【推荐阅读:http://www.myfaq.com

例如: 棋盘大小为5*5 , 棋子马放的起始落子点为 ( 3 , 3 ) ; 算法需要搜索一条从位置( 3 , 3 ) 开始的一条包括从( 1 , 1 ) , ( 1 , 2 ) , ( 1 , 3 ) … ( 5 , 1 ) , ( 5 , 2 ) , ( 5 , 3 ) , ( 5 , 4 ) , ( 5 , 5 ) 总共25个可以落子的全部位置; 【扩展信息:使用WindowsAPI和多线程进行串口

在给定大小的方格状棋盘上, 将棋子”马”放在指定的起始位置 , 棋子”马” 的走子的规则为必须在棋盘上走”日”字; 从棋子”马”的起始位置开始, 搜索出一条可行的路径, 使得棋子”马”能走遍棋盘上的所有落子点, 而且每个落子点只能走一次;

问题分析

通过上面的问题描述,我们对问题的内容有了正确的理解,接下来我们开始对问题进行具体细致的分析,以求找到解决问题的正确的可行的合理的方法;

首先我们需要在程序中用合适的数据结构表示在问题中出现的棋盘 , 棋子 , 棋子的走子过程 ; 接下来我们需要对核心问题进行分析, 即如何搜索一条可行的路径 , 搜索采取何种策略 , 搜索的过程如何表示 ;

对于一个大小为n*m大小的棋盘 , 棋子从当前位置( x , y ) 出发,可以到达的下一个位置( x’ , y’ ):

(1) ( x +1 , y +2 )

(2) ( x +1 , y –2 )

(3) ( x – 1, y +2 )

(4) ( x – 1, y – 2 )

(5) ( x +2, y +1)

(6) ( x +2, y – 1)

(7) ( x -2, y + 1)

(8) ( x -2, y – 1 )

限制条件:

1. 1 <= x’ <= n , 1 <= y’ <= m; ( n : 棋盘的高度 , m: 棋盘的宽度 );

2. ( x’ , y’ ) 必须是棋子记录表中没有包括的新位置;

3. 棋子走子过程记录表中没有包括棋盘上的所有可以落子的位置;


...   下一页
 ·vc++实例:晚捆绑的实现过程    »显示摘要«
    摘要: 一、函数调用捆绑 1、定义  捆绑:把函数体与函数调用相联系称为捆绑。当捆绑在程序运行之前(由编译器和连接器)完成时,称为早捆绑。(c编译只有一种函数调用,就是早捆绑)如果捆绑发生在运行时,则称为晚捆绑(或动态捆绑、运行时捆绑。  虚函数:如果我们在定义基类时在函数前加关键字virtual,则会告诉编译器对于此函数要进行晚捆绑,同时自动安装晚捆绑实现机制。 2、实现 编译器对每个包含虚函数的类......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE