当前位置:首页 > 代码 > 正文

html5打砖块游戏代码(打砖块游戏源代码)

admin 发布:2022-12-19 12:44 148


今天给各位分享html5打砖块游戏代码的知识,其中也会对打砖块游戏源代码进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

打砖块VB代码

MSHFlexGrid 控件常数

这一节包含关于 MSHFlexGrid 的控件常数的信息。注意这些常数也应用到 MSFlexGrid,除非有不同地注解。

AddModeSettings 属性 (MSHFlexGrid)

常数 值 描述

flexNoAddNew 0 当前单元不在最后行中,并且没有 AddNew 操作处于待决。

flexAddNewCurrent 1 当前单元在最后一行,但没有 AddNew 操作处于待决。

flexAddNewPending 2 当前单元在倒数第二行。这是是通过 MSHFlexGrid 用户接口由用户初始化一个待决的 AddNew 操作的结果,或者是编程地设置一个列的 Value 或 Text 属性的结果。

AllowUserResizing 属性

常数 值 描述

flexResizeNone 0 用户不能使用鼠标调整大小。这是缺省设置值。

flexResizeColumns 1 用户可以使用鼠标调整列的大小。

flexResizeRows 2 用户可以使用鼠标调整行的大小。

flexResizeBoth 3 用户可以使用鼠标调整列和行的大小。

Appearance 属性

常数 值 描述

flexFlat 0 MSHFlexGrid 的全部外观是平面的或正常的。

flex3D 1 MSHFlexGrid 的全部外观是三维的。

BorderStyle 属性

常数 值 描述

flexBorderNone 0 没有边框。

flexBorderSingle 1 有一个单边框。

CellAlignment 属性

常数 值 描述

flexAlignLeftTop 0 单元内容顶部左对齐。

flexAlignLeftCenter 1 单元内容中间左对齐。对字符串的缺省设置值。

flexAlignLeftBottom 2 单元内容底部左对齐。

flexAlignCenterTop 3 单元内容顶部居中。

flexAlignCenterCenter 4 单元内容中间居中。

flexAlignCenterBottom 5 单元内容底部居中。

flexAlignRightTop 6 单元内容顶部右对齐。

flexAlignRightCenter 7 单元内容中间右对齐。对数字的缺省设置值。

flexAlignRightBottom 8 单元内容底部右对齐。

flexAlignGeneral 9 单元内容一般对齐方式。对字符串中间左对齐而对数值中间右对齐。

CellPictureAlignment 属性

常数 值 描述

flexAlignLeftTop 0 图片顶部左对齐。

flexAlignLeftCenter 1 图片中间左对齐。

flexAlignLeftBottom 2 图片底部左对齐。

flexAlignCenterTop 3 图片顶部居中。

flexAlignCenterCenter 4 图片中间居中。

flexAlignCenterBottom 5 图片底部居中。

flexAlignRightTop 6 图片顶部右对齐。

flexAlignRightCenter 7 图片中间右对齐。

flexAlignRightBottom 8 图片底部右对齐。

CellTextStyle、TextStyle、TextStyleFixed 属性

常数 值 描述

flexTextFlat 0 文本为正常的、平面的文本。

flexTextRaised 1 文本看起来凸起。

flexTextInset 2 文本看起来凹入。

flexTextRaisedLight 3 文本看起来轻微凸起。

flexTextInsetLight 4 文本看起来轻微凹入。

CellType 属性 (MSHFlexGrid)

常数 值 描述

flexCellTypeStandard 0 单元为标准单元

flexCellTypeFixed 1 单元包含在一个固定行或列中。

flexCellTypeHeader 2 单元是一个数据带区的标头单元。

flexCellTypeIndent 3 单元用在缩进一个数据带区的一列中。

flexCellTypeUnpopulated 4 单元是一个未充填的单元。

ColAlignment 属性

常数 值 描述

flexAlignLeftTop 0 列内容顶部左对齐。

flexAlignLeftCenter 1 列内容中间左对齐。对字符串的缺省设置值。

flexAlignLeftBottom 2 列内容底部左对齐。

flexAlignCenterTop 3 列内容顶部居中。

