频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

用C++Builder5.0设计九宫排字游戏

来源: 作者: 出处:巧巧读书 2007-10-09 进入讨论组

  图四、程序随机产生初始状态一览

  【第五步】Form1的OnKeyPress事件写入以下代码,其目的为:判断空格位置并相应的移动空格左右上下边的数码,w为上移、s为下移、a为左移、d为右移。同时判断是否达到目标状态,若是,则显示祝贺信息。

  void __fastcall TForm1::FormKeyPress(TObject *Sender, char &Key)
{
if(Key=='s')//下移
{
if( Panel4->Caption=="")
{
Panel4->Caption=Panel1->Caption;
Panel1->Caption="";
my_Count++;
}
else if( Panel5->Caption=="")
{
Panel5->Caption=Panel2->Caption;
Panel2->Caption="";
my_Count++;
}
else if( Panel6->Caption=="")
{
Panel6->Caption=Panel3->Caption;
Panel3->Caption="";
my_Count++;
}
else if( Panel7->Caption=="")
{
Panel7->Caption=Panel4->Caption;
Panel4->Caption="";
my_Count++;
}
else if( Panel8->Caption=="")
{
Panel8->Caption=Panel5->Caption;
Panel5->Caption="";
my_Count++;
}
else if(Panel9->Caption=="")
{
Panel9->Caption=Panel6->Caption;
Panel6->Caption="";
my_Count++;
}
}
else if(Key=='w')//上移
{
if( Panel1->Caption=="")
{
Panel1->Caption=Panel4->Caption;
Panel4->Caption="";
my_Count++;
}
else if( Panel2->Caption=="")
{
Panel2->Caption=Panel5->Caption;
Panel5->Caption="";
my_Count++;
}
else if( Panel3->Caption=="")
{
Panel3->Caption=Panel6->Caption;
Panel6->Caption="";
my_Count++;
}
else if( Panel4->Caption=="")
{
Panel4->Caption=Panel7->Caption;
Panel7->Caption="";
my_Count++;
}
else if( Panel5->Caption=="")
{
Panel5->Caption=Panel8->Caption;
Panel8->Caption="";
my_Count++;
}
else if(Panel6->Caption=="")
{
Panel6->Caption=Panel9->Caption;
Panel9->Caption="";
my_Count++;
}
}
else if(Key=='d')//右移
{
if( Panel2->Caption=="")
{
Panel2->Caption=Panel1->Caption;
Panel1->Caption="";
my_Count++;
}
else if( Panel5->Caption=="")
{
Panel5->Caption=Panel4->Caption;
Panel4->Caption="";
my_Count++;
}
else if( Panel8->Caption=="")
{
Panel8->Caption=Panel7->Caption;
Panel7->Caption="";
my_Count++;
}
else if( Panel3->Caption=="")
{
Panel3->Caption=Panel2->Caption;
Panel2->Caption="";
my_Count++;
}
else if( Panel6->Caption=="")
{
Panel6->Caption=Panel5->Caption;
Panel5->Caption="";
my_Count++;
}
else if(Panel9->Caption=="")
{
Panel9->Caption=Panel8->Caption;
Panel8->Caption="";
my_Count++;
}
}
else if(Key=='a')//左移
{
if( Panel2->Caption=="")
{
Panel2->Caption=Panel3->Caption;
Panel3->Caption="";
my_Count++;
}
else if( Panel5->Caption=="")
{
Panel5->Caption=Panel6->Caption;
Panel6->Caption="";
my_Count++;
}
else if( Panel8->Caption=="")
{
Panel8->Caption=Panel9->Caption;
Panel9->Caption="";
my_Count++;
}
else if( Panel1->Caption=="")
{
Panel1->Caption=Panel2->Caption;
Panel2->Caption="";
my_Count++;
}
else if( Panel4->Caption=="")
{
Panel4->Caption=Panel5->Caption;
Panel5->Caption="";
my_Count++;
}
else if(Panel7->Caption=="")
{
Panel7->Caption=Panel8->Caption;
Panel8->Caption="";
my_Count++;
}
}
Label1->Caption=IntToStr(my_Count);
//判断是否达到目标状态,若是,显示祝贺信息
if(Panel1->Caption=="1"&&Panel2->Caption=="2"&&Panel3->Caption=="3"&&Panel4->Caption=="8"&&Panel5->Caption==""&&Panel6->Caption=="4"&&Panel7->Caption=="7"&&Panel8->Caption=="6"&&Panel9->Caption=="5")
{
Beep();
ShowMessage("祝贺您!");
}
}

保留地址 http://www.qqread.com/bcb/d354385.html 更多文章 更多内容请看游戏开发网络游戏攻略C/C++技术专题专题,或进入讨论组讨论。
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章