微信开发小程序音乐循环播放怎么用

微信开发小程序音乐循环播放怎么用,第1张

背景:数组可以可以存储其音频地址,让其进行顺序播放和同步播放有两种方式

顺序播放

1使用定时器进行设置传递地址时候,下一个等待音频的播放时间以后在传递地址,这个地方看似没有问题,实际上还是有很大问题的,因为在传递的时候如果数据量大,你就会发现会出现同步播放的情况,因为那个定时和你的音频时间会有误差,数据越大,越明显,还有就是会数组地址更新,这又是问题,更新以后传递过去定时器重新给其定时,这个又给串了,笔者就遇到这个情况了,跳了半天。

2就是下面的方法,我本身是过几秒中我的数组会更新地址,这样会导致程序整体运行一次,可以在音频播放完才运行函数设置一个状态,开始状态设置一个true,将数组传递过去,然后关闭通道,改变状态进行设置flase的情况,然后再可以在音频播放完才运行函数里设置,但播放完到这个数组最后一个音频以后,改变为true,这个时候再接收新的更新后的数组,这样不会出现同步播发的情况。

同步播放

其实就是直接将其地址传递到InnerAudioContextsrc,不管播放时间,直接for循环就可以了。

效果展示

通过在循环容器的列表条目上设置触发行为跳转界面,同时配合事件中心的查询条件关联传递模型,实现跳转界面并绑定数据。

创建数据表

注意:在数据中心你可以创建属于自己应用程序的数据表格,数据表格类型分为用户表、商品表、订单表和自定义表。

点击数据中心

创建数据表

字段包含:标题、关于、、封面

创建事件

注意:事件是构建数据与界面元素组件链接的抽象逻辑。数据表与界面元素组件通过事件连接。

点击事件中心

创建事件

创建单条数据查询事件

创建查询事件

触发器配置

注意:在检查器面板中的触发器设置面板创建触发器,可以对组件进行交互逻辑设置,或配合事件来进行动态数据 *** 作。

选中循环容器

点击检查面板中的触发器

创建触发器

选中列表条目

创建触发器

选中画廊布局组件

点击检查面板的触发器

创建触发器

绑定数据

注意:绑定数据可以将事件返回的数据和组件显示内容进行绑定。

选中循环容器的列表条目

点击检查面板中的数据绑定与设置

绑定数据

这样就可以实现跳转页面并绑定数据了。

//第一层循环

<view wx:for="{{arr}}" wx:key="index">

    <view>{{itemname}}</view>

    //第二层循环,修改item、index名称

    <view wx:for="{{itemprocess}}" wx:for-item="itema" wx:for-index="indexa" wx:key="indexa">

        // 判断是哪种结构

        <block wx:if="{{itemagoods_name}}">

            <view>{{itemagoods_name}}</view>

        </block>

        <block wx:else>

            <view>{{itematype}}</view>

            //第三层判断是否是数组

            <block wx:if="{{itemastate && itemastate[0] && itemastate[0]time}}">

                <view wx:for="{{itemastate}}" wx:for-item="itemb" wx:for-index="indexb" wx:key="indexb">{{itembtime}}</view>

            </blcok>

            <blcok wx:else>

                <view>{{itemastate}}</view>

            </blcok>

        </block>

    </view>

</view>

『壹』 Fluent中速度入口条件要设置哪些参数

(1)速度值及方向,或速度分量。

(2)二维轴对称问题中的旋转速度。

(3)用于能量计算的温度值。

(4)使用耦合求解器时的出流表压。

(5)湍流计算中的湍流参数。

(6)采用 P-1 模型、DTRM、DO模型或“面到面”模型时的辐射参数。

(7)组元计算中的化学组元质量浓度。

(8)非预混模型或部分预混模型燃烧计算中的混合物浓度及增量。

(9)预混模型或部分预混模型燃烧计算中的过程变量。

(10)弥散相计算中弥散相的边界条件。

(11)多相流计算中的多相流边界条件。

1 定义速度

因为速度为矢量,所以定义速度包括定义速度的大小和方向两个内容。在 FLUENT 中

定义速度的方式有三种:第一种是将速度看作速度的绝对值与一个单位方向矢量的乘积,

然后通过定义速度的绝对值和方向矢量分量定义速度;第二种是将速度看作在三个坐标方