flexAlignCenterCenter 4 列内容中间居中。

flexAlignCenterBottom 5 列内容底部居中

flexAlignRightTop 6 列内容顶部右对齐。

flexAlignRightCenter 7 列内容中间右对齐。对数值的缺省设置值。

flexAlignRightBottom 8 列内容底部右对齐。

flexAlignGeneral 9 列内容一般对齐方式。对字符串中间左对齐而对数值中间右对齐。

ColHeader 属性 (MSHFlexGrid)

常数 值 描述

flexColHeaderOn 0 为每一个带区显示标头。

flexColHeaderOff 1 没有为带区显示标头。

flexColHeaderOnce 2 为带区显示标头。如果带区被折叠,只显示一个标头。重复的标头不显示。

DisplayBandSettings 属性 (MSHFlexGrid)

常数 值 描述

flexBandDisplayHorizontal 0 MSHFlexGrid 中的带区水平显示(横向)。缺省设置值。

flexBandDisplayVertical 1 MSHFlexGrid 中的带区竖直显示(上下方向)。

DisplayCellSettings 属性 (MSHFlexGrid)

常数 值 描述

FlexCellDisplayHorizontal 0 MSHFlexGrid 中的带区水平显示(横向)。

flexCellDisplayVertical 1 MSHFlexGrid 中的带区竖直显示(上下方向)。

FillStyle 属性

常数 值 描述

flexFillSingle 0 单个。更改 Text 或任何单元属性只影响活动单元。缺省设置值。

flexFillRepeat 1 重复。更改 Text 或任何单元属性影响所有选定单元。

FocusRect 属性

常数 值 描述

flexFocusNone 0 围绕当前单元没有焦点矩形。

flexFocusLight 1 围绕当前单元有一个浅色的焦点矩形。缺省设置值。

flexFocusHeavy 2 围绕当前单元有一个深色的焦点矩形。

GridLines、GridLinesFixed 属性

常数 值 描述

flexGridNone 0 没有线。单元格之间没有线。在 MSFlexGrid 中,对 GridLines 这是缺省的设置值。

flexGridFlat 1 有线。单元格之间线风格被设置为正常的、平面的线。在 MSHFlexGrid 中,对 GridLines 这是缺省的设置。

flexGridInset 2 凹入线。单元格之间线的风格被设置为凹入线。在 MSFlexGrid 中,对 GridLinesFixed 这是缺省的设置值。

flexGridRaised 3 凸起线。单元格之间的线风格被设置为凸起线。在 MSHFlexGrid 中,对 GridLinesFixed 这是缺省的设置值。

HighLight 属性

常数 值 描述

flexHighlightNever 0 选定单元无突出显示。

flexHighlightAlways 1 选定单元总是突出显示。这是缺省设置值。

flexHighlightWithFocus 2 突出显示只在控件有焦点时才显现。

MergeCells 属性

常数 值 描述

flexMergeNever 0 不显示。包含相同内容的单元不分组。这是缺省设置值。

flexMergeFree 1 自由。包含相同内容的单元总是合并。

flexMergeRestrictRows 2 限制行。只有行中包含相同内容的相邻单元(向左)合并。

flexMergeRestrict-Columns 3 限制列。只有列中包含相同内容的相邻单元(向上)合并。

flexMergeRestrictBoth 4 限制行和列。只有在行中(向左)或在列中(向上)包含相同内容的相邻的单元合并。

MousePointer 属性

常数 值 描述

flexDefault 0 MSHFlexGrid 的轮廓。

flexArrow 1 一个箭头指针。

flexCross 2 一组十字型指针。

flexIBeam 3 一个 "I" 型标指针,来允许文本输入。

flexIcon 4 一个正方形中的方块。

flexSize 5 一个用箭头指向上方、下方、左方或右方调整大小指针。

flexSizeNESW 6 一个用箭头指向右上方和左下方调整大小指针。

flexSizeNS 7 一个用箭头指向上方和下方调整大小指针。

flexSizeNWSE 8 一个用箭头指向左上方和右下方调整大小指针。

flexSizeEW 9 一个用箭头指向左方和右方调整大小指针。

flexUpArrow 10 一个指向上方的箭头。

