Unity3d脚本Android水管工游戏的简单脚本


    using UnityEngine;     using System.Collections;        public class TestGoto : MonoBehaviour {         public GUISkin skin;         float width;         float height;         public Texture up;         public Texture down;         public Texture right;         public Texture left;         public Texture up_down;         public Texture right_left;         int[] images;         Vector4[] dires;         int flag;         int step;         int coml;         int row;         int m;         int n;         bool isend;         bool iswin;         int[] TF;         void Start () {            //width=80*(Screen.width/480);            width=Screen.width*0.12F;            height=width;            flag=0;            step=0;            row=4;            coml=8;            m=0;            n=0;            iswin=false;            images=new int[32];            dires=new Vector4[32];            TF=new int[32];            for(int k=0;k<=31;k++){              flag=Random.Range(1,7);                images[k]=flag;            }                //level 01         }            void OnGUI(){                     GUI.skin=skin;            GUI.Window(1,new Rect(0,0,Screen.width,Screen.height),ShowWindow,"");               if(isend){                WinOrLose();             }            }         void ShowWindow(int windowID){            if(GUI.Button(new Rect(width*0.2F,0,width,height),"open")){                         isend=true;                    }             for(int j=0;j<row;j++){                for(int i=0;i<coml;i++){                              if(GUI.Button(new Rect(i*width+width*0.2F,(j+1)*height,width,height),select(images[j*coml+i]))){                      step+=1;                      if(images[j*coml+i]<5){                          images[j*coml+i]+=1;                          if(images[j*coml+i]==5){                             images[j*coml+i]=1;                          }                       }else{                          images[j*coml+i]+=1;                          if(images[j*coml+i]==7){                             images[j*coml+i]=5;                          }                       }                  }                     Vector4 dir;                  if(select(images[j*coml+i])==up){                      dir=new Vector4(1,1,0,0);                  }else if(select(images[j*coml+i])==right){                      dir=new Vector4(0,1,1,0);                  }else if(select(images[j*coml+i])==down){                      dir=new Vector4(0,0,1,1);                  }else if(select(images[j*coml+i])==left){                      dir=new Vector4(1,0,0,1);                  }else if(select(images[j*coml+i])==up_down){                      dir=new Vector4(1,0,1,0);                  }else{                      dir=new Vector4(0,1,0,1);                  }                  dires[j*coml+i]=dir;                  //print(j*coml+i+":"+dires[j*coml+i]);                }               }         }         Texture select(int n){             Texture image=new Texture();             switch(n){              case 1:                 image=up;                 break;              case 2:                 image=right;                 break;              case 3:                 image=down;                 break;              case 4:                 image=left;                 break;               case 5:                 image=up_down;                 break;                case 6:                 image=right_left;                 break;                    }            return image;         }         //判断输赢         void WinOrLose(){          switch(images[n*coml+m]){                //第一种类型的图片,向上+向右             // if(dires[n*coml+m].x==1&&dires[n*coml+m].y==1){             case 1:                   if(n==0){                     if(m==0){                                            TF[n*coml+m]=1;                          m++;                     }                      }  //Unity3D教程手册:www.unitymanual.com                   else{                     if(m<(coml-1)){                          if(dires[(n-1)*coml+m].z==1&&dires[n*coml+(m+1)].w==1){                              TF[n*coml+m]=1;                              if(TF[(n-1)*coml+m]==1){                                 m++;                              }                              if(TF[n*coml+(m+1)]==1){                                 n--;                              }                          }                      }                  }                    break;               //第二种类型的图片 向上+向下             // if(dires[n*coml+m].x==1&&dires[n*coml+m].z==1){               case 5:                    if(n==0){                      if(m==0){                                            TF[n*coml+m]=1;                          n++;                      }                      }                        else if(n>0&&n<(row-1)){                      if(dires[(n-1)*coml+m].z==1&&dires[(n+1)*coml+m].x==1){                          TF[n*coml+m]=1;                          if(TF[(n-1)*coml+m]==1){                             n++;                          }                          if(TF[(n+1)*coml+m]==1){                             n--;                          }                      }                                          }                   else{                       if(m==(coml-1)){                            print("1:win!!!");                            iswin=true;                       }                   }  //Unity3D教程手册:www.unitymanual.com                  break;                //第三种类型的图片 向上+向左             // if(dires[n*coml+m].x==1&&dires[n*coml+m].w==1){             case 4:                  if(n>0&&m>0){                      if(dires[(n-1)*coml+m].z==1&&dires[n*coml+(m-1)].w==1){                         TF[n*coml+m]=1;                          if(TF[(n-1)*coml+m]==1){                             m--;                          }                          if(TF[n*coml+(m-1)]==1){                             n--;                          }                      }                              }              break;               //第四种类型的图片 向右+向下             // if(dires[n*coml+m].y==1&&dires[n*coml+m].z==1){             case 2:                   if(n<(row-1)&&m<(coml-1)){                     if(dires[(n+1)*coml+m].x==1&&dires[n*coml+(m+1)].w==1){                        TF[n*coml+m]=1;                        if(TF[(n+1)*coml+m]==1){                             m++;                         }                         if(TF[n*coml+(m+1)]==1){                             n++;                         }                     }                  }                  break;              //第五种类型的图片 向右+向左             //  if(dires[n*coml+m].y==1&&dires[n*coml+m].w==1){             case 6:                   if(m>0&&m<(coml-1)){                     if(dires[n*coml+(m-1)].y==1&&dires[n*coml+(m+1)].w==1){                        TF[n*coml+m]=1;                        if(TF[n*coml+(m-1)]==1){                             m++;                         }                         if(TF[n*coml+(m+1)]==1){                             m--;                         }                     }                  }               //Unity3D:www.unitymanual.com               break;              //第六种类型的图片 向下+向左             //if(dires[n*coml+m].z==1&&dires[n*coml+m].w==1){             case 3:                  if(n==(row-1)&&m==(coml-1)){                      print("2:win!!!");                      iswin=true;                  }                  if(m>0&&n<(row-1)){                     if(dires[n*coml+(m-1)].y==1&&dires[(n+1)*coml+m].x==1){                        TF[n*coml+m]=1;                        if(TF[n*coml+(m-1)]==1){                             n++;                         }                         if(TF[(n+1)*coml+m]==1){                             m--;                         }                     }                  }                 break;         }             if(iswin){            print("i win dlnuchunge");          }           print("n:"+n+"--m:"+m);              for(int a=0;a<32;a++){             print(a+":"+TF[a]);             }       }        }   


更多相关文章

  1. Android从服务器获取图片的实例方法
  2. Android 通过代码设置着色图片
  3. android添加图片到本地,无法即使刷新的解决方法
  4. Android 实现图片加水印
  5. android仿探探图片拖拽功能
  6. android 图片放大缩小
  7. android ImageView实现图片浏览器(点击左侧显示上一张,点击右侧显
  8. android中图片的处理(绘制圆形,圆角||缩略图)
  9. android 比较靠谱的图片压缩

随机推荐

  1. Android(安卓)实现多图分享到微信朋友圈
  2. Android中MPAndroidChart使用Demo
  3. Android客户端+mysql+springmvc服务器端
  4. Android(安卓)NDK:①开发环境的搭建(Wind
  5. Android学习整理之Activity篇
  6. android ndk集成FFmpeg(bug的解决)
  7. Android调用jni时出现java.lang.Unsatisf
  8. Auto.js逆向分析-提取脚本文件(附源码)
  9. 收藏的技术文章链接(ubuntu,python,android
  10. 初探Android程序框架PhoneGap