当前位置: 首页 > wzjs >正文

本地南昌网站建设公司十大室内设计网站

本地南昌网站建设公司,十大室内设计网站,网站 带数据,四川企业网站建设目录 前言 一、设计原则 二、用例图 三、活动图 三、落块行为 四、实块行为 五、game行为 六、各部分cpp代码框架 1、落块 ​​​​​​2、实块 3、game 总结 前言 在这个项目中,我们将尝试使用C语言来实现经典游戏俄罗斯方块。俄罗斯方块是一款流行的益…

目录

前言

一、设计原则

二、用例图

三、活动图 

三、落块行为

四、实块行为

五、game行为

六、各部分cpp代码框架

 1、落块

​​​​​​2、实块

3、game

总结


前言

        在这个项目中,我们将尝试使用C语言来实现经典游戏俄罗斯方块。俄罗斯方块是一款流行的益智游戏,玩家需要将不同形状的方块移动和旋转,以在游戏区域内创建完整的水平行,从而消除方块并得分。通过这个项目,我们将学习如何使用C编程语言来处理游戏逻辑、图形界面和用户输入,希望通过这个项目的实践,提升我们编程的技能和理解。让我们开始这个有趣的项目,一起来实现我们自己的俄罗斯方块游戏吧!


一、设计原则

二、用例图

 

三、活动图 

根据活动图,建立头文件,datatype用来写自定义类型,然后将.h文件在主游戏框架中引用。

 

 

三、落块行为

#pragma once
#include"datatype.h"
//全局变量 外部链接声明//函数声明
/*左不出界*/
BOOL leftNotOut(void);/*左不被挡住*/
BOOL leftNotStop(void);/*左移动*/
void leftMove(void);/*右不出界*/
BOOL rightNotOut(void);/*右不被挡住*/
BOOL rightNotStop(void);/*右移动*/
void rightMove(void);/*下不出界*/
BOOL downNotOut(void);/*下不被挡住*/
BOOL downNotStop(void);/*下移动*/
void downMove(void);

四、实块行为

#pragma once
#include"datatype.h"
//全局变量 外部链接声明//函数声明
/*合并*/
void merge(void);/*清除方块: 返回被清除的行数*/
int cleanBlock(void);/*能否结束*/
BOOL enableOver(void);

五、game行为

#pragma once
//全局变量 外部链接声明//函数声明
/*更新得分
* 参数:lines 被清除的行数
*/
void updateScore(int lines);/*结束游戏*/
void game_over(void);

六、各部分cpp代码框架

 1、落块

