Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
tetra-tower
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Oenos
tetra-tower
Commits
d00ff497
Commit
d00ff497
authored
Nov 30, 2018
by
18손재민
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
프레스 관련해서 오류 수정함, 이제 서로 떨어져 있는줄 한번에 지울 때 및 여러 줄 시간 차 두고 지울 때 정상적으로 작동함
parent
ca6197e4
Changes
3
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
140 additions
and
99 deletions
+140
-99
MapManager.cs
Assets/Scripts/TetrisMap/MapManager.cs
+93
-69
Press.cs
Assets/Scripts/TetrisMap/Press.cs
+18
-2
TetriminoSpawner.cs
Assets/Scripts/TetrisMap/TetriminoSpawner.cs
+29
-28
No files found.
Assets/Scripts/TetrisMap/MapManager.cs
View file @
d00ff497
This diff is collapsed.
Click to expand it.
Assets/Scripts/TetrisMap/Press.cs
View file @
d00ff497
...
...
@@ -12,14 +12,30 @@ public class Press : MonoBehaviour
/// </summary>
public
float
initialCollapseTime
;
/// <summary>
///
Time press has started to collapsed
.
///
Row the press is accounting for
.
/// </summary>
public
int
row
;
/// <summary>
/// Lowest empty row below this press.
/// </summary>
public
int
bottomRow
;
/// <summary>
/// Created order of this press between simultaneously created presses.
/// </summary>
public
int
createdOrder
;
/// <summary>
/// Number of presses created simultaneously with this press.
/// </summary>
public
int
simultaneouslyCreatedPressNumber
;
/// <summary>
/// Check if this press is on left side or not.
/// </summary>
public
bool
isLeft
;
// Use this for initialization
void
Start
()
{
}
// Update is called once per frame
...
...
Assets/Scripts/TetrisMap/TetriminoSpawner.cs
View file @
d00ff497
...
...
@@ -7,7 +7,7 @@ public class TetriminoSpawner : MonoBehaviour {
/*
* variables
* */
MapManager
MM
;
MapManager
mapManager
;
/// <summary>
/// All tetriminoes.
/// </summary>
...
...
@@ -29,29 +29,30 @@ public class TetriminoSpawner : MonoBehaviour {
/// </summary>
public
void
MakeTetrimino
()
{
if
(!
MM
.
gameOver
)
if
(!
mapManager
.
gameOver
)
{
int
randomPosition
=
Random
.
Range
(
0
,
MapManager
.
width
);
int
randomTetrimino
;
if
(
MM
.
spawnBossTetrimino
)
if
(
mapManager
.
spawnBossTetrimino
)
{
randomTetrimino
=
7
;
MM
.
spawnBossTetrimino
=
false
;
mapManager
.
spawnBossTetrimino
=
false
;
}
else
randomTetrimino
=
TetriminoRandomizer
();
MM
.
currentTetrimino
=
Instantiate
(
tetriminoes
[
randomTetrimino
],
MM
.
tetrisMapCoord
+
MM
.
tetrisMapSize
*
new
Vector3
(
randomPosition
,
MapManager
.
realHeight
+
1
,
MM
.
tetrisMapCoord
.
z
),
Quaternion
.
identity
);
MM
.
currentTetrimino
.
mapCoord
=
(
MM
.
currentTetrimino
.
transform
.
position
-
MM
.
tetrisMapCoord
)
/
MM
.
tetrisMapSize
;
MM
.
SetRoomMapCoord
(
MM
.
currentTetrimino
);
MM
.
MakeTetriminoRightPlace
(
MM
.
currentTetrimino
);
for
(
int
i
=
0
;
i
<
MM
.
currentTetrimino
.
rotatedPosition
.
Length
;
i
++)
mapManager
.
currentTetrimino
=
Instantiate
(
tetriminoes
[
randomTetrimino
],
mapManager
.
tetrisMapCoord
+
mapManager
.
tetrisMapSize
*
new
Vector3
(
randomPosition
,
MapManager
.
realHeight
+
1
,
mapManager
.
tetrisMapCoord
.
z
),
Quaternion
.
identity
);
mapManager
.
currentTetrimino
.
mapCoord
=
(
mapManager
.
currentTetrimino
.
transform
.
position
-
mapManager
.
tetrisMapCoord
)
/
mapManager
.
tetrisMapSize
;
mapManager
.
SetRoomMapCoord
(
mapManager
.
currentTetrimino
);
mapManager
.
MakeTetriminoRightPlace
(
mapManager
.
currentTetrimino
);
for
(
int
i
=
0
;
i
<
mapManager
.
currentTetrimino
.
rotatedPosition
.
Length
;
i
++)
{
if
(
Tetrimino
.
rotationInformation
[(
int
)
MM
.
currentTetrimino
.
tetriminoType
].
horizontalLength
[
i
]
+
MM
.
currentTetrimino
.
mapCoord
.
x
>
MapManager
.
width
)
MM
.
currentTetrimino
.
rotatedPosition
[
i
]
=
MapManager
.
width
-
Tetrimino
.
rotationInformation
[(
int
)
MM
.
currentTetrimino
.
tetriminoType
].
horizontalLength
[
i
];
if
(
Tetrimino
.
rotationInformation
[(
int
)
mapManager
.
currentTetrimino
.
tetriminoType
].
horizontalLength
[
i
]
+
mapManager
.
currentTetrimino
.
mapCoord
.
x
>
MapManager
.
width
)
mapManager
.
currentTetrimino
.
rotatedPosition
[
i
]
=
MapManager
.
width
-
Tetrimino
.
rotationInformation
[(
int
)
mapManager
.
currentTetrimino
.
tetriminoType
].
horizontalLength
[
i
];
else
MM
.
currentTetrimino
.
rotatedPosition
[
i
]
=
(
int
)
MM
.
currentTetrimino
.
mapCoord
.
x
;
mapManager
.
currentTetrimino
.
rotatedPosition
[
i
]
=
(
int
)
mapManager
.
currentTetrimino
.
mapCoord
.
x
;
}
MakeGhost
(
MM
.
currentTetrimino
,
randomTetrimino
);
MakeGhost
(
mapManager
.
currentTetrimino
,
randomTetrimino
);
//MM.controlCurrentTetrimino = true;
}
}
...
...
@@ -60,22 +61,22 @@ public class TetriminoSpawner : MonoBehaviour {
/// </summary>
public
void
MakeInitialTetrimino
()
{
if
(!
MM
.
gameOver
)
if
(!
mapManager
.
gameOver
)
{
int
randomPosition
=
Random
.
Range
(
0
,
MapManager
.
width
);
int
randomTetrimino
=
TetriminoRandomizer
();
MM
.
currentTetrimino
=
Instantiate
(
tetriminoes
[
randomTetrimino
],
MM
.
tetrisMapCoord
+
MM
.
tetrisMapSize
*
new
Vector3
(
randomPosition
,
0
,
MM
.
tetrisMapCoord
.
z
),
Quaternion
.
identity
);
MM
.
startRoom
=
MM
.
currentTetrimino
.
rooms
[
Random
.
Range
(
0
,
MM
.
currentTetrimino
.
rooms
.
Length
)];
MM
.
startRoom
.
specialRoomType
=
Room
.
SpecialRoomType
.
Start
;
MM
.
currentTetrimino
.
mapCoord
=
(
MM
.
currentTetrimino
.
transform
.
position
-
MM
.
tetrisMapCoord
)
/
MM
.
tetrisMapSize
;
MM
.
SetRoomMapCoord
(
MM
.
currentTetrimino
);
MM
.
MakeTetriminoRightPlace
(
MM
.
currentTetrimino
);
for
(
int
i
=
0
;
i
<
MM
.
currentTetrimino
.
rooms
.
Length
;
i
++)
mapManager
.
currentTetrimino
=
Instantiate
(
tetriminoes
[
randomTetrimino
],
mapManager
.
tetrisMapCoord
+
mapManager
.
tetrisMapSize
*
new
Vector3
(
randomPosition
,
0
,
mapManager
.
tetrisMapCoord
.
z
),
Quaternion
.
identity
);
mapManager
.
startRoom
=
mapManager
.
currentTetrimino
.
rooms
[
Random
.
Range
(
0
,
mapManager
.
currentTetrimino
.
rooms
.
Length
)];
mapManager
.
startRoom
.
specialRoomType
=
Room
.
SpecialRoomType
.
Start
;
mapManager
.
currentTetrimino
.
mapCoord
=
(
mapManager
.
currentTetrimino
.
transform
.
position
-
mapManager
.
tetrisMapCoord
)
/
mapManager
.
tetrisMapSize
;
mapManager
.
SetRoomMapCoord
(
mapManager
.
currentTetrimino
);
mapManager
.
MakeTetriminoRightPlace
(
mapManager
.
currentTetrimino
);
for
(
int
i
=
0
;
i
<
mapManager
.
currentTetrimino
.
rooms
.
Length
;
i
++)
{
MM
.
currentTetrimino
.
transform
.
position
=
MM
.
currentTetrimino
.
mapCoord
*
MM
.
tetrisMapSize
+
MM
.
tetrisMapCoord
;
mapManager
.
currentTetrimino
.
transform
.
position
=
mapManager
.
currentTetrimino
.
mapCoord
*
mapManager
.
tetrisMapSize
+
mapManager
.
tetrisMapCoord
;
}
MM
.
UpdateMap
(
MM
.
currentTetrimino
);
MM
.
CreateRoom
(
MM
.
currentTetrimino
);
mapManager
.
UpdateMap
(
mapManager
.
currentTetrimino
);
mapManager
.
CreateRoom
(
mapManager
.
currentTetrimino
);
MakeTetrimino
();
}
}
...
...
@@ -85,11 +86,11 @@ public class TetriminoSpawner : MonoBehaviour {
/// <param name="te">Which tetrimino to make ghost</param>
public
void
MakeGhost
(
Tetrimino
te
,
int
ghostType
)
{
MM
.
currentGhost
=
Instantiate
(
ghosts
[
ghostType
],
te
.
transform
.
position
,
Quaternion
.
identity
);
MM
.
currentGhost
.
mapCoord
=
te
.
mapCoord
;
mapManager
.
currentGhost
=
Instantiate
(
ghosts
[
ghostType
],
te
.
transform
.
position
,
Quaternion
.
identity
);
mapManager
.
currentGhost
.
mapCoord
=
te
.
mapCoord
;
for
(
int
i
=
0
;
i
<
te
.
rooms
.
Length
;
i
++)
{
MM
.
currentGhost
.
rooms
[
i
].
mapCoord
=
te
.
rooms
[
i
].
mapCoord
;
mapManager
.
currentGhost
.
rooms
[
i
].
mapCoord
=
te
.
rooms
[
i
].
mapCoord
;
}
}
...
...
@@ -122,7 +123,7 @@ public class TetriminoSpawner : MonoBehaviour {
* */
private
void
Awake
()
{
MM
=
GameObject
.
Find
(
"MapManager"
).
GetComponent
<
MapManager
>();
mapManager
=
GameObject
.
Find
(
"MapManager"
).
GetComponent
<
MapManager
>();
}
// Use this for initialization
void
Start
()
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment