Sistema de Roleta
4 participantes
Página 1 de 1
Sistema de Roleta
Ola pessoal, eu estou fazendo um sistema de roleta aqui, era gira tudo certinho, mais eu queria sabe como eu faria para verificar o premio, em qual premio a roleta parou.
é em 2D.
Script da Roleta:
é em 2D.
Script da Roleta:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class Casino : MonoBehaviour {
public Button play, sair;
public Text ficha_Text;
private float cronometro;
private bool rodar, contemFichas;
public string nomeCenaJogo = "Menu";
public int fichas;
void Start () {
play.onClick = new Button.ButtonClickedEvent();
play.onClick.AddListener(() => Play());
//
sair.onClick = new Button.ButtonClickedEvent();
sair.onClick.AddListener(() => Sair());
}
void Update () {
if (fichas >= 1) {
contemFichas = true;
} else {
contemFichas = false;
}
if (rodar == true) {
cronometro -= Time.deltaTime;
transform.Rotate (0, 0, cronometro);
}
if (cronometro <= 0) {
cronometro = 0;
rodar = false;
}
ficha_Text.text = " " + fichas;
}
private void Play(){
if (rodar == false && contemFichas == true) {
cronometro = Random.Range (2, 20);
rodar = true;
fichas--;
}
}
private void Sair(){
SceneManager.LoadScene (nomeCenaJogo);
}
}
Duarte- Programador
- PONTOS : 3354
REPUTAÇÃO : 97
Idade : 24
Áreas de atuação : Programação
Desenvolvedor Android
Respeito as regras :
Re: Sistema de Roleta
Cara não sei muito disso mais acho que vc colocando um coliider na ponta da agulha da roleta e varios collider com istrigger marcado nos premios acho que funciona
BRGC- ProgramadorMaster
- PONTOS : 3052
REPUTAÇÃO : 59
Idade : 20
Áreas de atuação : C#, C++, C, Flutter
Respeito as regras :
Re: Sistema de Roleta
Verifica o Angulo em que a roleta parou.. já que vai de 0 a 360 (use localEulerAngles)
Re: Sistema de Roleta
Blz, vou pesquisar aqui sobre (localEulerAngles)MarcosSchultz escreveu:Verifica o Angulo em que a roleta parou.. já que vai de 0 a 360 (use localEulerAngles)
Edit:
Entao, como eu faria para verificar tipo se o angulo esta entre 15 e 45?
Eu queria saber se a parte dos if eu poderia fazer assim, ou eu teria que fazer um if para cada premio?
o Script esta assim:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class Casino : MonoBehaviour {
public Button play, sair;
public Text ficha_Text;
private float cronometro;
private bool rodar, contemFichas, premio;
public string nomeCenaJogo = "Menu";
float grana;
public int fichas;
void Start () {
grana = PlayerPrefs.GetFloat ("Dinheiro");
///////
play.onClick = new Button.ButtonClickedEvent();
play.onClick.AddListener(() => Play());
//
sair.onClick = new Button.ButtonClickedEvent();
sair.onClick.AddListener(() => Sair());
}
void Update () {
if (fichas >= 1) {
contemFichas = true;
} else {
contemFichas = false;
}
if (rodar == true) {
cronometro -= Time.deltaTime;
transform.Rotate (0, 0, cronometro);
}
if (cronometro <= 0) {
cronometro = 0;
rodar = false;
premio = true;
}
//Premiação//
if (premio) {
if (transform.localEulerAngles.z <= 15) {
premio = false;
} else if (transform.localEulerAngles.z <= 15) {
premio = false;
} else if (transform.localEulerAngles.z <= 15) {
premio = false;
} else if (transform.localEulerAngles.z <= 15) {
premio = false;
} else if (transform.localEulerAngles.z <= 15) {
premio = false;
} else if (transform.localEulerAngles.z <= 15) {
premio = false;
} else if (transform.localEulerAngles.z <= 15) {
premio = false;
} else if (transform.localEulerAngles.z <= 15) {
premio = false;
} else if (transform.localEulerAngles.z <= 15) {
premio = false;
} else if (transform.localEulerAngles.z <= 15) {
premio = false;
} else if (transform.localEulerAngles.z <= 15) {
premio = false;
} else if (transform.localEulerAngles.z <= 15) {
premio = false;
} else if (transform.localEulerAngles.z <= 15) {
}
}
///////////////
ficha_Text.text = " " + fichas;
}
private void Play(){
if (rodar == false && contemFichas == true) {
cronometro = Random.Range (2, 20);
rodar = true;
fichas--;
}
}
private void Sair(){
SceneManager.LoadScene (nomeCenaJogo);
}
}
Duarte- Programador
- PONTOS : 3354
REPUTAÇÃO : 97
Idade : 24
Áreas de atuação : Programação
Desenvolvedor Android
Respeito as regras :
Re: Sistema de Roleta
@Up! Desculpem por esta postando novamente!
Eu terminei e aparentemente esta funcionando, irei deixar o Script aqui em baixo para que voces analisem e me digam se esta bom, ou se tem alguma logica errada!
Obrigado a todos!
Eu terminei e aparentemente esta funcionando, irei deixar o Script aqui em baixo para que voces analisem e me digam se esta bom, ou se tem alguma logica errada!
Obrigado a todos!
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class Casino : MonoBehaviour {
public Button play, sair;
public Text ficha_Text, dinheiro_Text;
private float cronometro;
private bool rodar, contemFichas, premio;
public string nomeCenaJogo = "Menu";
float grana;
public int fichas;
void Start () {
cronometro = 0.001f;
grana = PlayerPrefs.GetFloat ("Dinheiro");
///////
play.onClick = new Button.ButtonClickedEvent();
play.onClick.AddListener(() => Play());
//
sair.onClick = new Button.ButtonClickedEvent();
sair.onClick.AddListener(() => Sair());
}
void Update () {
if (fichas >= 1) {
contemFichas = true;
} else {
contemFichas = false;
}
if (rodar == true) {
cronometro -= Time.deltaTime;
transform.Rotate (0, 0, cronometro);
}
if (cronometro <= 0) {
cronometro = 0;
rodar = false;
premio = true;
}
//Premiação//
if (premio) {
if (transform.localEulerAngles.z <= 15f) { //FICHA +1
fichas++;
cronometro = 0.001f;
premio = false;
} else if (transform.localEulerAngles.z >= 15.75f && transform.localEulerAngles.z <= 44.5f) { //+250
grana += 250;
PlayerPrefs.SetFloat ("Dinheiro", grana);
premio = false;
} else if (transform.localEulerAngles.z > 44.5f && transform.localEulerAngles.z <= 73.25f) { //GASOLINA
PlayerPrefs.SetFloat ("Gasolina", 150);
cronometro = 0.001f;
premio = false;
} else if (transform.localEulerAngles.z > 73.25f && transform.localEulerAngles.z <= 105.75f) { //PERDE AS FICHAS
fichas = 0;
cronometro = 0.001f;
premio = false;
} else if (transform.localEulerAngles.z > 105.75f && transform.localEulerAngles.z <= 134.5f) { //GANHA NADA
cronometro = 0.001f;
premio = false;
} else if (transform.localEulerAngles.z > 134.5f && transform.localEulerAngles.z <= 163.25f) { //+1000
grana += 1000;
PlayerPrefs.SetFloat ("Dinheiro", grana);
cronometro = 0.001f;
premio = false;
} else if (transform.localEulerAngles.z > 163.25f && transform.localEulerAngles.z <= 195.25f) { //GASOLINA
PlayerPrefs.SetFloat ("Gasolina", 150);
cronometro = 0.001f;
premio = false;
} else if (transform.localEulerAngles.z > 195.25f && transform.localEulerAngles.z <= 224f) { //+500
grana += 500;
PlayerPrefs.SetFloat ("Dinheiro", grana);
cronometro = 0.001f;
premio = false;
} else if (transform.localEulerAngles.z > 224f && transform.localEulerAngles.z <= 252.75f) { //GANHA NADA
cronometro = 0.001f;
premio = false;
} else if (transform.localEulerAngles.z > 252.75f && transform.localEulerAngles.z <= 285.75f) { //PERDE AS FICHAS
fichas = 0;
cronometro = 0.001f;
premio = false;
} else if (transform.localEulerAngles.z > 285.75f && transform.localEulerAngles.z <= 314.5f) { //GASOLINA
PlayerPrefs.SetFloat ("Gasolina", 150);
premio = false;
} else if (transform.localEulerAngles.z > 314.5f) { //+750
grana += 750;
PlayerPrefs.SetFloat ("Dinheiro", grana);
cronometro = 0.001f;
premio = false;
}
}
///////////////
ficha_Text.text = " " + fichas;
dinheiro_Text.text = "" + grana.ToString ("C");
}
private void Play(){
if (rodar == false && contemFichas == true) {
cronometro = Random.Range (2, 20);
rodar = true;
fichas--;
}
}
private void Sair(){
SceneManager.LoadScene (nomeCenaJogo);
}
}
Duarte- Programador
- PONTOS : 3354
REPUTAÇÃO : 97
Idade : 24
Áreas de atuação : Programação
Desenvolvedor Android
Respeito as regras :
Re: Sistema de Roleta
Tem todos os arquivos dessa roleta ?
Razu- Iniciante
- PONTOS : 1457
REPUTAÇÃO : 0
Respeito as regras :
Tópicos semelhantes
» Roleta
» Jogo de roleta
» Como fazer Sistema Dia e Noite Segui o sistema de Hora
» Roleta ou Cartas randomicas
» Como criar sistema de Habilidades (Skills) para o personagem 2D / e sistema de batalha 2D
» Jogo de roleta
» Como fazer Sistema Dia e Noite Segui o sistema de Hora
» Roleta ou Cartas randomicas
» Como criar sistema de Habilidades (Skills) para o personagem 2D / e sistema de batalha 2D
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos