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

for(int i=0;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

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

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

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

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

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]);

}

}

}

android自定义水管流动,Android水管工游戏的简单脚本相关推荐

  1. 水管工游戏 (深搜)

    水管工游戏 本题依然是采用搜索,深搜,广搜都可以,本代码采用深搜,此题在搜索时需要增加一些判断条件以及下一步要搜索的位置即可. 代码如下: #include<stdio.h> int a[ ...

  2. 水管工游戏——dfs

    问题描述: 水管工游戏是指如下图中的矩阵中,一共有两种管道,一个是直的,一个是弯的,所有管道都可以自由旋转,最终就是要连通入水口可出水口.其中的树为障碍物. 方案: 输入格式:输入的第一行为两个整数N ...

  3. 啊哈算法之水管工游戏

    先给不同状态的水管编给号吧 跟走迷宫一样的,深搜,每个dfs里遍历水管的状态,如果当前状态和水管指向的下一个状态能连通就深搜过去直到走到终点为止 上代码吧,这个代码是加强版,支持了更多的水管的编号,以 ...

  4. 水管工游戏(随机地图版)

    /*水管工游戏 一块快矩形的土地 被分成N*M的单位正方形 现在这个土地上已经买有一些水管   水管将从(1,1)的左上方 延伸到(N,M)d的矩形下方的右下角右部边缘 水管只有两种     &quo ...

  5. tianchai 12023 水管工游戏(DFS搜索)

    题目描述(ID:12023) 标题: 水管工游戏 详情: 这小节有点难,看不太懂可以跳过哦. 最近小哼又迷上一个叫做水管工的游戏.游戏的大致规则是这样的.一块矩形土地被分为N*M的单位正方形,现在这块 ...

  6. 深度搜索--水管工游戏

    package com.xjj.Ah;import java.util.LinkedList;/*----深度搜索--水管工游戏----* 1. remove(),removeFirst():先移除在 ...

  7. android 自定义输入法布局,Android自定义输入法使用方法

    Android自定义输入法使用方法 时间:2017-04-21     来源:Android开发学习网 对于Android用户而言,一般都会使用第三方的输入法.可是在输入密码时(尤其是支付相关的密码) ...

  8. android 自定义dialog样式,Android 自定义dialog类

    首先定制style样式 styles.xml 加入自定义样式 @null true true true @color/transparent @color/transparent true 0.6 在 ...

  9. 推箱子android源代码,android自定义view实现推箱子小游戏

    本文实例为大家分享了android推箱子游戏的具体实现代码,供大家参考,具体内容如下 自定义view: package com.jisai.materialdesigndemo.tuixiangzhi ...

最新文章

  1. 提高C++代码质量 - [083]不要返回局部变量的引用
  2. STM32 SPI NSS 引脚为不能拉高问题
  3. 牛人 20000 字的 Spring Cloud 总结,太硬核了~
  4. 【项目源码分享】基于C++实现的网店购物管理系统(VS2019控制台)
  5. Matlab将多个柱形图放于一个图中
  6. ​vSphere 性能优化方法总结
  7. 高级商务办公软件应用【3】
  8. TransCAD完整视频教程简介
  9. jdk 7 官方下载
  10. 洋桃开发板笔记(五 ) Flash闪存的使用
  11. linux卸载mentohust,Ubuntu安装mentohust
  12. linux下显卡不工作,Ubuntu 12.04下升级Nvidia后Bumblebee无法工作解决
  13. 奇怪的同床人:指纹现象……或state.gov与facebook.com
  14. Windows10 LSTC 2021输入法无法使用的问题
  15. isEmpty与null的区别
  16. LTE Phich 分析
  17. ubuntu18.04 设置字体样式, 调整字体大小
  18. 小米路由器3HD内网穿透成功
  19. 企业为什么使用企业邮箱?为什么用腾讯企业邮箱?
  20. centos 4.4 智能DNS解决南北互通方案

热门文章

  1. flutter配置环境变量时找不到前往~/.bash_profile,找不到
  2. 疯狂动物城简介第一台通用计算机,疯狂动物城 简介
  3. C#事件中sender的小用法
  4. 2022年第十三届蓝桥杯大赛软件类国赛 C/C++ 大学B组
  5. c++----实数类型.
  6. 世界6大主流操作系统回顾
  7. windows中SyncToy(微软同步工具) v2.1汉化版
  8. 如何使定时器1ms进入中断一次?
  9. vue大括号里接受一个函数_vue双花括号的使用方法 附练习题
  10. 谷歌浏览器崩溃设置崩溃_用浏览器崩溃