向上的分量的矢量和,然后通过分别给定速度三个分量大小定义速度;第三种是假定速度

是垂直于边界面的(因此方向已知) ,然后只要给定速度的绝对值就可以定义速度。

FLUENT 中既可以使用相对速度,也可以使用绝对速度定义速度。在临近网格是静止

网格时,这两种速度定义方式是完全等价的。如果靠近速度入口的单元区域是移动的,用

户就可以根据需要从二种方式中选择一种。而在定义速度过程中就一定要注意究竟用的是

相对速度定义还是相对速度定义。

与速度矢量定义的另一个相关因素是坐标系的形式,FLUENT 提供直角坐标系、柱坐

标系和局部柱坐标系三种坐标系形式。在定义速度的过程需要注意究竟使用的是哪种坐标

系,然后再进行分量计算,最后得到速度的定义所需要的所有数据。

在计算轴对称旋转流(axsiymetric swirl)问题时,要注意除了二维平面内的轴向速度

和径向速度外,还有一个垂直于屏幕方向的切向旋转速度需要定义。

(1)定义速度的方法在下拉菜单 Velocity Specification Method(速度定义方法)中选

择,选项包括 Magnitude and Direction(给定速度值与速度方向) 、Components(给定速度

分量)和 Magnitude,Normal to Boundary(给定速度值且假定速度垂直于边界) 。

(2)如果靠近速度入口边界的是移动网格,则在 Reference Frame(参考坐标系)下拉

列表中,选择 Relative to Adjacent Cell Zone(以相邻网格为参照的相对速度)或 Absolute

(绝对速度)选项确定所定义的速度是相对速度还是绝对速度。

(3) 坐标系是在 Coordinate System (坐标系) 下拉列表中, 通过选择 Cartesian (X, Y, Z)(直角坐标系) 、 Cylindrical (Radial, Tangential, Axial) (柱坐标系) 或 Local Cylindrical (Radial,

Tangential, Axial)(局部柱坐标系)来确定的。

(4)在确定了速度定义方法、是否使用相对速度、坐标系形式三个选择后,就可以输

入栏中分别输入相应的数据即可完成速度定义。

在计算模型是轴对称带旋转流动时,除了可以定义旋转速度,还可以定义旋转角速度。

类似地,如果选择了柱坐标系或局部柱坐标系,则除了可以定义切向速度,还可以定义入

口处的角速度。将角速度看作矢量,则其定义与速度矢量定义是类似的。

2 定义温度和出口表压

如果计算中包含了能量方程,则需要在入口速度边界处需要给定静温。

如果采用耦合求解器,还可以在速度入口边界上定义出流表压(Outflow Gauge

Pressure) 。如果在计算过程中速度入口边界上出现回流,则那个面就被作为压强出口边界

处理,其中使用的压强就是在这里定义的出流表压。

除了上面的参数外,在速度入口边界条件中还可以定义湍流参数、组元质量浓度、辐

射参数、非预混燃烧参数、预混燃烧边界条件、弥散相边界条件、多相流边界条件等参数,

表 8-3 速度入口边界的缺省设置

参数 数值

温度(Temperature) 300

速度(Velocity Magnitude) 0

流动方向的X 分量 1

流动方向的Y 分量 0

流动方向的Z 分量 0

X方向的速度 0

Y方向的速度 0

Z方向的速度 0

湍流动能 1

湍流耗散率 1

出口流动表压 0

『贰』 申请条件,入口,攻略,怎么样

申请学士学位的条件——平均成绩必须达到主考学校的要求、其中三门学位课程考试平均都能通过;学位英语能一次性通过考试,且成绩达到主考学校的要求。

参考 四方教育(自考学历,保证通过)

『叁』 进出口权申请条件与流程

什么是进出口权复?制

进出口权是进出口企业自己开展进出口业务的资格,是进出口企业在得到商务局、海关、检验检疫、外汇管理局、电子口岸等相关部门的批准,并拿到这些部门的证书后,才表示这个公司拥有了自营进出口的权利。

申请进出口权的条件?

国有企业、私营企业、内 资公司,无注册资金以及年销售额大小限制,小规模纳税人、新成立的公司以及个人独资企业均可办理。

进出口权申请需要准备那些资料?

