欢迎来到【okio 1.13.0 源码】【天才教育源码下载】【菜鸟源码网络判刑】mathrandomc源码-皮皮网网站!!!

皮皮网

【okio 1.13.0 源码】【天才教育源码下载】【菜鸟源码网络判刑】mathrandomc源码-皮皮网 扫描左侧二维码访问本站手机端

【okio 1.13.0 源码】【天才教育源码下载】【菜鸟源码网络判刑】mathrandomc源码

2024-11-19 04:44:23 来源:{typename type="name"/} 分类:{typename type="name"/}

1.烟花代码编程python(玫瑰花代码编程python)
2.俄罗斯方块的源代码?

mathrandomc源码

烟花代码编程python(玫瑰花代码编程python)

       æ”¾çƒŸèŠ±çš„代码

       #-*-coding:utf-8-*-importmath,random,timeimportthreadingimporttkinterastkimportreuuidFireworks=[]maxFireworks=8height,width=,classfirework(object):def__init__(self,color,speed,width,height):=uuid.uuid1()self.radius=random.randint(2,4)~4像素self.color=colorself.speed=speed.5-3.5秒self.status=0,status=0;爆炸后,status=1;当status时,烟花的生命期终止self.nParticle=random.randint(,)self.center=[random.randint(0,width-1),random.randint(0,height-1)]self.oneParticle=[](%状态时)self.rotTheta=random.uniform(0,2*math.pi):x=a*cos(theta),y=b*sin(theta)=[a,b]

python炫酷烟花表白源代码是多少?

       å­¦å®Œæœ¬æ•™ç¨‹åŽï¼Œä½ ä¹Ÿèƒ½åšå‡ºè¿™æ ·çš„烟花秀。

       å¦‚上图示,我们这里通过让画面上一个粒子分裂为X数量的粒子来模拟爆炸效果。粒子会发生"膨胀”,意思是它们会以恒速移动且相互之间的角度相等。这样就能让我们以一个向外膨胀的圆圈形式模拟出烟花绽放的画面。

       ç»è¿‡ä¸€å®šæ—¶é—´åŽï¼Œç²’子会进入"自由落体”阶段,也就是由于重力因素它们开始坠落到地面,仿若绽放后熄灭的烟花。

       åŸºæœ¬çŸ¥è¯†ï¼šç”¨Python和Tkinter设计烟花。

       è¿™é‡Œä¸å†ä¸€è‚¡è„‘把数学知识全丢出来,我们边写代码边说理论。首先,确保你安装和导入了Tkinter,它是Python的标准GUI库,广泛应用于各种各样的项目和程序开发,在Python中使用Tkinter可以快速的创建GUI应用程序。

       importtkinterastk

       fromPILimportImage,ImageTk

       fromtimeimporttime,sleep

       fromrandomimportchoice,uniform,randint

       frommathimportsin,cos,radians

       é™¤äº†Tkinter之外,为了能让界面有漂亮的背景,我们也导入PIL用于图像处理,以及导入其它一些包,比如time,random和math。它们能让我们更容易的控制烟花粒子的运动轨迹。

       Tkinter应用的基本设置如下:

       root=tk.Tk()

       ä¸ºäº†èƒ½åˆå§‹åŒ–Tkinter,我们必须创建一个Tk()根部件(rootwidget),它是一个窗口,带有标题栏和由窗口管理器提供的其它装饰物。该根部件必须在我们创建其它小部件之前就创建完毕,而且只能有一个根部件。

       w=tk.Label(root,text="HelloTkinter!")

       è¿™ä¸€è¡Œä»£ç åŒ…含了Label部件。该Label调用中的第一个参数就是父窗口的名字,即我们这里用的"根”。关键字参数"text”指明显示的文字内容。你也可以调用其它小部件:Button,Canvas等等。

       w.pack()

       root.mainloop()

       æŽ¥ä¸‹æ¥çš„这两行代码很重要。这里的打包方法是告诉Tkinter调整窗口大小以适应所用的小部件。窗口直到我们进入Tkinter事件循环,被root.mainloop()调用时才会出现。在我们关闭窗口前,脚本会一直在停留在事件循环。

       å°†çƒŸèŠ±ç»½æ”¾è½¬è¯‘成代码

       çŽ°åœ¨æˆ‘们设计一个对象,表示烟花事件中的每个粒子。每个粒子都会有一些重要的属性,支配了它的外观和移动状况:大小,颜色,位置,速度等等。

跨年烟花代码|用Python送你一场跨年烟花秀

       å·²ç»æŽ¥è¿‘尾声了,即将到来,本文我们用Python送你一场跨年烟花秀。

       æˆ‘们用到的Python模块包括:tkinter、PIL、time、random、math,如果第三方模块没有装的话,pipinstall一下即可,下面看一下代码实现。

       å¯¼åº“

       çƒŸèŠ±é¢œè‰²

       å®šä¹‰çƒŸèŠ±ç±»

       ç‡ƒæ”¾çƒŸèŠ±

       å¯åŠ¨

       çœ‹ä¸€ä¸‹æ•ˆæžœï¼š

       å¹´è·¨å¹´çƒŸèŠ±ä»£ç å¯å¤åˆ¶

       çƒŸèŠ±ä»£ç å¦‚下:

       packagelove;

       importjava.applet.Applet;

       importjava.awt.Color;

       importjava.awt.Graphics;

       importjava.net.URL;

       importjava.util.Random;

       çƒŸèŠ±

       @authorenjoy

       @SuppressWarnings("serial")

       publicclassQextendsAppletimplementsRunnable

       publicintspeed,variability,Max_Number,Max_Energy,Max_Patch,

       Max_Length,G;

       publicStringsound;

       privateintwidth,height;

       privateThreadthread=null;

       privateBeaClassDemobcd[];

       publicvoidinit()?

       inti;

       this.setSize(,);

       width=getSize().width-1;

       height=getSize().height-1;

       speed=1;?//烟花绽放的速度

       variability=;

       Max_Number=;?//可发出烟花的最大数目

       Max_Energy=width+;

       Max_Patch=;?//最大的斑点数

       Max_Length=;?//斑点的最大距离

       G=;?//向地面弯曲的力度

       bcd=newBeaClassDemo[Max_Number];

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

       bcd[i]=newBeaClassDemo(width,height,G);

       }

       publicvoidstart(){

       if(thread==null){

       thread=newThread(this);

       thread.start();

       }

       }

       @SuppressWarnings("deprecation")

       publicvoidstop(){

       if(thread!=null){

       thread.stop();

       thread=null;

       }

       }

       @SuppressWarnings({ "unused","static-access"})

       publicvoidrun(){

       inti;

       intE=(int)(Math.random()*Max_Energy*3/4)+Max_Energy/4+1;

       intP=(int)(Math.random()*Max_Patch*3/4)?//烟花的斑点数

       +Max_Patch/4+1;

       intL=(int)(Math.random()*Max_Length*3/4)?//烟花可发射出的距离

       +Max_Length/4+1;

       longS=(long)(Math.random()*);

       booleansleep;

       Graphicsg=getGraphics();

       URLu=null;

       while(true){

       try{

       thread.sleep(/speed);

       catch(InterruptedExceptionx){

       sleep=true;

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

       sleep=sleepbcd[i].sleep;

       if(sleepMath.random()*variability){

       E=(int)(Math.random()*Max_Energy*3/4)+Max_Energy/4

       +1;

       P=(int)(Math.random()*Max_Patch*3/4)+Max_Patch/4

       +1;

       L=(int)(Math.random()*Max_Length*3/4)+Max_Length/4

       +1;

       S=(long)(Math.random()*);

       for(i=0;iMax_Number;i++){

       if(bcd[i].sleepMath.random()*Max_Number*L1)

       bcd[i].init(E,P,L,S);

       bcd[i].start();

       bcd[i].show(g);

       publicvoidpaint(Graphicsg)?

       g.setColor(Color.black);

       g.fillRect(0,0,width+1,height+1);

       classBeaClassDemo

       publicbooleansleep=true;

       privateintenergy,patch,length,width,height,G,Xx,Xy,Ex[],Ey[],x,

       y,Red,Blue,Green,t;

       privateRandomrandom;

       publicBeaClassDemo(inta,intb,intg)

       width=a;

       height=b;

       G=g;

       publicvoidinit(inte,intp,intl,longseed)?

       inti;

       energy=e;

       patch=p;

       length=l;

       //创建一个带种子的随机数生成器

       random=newRandom(seed);

       Ex=newint[patch];

       Ey=newint[patch];

       Red=(int)(random.nextDouble()*)+;

       Blue=(int)(random.nextDouble()*)+;

       Green=(int)(random.nextDouble()*)+;

       Xx=(int)(Math.random()*width/2)+width/4;

       Xy=(int)(Math.random()*height/2)+height/4;

       for(i=0;ipatch;i++){

       Ex[i]=(int)(Math.random()*energy)-energy/2;

       Ey[i]=(int)(Math.random()*energy*7/8)-energy/8;

       publicvoidstart

       t=0;

       sleep=false;

       publicvoidshow(Graphicsg)?

       if(!sleep)

       if(tlength)

       inti,c;

       doubles;

       Colorcolor;

       c=(int)(random.nextDouble()*)-+Red;

       if(c=0c)

       Red=c;

       c=(int)(random.nextDouble()*)-+Blue;

       if(c=0c)

       Blue=c;

       c=(int)(random.nextDouble()*)-+Green;

       if(c=0c)

       Green=c;

       color=newColor(Red,Blue,Green);

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

       s=(double)t/;

       x=(int)(Ex[i]*s);

       y=(int)(Ey[i]*s-G*s*s);

       g.setColor(color);

       g.drawLine(Xx+x,Xy-y,Xx+x,Xy-y);

       if(t=length/2)

       intj;

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

       s=(double)((t-length/2)*2+j)/;

       x=(int)(Ex[i]*s);

       y=(int)(Ey[i]*s-G*s*s);

       g.setColor(Color.black);

       g.drawLine(Xx+x,Xy-y,Xx+x,Xy-y);

       å¸¸ç”¨çš„编程语言。

       ç¼–程语言一:C语言

       C语言是世界上最流行、使用最广泛的高级程序设计语言之一。在操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它高级语言,许多大型应用软件都是用C语言编写的。

       ç¼–程语言二:java

       Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由SunMicrosystems公司于年5月推出的Java程序设计语言和Java平台(即JavaSE,JavaEE,JavaME)的总称。

       ç¼–程语言三:c++

       C++这个词在中国大陆的程序员圈子中通常被读做“C加加”,而西方的程序员通常读做“Cplusplus","CPP”。它是一种使用非常广泛的计算机编程语言。C++是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言。

俄罗斯方块的源代码?

       #include <graphics.h>

       #include <stdio.h>

       #include <dos.h>

       #include <conio.h>

       #include <time.h>

       #include <math.h>

       #include <stdlib.h>

       void draw_block(int x,int y,int style,int way);

       void kill_line(int y);

       void draw_little_block(int x,int y,int z,int style);

       int check_block(int x,int y,int style);

       int change(int *i,int *j,int key);

       int style1,style,score,speed,l;

       int board[][];

       char str[];

       struct shape

       {

        int xy[8],next;

       };

       struct shape shapes[]= /* 种方块(前

        8个点表示4个小方块的相对位置 第9点表示类型) */

        {

        {

        0,-2, 0,-1, 0, 0, 1, 0, 1

        },

        { -1, 0, 0, 0, 1,-1, 1, 0, 2},

        { 0,-2, 1,-2, 1,-1, 1, 0, 3},

        { -1,-1,-1, 0, 0,-1, 1,-1, 0},

        { 0,-2, 0,-1, 0, 0, 1,-2, 5},

        { -1,-1, 0,-1, 1,-1, 1, 0, 6},

        { 0, 0, 1,-2, 1,-1, 1, 0, 7},

        { -1,-1,-1, 0, 0, 0, 1, 0, 4},

        { -1, 0, 0,-1, 0, 0, 1, 0, 9},

        { 0,-2, 0,-1, 0, 0, 1,-1,},

        { -1,-1, 0,-1, 1,-1, 0, 0,},

        { 0,-1, 1,-2, 1,-1, 1, 0, 8},

        { -1, 0, 0,-1, 0, 0, 1,-1,},

        { 0,-2, 0,-1, 1,-1, 1, 0,},

        { -1,-1, 0,-1, 0, 0, 1, 0,},

        { 0,-1, 0, 0, 1,-2, 1,-1,},

        { 0,-3, 0,-2, 0,-1, 0, 0,},

        { -1, 0, 0, 0, 1, 0, 2, 0,},

        { 0,-1, 0, 0, 1,-1, 1, 0,}

        };

       #define MAPXOFT 9 /* 第1个方块的位置 */

       #define MAPYOFT 5

       #define MAPXOFT1 /* 下一个方块的位置 */

       #define MAPYOFT1

       #define LEFT 0x4b

       #define RIGHT 0x4d

       #define DOWN 0x

       #define UP 0x

       #define ESC 0xb

       #define ENTER 0x1c0d

       int main()

       {

        int gdriver,gmode,

        i,j,key,x0=5,y0=1,m,n,c,key1,p,q,le=0,b;

        l=1,score=0;

        gdriver=DETECT;

       initgraph(&gdriver,&gmode,"D:\\TURBOC2");

        randomize();

       for(m=0;m<=;m++)

        for(n=0;n<=;n++)

        board[m][n]=0; /* 初始游戏版 */

        setcolor(); /* 开机的画面 */

        settextstyle(0,0,3);

        outtextxy(,,"WELCOME TO RUSSIS");

        outtextxy(,,"READY GO");

        setcolor();

        settextstyle

        (0,0,4);

        outtextxy(,,"^_^");

        /

*

        circle(,,);

        ellipse(,,,,,);

        ellipse(,,,,,);

        ellipse(,,,,,);*/

        getch();

        settextstyle(0,0,1);

        cleardevice();

        setcolor(LIGHTRED); /* 画出游戏所在的范围图

        */

        setlinestyle(0,0,3);

        setfillstyle(1,);

        rectangle(,,,);

        floodfill(,,LIGHTRED);

       setcolor(LIGHTRED);

        setlinestyle(0,0,3);

        setfillstyle(1,);

        rectangle(,,,);

        floodfill(,,LIGHTRED);

       setcolor(LIGHTRED);

        setlinestyle(0,0,3);

        setfillstyle(1,);

        rectangle(,,,);

        floodfill(,,LIGHTRED);

       setcolor(LIGHTRED);

        setlinestyle(0,0,1);

        setfillstyle(1,BLUE);

        rectangle(,,,);

        floodfill(,,LIGHTRED);

       setcolor();

        for(m=0;m<=;m=m+2)

        ellipse(,,0,,+m,+m);

       setcolor();

        setfillstyle(1,0);

        circle(,,);

        floodfill(,,);

        outtextxy(,,"* you can change the game");

        /* 对游戏的说明 */

        outtextxy(,,"-speed and the gradth by"); /

*

        上为变形 左右 为 调整

       下为快下 ESC为退出 */

        outtextxy(,," using 'up'and'down'.");

        outtextxy(,,"* when you are plying the");

        outtextxy(,,"game,you can use these pu");

        outtextxy(,,"-tturns.");

        outtextxy(,,"* if you want to go into t");

        outtextxy(,,"-he game,please 'enter'.");

        outtextxy(,,"* you can chang shapes ");

        outtextxy(,," using UP");

        outtextxy(,,"* RIGHT and LEFT can" );

        outtextxy(,," move shapes");

       outtextxy(,,"GAMESPEED:");

        outtextxy(,,"GRADTH:");

        printf("\n\n\n 1");

        printf("\n\n\n\n 0");

       /* setcolor(LIGHTRED);

        setlinestyle(0,0,1);

        setfillstyle(1,);

        rectangle(,,,);

        floodfill(,,LIGHTRED); */

       outtextxy(,,"SCORES:");

        outtextxy(,,"**The speed will");

        outtextxy(,,"increas if score");

        outtextxy(,,"increas 3");

       for(p=0;p<=;p++) /* 对速度的调整 */

        { key=bioskey(0);

        if(key==ENTER)

        break;

        if(key==UP)

        {

        if(l==9)

        l=9;

        if(l<9)

        l++;

        }

        if(key==DOWN)

        {

        if(l==1)

        l=l;

        if(l>1)

        l--;

        }

        gotoxy(2,4);

        printf("%d",l);

        }

        for(q=0;q<=;q++) /* 对高度的调整 */

        {

        key=bioskey(0);

        if(key==ENTER)

        break;

        if(key==UP)

        {

        if(le==5)

        le=le;

        if(le<5)

        le++;

        }

        if(key==DOWN)

        {

        if(le==0)

        le=le;

        if(le>0)

        le--;

        }

        gotoxy(2,8);

        printf("%d",le);

        }

       key=bioskey(0);

        if(key==ENTER)

        {

        style=random();

        for(m=1;m<=le;m++) /* 具体的对高度的调整 */

        {

        b=random(7)+1;

        for(n=1;n<=;n++)

        {

        if(random(2))

        {

        board[n-1][-m]=1;

        draw_little_block(MAPXOFT+n,MAPYOFT+-m,1,b);

        }

       }

        }

        while(1)

        {

        while(1)

        {

        i=x0,j=y0;

        style1=random();

        setcolor(); /* 画出下一个方

        块 */

        draw_block(MAPXOFT1,MAPYOFT1,style1,1);

       for(j=y0;j<=;j++)

        {

       while(1)

        {

        if(bioskey(1)) /* 方块的

        调整 */

        {

        key=bioskey(0);

        change(&i,&j,key);

        }

        if(!check_block

        (i,j+1,style)) /* 判断方块能不能下降 */

        break;

        if(j==)

        break;

       if(speed==1)

        {

        draw_block

        (i,j,style,0); /* 方块的下降 */

        j++;

        draw_block

        (i,j,style,1);

        delay();

        }

       if(speed!=1)

        {

        m++;

        delay

        ();

        if(m>=3*(-l))

        {

        m=0;

        draw_block

        (i,j,style,0); /* 方块的下降 */

        j++;

        draw_block

        (i,j,style,1);

        }

        }

       }

       speed=0;

        for(m=0;m<=6;m+=2) /* 对有方块的位置给予1

        的数值 */

        board[i+shapes[style].xy[m]-1]

        [j+shapes[style].xy[m+1]-1]=1;

        if(board[ i][4]==1)

        {

        setcolor();

       settextstyle(0,0,2);

       outtextxy(,,"CAREFUL -_-");

       delay();

       delay();

       setcolor(0);

       outtextxy(,,"CAREFUL -_-");

       settextstyle(0,0,1);

       setcolor(LIGHTRED);

        }

        /* setcolor(LIGHTRED);

        setlinestyle(0,0,1);

        setfillstyle(1,);

        rectangle(,,,);

        floodfill(,,LIGHTRED);*/

        if(l==1) /* 显示当前游戏等级 */

        {

        setcolor(LIGHTRED);

        setlinestyle(0,0,1); /* 容易的速度 */

        setfillstyle(1,);

        rectangle(,,,);

        floodfill(,,LIGHTRED);

        outtextxy(7,," easy speed");

        }

       if(l==4)

        {

        setcolor(BLACK);

        outtextxy(7,," easy speed");

        setcolor(LIGHTRED); /* 中等难度 */

        setlinestyle(0,0,1);

        setfillstyle(1,);

        rectangle(,,,);

        floodfill(,,LIGHTRED);

        outtextxy(7,," normal speed");

        }

        if(l==7)

        {

        setcolor(BLACK);

        outtextxy(7,," normal speed");

        setcolor(LIGHTRED);

        setlinestyle(0,0,1); /* 困难的难度 */

        setfillstyle(1,);

        rectangle(,,,);

        floodfill(,,LIGHTRED);

        outtextxy(7,," hard speed");

        }

        kill_line(j);

        if(j==)

        break;

        if(!check_block(i,j+1,style))

        break;

        }

        draw_block(MAPXOFT1,MAPYOFT1,style1,0);

        /* 对下1个方块显示位置进行覆盖 */

        style=style1; /* 使的方块和显示的方块一样

        */

        if(j==1) /* 关机的画面 */

        {

        setcolor();

        settextstyle(0,0,2);

        outtextxy(,,"GAME OVER");

        outtextxy(,,"THANK YOU");

        sleep(3);

        exit(0);

        }

        }

        }

        }

        getch();

       }

       int change(int *i,int *j,int key) /* 方块的具体的变化(

       移动 变形 下降) */

       {

       if(key==UP&&check_block(*i,*j,shapes[style].next)) /

*

        变形 */

        {

        draw_block(*i,*j,style,0);

        style=shapes[style].next;

        draw_block(*i,*j,style,1);

        }

        else if(key==LEFT&&check_block(*i-1,*j,style)) /* 移动

        */

        {

        draw_block(*i,*j,style,0);

        (*i)--;

        draw_block(*i,*j,style,1);

        }

        else if(key==RIGHT&&check_block(*i+1,*j,style))

        {

        draw_block(*i,*j,style,0);

        (*i)++;

        draw_block(*i,*j,style,1);

        }

        else if(key==DOWN&&check_block(*i,*j+1,style)) /* 下降

        */

        {

        draw_block(*i,*j,style,0);

        (*j)++;

        draw_block(*i,*j,style,1);

        speed=1;

        }

        else if(key==ESC) /* 退出 */

        exit(0);

       }

       void draw_block(int x,int y,int style,int way) /* 画出方块

       的位置 */

       {

        int x1=x+MAPXOFT,y1=y+MAPYOFT;

        int i;

        if(way==1)

        {

        setcolor(WHITE);

       }

        else

        {

        setcolor(BLACK);

        }

        for(i=0;i<=6;i+=2)

        {

        draw_little_block(x1+shapes[style].xy[

        i],y1+shapes[style].xy[i+1],way,style);

        }

       }

       void draw_little_block(int x,int y,int z,int style) /* 画

       出方块的每一个小方块的形状(方块的色彩) */

       { int m,n;

        if(z==1) /* 对色彩的调整 */

        {

        if(0<=style&&style<=3)

        n=2;

        if(4<=style&&style<=7)

        n=3;

        if(8<=style&&style<=)

        n=4;

        if(<=style&&style<=)

        n=5;

        if(<=style&&style<=)

        n=6;

        if(<=style&&style<=)

        n=7;

        if(style==)

        n=8;

        m=1;

        }

        if(z==0)

        {

        m=0,n=0;

        }

       setcolor(m);

        setfillstyle(1,n);

        rectangle(x*,y*,x*+,y*+);

        floodfill(x*+2,y*+2,m);

       }

       void kill_line(int y) /* 消行 */

       {

        int i,t=1,j,k,color=random(7)+1;

        for(;y>=1&&t<=4;y--,t++) /* 对4行进行验证 */

        {

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

        if(!board[i-1][y-1]) /* 严整1行的数组是不是全

        为1 */

        break;

        if(i==)

        {

        setcolor(LIGHTRED); /* 对积分底色的画法

        */

        setlinestyle(0,0,1);

        setfillstyle(1,BLUE);

        rectangle(,,,);

        floodfill(,,LIGHTRED);

       score++; /* 每消去1行 可以得1分 */

        setcolor();

        itoa(score,str,);

        outtextxy(,,str);

        if(score!=0&&score%3==0)

        l++; /* 每次分到一定位置是 速度进

        行提高(目前是3行加1次 可以调整) */

        setcolor(); /* 每次消去是进行庆祝模式 */

        settextstyle(0,0,4);

        outtextxy(,,"COOL");

        outtextxy(,,"^_^");

        delay();

        delay();

        delay();

        setcolor(BLACK);

        settextstyle(0,0,4);

        outtextxy(,,"COOL");

        outtextxy(,,"^_^");

        settextstyle(0,0,1);

        if(score%3==0&&score!=0)

        {

        setcolor();

        settextstyle(0,0,2);

        outtextxy(,,"CONGRATULATION ON YOU ^_^");

        sleep(2);

        setcolor(BLACK);

        settextstyle(0,0,2);

        outtextxy(,,"CONGRATULATION ON YOU ^_^ ");

        settextstyle(0,0,1);

        }

       for(k=1;k<=;k++) /* 对满了行进行消去

        */

        {

        setcolor(BLACK);

        draw_little_block

        (k+MAPXOFT,y+MAPYOFT,0,2);

        }

        for(j=y-1;j>=1;j--) /* 消去1行后 用上面的

        累下来(并且调整色彩) */

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

        {

        board[k-1][j]=board[k-1][j-1];

        if(board[k-1][j])

        {

        setcolor(BLACK);

        draw_little_block

        (k+MAPXOFT,j+MAPYOFT,0,2);

        setcolor(WHITE);

        draw_little_block

        (k+MAPXOFT,j+1+MAPYOFT,1,color);

        }

        }

       delay();

        y++;

        }

        }

       }

       int check_block(int x,int y,int style) /* 验证能不能往下1

       个位置累方块 */

       {

        int x1=x+MAPXOFT,y1=y+MAPYOFT;

        int x2,y2,i;

        for(i=0;i<=6;i+=2)

        {

        x2=x1+shapes[style].xy[ i];

        y2=y1+shapes[style].xy[i+1];

        if(x2>=&&x2<&&y2<&&(y2<6||board[x2-][y2-

        6]==0))

        continue;

        else

        break;

        }

        if(i==8)

        return 1;

        else

        return 0;

        getch();

       }

       我这里也是别人那里看来的。希望对你有用

okio 1.13.0 源码