using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class screensize
{
[RuntimeInitializeOnLoadMethod]
static void OnRuntimeMethodLoad()
{
Screen.SetResolution(1280,720,false);
}
}
public class b_moon : MonoBehaviour
{
int flg=-1;int count=0;int wait=0;int spacewait=0;int level=7;int starcount=25;int score=0;int outflg=0;
int ally;int backy;int pxh;int laststar=-1;int chabans;
int px;int py;int pxx;int pyy;
int[] snum=new int[1000];int[] slv=new int[1000];int[] st=new int[1000];
int[] sx=new int[1000];int[] sy=new int[1000];int[] sxx=new int[1000];int[] syy=new int[1000];int[] sct=new int[7];
int[] hitx=new int[4];int[] hity=new int[4];
string[] datas=new string[700];
int i;int j;int k;int z;int zx;int zy;int r;int ee;int a;int aa;int aaa;int x;int y;int r1;int r2;int ax;int ay;
int xx;int yy;int ii;int jj;int kk;int a1;int a2;int a3;int a4;
int e;int e1;int moves;int mousex;int mousey;
float pxf;float pxxf;float pyf;float pyyf;
float stimef;float ntimef;float stime2f;float ntime2f;float stime3f;float ntime3f;float stime4f;float ntime4f;
float xf;float yf;float af;float kakuf;float axf;float ayf;
string cbdt="022021212221122212end2121121221120end";
string c1;string c2;string c3;string c4;
string d;string dd;string d1;string d2;string d3;string d4;
GUIStyle style1;GUIStyle style2;GUIStyle style3;
GameObject[] obj=new GameObject[2000];
AudioSource bgm1;AudioSource bgm2;AudioSource bgm3;AudioSource bgm4;
void Start()
{
style1=new GUIStyle();style1.fontSize=40;style1.normal.textColor=Color.red;
style2=new GUIStyle();style2.fontSize=16;
style3=new GUIStyle();style3.fontSize=24;style3.normal.textColor=Color.red;
obj[0]=GameObject.Find("ng-mes"); // 0 ng-mes
obj[1]=GameObject.Find("b-moon-back"); // 1 moving-back
obj[2]=GameObject.Find("halfmoon"); // 2 halfmoon
obj[3]=GameObject.Find("b-moon-outline"); // 3 outline
for (i=1;i<=2;i++) {obj[i+3]=GameObject.Find("ufo-"+i);} // 4-5 ufo
for (i=1;i<=2;i++) {obj[i+5]=GameObject.Find("fuki-"+i);} // 6-7 fuki
for (i=1;i<=6;i++) {obj[i+7]=GameObject.Find("rabbit-"+i);} // 8-13 rabbit
for (i=1;i<=2;i++) {obj[i+13]=GameObject.Find("b-moon-name-"+i);} // 14-15 name
for (i=1;i<=7;i++) {obj[i+15]=GameObject.Find("star-"+i);} // 16-22 star-moto
obj[23]=GameObject.Find("gameover-mes-1"); // 23 gameover-mes-blue
obj[24]=GameObject.Find("gameover-mes-2"); // 24 gameover-mes-green
obj[25]=GameObject.Find("gameclear-mes-1"); // 25 gameclear-mes-blue
obj[26]=GameObject.Find("gameclear-mes-2"); // 26 gameclear-mes-green
obj[27]=GameObject.Find("b-moon-title"); // 27 title
obj[28]=GameObject.Find("ya-r-32x32"); // 28 ya
for (i=1;i<=3;i++) {obj[i+28]=GameObject.Find("b-moon-sele-"+i);} // 29-31 select-mess
obj[32]=GameObject.Find("moji-m"); // 32 moji-m
obj[100]=GameObject.Find("b-moon-chaban-back"); // 100 chaban-back
for (i=1;i<=34;i++) {obj[i+100]=GameObject.Find("b-moon-chaban-"+i);} // 101-134 chaban-geki
for (i=0;i<=9;i++)
{
obj[i+200]=GameObject.Find("num-16a-"+i); // 200-209 nums-moto
for (j=1;j<=4;j++) {obj[j*10+i+200]=Object.Instantiate(obj[i+200]) as GameObject;} // 210-249 nums-copy
}
for (i=0;i<=6;i++)
{
for (j=0;j<=99;j++) {obj[i*100+j+300]=Object.Instantiate(obj[i+16]) as GameObject;} // 300-999 stars-copy
}
for (i=0;i<=199;i++) {obj[i+1000]=Object.Instantiate(obj[16]) as GameObject;} // 1000-1199 stars-copy-plus
alldel();
z=100;zx=305;zy=-218;objput();z=0;zx=0;zy=0;objput();
dd="00-375+9750+0+0=/00-325+9250+0+0=/00-375+8750+0+0=/00-325+8250+0+0=/00-375+7750+0+0=/00-325+7250+0+0=/";
dd=dd+"00-375+6750+0+0=/00-325+6250+0+0=/00-375+5750+0+0=/00-325+5250+0+0=/00-375+4750+0+0=/00-325+4250+0+0=/";
dd=dd+"00-375+3750+0+0=/00-325+3250+0+0=/00-375+2750+0+0=/00-325+2250+0+0=/00-375+1750+0+0=/00-325+1250+0+0=/";
dd=dd+"00-375+0750+0+0=/00-175+0500+0+0=/00+000+7250+0+0 /00+000+2750+0+0 /";
dd=dd+"10-150+7750+0+0=/10-150+5750+0+0=/10-150+3750+0+0=/11-150+8750+1+0=/11-150+6750+1+0=/11-150+4750+1+0=/";
dd=dd+"20-225+8250+0+0=/20-225+4250+0+0=/20-175+2250+0+0=/21-225+5250-1+0=/21-225+3250+1+0=/22-075+6250-2+0=/";
dd=dd+"21-225+9500+1+0=/22-075+4250-2+0=/21-225+1750-1+0=/21-225+1000-1+0=/21-075+2750+1+0=/22-075+1250-2+0=/";
dd=dd+"20-250+9000+0+0=/20-275+8000+0+0=/20-275+7000+0+0=/20-275+6000+0+0=/20-275+5000+0+0=/20-275+4000+0+0=/";
dd=dd+"20-275+3000+0+0=/20-275+2000+0+0=/20-275+0500+0+0=/20-025+5750+0+0=/20-025+3750+0+0=/20-025+1750+0+0=/";
dd=dd+"30-100+9750+0+0=/30-075+9000+0+0=/30-025+8500+0+0=/30-075+7500+0+0=/30-225+6500+0+0=/30-250+5500+0+0=/";
dd=dd+"30-025+4750+0+0=/30-275+4500+0+0=/30-100+3500+0+0=/30-125+2500+0+0=/30-125+1500+0+0=/30-100+0750+0+0=/";
dd=dd+"32-250+7750+2+1=/32-250+3750+2+1=/33-100+8000+3+0=/33-100+2000+3+0=/";
dd=dd+"40-150+9500+0+0=/40-175+7500+0+0=/41-125+7000+1+0=/40-100+6500+0+0=/40-125+6000+0+0=/41-100+5500+1+1=/";
dd=dd+"40-125+5250+0+0=/40-125+4500+0+0=/41-150+4000+1+0=/40-125+3250+0+0=/40-050+2250+0+0=/40-250+1250+0+0=/";
dd=dd+"40-125+1000+0+0=/40-075+0500+0+0=/44-150+9250+4+0=/44-150+5000+4+0=/";
dd=dd+"50-150+9000+0+0=/50-075+8750+0+0=/50-225+8000+0+0=/50-275+6750+0+0=/51-075+6750+1+0=/50-075+4750+0+0=/";
dd=dd+"50-100+3750+0+0=/50-025+3000+0+0=/53-275+1500+3+0=/51-300+0750+1+0=/55-200+8500+5+1=/55-225+2250+5-1=/";
dd=dd+"62-250+9750+2+0=/60-050+9500+0+0=/60-350+9000+0+0=/60-350+8000+0+0=/60-025+7750+0+0=/61-275+7500-1+0=/";
dd=dd+"60-350+7000+0+0=/60+025+7000+0+0=/60-275+6500+0+0=/60-350+6000+0+0=/60+000+6000+0+0 /60-025+5250+0+0=/";
dd=dd+"60-350+5000+0+0=/60-350+4000+0+0=/60-025+4000+0+0=/60-350+3000+0+0=/61-150+3000+1+0=/60-350+2000+0+0=/";
dd=dd+"60-200+1250+0+0=/60-350+1000+0+0=/61-175+0750+1+0=/";
dd=dd+"56-300+6000+0+5 /56-100+6000+0+5 /56+100+6000+0+5 /56+300+6000+0+5 /";
dd=dd+"56-300+2000+0+5 /56-100+2000+0+5 /56+100+2000+0+5 /56+300+2000+0+5 /";
dd=dd+"66-350+5900+0+5 /66-250+5900+0+5 /66-150+5900+0+5 /66-050+5900+0+5 /";
dd=dd+"66+050+5900+0+5 /66+150+5900+0+5 /66+250+5900+0+5 /66+350+5900+0+5 /";
dd=dd+"66-350+1900+0+5 /66-250+1900+0+5 /66-150+1900+0+5 /66-050+1900+0+5 /";
dd=dd+"66+050+1900+0+5 /66+150+1900+0+5 /66+250+1900+0+5 /66+350+1900+0+5 /66-050+0300+0+5=/66-050+0250+0+5=/";
dd=dd+"end";
datas=dd.Split('/');
laststar=-1;
for (i=0;i<=6;i++) {sct[i]=0;}
for (i=0;i<700;i++)
{
if (datas[i]=="end") {break;}
else
{
laststar=laststar+1;
d=datas[i];
d1=d.Substring(0,1);slv[laststar]=int.Parse(d1);
d1=d.Substring(1,1);st[laststar]=int.Parse(d1);
d1=d.Substring(2,1);if (d1=="-") {a=-1;} else {a=1;}
d1=d.Substring(3,1);a1=int.Parse(d1);
d2=d.Substring(4,1);a2=int.Parse(d2);
d3=d.Substring(5,1);a3=int.Parse(d3);
sx[laststar]=(a1*100+a2*10+a3)*a;
d1=d.Substring(6,1);if (d1=="-") {a=-1;} else {a=1;}
d1=d.Substring(7,1);a1=int.Parse(d1);
d2=d.Substring(8,1);a2=int.Parse(d2);
d3=d.Substring(9,1);a3=int.Parse(d3);
d4=d.Substring(10,1);a3=int.Parse(d4);
sy[laststar]=(a1*1000+a2*100+a3*10+a4)*a;
d1=d.Substring(11,1);if (d1=="-") {a=-1;} else {a=1;}
d1=d.Substring(12,1);a1=int.Parse(d1);
sxx[laststar]=a1*a;
d1=d.Substring(13,1);if (d1=="-") {a=-1;} else {a=1;}
d1=d.Substring(14,1);a1=int.Parse(d1);
syy[laststar]=a1*a;
aa=300;if (st[laststar]==0 && sct[0]>99) {aa=1000;}
snum[laststar]=st[laststar]*100+sct[st[laststar]]+aa;
sct[st[laststar]]=sct[st[laststar]]+1;if (st[laststar]>0 && sct[st[laststar]]>99) {sct[st[laststar]]=99;}
d1=d.Substring(15,1);
if (d1=="=")
{
sx[laststar+1]=sx[laststar]*-1;sxx[laststar+1]=sxx[laststar]*-1;
sy[laststar+1]=sy[laststar];syy[laststar+1]=syy[laststar];
slv[laststar+1]=slv[laststar];st[laststar+1]=st[laststar];
aa=300;if (st[laststar]==0 && sct[0]>99) {aa=1000;}
snum[laststar+1]=st[laststar+1]*100+sct[st[laststar+1]]+aa;
sct[st[laststar+1]]=sct[st[laststar+1]]+1;if (st[laststar+1]>0 && sct[st[laststar+1]]>99) {sct[st[laststar+1]]=99;}
laststar=laststar+1;
}
}
}
hitx[0]=0;hity[0]=1;hitx[1]=-13;hity[1]=-8;hitx[2]=0;hity[2]=-8;hitx[3]=13;hity[3]=-8;
alldel();z=0;zx=-1000;zy=0;objput();
bgm1=obj[1].GetComponent();bgm2=obj[2].GetComponent();
bgm3=obj[3].GetComponent();bgm4=obj[4].GetComponent();
count=500;flg=-1;
}
void Update()
{
Vector3 mpos=Input.mousePosition;
// xf=mpos.x;yf=mpos.y;
// if (flg>-9) {xf=xf*640/mfx;yf=yf*360/mfy;}
// mousex=(int)xf;mousey=(int)yf;
// c1="X="+mousex.ToString()+" Y="+mousey.ToString();
if (flg==-1)
{
count=count-1;
// if (Input.GetMouseButtonDown(0)) {count=0;}
// if (Input.GetMouseButtonDown(1)) {count=0;}
if (Input.GetKeyDown(KeyCode.Space)) {count=0;spacewait=2;}
// if (Input.GetKeyDown(KeyCode.Return)) {count=0;}
if (count<=0)
{
titleput();flg=0;
}
}
if (flg==0)
{
ntime2f=Time.time;
if (ntime2f-stime2f>=1f)
{
level=level+1;if (level>7) {level=0;}
z=28;zx=-114;zy=128-level*36;objput();
stime2f=Time.time;
}
if (spacewait>0) {spacewait=spacewait-1;}
if (spacewait<=0)
{
if (Input.GetKeyDown(KeyCode.Space))
{
if (level<=6) {gamestart();}
else
{
alldel();
z=1;zx=0;zy=0;objput();z=100;zx=0;zy=40;objput();z=101;objput();
z=10;zx=-365;zy=48;objput();z=15;zx=-365;zy=0;objput();
z=30;zx=0;zy=-40;objput();z=28;zx=-252;zy=-42;objput();
stime2f=Time.time;flg=10;count=0;spacewait=2;chabans=1;
bgmstop();bgm2.Play();stimef=Time.time;
}
}
}
}
if (flg==1 || flg==2)
{
// ufo-turn
if (spacewait>0) {spacewait=spacewait-1;}
if (spacewait<=0)
{
if (Input.GetKeyDown(KeyCode.Space))
{
obj[12].transform.rotation=Quaternion.identity;
if (pxx>0) {pxx=-2;obj[12].transform.Rotate(0,0,30);}
else {pxx=2;obj[12].transform.Rotate(0,0,330);}
}
}
if (wait>0) {wait=wait-1;}
else
{
wait=0;
ally=ally-1;scoreput();
if (flg==1)
{
// back-move
backy=backy+1;if (backy>=40) {backy=0;}
z=1;zx=0;zy=backy;objput();
// moon-outline-move
if (ally<=262)
{
z=2;zx=0;zy=-10-ally;objput();
z=3;zx=0;zy=-33-ally;objput();
}
if (ally<=212) {ally=212;py=py+2;pyy=-2;flg=2;}
}
// ufo-move
// pxx=0;
px=px+pxx;py=py+pyy;
z=4;zx=px;zy=py;objput();z=6;zy=py+60;objput();z=12;zy=py+55;objput();
outflg=0;
if (px<-378 || px>378 || py<=-224) {outflg=1;}
// stars-move
aa=0;
if (starcount<=49) {aa=1;}
if (starcount>=100 && starcount<=149) {aa=-1;}
for (i=0;i<=laststar;i++)
{
if (slv[i]<=level)
{
sx[i]=sx[i]+sxx[i]*aa;
if (sx[i]>-415 && sx[i]<415 && sy[i]-ally>=-255 && sy[i]-ally<=315)
{
if (st[i]<6) {sy[i]=sy[i]+syy[i]*aa;} else {sy[i]=sy[i]+10;}
z=snum[i];zx=sx[i];zy=sy[i]-ally;objput();
for (j=0;j<=3;j++)
{
ax=px-sx[i]+hitx[j];ay=py-(sy[i]-ally)+hity[j];
af=Mathf.Sqrt(ax*ax+ay*ay);
if (af<=20f) {outflg=1;}
}
}
else {z=snum[i];zx=-1000;zy=0;objput();}
}
}
starcount=starcount+1;if (starcount>199) {starcount=0;}
// outflg=0;
}
if (outflg==0 && py>-222 && py<=-186 && px>=-60 && px<=60) {gameclear();}
if (outflg>0) {gameover();}
}
if (flg==1 || flg==2 || flg==10)
{
// bgm-replay
ntimef=Time.time;
if (flg==10)
{
if (ntimef-stimef>=16f) {bgm2.Play();stimef=Time.time;}
}
else
{
if (ntimef-stimef>=22f) {bgm1.Play();stimef=Time.time;}
}
}
if (flg==8)
{
ntime2f=Time.time;
if (ntime2f-stime2f>=0.5f)
{
stime2f=stime2f+0.5f;count=count+1;
z=23;zx=-2000;zy=0;objput();z=24;objput();
z=count%2+23;zx=0;zy=40;objput();
if (count>=12) {titleput();}
}
}
if (flg==9)
{
ntime2f=Time.time;
if (ntime2f-stime2f>=0.5f)
{
stime2f=stime2f+0.5f;count=count+1;
z=25;zx=-2000;zy=0;objput();z=26;objput();z=10;objput();z=11;objput();
z=count%2+25;zx=0;zy=40;objput();z=count%2+10;zx=0;zy=-167;objput();
if (count>=12)
{
z=29;zx=0;zy=-80;objput();
a1=0;if (count%4>=2) {a1=1;}
z=28;zx=a1*310-282;zy=-82;objput();
}
}
if (count>=12)
{
if (spacewait>0) {spacewait=spacewait-1;}
if (spacewait<=0)
{
if (Input.GetKeyDown(KeyCode.Space))
{
if (count%4>=2) {titleput();}
else
{
alldel();
z=1;zx=0;zy=0;objput();z=100;zx=0;zy=40;objput();z=121;objput();
z=2;zx=0;zy=-222;objput();z=3;zx=0;zy=-245;objput();
z=10;zx=-365;zy=48;objput();z=15;zx=-365;zy=0;objput();
z=30;zx=0;zy=-40;objput();z=28;zx=-252;zy=-42;objput();
stime2f=Time.time;flg=10;count=0;spacewait=2;chabans=21;
bgmstop();bgm2.Play();stimef=Time.time;
}
}
}
}
}
if (flg==10)
{
ntime2f=Time.time;
if (ntime2f-stime2f>=0.5f)
{
stime2f=stime2f+0.5f;count=count+1;a1=0;a2=0;a3=0;
d1=cbdt.Substring(chabans,1);
if (d1=="1" || d1=="2") {a1=int.Parse(d1);}
a2=count%2;
if (count%4>=2|| d1=="e") {a3=1;}
for (i=8;i<=11;i++) {z=i;zx=-1000;zy=0;objput();}
if (a1>0) {z=a1*2+a2+6;zx=-365;zy=48;objput();}
z=28;zx=a3*280-252;zy=-42;objput();
}
if (spacewait>0) {spacewait=spacewait-1;}
if (spacewait<=0)
{
if (Input.GetKeyDown(KeyCode.Space))
{
if (a3==1) {titleput();}
else
{
z=chabans+100;zx=-2000;zy=0;objput();
chabans=chabans+1;a1=0;
d1=cbdt.Substring(chabans,1);
if (d1=="1" || d1=="2") {a1=int.Parse(d1);}
for (i=8;i<=15;i++) {z=i;zx=-1000;zy=0;objput();}
if (a1>0) {z=a1*2+6;zx=-365;zy=48;objput();z=a1+13;zx=-365;zy=0;objput();}
z=chabans+100;zx=0;zy=40;objput();z=28;zx=-252;zy=-42;objput();
count=0;
if (d1=="e")
{
z=30;zx=-2000;zy=0;objput();z=31;zx=0;zy=-40;objput();
z=28;zx=28;zy=-42;objput();count=2;
}
stime2f=Time.time;spacewait=2;
}
}
}
}
if (flg>0)
{
// if (Input.GetKeyDown(KeyCode.Escape)) {titleput();}
}
}
void gamestart()
{
alldel();
z=1;zx=0;zy=0;objput();z=4;zx=0;zy=200;objput();z=6;zx=0;zy=260;objput();
z=32;zx=390;zy=320;objput();
z=12;zx=0;zy=255;objput();obj[12].transform.rotation=Quaternion.identity;
pxx=2;obj[12].transform.Rotate(0,0,330);
ally=9999;scoreput();
backy=0;px=0;py=200;pyy=0;starcount=25;
flg=1;spacewait=2;
bgmstop();bgm1.Play();stimef=Time.time;
}
void gameover()
{
z=4;zx=-1000;zy=0;objput();z=12;objput();
z=5;zx=px;zy=py;objput();objput();z=13;zx=px-8;zy=py+62;objput();
z=23;zx=0;zy=40;objput();
stime2f=Time.time;count=0;flg=8;
bgmstop();bgm3.Play();
}
void gameclear()
{
ally=0;scoreput();
z=4;zx=-1000;zy=0;objput();z=6;objput();z=12;objput();
z=25;zx=0;zy=40;objput();z=10;zx=0;zy=-167;objput();
stime2f=Time.time;count=0;flg=9;spacewait=2;
bgmstop();bgm4.Play();
}
void scoreput()
{
score=ally;
if (score<0) {score=0;}
if (score>9999) {score=9999;}
for (i=200;i<=249;i++) {z=i;zx=-2000;zy=0;objput();}
zy=320;aa=0;
a=score/1000;if (a>0) {aa=1;z=a+200;zx=326;objput();}
a=(score%1000)/100;if (a>0 || aa>0) {aa=1;z=a+210;zx=342;objput();}
a=(score%100)/10;if (a>0 || aa>0) {aa=1;z=a+220;zx=358;objput();}
a=score%10;z=a+230;zx=374;objput();
}
void titleput()
{
alldel();bgmstop();flg=0;spacewait=2;z=1;zx=0;zy=0;objput();
z=27;zx=0;zy=0;objput();z=28;zx=-114;zy=128-level*36;objput();
stime2f=Time.time;
bgmstop();flg=0;spacewait=2;
}
void OnGUI()
{
GUI.Label (new Rect (300,80,100,30),c1,style1);
GUI.Label (new Rect (300,160,100,30),c2,style2);
GUI.Label (new Rect (300,240,100,30),c3,style1);
GUI.Label (new Rect (300,320,100,30),c4,style3);
}
void objput()
{
Vector3 pos=obj[z].transform.position;
pos.x=zx*0.01f;pos.y=zy*0.01f;
obj[z].transform.position=pos;
}
void objput2()
{
Vector3 pos=obj[z].transform.position;
pos.x=xf*0.01f;pos.y=yf*0.01f;
obj[z].transform.position=pos;
}
void bgmstop()
{
bgm1.Stop();bgm2.Stop();bgm3.Stop();bgm4.Stop();
}
void alldel()
{
zx=-2000;zy=0;
for (i=0;i<=32;i++) {z=i;objput();}
for (i=100;i<=134;i++) {z=i;objput();}
for (i=200;i<=249;i++) {z=i;objput();}
for (i=300;i<=1199;i++) {z=i;objput();}
z=1;zx=0;zy=0;objput();
obj[12].transform.rotation=Quaternion.identity;
}
}