需要营业执照原 件、 组织机构代码证复印件、 国地税正副本复印件、 法定代表人身份z复印件、 银行开户核准通知书复印件、 财务人员身份z复印件等资料。

申请进出口权流程

1对外贸易经营备案表

2海关备案

3电子口岸备案

4外汇局备案

办理进出口权需要多长时间?

如果申办企业营业执照没有进出口资格的话,总过程大约需15天左右。

什么类型的企业适合办理进出口权?

1、国际贸易公司

2、进出口公司

3、物流、货代公司

4、供应链公司

5、一般纳税人公司

6、报关公司

希望可以帮到你,有不明白的可以随时咨询我。

『肆』 在c语言中什么是入口条件循环什么是退出条件循环,求解释(举例子)

应该是这样的

比如:

int

i=i;

while(i>0)

//i>0是循环条件

{

i++;

printf("%d",i);

if(i>5)

break;

//如果,i>5

跳出循环

}

『伍』 怎么安置微信小程序的入口条件

您好,

你要知道,

“微信小程序”开发之前必须要完成和注册认证。如果是个人或者小公司想开发微信小程序,也可以找微信认证第三方开发商,比如赢在移动、正品科技等。

1、微信小程序注册

在微信公众平台官网首页,按照提示点击右上角的“立即注册”按钮,里面总过有12步,按照要求提交就可以了。

2、小程序申请微信认证

、媒体、其他组织类型帐号,必须通过微信认证验证主体身份。企业类型帐号,可以根据需要确定是否申请微信认证。已认证帐号可使用微信支付、微信卡券等高级权限。

认证入口:登录小程序—设置—基本设置—微信认证—详情

3、小程序申请微信支付

已认证的小程序可申请微信支付。

4、小程序绑定微信开放平台帐号

小程序绑定微信开放平台帐号后,可与帐号下的其他移动应用、网站应用及公众号打通,通过UnionID机制满足在多个应用和公众号之间统一用户帐号的需求。

UnionID机制说明:如果开发者拥有多个移动应用、网站应用、和公众帐号(包括小程序),可通过UnionID来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号(包括小程序),用户的unionid是唯一的。换句话说,同一用户,对同一个微信开放平台下的不同应用,UnionID是相同的。用户的UnionID可通过调用“获取用户信息”接口获取。

5、了解“获取用户信息”接口请查看开发文档—API—开放接口—用户信息。

绑定小程序流程说明:登录微信开放平台、—管理中心—公众帐号—绑定公众帐号

注意:微信开放平台帐号必须完成开发者资质认证才可以绑定小程序。

『陆』 while循环有入口条件,do-while没有入口条件这句话对吗

恩 对啊 其实这句话是经过推敲有道理的

while(){}必须使()内的条件成立才能执行{}块语句

而do{}while(); 是先执行{}里的语句再判断while()条件若成立继续执行do{}块语句

『柒』 请教:办理进出口权需要什么条件

企业申请进出口权需具备的条件

(无注册资金大小限制、小规模纳税人以及个体工版商户也可办理):权

1、已经取得工商企业法人营业执照;

2、已办理国、地税税务登记,依法纳税;

3、已办理组织机构代码证。

企业申请进出口权的流程:

1、到商务局办理对外贸易经营者备案登记手续,取得进出口资质。

2、到工商局增加经营范围“货物进出口、技术进出口、代理进出口”。

3、海关注册登记,进入海关系统,取得海关进出口代码,以备进出口报关时调用。

4、公安局备案,刻“报关专用章”一枚。

5、出入境检验检疫局备案,取得检疫备案代码。

6、中国电子口岸备案,将海关、检疫、外管局和国税等几个部门的数据联网,进口付汇及出口申请核销单、收汇和退税时所用。

7、外汇管理局取得外汇账户开立许可,并出口备案。

8、国税办理出口退税登记手续

希望可以帮到你,有不明白的可以随时咨询我。

『捌』 软件测试出口和入口是什么意思是软件测试这个项目什么条件开始和什么标准终止的意思吗

一个软件有很多相关联的功能,比如A功能和B功能,测试A功能成功的边界就是A的出口,专A结束的边界属就是B的入口。举个不太恰当但是比较好理解的例子:你点击提交按钮,表单能成功提交,页面显示“提交成功”,修改的时候提示“不可编辑”。那么提示不可编辑“”就是提交按钮测试出口。

