简单图形模拟吃豆游戏
这个程序主要是想了下怎么样让游戏中的敌人自己行走,但是又不会固定在两点来回徘徊,我用的方法是随机方向,而且走的一步不可以和前一部的方向相反,希望高手们多多指点.也希望高手们可以指教下编写简单游戏的一些技术.
#include "graphics.h"
#include "stdlib.h"
#include "dos.h"
#include "bios.h"
...
泛型编程:再现Min和Max
在1995年1月,Scott Meyers 在C++ Report杂志上就强调"min,max 对C++社团来说是一个很大的挑战",他对基于macro-based实现的min,max进行认真的分析,对照基于模板的min,max实现,他得到了如下结论:
“对于实现max,什么是最好的方法?”用一句Tevye的名言:“我将告诉你:我不知道”,基于以上分析,我有信心告诉大家 ...
C++中关于左值和右值的讨论
左值性(lvalueness)在C/C++中是表达式的一个重要属性。只有通过一个左值表达式才能来引用及更改一个对象(object)的值。(某些情况下,右值表达式也能引用(refer)到某一个对象,并且可能间接修改该对象的值,后述)。
何谓对象?如果没有明确说明,这里说的对象,和狭义的类/对象(class/object)相比,更为广泛。在C/ ...
蚁群算法小程序(C/C++语言实现)(二)
fclose(fp_block);
}
void HomeFoodInitial(void)
{
int randnum;
int homeplace;
/* 1 -- home at left-up, food at right-down
2 -- home at left-down, food at right-up
3 -- home at right-up, food at left-down
4 -- home at right-down, food at left-up */
randnum = random(100);
if(randnum=25&&randnum=50&&ran ...
仿STL中的堆算法的一个实现
RT。
堆的性质之类的不再这里阐述,写这个算法只为了更好的理解STL中的堆算法,如果看不懂STL中的算法也可以来参考这里给出的算法,因为是纯C的看起来会省去很多语言方面的细节。
同时里面还有一个STL中对应算法的测试以比较两者的效果。
/********************************************************************
creat ...
完整的学习C++的读书路线图(3)
指针
无疑,指针是C中最精髓的部分,因为指针可以在初始化后,可以同时拥有所指变量的两样东西——值和地址。这就给我们写程序时很大的空间,可以直接与内存对话!这也同样引出了千奇百怪的错误,不知道该怎么表达,其实最根本的是要明白我们在使用指针的时候,知道我们使用的究竟是她的哪个性质!是值?还是地址?于此对应 ...
完整的学习C++的读书路线图(2)
指针,数组,类型的识别,参数可变的函数。
一.指针。
它的本质是地址的类型。在许多语言中根本就没有这个概念。但是它却正是C灵活,高效,在面向过程的时代所向披靡的原因所在。因为C的内存模型基本上对应了现在von Neumann(冯。诺伊曼)计算机的机器模型,很好的达到了对机器的映射。不过有些人似乎永远也不能理解指针「 ...
BCB中如何给Table减肥
用BCB进行多媒体数据库开发时常会发现这样一个现象,当你把一条记录从表中删除时,表档 大小并没有相应减小。这样在进行多次插入删除之后,表文件就会越来越庞大。之所以会出现这种现象,是因为TTable控件的 Delete Method并不真正从表中删除记录,而只是在记录前加上一个删除标志。在DBase和Foxpro中用Pack语句对表进行压 ...
C++ Builder在运行时创建BDE别名
通过bde别名来连接数据库,确实很方便,然而,那些没有确定的数据库,我们却无法给它创建别名。
而大多数时候,当我们把程序交给别人真正投入使用时,别名的路径也是不确定的。这就要求我们在程序运行时动态连接到数据库。
现在,假设在程序运行目录下有个通讯录friends.db,我们要通过tquery、tdatasource等控件来访问:
...
Code Style(代码的风格)
1.简介
2.什么是风格?
3.代码的风格为什么如此重要?
4.更少的工作,更多的文档?
5.推荐的代码风格
6.简单的文档
7.输出风格
8.结论
简介
让我们面对一下吧…如果您是一个资深的程序员,那么您总是在最后期限下工作并且您的最终目标是完成您设计的软件。如果您是个新手,您的努力是更多的研究、试验、当然还有错误和一心 ...
C++ Builder常用代码片断
本文中包含了一些常用的代码片断,看看想想或许有他山之石可以攻玉的可能。
删除别名中所有的表、纯虚函数、虚函数、启动页面、指针、为指针解除引用、表的For循环变量与常量的声明、检查表是否存在、组件的类名、剪贴板中的文字、字符流、检查表是否已打开表的状态操作、改变PageControl的标签、向Query传递参数 日期属性 ...
用BCB5的打包程序打包BCB6
当我们用BCB做好了一个程序后,下一步要做的就的打包程序,发布给用户了。单从打包程序的角度来讲,我们的选择会有很多,就BCB来说,每个版本的BCB光盘上都有一个打包程序,对于这些打包程序,我只用过BCB5的与BCB6的,别的版本没有用过,不敢乱加评论,但BCB6带的那个打包程序明显存在问题,对中文的支持也不好,这样不由 ...
C++ Builder动态设定odbc数据源
本文以access为例
需要文件 odbcinst.h(bcb或vc的include目录) odbccp32.dll(winnt\system32\目录) implib.exe(通过dll生成lib库) coff2omf.exe (将coff库转化为omf库)
首先将上面文件拷贝到工程目录,执行下面命令:
implib.exe odbccp32.lib odbccp32.dll
coff2omf odbccp32.lib
下面程序的功能为当应用程序启动 ...
谈C/C++指针精髓(三)
1.4指针的运算
1.4.1赋值运算
指针变量的赋值运算有以下几种形式:
1.4.1.1指针变量初始化赋值如下:
int a;
int *ip=&a;
1.4.1.2把一个变量的地址赋予指向相同数据类型的指针变量。例如:
int a;
int *ip;
ip=&a; //把整型变量a的地址赋予整型指针变量ip
1.4.1.3把一个指针变量的值赋予指向相同类型变量的另一个指 ...
文件系统驱动编程基础篇之4——Wmi管理规范
二、WMI简介
一)基于Web的企业管理(Web-Based Enterprise Management (WBEM))的提出是为了解决企业在快速发展的过程中,总成本(Total cost of ownership(TCO)) 也随之快速增长的矛盾,它作为一项业界倡议,起始于1996年,规范了企业网络中受管资源的描述与使用。WBEM建立在通用信息模型(Common Information Model (CI ...
C++回调函数用法
一回调函数
我们经常在C++设计时通过使用回调函数可以使有些应用(如定时器事件回调处理、用回调函数记录某操作进度等)变得非常方便和符合逻辑,那么它的内在机制如何呢,怎么定义呢?它和其它函数(比如钩子函数)有何不同呢?
使用回调函数实际上就是在调用某个函数(通常是API函数)时,将自己的一个函数(这个函数为回 ...
用BCB开发多层数据库应用程序
继Client/Server结构在MRP、MIS等数据库应用系统红火之后,多层结构(Multi_Tier)开始登场,许多厂商提供了各种中间件。本文描述了用Borland C++ Builder(以下简称BCB)所提供的Multi_Tier构件来开发多层数据库应用程序的方法。
一、 Multi_Tier结构的实现
C++ Builder提出的Multi_Tier是把以前的Client/Server前端应用程 ...
文件系统驱动编程基础篇之1——我们的准备
一、导言
在四个月漫长的征战后,终于在国庆节的今天完成了基础篇系列。本文写作的初衷很简单,就是给平静的池水中加入一点波澜,如果大家在阅读后感受到一点生气,激起探索未知的热情,笔者也会感到由衷的喜悦。
本系列文章为业余编程爱好者而写,仅仅作为初学者的一个借鉴,真正的精华存在于参考资料*中。知识的积累将经 ...
C++ STL简介
一、STL简介
STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来的。现在虽说它主要出现在C++中,但在被引入C++之前该技术就已经存在了很长的一段时间。
STL的代码从广义上讲分为三类:algorithm(算法)、 ...
BCB软件编码规范
前言:
通过建立代码编写规范,形成BCB开发小组编码约定,提高程序的可靠性、可读性、可修改性、可维护性、一致性,保证程序代码的质量,继承软件开发成果,充分利用资源。提高程序的可继承性,使开发人员之间的工作成果可以共享。
软件编码要遵循以下原则:
1.遵循开发流程,在设计的指导下进行代码编写。
2.代码的编写以实 ...