Commit 38c052e9 authored by 18손재민's avatar 18손재민

특수 방 추가 및 시작 방 생성

parent 98830534
...@@ -52,7 +52,7 @@ MonoBehaviour: ...@@ -52,7 +52,7 @@ MonoBehaviour:
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
grid: {fileID: 0} grid: {fileID: 0}
tetrisMapSize: 1 tetrisMapSize: 24
tetrisMapCoord: {x: 0, y: 0, z: 0} tetrisMapCoord: {x: 0, y: 0, z: 0}
speed: 0 speed: 0
gravity: 0 gravity: 0
...@@ -62,5 +62,12 @@ MonoBehaviour: ...@@ -62,5 +62,12 @@ MonoBehaviour:
spawnBossTetrimino: 0 spawnBossTetrimino: 0
tetrisMap: {fileID: 0} tetrisMap: {fileID: 0}
currentTetrimino: {fileID: 0} currentTetrimino: {fileID: 0}
halfRoomList: normalRoomList:
- {fileID: 114931030853536078, guid: 279f5b34ed5c53545990e499c74cbbe7, type: 2} - {fileID: 114608209787691684, guid: 702a2175c3762fd4b9bc1fac0357a1a0, type: 2}
itemRoomList: []
specialRoomList:
- {fileID: 114076836714455396, guid: 1ec0004bbafe6764d9462251b866e6e6, type: 2}
- {fileID: 114589998919791384, guid: fe17cba28f910e54faf7b866f86bfd3e, type: 2}
- {fileID: 114834209009617488, guid: f6834170b7152ee4db0dc7e165dcca70, type: 2}
- {fileID: 114310635400106216, guid: 7da800d1a4355fd4aa02e3518cd9e1fb, type: 2}
- {fileID: 114495009210863316, guid: 4b147f1162668f44aa55982681399aec, type: 2}
fileFormatVersion: 2
guid: 0aa1c86779a88b84fb24b8cbe899753a
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 1bf0932fb2e139643a2c515c3dadb44e
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
This diff is collapsed.
fileFormatVersion: 2
guid: 702a2175c3762fd4b9bc1fac0357a1a0
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:
...@@ -26,7 +26,7 @@ GameObject: ...@@ -26,7 +26,7 @@ GameObject:
- component: {fileID: 66289433936503254} - component: {fileID: 66289433936503254}
- component: {fileID: 2113883504774285740} - component: {fileID: 2113883504774285740}
m_Layer: 8 m_Layer: 8
m_Name: Room0 m_Name: Room 0(half)
m_TagString: Untagged m_TagString: Untagged
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
......
fileFormatVersion: 2
guid: fb0a6fe7d068d17429ca06fa11f93057
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
This diff is collapsed.
fileFormatVersion: 2
guid: 7da800d1a4355fd4aa02e3518cd9e1fb
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:
This diff is collapsed.
fileFormatVersion: 2
guid: 1ec0004bbafe6764d9462251b866e6e6
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:
This diff is collapsed.
fileFormatVersion: 2
guid: fe17cba28f910e54faf7b866f86bfd3e
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:
This diff is collapsed.
fileFormatVersion: 2
guid: f6834170b7152ee4db0dc7e165dcca70
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:
This diff is collapsed.
fileFormatVersion: 2
guid: 4b147f1162668f44aa55982681399aec
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:
...@@ -14,7 +14,7 @@ public class GameManager : MonoBehaviour { ...@@ -14,7 +14,7 @@ public class GameManager : MonoBehaviour {
// Use this for initialization // Use this for initialization
void Start () { void Start () {
gameState = GameState.Ingame; gameState = GameState.Tetris;
} }
// Update is called once per frame // Update is called once per frame
......
...@@ -12,7 +12,7 @@ public class MapManager : MonoBehaviour { ...@@ -12,7 +12,7 @@ public class MapManager : MonoBehaviour {
/// <summary> /// <summary>
/// Tetris map's size. /// Tetris map's size.
/// </summary> /// </summary>
public float tetrisMapSize = 1; public float tetrisMapSize;
/// <summary> /// <summary>
/// Tetris map's coordinates. /// Tetris map's coordinates.
/// </summary> /// </summary>
...@@ -55,9 +55,17 @@ public class MapManager : MonoBehaviour { ...@@ -55,9 +55,17 @@ public class MapManager : MonoBehaviour {
/// </summary> /// </summary>
public Tetrimino currentTetrimino; public Tetrimino currentTetrimino;
/// <summary> /// <summary>
/// List for the half Room candidates. /// List for the normal Room candidates.
/// </summary> /// </summary>
public HalfRoom[] halfRoomList; public RoomInGame[] normalRoomList;
/// <summary>
/// List for the item Room candidates.
/// </summary>
public RoomInGame[] itemRoomList;
/// <summary>
/// List for the special Room candidates.
/// </summary>
public RoomInGame[] specialRoomList;
/* /*
* functions * functions
...@@ -74,6 +82,14 @@ public class MapManager : MonoBehaviour { ...@@ -74,6 +82,14 @@ public class MapManager : MonoBehaviour {
return new Vector3(Mathf.Round(coord.x), Mathf.Round(coord.y), coord.z); return new Vector3(Mathf.Round(coord.x), Mathf.Round(coord.y), coord.z);
} }
*/ */
public void MoveTetriminoMapCoord(Tetrimino te, Vector3 coord)
{
for(int i = 0; i < te.rooms.Length; i++)
{
te.rooms[i].mapCoord += coord;
}
te.mapCoord += coord;
}
/// <summary> /// <summary>
/// Check if tetrimino is in right x coordinate. /// Check if tetrimino is in right x coordinate.
/// </summary> /// </summary>
...@@ -85,7 +101,7 @@ public class MapManager : MonoBehaviour { ...@@ -85,7 +101,7 @@ public class MapManager : MonoBehaviour {
{ {
if (te.rooms[i].mapCoord.x < 0) if (te.rooms[i].mapCoord.x < 0)
return -1; return -1;
else if (te.rooms[i].mapCoord.x > width - 1) else if (te.rooms[i].mapCoord.x > 9)
return 1; return 1;
} }
return 0; return 0;
...@@ -98,16 +114,22 @@ public class MapManager : MonoBehaviour { ...@@ -98,16 +114,22 @@ public class MapManager : MonoBehaviour {
{ {
while (true) while (true)
{ {
Debug.Log(te.rooms[3].mapCoord);
if (IsRightTetrimino(te) == 1) if (IsRightTetrimino(te) == 1)
{ {
te.mapCoord += new Vector3(-1, 0, 0); Debug.Log("Move Left");
MoveTetriminoMapCoord(te, new Vector3(-1, 0, 0));
} }
else if (IsRightTetrimino(te) == -1) else if (IsRightTetrimino(te) == -1)
{ {
te.mapCoord += new Vector3(1, 0, 0); Debug.Log("Move Right");
MoveTetriminoMapCoord(te, new Vector3(1, 0, 0));
} }
else else
break; {
Debug.Log("return");
return;
}
} }
} }
/// <summary> /// <summary>
...@@ -188,38 +210,20 @@ public class MapManager : MonoBehaviour { ...@@ -188,38 +210,20 @@ public class MapManager : MonoBehaviour {
{ {
} }
/*public void TetriminoMove(Tetrimino te)
{
if (Input.GetKeyDown(KeyCode.LeftArrow) && inTetris)
{
te.transform.position += new Vector3(-tetrisMapSize, 0, 0);
if (IsRightTetrimino(te) != 0)
te.transform.position += new Vector3(tetrisMapSize, 0, 0);
}
else if (Input.GetKeyDown(KeyCode.RightArrow) && inTetris)
{
te.transform.position += new Vector3(tetrisMapSize, 0, 0);
if (IsRightTetrimino(te) != 0)
te.transform.position += new Vector3(-tetrisMapSize, 0, 0);
}
}*/
public void TetriminoMove(Tetrimino te) public void TetriminoMove(Tetrimino te)
{ {
if (Input.GetKeyDown(KeyCode.LeftArrow) && GameManager.gameState == GameManager.GameState.Tetris) if (Input.GetKeyDown(KeyCode.LeftArrow) && GameManager.gameState == GameManager.GameState.Tetris)
{ {
te.mapCoord += new Vector3(-1, 0, 0); MoveTetriminoMapCoord(te, new Vector3(-1, 0, 0));
SetRoomMapCoord(currentTetrimino);
if (IsRightTetrimino(te) != 0) if (IsRightTetrimino(te) != 0)
te.mapCoord += new Vector3(1, 0, 0); MoveTetriminoMapCoord(te, new Vector3(1, 0, 0));
} }
else if (Input.GetKeyDown(KeyCode.RightArrow) && GameManager.gameState == GameManager.GameState.Tetris) else if (Input.GetKeyDown(KeyCode.RightArrow) && GameManager.gameState == GameManager.GameState.Tetris)
{ {
te.mapCoord += new Vector3(1, 0, 0); MoveTetriminoMapCoord(te, new Vector3(1, 0, 0));
SetRoomMapCoord(currentTetrimino);
if (IsRightTetrimino(te) != 0) if (IsRightTetrimino(te) != 0)
te.mapCoord += new Vector3(-1, 0, 0); MoveTetriminoMapCoord(te, new Vector3(-1, 0, 0));
} }
SetRoomMapCoord(currentTetrimino);
} }
public void TetriminoRotate(Tetrimino te) public void TetriminoRotate(Tetrimino te)
{ {
...@@ -229,7 +233,7 @@ public class MapManager : MonoBehaviour { ...@@ -229,7 +233,7 @@ public class MapManager : MonoBehaviour {
{ {
for (int i = 0; i < te.rooms.Length; i++) for (int i = 0; i < te.rooms.Length; i++)
{ {
te.rooms[i].mapCoord = te.mapCoord + te.rooms[i].transform.localPosition; te.rooms[i].mapCoord = te.mapCoord + (te.rooms[i].transform.localPosition / tetrisMapSize);
} }
} }
public void CreateRoom(Tetrimino te) public void CreateRoom(Tetrimino te)
...@@ -237,11 +241,11 @@ public class MapManager : MonoBehaviour { ...@@ -237,11 +241,11 @@ public class MapManager : MonoBehaviour {
for (int i = 0; i < te.rooms.Length; i++) for (int i = 0; i < te.rooms.Length; i++)
{ {
te.rooms[i].transform.parent = grid; te.rooms[i].transform.parent = grid;
te.rooms[i].transform.localScale = new Vector3(1, 1, 1); if (te.rooms[i].itemRoomType != 0) ;
HalfRoom halfRoomUp = Instantiate(halfRoomList[Random.Range(0, halfRoomList.Length)], te.rooms[i].transform.position + new Vector3(0, 12, 0), else if (te.rooms[i].specialRoomType != Room.SpecialRoomType.Normal)
Quaternion.identity, te.rooms[i].transform); Instantiate(specialRoomList[(int)te.rooms[i].specialRoomType], te.rooms[i].transform.position, Quaternion.identity, te.rooms[i].transform);
HalfRoom halfRoomDown = Instantiate(halfRoomList[Random.Range(0, halfRoomList.Length)], te.rooms[i].transform.position + new Vector3(0, 0, 0), else
Quaternion.identity, te.rooms[i].transform); Instantiate(normalRoomList[Random.Range(0, normalRoomList.Length)], te.rooms[i].transform.position, Quaternion.identity, te.rooms[i].transform);
} }
Destroy(te.gameObject); Destroy(te.gameObject);
} }
...@@ -249,7 +253,7 @@ public class MapManager : MonoBehaviour { ...@@ -249,7 +253,7 @@ public class MapManager : MonoBehaviour {
/* /*
* Test * Test
* */ * */
public void Test() public void Test()
{ {
if(Input.GetKeyDown(KeyCode.Alpha0)) if(Input.GetKeyDown(KeyCode.Alpha0))
...@@ -268,7 +272,7 @@ public class MapManager : MonoBehaviour { ...@@ -268,7 +272,7 @@ public class MapManager : MonoBehaviour {
// Update is called once per frame // Update is called once per frame
void Update() { void Update() {
Test(); Test();
//TetriminoMove(currentTetrimino); TetriminoMove(currentTetrimino);
//currentTetrimino.transform.position = currentTetrimino.mapCoord * tetrisMapSize + tetrisMapCoord; currentTetrimino.transform.position = currentTetrimino.mapCoord * tetrisMapSize + tetrisMapCoord;
} }
} }
...@@ -35,7 +35,7 @@ public class Room : MonoBehaviour ...@@ -35,7 +35,7 @@ public class Room : MonoBehaviour
/// <summary> /// <summary>
/// Enum for special room types. /// Enum for special room types.
/// </summary> /// </summary>
public enum SpecialRoomType { Normal, Boss, BothSide, Gold, Amethyst }; public enum SpecialRoomType { Boss, BothSide, Gold, Amethyst, Start, Normal };
/// <summary> /// <summary>
/// Special room types. /// Special room types.
/// </summary> /// </summary>
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
using System.Collections.Generic; using System.Collections.Generic;
using UnityEngine; using UnityEngine;
public class HalfRoom : MonoBehaviour { public class RoomInGame : MonoBehaviour {
/// <summary> /// <summary>
/// The enum for door information. /// The enum for door information.
......
...@@ -21,8 +21,8 @@ public class Test : MonoBehaviour { ...@@ -21,8 +21,8 @@ public class Test : MonoBehaviour {
// Use this for initialization // Use this for initialization
void Start () { void Start () {
} }
// Update is called once per frame // Update is called once per frame
void Update () { void Update () {
......
...@@ -21,7 +21,7 @@ public class TetriminoSpawner : MonoBehaviour { ...@@ -21,7 +21,7 @@ public class TetriminoSpawner : MonoBehaviour {
* functions * functions
* */ * */
/// <summary> /// <summary>
/// Make new Tetrimino on top. /// Make new Tetrimino at top.
/// </summary> /// </summary>
public void MakeTetrimino() public void MakeTetrimino()
{ {
...@@ -37,11 +37,35 @@ public class TetriminoSpawner : MonoBehaviour { ...@@ -37,11 +37,35 @@ public class TetriminoSpawner : MonoBehaviour {
} }
else else
randomTetrimino = TetriminoRandomizer(); randomTetrimino = TetriminoRandomizer();
//MM.currentTetrimino = Instantiate(tetriminoes[randomTetrimino], MM.tetrisMapCoord + MM.tetrisMapSize * new Vector3(randomPosition, MapManager.realHeight + 1, MM.tetrisMapCoord.z), Quaternion.identity); MM.currentTetrimino = Instantiate(tetriminoes[randomTetrimino], MM.tetrisMapCoord + MM.tetrisMapSize * new Vector3(randomPosition, MapManager.realHeight + 1, MM.tetrisMapCoord.z), Quaternion.identity);
MM.currentTetrimino = Instantiate(tetriminoes[randomTetrimino], MM.tetrisMapCoord + MM.tetrisMapSize * new Vector3(0, 0, 0), Quaternion.identity); MM.currentTetrimino.mapCoord = (MM.currentTetrimino.transform.position - MM.tetrisMapCoord) / MM.tetrisMapSize;
MM.SetRoomMapCoord(MM.currentTetrimino);
MM.MakeTetriminoRightPlace(MM.currentTetrimino); MM.MakeTetriminoRightPlace(MM.currentTetrimino);
}
}
/// <summary>
/// Make initial Tetrimino at bottom.
/// </summary>
public void MakeInitialTetrimino()
{
var MM = GameObject.FindGameObjectWithTag("MapManager").GetComponent<MapManager>();
if (!MM.gameOver)
{
int randomPosition = Random.Range(0, MapManager.width);
int randomTetrimino;
if (MM.spawnBossTetrimino)
{
randomTetrimino = 7;
MM.spawnBossTetrimino = false;
}
else
randomTetrimino = TetriminoRandomizer();
MM.currentTetrimino = Instantiate(tetriminoes[randomTetrimino], MM.tetrisMapCoord + MM.tetrisMapSize * new Vector3(randomPosition, 0, MM.tetrisMapCoord.z), Quaternion.identity);
MM.currentTetrimino.rooms[Random.Range(0, MM.currentTetrimino.rooms.Length)].specialRoomType = Room.SpecialRoomType.Start;
MM.currentTetrimino.mapCoord = (MM.currentTetrimino.transform.position - MM.tetrisMapCoord) / MM.tetrisMapSize; MM.currentTetrimino.mapCoord = (MM.currentTetrimino.transform.position - MM.tetrisMapCoord) / MM.tetrisMapSize;
MM.SetRoomMapCoord(MM.currentTetrimino); MM.SetRoomMapCoord(MM.currentTetrimino);
MM.MakeTetriminoRightPlace(MM.currentTetrimino);
MM.CreateRoom(MM.currentTetrimino);
} }
} }
...@@ -75,6 +99,7 @@ public class TetriminoSpawner : MonoBehaviour { ...@@ -75,6 +99,7 @@ public class TetriminoSpawner : MonoBehaviour {
// Use this for initialization // Use this for initialization
void Start () { void Start () {
MakeInitialTetrimino();
MakeTetrimino(); MakeTetrimino();
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment