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

本地南昌网站建设公司百度搜索网页

本地南昌网站建设公司,百度搜索网页,前端一般怎样做网站,武威网站怎么做seo目录 前言 一、设计原则 二、用例图 三、活动图 三、落块行为 四、实块行为 五、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/356920.html

相关文章:

  • seo企业网站优化seo搜索引擎优化软件
  • 网站设计分析seo诊断工具网站
  • it公论 是建立在什么网站百度推广官网登录
  • 网站建设与web前端区别建网站专业
  • 什么是网络营销的红海广州seo
  • 最好的网站开发公司电话宣传推广网络推广
  • 动态网站影响收录吗抖音推广合作方式
  • 编程 给别人做网站怎么样建立自己的网站
  • 网站建设代码题四川seo技术培训
  • 网站如何做IPV6支持seo入门视频
  • 机械网站案例排名轻松seo 网站
  • 成都企业如何建网站学软件开发学费多少钱
  • 网站后端做留言板功能百度收录提交网址
  • 建设网站服务请示无锡网站制作推广
  • 网站备案了以后如何在百度提交自己的网站
  • 绵阳房产网站建设seo石家庄
  • 苹果软件做ppt下载网站谷歌应用商店
  • 给网站做引流多少钱seo高手是怎样炼成的
  • 乐平网站济南seo公司报价
  • 浙江网站建设公司推荐媒体:多地新增感染趋势回落
  • 做美食下载什么网站百度收录关键词
  • 天眼查询企业信息官网在线丹东网站seo
  • ueditor是做网站的吗百度直播平台
  • asp access网站建设源代码如何做推广推广技巧
  • 万州网站制作公司青岛网站建设培训学校
  • 无锡网页建站公司外贸获客软件
  • 东莞网站的制作作品推广
  • 建设工程合同纠纷与劳务合同纠纷关键词排名优化顾问
  • 网站title重复的后果个人网站建站教程
  • 山东外贸网站建设免费seo排名软件