flexHourGlass 11 一个沙漏符号。

flexNoDrop 12 一个“不允许放下”指针。

flexCustom 13 一个自定义风格指针。

PictureType 属性

常数 值 描述

flexPictureColor 0 产生一个高品质的全色图象。

flexPictureMonochrome 1 产生一个较低品质、单色,占用较少内存的图象。

RowSizingSettings 属性 (MSHFlexGrid)

常数 值 描述

flexRowSizeIndividual 0 调整一个行的大小只更改调整的行的高度。这是缺省设置值。

flexRowSizeAll 1 调整一个行的大小更改 MSHFlexGrid 中的所有行的高度。

SelectionMode 属性

常数 值 描述

flexSelectionFree 0 自由。允许选定 MSHFlexGrid 中的个别单元,电子数据表风格。(缺省设置值)

flexSelectionByRow 1 按行。强制跨越整个行选择,如在一个多列列表框或基于记录的显示。

flexSelectionByColumn 2 按列。强制跨越整个列选择,如同为一个图表选择范围或为排序选择字段。

ScrollBars 属性

常数 值 描述

flexScrollNone 0 MSHFlexGrid 没有滚动条。

flexScrollHorizontal 1 MSHFlexGrid 有一个水平的滚动条。

flexScrollVertical 2 MSHFlexGrid 有一个竖直的滚动条。

flexScrollBoth 3 MSHFlexGrid 有水平和竖直的滚动条。这是缺省设置值。

Sort 属性

常数 值 描述

flexSortNone 0 无。不执行排序。

flexSortGenericAscending 1 一般升序。执行估计文本不管是字符串或者是数值的升序排序。

flexSortGenericDescending 2 一般降序。执行估计文本不管是字符串或者是数值的降序排序。

flexSortNumericAscending 3 数值升序。执行把字符串变换为数值的升序排序。

flexSortNumericDescending 4 数值降序。执行把字符串变换为数值的降序排序。

flexSortStringNoCaseAsending 5 字符串升序。执行不区分大小写字符串比较的升序排序。

flexSortNoCaseDescending 6 字符串降序。执行不区分大小写字符串比较的降序排序。

flexSortStringAscending 7 字符串升序。执行区分大小写字符串比较的升序排序。

flexSortStringDescending 8 字符串降序。执行区分大小写字符串比较的降序排序。

flexSortCustom 9 自定义,使用 Compare 事件比较行。

我想要一个用vc++写成打砖块小游戏的教程,注意是教程,不是只有程序而已,要比较详细的,最好从不懂教到

写出来好麻烦,我这里有个单人玩儿的,不然留个邮箱我发给你

-----------------------

发过去了

C++打砖块游戏代码完整,有用。

#includestring.h

#includestdio.h

#include stdlib.h

#includeconio.h

int scr[22][50], q=14, w=30, ban=20, score=1, sx=-1 , zy=-1 ,speed=1, chang=30;

void moveqiu(void);

void penzhuangqiu(void);

void printf(void);

void menu(void);

main(void)

{

int i=0,j=0;

menu();

for(;j50;j++)

scr[i][j]=4;

j=0;i=1;

;for(;i3;i++)

for(j=2;j48;j++)

scr[i][j]=3;

//这里设置砖头位置

scr[q][w]=2;

while(1)

{

for(j=0;j20;j++)//将板位置归0

scr[21][ban+j]=0;

if(kbhit())//控制板的移动

switch(getch())

{

case'a':case'A':if(ban1ban=29) ban--;

break;

case'd':case'D':if(ban0ban=28) ban++;

break;

case'w':case'W':getch();break;//暂停键

}

for(j=0;j20;j++)//建立板位置为1

scr[21][ban+j]=1;

penzhuangqiu();

moveqiu();

printf();

}

}

void penzhuangqiu(void)

