发表于:2005-04-20 10:13:00
楼主
//特 点: //
// 1、功能完整,直接使用 //
// 2、模块独立性强,移植方便,外部仅init和move函数,修改显示和输入即可 //
// 3、对减少内存占用、尽量减少屏幕操作进行适当优化 //
// 4、新方块生成高度随机,绝对无规律 //
// 5、仿真环境为Keil7.5+Proteus6.5,可以联机也可脱机运行 //
//--------------------------------------------------------------------------//
// 源程序大公开 //
// (c) Copyright 2001-2005 xuwenjun //
// All Rights Reserved //
// V1.00 //
//--------------------------------------------------------------------------//
//标 题: 俄罗斯方块程序 ? //
//文件名: xwj_fk.c //
//版 本: V1.00 //
//修改人: 徐文军 E-mail:xuwenjun@21cn.com //
//日 期: 05-05-13 //
//描 述: 俄罗斯方块程序 ? //
//声 明: //
// 以下代码仅免费提供给学习用途,但引用或修改后必须在文件中声明出处. //
// 如用于商业用途请与作者联系. E-mail:xuwenjun@21cn.com //
// 有问题请mailto xuwenjun@21cn.com 欢迎与我交流! //
//--------------------------------------------------------------------------//
//老版本: 无 老版本文件名: //
//创建人: 徐文军 E-mail:xuwenjun@21cn.com //
//日 期: 05-05-13 //
//描 述: //
// 1、功能完整,直接使用 //
// 2、模块独立性强,移植方便,外部仅init和move函数,修改显示和输入即可 //
// 3、对减少内存占用、尽量减少屏幕操作进行适当优化 //
// 4、新方块生成高度随机,绝对无规律 //
// 5、仿真环境为Keil7.5+Proteus6.5,可以联机也可脱机运行 //
// CODE SIZE = 1845 ---- //
// CONSTANT SIZE = 326 ---- //
// DATA SIZE = 16 19 //
// IDATA SIZE = 50 ---- //
// BIT SIZE = 1 1 //
//--------------------------------------------------------------------------//
#include <stdlib.h>
#include "xwj_lcd16.h" // 字符液晶控制函数声明 //
#include "xwj_lcd6963.h" // T6963C 公用函数
#include "xwj_hlkey.h" // P1口行列式键盘 //
#include "xwj_serial.h" //串口函数集
#include "change.h" //数制转换
#include "xwj_fk.h" //俄罗斯方块程序
#define ulong unsigned long
#define uint unsigned int
#define uchar unsigned char
extern void delay(unsigned int x);
//----------------俄罗斯方块内部函数----------------------------------------//
void fk_dot(uchar x,uchar y); //显示1个方块点
void fk_cldot(uchar x,uchar y); //清除1个方块点
void fk_show(void); //显示分数
void fk_reffk(void); //刷新方块
void fk_refnew(void); //刷新预览方块
void fk_refline(yy); //刷新1行背景
bit fk_chk(void); //冲突检查
void fk_new(void); //产生新方块
void fk_add(void); //方块合并
/*
//-----------------俄罗斯方块公用函数--------------------------------------//
void fk_init(void); //方块初始化
void fk_move(unsigned char mode); //移动方块
*/
//-------------------------------------------------------------------------//
#define FULLMAP 0x0fff