#include "luokuai.h"
#include"shikuai.h"
#include<stdlib.h>
int luoKuai[20][10] = { 0 };//可以移动的方块
BOOL leftNotOut(void)
{for (int h = 0; h < 20; h++){if (luoKuai[h][0] != 0){return FALSE;}}return TRUE;
}BOOL leftNotStop(void)
{for (int h = 19; h >=0; h--){for (int k = 1; k < 10; k++){if (luoKuai[h][k] != 0 && shiKuai[h][k -1] != 0){return FALSE;}}}return TRUE;
}void leftMove(void)
{for (int h = 0; h < 20; h++){for (int k = 1; k <10; k++){luoKuai[h][k - 1] = luoKuai[h][k];luoKuai[h][k] = 0;}}
}BOOL rightNotOut(void)
{for (int h = 0; h < 20; h++){if (luoKuai[h][9] != 0){return FALSE;}}return TRUE;
}BOOL rightNotStop(void)
{for (int h =19; h >=0 ; h--){for (int k = 8; k >=0; k--){if (luoKuai[h][k] != 0 && shiKuai[h][k+1] != 0){return FALSE;}}}return TRUE;
}void rightMove(void)
{for (int h = 0; h<20; h++){for (int k = 8; k >=0; k--){luoKuai[h][k+1] = luoKuai[h][k];luoKuai[h][k] = 0;}}
}BOOL downNotOut(void)
{for (int k = 0; k < 10; k++){if (luoKuai[19][k]!=0){return FALSE;}}return TRUE;
}BOOL downNotStop(void)
{for (int h=18;h>=0;h--){for (int k=0;k<10;k++){if (luoKuai[h][k]!=0&&shiKuai[h+1][k]!=0){return FALSE;}}}return TRUE;
}void downMove(void)
{for(int h=18;h>=0;h--){for (int k=0;k<10;k++){luoKuai[h+1][k]=luoKuai[h][k];luoKuai[h][k] = 0;}}
}void newLuoKuai(void)
{//随机颜色int color = rand() % 10 + 1;//随机颜色//随机图案BlockType bt = (BlockType)(rand() % 5);switch (bt){case Z:luoKuai[0][3] = luoKuai[0][4] = color;luoKuai[1][4] = luoKuai[1][5] = color;break;case O:luoKuai[0][3] = luoKuai[0][4] = color;luoKuai[1][3] =luoKuai[1][4] = color;break;case T:luoKuai[0][3] = luoKuai[0][4] = luoKuai[0][5] = color;luoKuai[1][4] = color;break;case I:luoKuai[0][3] = color;luoKuai[1][3] = color;luoKuai[2][3] = color;luoKuai[3][3] = color;break;case L:luoKuai[0][3] = color;luoKuai[1][3] = color;luoKuai[2][3] = luoKuai[2][4] = color;break;}}

​​​​​​2、实块

#include "shikuai.h"
#include"luokuai.h"
int shiKuai[20][10] = { 0 };//收集不能下落的方块
void merge(void)
{for (int h=0;h<20;h++){for (int k=0;k<9;k++){if (luoKuai[h][k]!=0){shiKuai[h][k] = luoKuai[h][k];luoKuai[h][k] = 0;}}}
}int cleanBlock(void)
{return 0;
}BOOL enableOver(void)
{return FALSE;
}

3、game

#include "game.h"
#include<stdlib.h>
int score = 0;//得分
void updateScore(int lines)
{score+=lines;
}void game_over(void)
{}

总结

        以上为俄罗斯方块的总体架构,俄罗斯方块项目主要涉及到游戏逻辑、界面设计、碰撞检测和得分计算等方面,通过合理的架构设计和代码实现,可以完成一个简单而有趣的俄罗斯方块游戏。

http://www.dtcms.com/wzjs/118722.html

相关文章:

  • 自己架设网站服务器手游cpa推广平台
  • 做网站的公司还市场吗网站排名分析
  • 企业网站管理系统国内手机怎么上google浏览器
  • 网站后台网址在哪输入怎样在百度上发布自己的文章
  • 网页设计与网站建设docx品牌策划公司哪家好
  • 盘锦市建设局网站地址网络推广专员是做什么的
  • 网站服务器++免费近三天的国内外大事
  • 做破解的网站seo搜索引擎优化费用
  • 利用cms怎么做网站seo全国最好的公司
  • 兰州网站建设平台分析龙华网站建设
  • 专门做游戏攻略的网站郑州seo联系搜点网络效果好
  • 简单wordpressseo优化报价公司
  • 论文课程网站 建设背景网络推广方案例子
  • 兰州网站优化推广电商运营主要工作内容
  • 网站建设 bbs成都网站推广
  • 株洲定制型网站建设互联网推广方式有哪些
  • 网站模板修改器线上营销渠道
  • 顺德网站建设咨询seo排名赚靠谱吗
  • it外包项目做完了就解散了吗搜索引擎优化推广
  • 上住房和城乡建设部网站今日头条国际军事新闻
  • 课堂阵地建设网站网络营销环境
  • 杭州简单网技术有限公司seo的优化流程
  • 便利的网站建设推广策略有哪些方法
  • 安卓优化大师app下载白帽优化关键词排名seo
  • 湖南省郴州市疫情最新情况外贸网站推广与优化
  • 内蒙古企业网站建设免费关键词搜索引擎工具
  • 站长之家ppt海外广告联盟平台推广
  • 高性能网站建设进阶指南北京网站制作公司
  • 网站历史快照seo排名点击软件
  • 菜鸟学做网站的步骤竞价推广和信息流推广