{

int b;

b=0;

if(zy==1)//以下四个if用来检测撞砖,并改变球的运动方向

if(scr[q][w+1]==3||w+1==49)

{

scr[q][w+1]=0;

zy=-zy;

b=1;

}

if(zy==-1)//判断运动又有方向

if(scr[q][w-1]==3||w-1==0)

{

scr[q][w-1]=0;

zy=-zy;

b=1;//用来确认是否敲打左右上下的方块

}

if(sx==1)

if(scr[q-1][w]==3||q-1==0)

{

scr[q-1][w]=0;

sx=-sx;

b=1;

}

if(sx==-1)

if(scr[q+1][w]==3||q+1==21)

{

if(scr[q+1][w]==3)

{scr[q+1][w]=0;

sx=-sx;

b=1;

}

if(q+1==21)

{if(scr[q+1][w]==1)

sx=-sx;

else

{

printf("lose!!!!!!退出游戏");

if(getch())

main();

}

}

}

if(b==0)//斜的砖块

{

if(zy==1sx==1)

if(scr[q-1][w+1]==3)

{

scr[q-1][w+1]=0;

zy=-zy;

sx=-sx;

}

if(zy==-1sx==1)

if(scr[q-1][w-1]==3)

{

scr[q-1][w-1]=0;

zy=-zy;

sx=-sx;

}

if(zy==1sx==-1)

if(scr[q+1][w+1]==3)

{

scr[q+1][w+1]=0;

zy=-zy;

sx=-sx;

}

if(zy==-1sx==-1)

if(scr[q+1][w-1]==3)

{

scr[q+1][w-1]=0;

zy=-zy;

sx=-sx;

}//斜砖完毕

}

}

void moveqiu(void)

{

scr[q][w]=0;//使原来的球位置为0,并建立新的球位置

if(sx==1zy==1)

{

q--;w++;

}

if(sx==1zy==-1)

{

q--;w--;

}

if(sx==-1zy==1)

{

q++;w++;

}

if(sx==-1zy==-1)

{

q++;w--;

}

scr[q][w]=2;

}

void printf(void)

{

int i, j;

system("cls");

for(i=0;i22;i++)

{

for(j=0;j50;j++)

{

if(scr[i][j]==0)printf(" ");

if(scr[i][j]==1)printf("\3");

if(scr[i][j]==2)printf("\4");

if(scr[i][j]==3)printf("\5");

if(scr[i][j]==4)printf("_");

if(j==49)

printf("|\n");

}

}

}

void menu(void)

{

q=14, w=30, ban=20, score=10, sx=-1 , zy=-1 ,speed=1, chang=30;memset(scr,0, sizeof(int)*1100);

system("cls");

printf("A向左,D向右,W暂停\n开始游戏:任意键\n ");

if(getch()) printf("aaaaaa");

}

这个C语言打砖块的代码,砖块如何实现刷新(砖块怎么消失)

c语言游戏中实现动画靠的是1秒钟多于25次的刷新。大一用easyx做过类似的,现在有点忘了,核心思想大概是

while(判断游戏未结束)//时间没停,未触发游戏终止标志

{

   for(int i=0;iobjectNum;i++)

   {

      //根据时间更新每个砖块的状态

       //如果某砖块的flag设为被打到,清除该物品,如果是链表删节点

       //未被打到,砖块.y更新

   }

   

   //画背景图

   

   for(int i=0;iobjectNum;i++)

   {

       //画每个砖块

   }

   //获取用户命令

       //一旦有命令,DispatchCommand()

       //调用那个函数,检测鼠标位置停留的时候是不是按键了,检测有没有操作砖块

   //sleep(100ms),延时造成视觉停留

}

c语言编的打砖块游戏

这是一个c语言编的打砖块游戏的雏形

编译前在主目录下建立一个文本文件(xia.txt)内容为:0 0 0 0 0

#includedos.h

#includestdio.h

#includegraphics.h

#includemath.h

union REGS regs;

unsigned int zhuan[5];

int Msinit();

void Setmouse(int left,int right,int top,int buttom);

int Msread(int *xp,int *yp,int *bup);

void Draw(int x,int y,int sizex,int sizey);

main()