这是软件内部,软件与软件之间也是如此,你可以看成是更大的软件中的两个功能。

希望能帮到你。

『玖』 C语言循环体入口条件

n++是后加,也就是先用n的值来判断,之后才++,所以当n=2的时候

while (n++ < 3)

{

假定此时的n已经++变为2了,下一次就是2++<3,2<3成立,循环继续,2++后变成3,再进行下一次判断3<3不成立,但是++还是要运行的,所以n会变成4

}

if($i>9){break;}要满足$i>9才能推出,你定的初值是0,没退出,说明$i没有自加到9if(strlen($data[\'title\'])>10){$i++;} 那么一定是strlen($data[\'title\'])>10满足条件的太少吧

你的是死循环了, while(i<1000), 如果你输入小于1000的话永远是true,一直在循环。你非用这个来判断的话, outputsetText("不是水仙花数"); 后面加个break;跳出循环!不知道你用 while(i<1000)是什么用意?

黑白棋游戏

#include "graphicsh" /图形系统头文件/

#define LEFT 0x4b00 /光标左键值/

#define RIGHT 0x4d00 /光标右键值/

#define DOWN 0x5000 /光标下键值/

#define UP 0x4800 /光标上键值/

#define ESC 0x011b / ESC键值/

#define ENTER 0x1c0d / 回车键值/

int a[8][8]={0},key,score1,score2;/具体分数以及按键与存放棋子的变量/

char playone[3],playtwo[3];/两个人的得分转换成字符串输出/

void playtoplay(void);/人人对战函数/

void DrawQp(void);/画棋盘函数/

void SetPlayColor(int x);/设置棋子第一次的颜色/

void MoveColor(int x,int y);/恢复原来棋盘状态/

int QpChange(int x,int y,int z);/判断棋盘的变化/

void DoScore(void);/处理分数/

void PrintScore(int n);/输出成绩/

void playWin(void);/输出胜利者信息/

/主函数/

void main(void)

{

int gd=DETECT,gr;

initgraph(&gd,&gr,"c:\\tc"); /初始化图形系统/

DrawQp();/画棋盘/

playtoplay();/人人对战/

getch();

closegraph();/关闭图形系统/

}

void DrawQp()/画棋盘/

{

int i,j;

score1=score2=0;/棋手一开始得分都为0/

setbkcolor(BLUE);

for(i=100;i<=420;i+=40)

{

line(100,i,420,i);/画水平线/

line(i,100,i,420); /画垂直线/

}

setcolor(0);/取消圆周围的一圈东西/

setfillstyle(SOLID_FILL,15);/白色实体填充模式/

fillellipse(500,200,15,15); /在显示得分的位置画棋/

setfillstyle(SOLID_FILL,8); /黑色实体填充模式/

fillellipse(500,300,15,15);

a[3][3]=a[4][4]=1;/初始两个黑棋/

a[3][4]=a[4][3]=2;/初始两个白棋/

setfillstyle(SOLID_FILL,WHITE);

fillellipse(120+340,120+340,15,15);

fillellipse(120+440,120+440,15,15);

setfillstyle(SOLID_FILL,8);

fillellipse(120+340,120+440,15,15);

fillellipse(120+440,120+340,15,15);

score1=score2=2; /有棋后改变分数/

DoScore();/输出开始分数/

}

void playtoplay()/人人对战/

{

int x,y,t=1,i,j,cc=0;

while(1)/换棋手走棋/

{

x=120,y=80;/每次棋子一开始出来的坐标,x为行坐标,y为列坐标/

while(1) /具体一个棋手走棋的过程/

{

PrintScore(1);/输出棋手1的成绩/

PrintScore(2);/输出棋手2的成绩/

SetPlayColor(t);/t变量是用来判断棋手所执棋子的颜色/

fillellipse(x,y,15,15);

key=bioskey(0);/接收按键/

if(key==ESC)/跳出游戏/

break;

else

if(key==ENTER)/如果按键确定就可以跳出循环/

{

if(y!=80&&a[(x-120)/40][(y-120)/40]!=1

&&a[(x-120)/40][(y-120)/40]!=2)/如果落子位置没有棋子/

{

if(t%2==1)/如果是棋手1移动/

a[(x-120)/40][(y-120)/40]=1;

else/否则棋手2移动/

a[(x-120)/40][(y-120)/40]=2;

if(!QpChange(x,y,t))/落子后判断棋盘的变化/

{

a[(x-120)/40][(y-120)/40]=0;/恢复空格状态/

cc++;/开始统计尝试次数/

if(cc>=64-score1-score2) /如果尝试超过空格数则停步/

{

MoveColor(x,y);

fillellipse(x,y,15,15);

break;

}

else

continue;/如果按键无效/

}

DoScore();/分数的改变/

break;/棋盘变化了,则轮对方走棋/

}

else/已经有棋子就继续按键/

continue;

}

else /四个方向按键的判断/

if(key==LEFT&&x>120)/左方向键/

{

MoveColor(x,y);

fillellipse(x,y,15,15);

SetPlayColor(t);

x-=40;

fillellipse(x,y,15,15);

}

else

if(key==RIGHT&&x<400&&y>80)/右方向键/

{

MoveColor(x,y);

fillellipse(x,y,15,15);

SetPlayColor(t);

x+=40;

fillellipse(x,y,15,15);

}

else

if(key==UP&&y>120)/上方向键/

{

MoveColor(x,y);

fillellipse(x,y,15,15);

SetPlayColor(t);

y-=40;

fillellipse(x,y,15,15);

}

else

if(key==DOWN&&y<400)/下方向键/

{

MoveColor(x,y);

fillellipse(x,y,15,15);

SetPlayColor(t);

y+=40;

fillellipse(x,y,15,15);

}

}

if(key==ESC)/结束游戏/

break;

if((score1+score2)==64||score1==0||score2==0)/格子已经占满或一方棋子为0判断胜负/

{

playWin();/输出最后结果/

break;

}

t=t%2+1; /一方走后,改变棋子颜色即轮对方走/

cc=0; /计数值恢复为0/

} /endwhile/

}

void SetPlayColor(int t)/设置棋子颜色/

{

if(t%2==1)

setfillstyle(SOLID_FILL,15);/白色/

else

setfillstyle(SOLID_FILL,8);/灰色/

}

void MoveColor(int x,int y)/走了一步后恢复原来格子的状态/

{

if(y<100)/如果是从起点出发就恢复蓝色/

setfillstyle(SOLID_FILL,BLUE);

else/其他情况如果是1就恢复白色棋子,2恢复黑色棋子,或恢复蓝色棋盘/

switch(a[(x-120)/40][(y-120)/40])

{

case 1:

setfillstyle(SOLID_FILL,15);break; /白色/

case 2:

setfillstyle(SOLID_FILL,8);break; /黑色/

default:

setfillstyle(SOLID_FILL,BLUE); /蓝色/

}

}

int QpChange(int x,int y,int t)/判断棋盘的变化/

{

int i,j,k,kk,ii,jj,yes;

yes=0;

i=(x-120)/40; /计算数组元素的行下标/

j=(y-120)/40; /计算数组元素的列下标/

SetPlayColor(t);/设置棋子变化的颜色/

/开始往8个方向判断变化/

if(j<6)/往右边/

{

for(k=j+1;k<8;k++)

if(a[i][k]==a[i][j]||a[i][k]==0)/遇到自己的棋子或空格结束/

break;

if(a[i][k]!=0&&k<8)

{

for(kk=j+1;kk<k&&k<8;kk++)/判断右边/

{

a[i][kk]=a[i][j]; /改变棋子颜色/

fillellipse(120+i40,120+kk40,15,15);

}

if(kk!=j+1) /条件成立则有棋子改变过颜色/

yes=1;

}

}

if(j>1)/判断左边/

{

for(k=j-1;k>=0;k--)

if(a[i][k]==a[i][j]||!a[i][k])

break;

if(a[i][k]!=0&&k>=0)

{

for(kk=j-1;kk>k&&k>=0;kk--)

{

a[i][kk]=a[i][j];

fillellipse(120+i40,120+kk40,15,15);

}

if(kk!=j-1)

yes=1;

}

}

if(i<6)/判断下边/

{

for(k=i+1;k<8;k++)

if(a[k][j]==a[i][j]||!a[k][j])

break;

if(a[k][j]!=0&&k<8)

{

for(kk=i+1;kk<k&&k<8;kk++)

{

a[kk][j]=a[i][j];

fillellipse(120+kk40,120+j40,15,15);

}

if(kk!=i+1)

yes=1;

}

}

if(i>1)/判断上边/

{

for(k=i-1;k>=0;k--)

if(a[k][j]==a[i][j]||!a[k][j])

break;

if(a[k][j]!=0&&k>=0)

{

for(kk=i-1;kk>k&&k>=0;kk--)

{

a[kk][j]=a[i][j];

fillellipse(120+kk40,120+j40,15,15);

}

if(kk!=i-1)

yes=1;

}

}

if(i>1&&j<6)/右上/

{

for(k=i-1,kk=j+1;k>=0&&kk<8;k--,kk++)

if(a[k][kk]==a[i][j]||!a[k][kk])

break;

if(a[k][kk]&&k>=0&&kk<8)

{

for(ii=i-1,jj=j+1;ii>k&&k>=0;ii--,jj++)

{

a[ii][jj]=a[i][j];

fillellipse(120+ii40,120+jj40,15,15);

}

if(ii!=i-1)

yes=1;

}

}

if(i<6&&j>1)/左下/

{

for(k=i+1,kk=j-1;k<8&&kk>=0;k++,kk--)

if(a[k][kk]==a[i][j]||!a[k][kk])

break;

if(a[k][kk]!=0&&k<8&&kk>=0)

{

for(ii=i+1,jj=j-1;ii<k&&k<8;ii++,jj--)

{

a[ii][jj]=a[i][j];

fillellipse(120+ii40,120+jj40,15,15);

}

if(ii!=i+1)

yes=1;

}

}

if(i>1&&j>1)/左上/

{

for(k=i-1,kk=j-1;k>=0&&kk>=0;k--,kk--)

if(a[k][kk]==a[i][j]||!a[k][kk])

break;

if(a[k][kk]!=0&&k>=0&&kk>=0)

{

for(ii=i-1,jj=j-1;ii>k&&k>=0;ii--,jj--)

{

a[ii][jj]=a[i][j];

fillellipse(120+ii40,120+jj40,15,15);

}

if(ii!=i-1)

yes=1;

}

}

if(i<6&&j<6)/ 右下/

{

for(k=i+1,kk=j+1;kk<8&&kk<8;k++,kk++)

if(a[k][kk]==a[i][j]||!a[k][kk])

break;

if(a[k][kk]!=0&&kk<8&&k<8)

{

for(ii=i+1,jj=j+1;ii<k&&k<8;ii++,jj++)

{

a[ii][jj]=a[i][j];

fillellipse(120+ii40,120+jj40,15,15);

}

if(ii!=i+1)

yes=1;

}

}

return yes;/返回是否改变过棋子颜色的标记/

}

void DoScore()/处理分数/

{

int i,j;

score1=score2=0;/重新开始计分数/

for(i=0;i<8;i++)

for(j=0;j<8;j++)

if(a[i][j]==1)/分别统计两个人的分数/

score1++;

else

if(a[i][j]==2)

score2++;

}

void PrintScore(int playnum)/输出成绩/

{

if(playnum==1)/清除以前的成绩/

{

setfillstyle(SOLID_FILL,BLUE);

bar(550,100,640,400);

}

setcolor(RED);

settextstyle(0,0,4);/设置文本输出样式/

if(playnum==1)/判断输出哪个棋手的分,在不同的位置输出/

{

sprintf(playone,"%d",score1);

outtextxy(550,200,playone);

}

else

{

sprintf(playtwo,"%d",score2);

outtextxy(550,300,playtwo);

}

setcolor(0);

}

void playWin()/输出最后的胜利者结果/

{

settextstyle(0,0,4);

setcolor(12);

if(score2>score1)/开始判断最后的结果/

outtextxy(100,50,"black win!");

else

if(score2<score1)

outtextxy(100,50,"white win!");

else

outtextxy(60,50,"you all win!");

}

五子棋游戏

/五子棋/

#include<stdioh>

#include<stdlibh>

#include<graphicsh>

#include<biosh>

#include<conioh>

#define LEFT 0x4b00

#define RIGHT 0x4d00

#define DOWN 0x5000

#define UP 0x4800

#define ESC 0x011b

#define SPACE 0x3920

#define BILI 20

#define JZ 4

#define JS 3

#define N 19

int box[N][N];

int step_x,step_y ;

int key ;

int flag=1 ;

void draw_box();

void draw_cicle(int x,int y,int color);

void change();

void judgewho(int x,int y);

void judgekey();

int judgeresult(int x,int y);

void attentoin();

void attention()

{

char ch ;

window(1,1,80,25);

textbackground(LIGHTBLUE);

textcolor(YELLOW);

clrscr();

gotoxy(15,2);

printf("游戏 *** 作规则:");

gotoxy(15,4);

printf("Play Rules:");

gotoxy(15,6);

printf("1、按左右上下方向键移动棋子");

gotoxy(15,8);

printf("1 Press Left,Right,Up,Down Key to move Piece");

gotoxy(15,10);

printf("2、按空格确定落棋子");

gotoxy(15,12);

printf("2 Press Space to place the Piece");

gotoxy(15,14);

printf("3、禁止在棋盘外按空格");

gotoxy(15,16);

printf("3 DO NOT press Space outside of the chessboard");

gotoxy(15,18);

printf("你是否接受上述的游戏规则(Y/N)");

gotoxy(15,20);

printf("Do you accept the above Playing Rules [Y/N]:");

while(1)

{

gotoxy(60,20);

ch=getche();

if(ch=='Y'||ch=='y')

break ;

else if(ch=='N'||ch=='n')

{

window(1,1,80,25);

textbackground(BLACK);

textcolor(LIGHTGRAY);

clrscr();

exit(0);

}

gotoxy(51,12);

printf(" ");

}

}

void draw_box()

{

int x1,x2,y1,y2 ;

setbkcolor(LIGHTBLUE);

setcolor(YELLOW);

gotoxy(7,2);

printf("Left, Right, Up, Down KEY to move, Space to put, ESC-quit");

for(x1=1,y1=1,y2=18;x1<=18;x1++)

line((x1+JZ)BILI,(y1+JS)BILI,(x1+JZ)BILI,(y2+JS)BILI);

for(x1=1,y1=1,x2=18;y1<=18;y1++)

line((x1+JZ)BILI,(y1+JS)BILI,(x2+JZ)BILI,(y1+JS)BILI);

for(x1=1;x1<=18;x1++)

for(y1=1;y1<=18;y1++)

box[x1][y1]=0 ;

}

void draw_circle(int x,int y,int color)

{

setcolor(color);

setlinestyle(SOLID_LINE,0,1);

x=(x+JZ)BILI ;

y=(y+JS)BILI ;

circle(x,y,8);

}

void judgekey()

{

int i ;

int j ;

switch(key)

{

case LEFT :

if(step_x-1<0)

break ;

else

{

for(i=step_x-1,j=step_y;i>=1;i--)

if(box[i][j]==0)

{

draw_circle(step_x,step_y,LIGHTBLUE);

break ;

}

if(i<1)break ;

step_x=i ;

judgewho(step_x,step_y);

break ;

}

case RIGHT :

if(step_x+1>18)

break ;

else

{

for(i=step_x+1,j=step_y;i<=18;i++)

if(box[i][j]==0)

{

draw_circle(step_x,step_y,LIGHTBLUE);

break ;

}

if(i>18)break ;

step_x=i ;

judgewho(step_x,step_y);

break ;

}

case DOWN :

if((step_y+1)>18)

break ;

else

{

for(i=step_x,j=step_y+1;j<=18;j++)

if(box[i][j]==0)

{

draw_circle(step_x,step_y,LIGHTBLUE);

break ;

}

if(j>18)break ;

step_y=j ;

judgewho(step_x,step_y);

break ;

}

case UP :

if((step_y-1)<0)

break ;

else

{

for(i=step_x,j=step_y-1;j>=1;j--)

if(box[i][j]==0)

{

draw_circle(step_x,step_y,LIGHTBLUE);

break ;

}

if(j<1)break ;

step_y=j ;

judgewho(step_x,step_y);

break ;

}

case ESC :

break ;

case SPACE :

if(step_x>=1&&step_x<=18&&step_y>=1&&step_y<=18)

{

if(box[step_x][step_y]==0)

{

box[step_x][step_y]=flag ;

if(judgeresult(step_x,step_y)==1)

{

sound(1000);

delay(1000);

nosound();

gotoxy(30,4);

if(flag==1)

{

setbkcolor(BLUE);

cleardevice();

setviewport(100,100,540,380,1);

/定义一个图形窗口/

setfillstyle(1,2);

/绿色以实填充/

setcolor(YELLOW);

rectangle(0,0,439,279);

floodfill(50,50,14);

setcolor(12);

settextstyle(1,0,5);

/三重笔划字体, 水平放5倍/

outtextxy(20,20,"The White Win !");

setcolor(15);

settextstyle(3,0,5);

/无衬笔划字体, 水平放大5倍/

outtextxy(120,120,"The White Win !");

setcolor(14);

settextstyle(2,0,8);

getch();

closegraph();

exit(0);

}

if(flag==2)

{

setbkcolor(BLUE);

cleardevice();

setviewport(100,100,540,380,1);

/定义一个图形窗口/

setfillstyle(1,2);

/绿色以实填充/

setcolor(YELLOW);

rectangle(0,0,439,279);

floodfill(50,50,14);

setcolor(12);

settextstyle(1,0,8);

/三重笔划字体, 水平放大8倍/

outtextxy(20,20,"The Red Win !");

setcolor(15);

settextstyle(3,0,5);

/无衬笔划字体, 水平放大5倍/

outtextxy(120,120,"The Red Win !");

setcolor(14);

settextstyle(2,0,8);

getch();

closegraph();

exit(0);

}

}

change();

break ;

}

}

else

break ;

}

}

void change()

{

if(flag==1)

flag=2 ;

else

flag=1 ;

}

void judgewho(int x,int y)

{

if(flag==1)

draw_circle(x,y,15);

if(flag==2)

draw_circle(x,y,4);

}

int judgeresult(int x,int y)

{

int j,k,n1,n2 ;

while(1)

{

n1=0 ;

n2=0 ;

/水平向左数/

for(j=x,k=y;j>=1;j--)

{

if(box[j][k]==flag)

n1++;

else

break ;

}

/水平向右数/

for(j=x,k=y;j<=18;j++)

{

if(box[j][k]==flag)

n2++;

else

break ;

}

if(n1+n2-1>=5)

{

return(1);

break ;

}

/垂直向上数/

n1=0 ;

n2=0 ;

for(j=x,k=y;k>=1;k--)

{

if(box[j][k]==flag)

n1++;

else

break ;

}

/垂直向下数/

for(j=x,k=y;k<=18;k++)

{

if(box[j][k]==flag)

n2++;

else

break ;

}

if(n1+n2-1>=5)

{

return(1);

break ;

}

/向左上方数/

n1=0 ;

n2=0 ;

for(j=x,k=y;j>=1,k>=1;j--,k--)

{

if(box[j][k]==flag)

n1++;

else

break ;

}

/向右下方数/

for(j=x,k=y;j<=18,k<=18;j++,k++)

{

if(box[j][k]==flag)

n2++;

else

break ;

}

if(n1+n2-1>=5)

{

return(1);

break ;

}

/向右上方数/

n1=0 ;

n2=0 ;

for(j=x,k=y;j<=18,k>=1;j++,k--)

{

if(box[j][k]==flag)

n1++;

else

break ;

}

/向左下方数/

for(j=x,k=y;j>=1,k<=18;j--,k++)

{

if(box[j][k]==flag)

n2++;

else

break ;

}

if(n1+n2-1>=5)

{

return(1);

break ;

}

return(0);

break ;

}

}

void main()

{

int gdriver=VGA,gmode=VGAHI;

clrscr();

attention();

initgraph(&gdriver,&gmode,"c:\\tc");

/ setwritemode(XOR_PUT);/

flag=1 ;

draw_box();

do

{

step_x=0 ;

step_y=0 ;

/draw_circle(step_x,step_y,8); /

judgewho(step_x-1,step_y-1);

do

{

while(bioskey(1)==0);

key=bioskey(0);

judgekey();

}

while(key!=SPACE&&key!=ESC);

}

while(key!=ESC);

closegraph();

}

以上就是关于微信开发小程序音乐循环播放怎么用全部的内容,包括:微信开发小程序音乐循环播放怎么用、请问我该怎么设置才能实现小程序里跳转页面并且绑定数据的效果、微信小程序3层循环等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10631687.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存