{int mode=VGAHI,driver=VGA;br/ unsigned int l;br/ int i,gi,gj,j,flag=1;/*i,j是循环变量,flag是标记变量,-1:向x负半轴移动,+1:向x正半轴移动*/br/ double qx,qy,k,b=0.0,speech=0.4,x,y;br/ double r=2.0,bx=60.0,byy=270.0;br/ double pianx=100.0,piany=100.0,tx=20.0,ty=10.0,jx=2.0,jy=2.0;br/ int mx=0,my=0,mb,sum;/*sum纪录砖块的数目*/br/ FILE * p;br/ if((p = fopen("xia.txt", "r")) == NULL)br/ {printf("The file cannot open!\n");br/ exit(1);}

initgraph(driver,mode,"\\tc\\BGI");

Msinit();

Setmouse((int)(pianx+1+bx/2),(int)((tx+jx)*8+pianx-1-bx/2),(int)byy+piany,(int)byy+piany);

star:cleardevice();/*程序重载的介入点*/

sum=0;

qx=100.0+pianx-10;qy=180.0+pianx-10;k=0.33;

setcolor(7);

rectangle((int)(pianx-2),(int)(piany-2),(int)((tx+jx)*8+2+pianx),302+piany);

setcolor(1);

rectangle((int)(pianx-1),(int)(piany-1),(int)((tx+jx)*8+1+pianx),301+piany);

/*读取盘面情况*/

for(i=0;i5;i++)

fscanf(p,"%x ",zhuan[i]);

/*画砖块*/

for(i=0;i5;i++)

{l=1;br/ for(j=0;j16;j++)br/ {if((zhuan[i]l)==0)br/ {Draw((int)((jx+tx)*((16*i+j)%8)+pianx+jx),(int)((jy+ty)*((int)((16*i+j)/8))+piany+jy),br/br/(int)tx,(int)ty);br/ sum+=1;br/ }

l=l*2;

}

}

for(;;)

{ setfillstyle(1, 0);

bar(mx-bx/2,my,mx+bx/2,my+5);

Msread(mx, my, mb);

Draw(mx-bx/2,my,bx,5);

setcolor(0);

circle(qx,qy,r);

/*判断求是否反弹*/

if(qx-r=pianx+1 || qx+r=(tx+jx)*8+pianx-1) {flag=-flag;k=-k;}

if(qy-r=piany+1) k=-k;

for(gi=0;gi5;gi++)

{l=1;br/ for(gj=0;gj16;gj++)br/ {br/ if((zhuan[gi]l)==0)br/ {j=(16*gi+gj)/8;br/ i=(16*gi+gj)%8;br/ x=(jx+tx)*i+jx+tx/2+pianx;br/ y=(jy+ty)*j+jy+ty/2+piany;br/ /*边判断1*/br/ if(qy=y-ty/2 qy=y+ty/2 (pow(qx+r-x+tx/2,2)1 || pow(qx-r-x-tx/2,2)1))br/ {flag=-flag;k=-k;br/ zhuan[gi]=zhuan[gi]|l;br/ sum-=1;br/ if(sum==0) {printf("Win!\n");getch();goto star;}

setfillstyle(1, 0);

bar((jx+tx)*i+pianx+jx,(jy+ty)*j+piany+jy,(jx+tx)*i+pianx+jx+tx,(jy+ty)

*j+piany+jy+ty);

}

else

/*边判断2*/

if(qx=x-tx/2 qx=x+tx/2 (pow(qy+r-y+ty/2,2)1 || pow(qy-r-y-ty/2,2)1))

{k=-k;br/ zhuan[gi]=zhuan[gi]|l;br/ sum-=1;br/ if(sum==0) {printf("Win!\n");getch();goto star;}

setfillstyle(1, 0);

bar((jx+tx)*i+pianx+jx,(jy+ty)*j+piany+jy,(jx+tx)*i+pianx+jx+tx,(jy+ty)

*j+piany+jy+ty);

}

else

/*角判断*/

if(pow(qx-x+tx/2,2)+pow(qy-y+ty/2,int *bup)

{int xnew,ynew,ch;br/ if(kbhit()) return getch();br/ regs.x.ax=3;br/ int86(0x33, regs, regs);br/ xnew=regs.x.cx;br/ ynew=regs.x.dx;br/ *bup=regs.x.bx;br/ *xp=xnew;br/ *yp=ynew;br/ return -1;br/}

关于html5打砖块游戏代码和打砖块游戏源代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/8296.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载