ajuda exibir resultados simulados em uma liga Game Unity
Página 1 de 1
ajuda exibir resultados simulados em uma liga Game Unity
pessoal tenho um jogo de futebol de botão e nele tem uma liga com 32 equipes o primeiro resultado para mostrar os gols num texto eu consigo simular ja quando fica 16 times sempre mostra algum resultado errado exemplo o vencedor fica com menos gols que o perdedor. aqui esta o codigo do grupo que estou tentando colocar os resultados em textos.
void printTeams8()
{
for (int j = 0; j < 8; j++)
{
int winnerIndex = PlayerPrefs.GetInt("WinnersLevelA" + j.ToString());
int loserIndex = (j * 2) + (PlayerPrefs.GetInt("MatchResultsLevelA" + j.ToString()) == 1 ? 1 : 0);
print("Winners A " + j.ToString() + " Flag Index = " + winnerIndex);
print("Losers A " + j.ToString() + " Flag Index = " + loserIndex);
int goalsWinner = 3; // Substitua isso pelo valor real
int goalsLoser = 0; // Substitua isso pelo valor real
print("Result A " + j.ToString() + ": " + goalsWinner + " x " + goalsLoser);
// Atualize os textos
resultadosTextMesh8[j / 2].text = (winnerIndex == j)
? goalsWinner + " x " + goalsLoser
: goalsLoser + " x " + goalsWinner;
resultadosTextMesh82[j / 2].text = (winnerIndex == j)
? goalsWinner + " x " + goalsLoser
: goalsLoser + " x " + goalsWinner;
}
}
void setLevelBSettings()
{
//set team flags again
for(int i = 0; i < 32; i++) {
LevelATeams[i].GetComponent<Renderer>().material.mainTexture = teams.teamsFlags[PlayerPrefs.GetInt("2TournamentTeams" + i.ToString())];
}
for (int iL = 0; iL < 16; iL++)
{
LevelB0Teams[iL].GetComponent<Renderer>().enabled = true;
LevelB0Teams[iL].GetComponent<Renderer>().material.mainTexture = teams.teamsFlags[PlayerPrefs.GetInt("WinnersLevelLIB" + iL.ToString())];
}
//if we are continuing a tournament, we need to fetch the previous result.
//but if this is the first time we are entering this level, we need to init the arrays. So...
if (PlayerPrefs.HasKey ("WinnersLevelA0")) {
//Fetch group B teams (transfer the winners from Level A to level B)
for (int a = 0; a < 8; a++) {
if (PlayerPrefs.GetInt ("MatchResultsLevelA" + a.ToString ()) == 1)
PlayerPrefs.SetInt ("WinnersLevelA" + a.ToString (), PlayerPrefs.GetInt ("WinnersLevelLIB" + (a * 2).ToString ()));
else
PlayerPrefs.SetInt ("WinnersLevelA" + a.ToString (), PlayerPrefs.GetInt ("WinnersLevelLIB" + ((a * 2) + 1).ToString ()));
LevelBTeams [a].GetComponent<Renderer> ().enabled = true;
LevelBTeams [a].GetComponent<Renderer> ().material.mainTexture = teams.teamsFlags[PlayerPrefs.GetInt ("WinnersLevelA" + a.ToString ())];
}
} else {
//construc 3 fake match result for other events in Level A of tournament
for (int j = 0; j < 8; j++) {
//override for player
if (j == 0) {
PlayerPrefs.SetInt ("MatchResultsLevelA" + j.ToString (), PlayerPrefs.GetInt ("TorunamentMatchResult2"));
} else {
float rnd = Random.value;
if (rnd >= 0.5f)
PlayerPrefs.SetInt ("MatchResultsLevelA" + j.ToString (), 1);
else
PlayerPrefs.SetInt ("MatchResultsLevelA" + j.ToString (), 0);
}
}
//set group B teams (transfer the winners from Level A to level B)
for (int k = 0; k < 8; k++) {
if (PlayerPrefs.GetInt ("MatchResultsLevelA" + k.ToString ()) == 1)
PlayerPrefs.SetInt ("WinnersLevelA" + k.ToString (), PlayerPrefs.GetInt ("WinnersLevelLIB" + (k * 2).ToString ()));
else
PlayerPrefs.SetInt ("WinnersLevelA" + k.ToString (), PlayerPrefs.GetInt ("WinnersLevelLIB" + ((k * 2) + 1).ToString ()));
printTeams8();
LevelBTeams[k].GetComponent<Renderer>().enabled = true;
LevelBTeams[k].GetComponent<Renderer>().material.mainTexture = teams.teamsFlags[PlayerPrefs.GetInt("WinnersLevelA" + k.ToString())];
}
}
}
aqui uma foto da liga vejam os resultados obs os que não estão em branco.
se precisarem de mais detalhes e so pedir.
void printTeams8()
{
for (int j = 0; j < 8; j++)
{
int winnerIndex = PlayerPrefs.GetInt("WinnersLevelA" + j.ToString());
int loserIndex = (j * 2) + (PlayerPrefs.GetInt("MatchResultsLevelA" + j.ToString()) == 1 ? 1 : 0);
print("Winners A " + j.ToString() + " Flag Index = " + winnerIndex);
print("Losers A " + j.ToString() + " Flag Index = " + loserIndex);
int goalsWinner = 3; // Substitua isso pelo valor real
int goalsLoser = 0; // Substitua isso pelo valor real
print("Result A " + j.ToString() + ": " + goalsWinner + " x " + goalsLoser);
// Atualize os textos
resultadosTextMesh8[j / 2].text = (winnerIndex == j)
? goalsWinner + " x " + goalsLoser
: goalsLoser + " x " + goalsWinner;
resultadosTextMesh82[j / 2].text = (winnerIndex == j)
? goalsWinner + " x " + goalsLoser
: goalsLoser + " x " + goalsWinner;
}
}
void setLevelBSettings()
{
//set team flags again
for(int i = 0; i < 32; i++) {
LevelATeams[i].GetComponent<Renderer>().material.mainTexture = teams.teamsFlags[PlayerPrefs.GetInt("2TournamentTeams" + i.ToString())];
}
for (int iL = 0; iL < 16; iL++)
{
LevelB0Teams[iL].GetComponent<Renderer>().enabled = true;
LevelB0Teams[iL].GetComponent<Renderer>().material.mainTexture = teams.teamsFlags[PlayerPrefs.GetInt("WinnersLevelLIB" + iL.ToString())];
}
//if we are continuing a tournament, we need to fetch the previous result.
//but if this is the first time we are entering this level, we need to init the arrays. So...
if (PlayerPrefs.HasKey ("WinnersLevelA0")) {
//Fetch group B teams (transfer the winners from Level A to level B)
for (int a = 0; a < 8; a++) {
if (PlayerPrefs.GetInt ("MatchResultsLevelA" + a.ToString ()) == 1)
PlayerPrefs.SetInt ("WinnersLevelA" + a.ToString (), PlayerPrefs.GetInt ("WinnersLevelLIB" + (a * 2).ToString ()));
else
PlayerPrefs.SetInt ("WinnersLevelA" + a.ToString (), PlayerPrefs.GetInt ("WinnersLevelLIB" + ((a * 2) + 1).ToString ()));
LevelBTeams [a].GetComponent<Renderer> ().enabled = true;
LevelBTeams [a].GetComponent<Renderer> ().material.mainTexture = teams.teamsFlags[PlayerPrefs.GetInt ("WinnersLevelA" + a.ToString ())];
}
} else {
//construc 3 fake match result for other events in Level A of tournament
for (int j = 0; j < 8; j++) {
//override for player
if (j == 0) {
PlayerPrefs.SetInt ("MatchResultsLevelA" + j.ToString (), PlayerPrefs.GetInt ("TorunamentMatchResult2"));
} else {
float rnd = Random.value;
if (rnd >= 0.5f)
PlayerPrefs.SetInt ("MatchResultsLevelA" + j.ToString (), 1);
else
PlayerPrefs.SetInt ("MatchResultsLevelA" + j.ToString (), 0);
}
}
//set group B teams (transfer the winners from Level A to level B)
for (int k = 0; k < 8; k++) {
if (PlayerPrefs.GetInt ("MatchResultsLevelA" + k.ToString ()) == 1)
PlayerPrefs.SetInt ("WinnersLevelA" + k.ToString (), PlayerPrefs.GetInt ("WinnersLevelLIB" + (k * 2).ToString ()));
else
PlayerPrefs.SetInt ("WinnersLevelA" + k.ToString (), PlayerPrefs.GetInt ("WinnersLevelLIB" + ((k * 2) + 1).ToString ()));
printTeams8();
LevelBTeams[k].GetComponent<Renderer>().enabled = true;
LevelBTeams[k].GetComponent<Renderer>().material.mainTexture = teams.teamsFlags[PlayerPrefs.GetInt("WinnersLevelA" + k.ToString())];
}
}
}
aqui uma foto da liga vejam os resultados obs os que não estão em branco.
se precisarem de mais detalhes e so pedir.
claudiano2020- Avançado
- PONTOS : 1678
REPUTAÇÃO : 38
Idade : 37
Respeito as regras :
Re: ajuda exibir resultados simulados em uma liga Game Unity
claudiano2020 escreveu:pessoal tenho um jogo de futebol de botão e nele tem uma liga com 32 equipes o primeiro resultado para mostrar os gols num texto eu consigo simular ja quando fica 16 times sempre mostra algum resultado errado exemplo o vencedor fica com menos gols que o perdedor. aqui esta o codigo do grupo que estou tentando colocar os resultados em textos.
- Código:
void printTeams8()
{
for (int j = 0; j < 8; j++)
{
int winnerIndex = PlayerPrefs.GetInt("WinnersLevelA" + j.ToString());
int loserIndex = (j * 2) + (PlayerPrefs.GetInt("MatchResultsLevelA" + j.ToString()) == 1 ? 1 : 0);
print("Winners A " + j.ToString() + " Flag Index = " + winnerIndex);
print("Losers A " + j.ToString() + " Flag Index = " + loserIndex);
int goalsWinner = 3; // Substitua isso pelo valor real
int goalsLoser = 0; // Substitua isso pelo valor real
print("Result A " + j.ToString() + ": " + goalsWinner + " x " + goalsLoser);
// Atualize os textos
resultadosTextMesh8[j / 2].text = (winnerIndex == j)
? goalsWinner + " x " + goalsLoser
: goalsLoser + " x " + goalsWinner;
resultadosTextMesh82[j / 2].text = (winnerIndex == j)
? goalsWinner + " x " + goalsLoser
: goalsLoser + " x " + goalsWinner;
}
}
void setLevelBSettings()
{
//set team flags again
for(int i = 0; i < 32; i++) {
LevelATeams[i].GetComponent<Renderer>().material.mainTexture = teams.teamsFlags[PlayerPrefs.GetInt("2TournamentTeams" + i.ToString())];
}
for (int iL = 0; iL < 16; iL++)
{
LevelB0Teams[iL].GetComponent<Renderer>().enabled = true;
LevelB0Teams[iL].GetComponent<Renderer>().material.mainTexture = teams.teamsFlags[PlayerPrefs.GetInt("WinnersLevelLIB" + iL.ToString())];
}
//if we are continuing a tournament, we need to fetch the previous result.
//but if this is the first time we are entering this level, we need to init the arrays. So...
if (PlayerPrefs.HasKey ("WinnersLevelA0")) {
//Fetch group B teams (transfer the winners from Level A to level B)
for (int a = 0; a < 8; a++) {
if (PlayerPrefs.GetInt ("MatchResultsLevelA" + a.ToString ()) == 1)
PlayerPrefs.SetInt ("WinnersLevelA" + a.ToString (), PlayerPrefs.GetInt ("WinnersLevelLIB" + (a * 2).ToString ()));
else
PlayerPrefs.SetInt ("WinnersLevelA" + a.ToString (), PlayerPrefs.GetInt ("WinnersLevelLIB" + ((a * 2) + 1).ToString ()));
LevelBTeams [a].GetComponent<Renderer> ().enabled = true;
LevelBTeams [a].GetComponent<Renderer> ().material.mainTexture = teams.teamsFlags[PlayerPrefs.GetInt ("WinnersLevelA" + a.ToString ())];
}
} else {
//construc 3 fake match result for other events in Level A of tournament
for (int j = 0; j < 8; j++) {
//override for player
if (j == 0) {
PlayerPrefs.SetInt ("MatchResultsLevelA" + j.ToString (), PlayerPrefs.GetInt ("TorunamentMatchResult2"));
} else {
float rnd = Random.value;
if (rnd >= 0.5f)
PlayerPrefs.SetInt ("MatchResultsLevelA" + j.ToString (), 1);
else
PlayerPrefs.SetInt ("MatchResultsLevelA" + j.ToString (), 0);
}
}
//set group B teams (transfer the winners from Level A to level B)
for (int k = 0; k < 8; k++) {
if (PlayerPrefs.GetInt ("MatchResultsLevelA" + k.ToString ()) == 1)
PlayerPrefs.SetInt ("WinnersLevelA" + k.ToString (), PlayerPrefs.GetInt ("WinnersLevelLIB" + (k * 2).ToString ()));
else
PlayerPrefs.SetInt ("WinnersLevelA" + k.ToString (), PlayerPrefs.GetInt ("WinnersLevelLIB" + ((k * 2) + 1).ToString ()));
printTeams8();
LevelBTeams[k].GetComponent<Renderer>().enabled = true;
LevelBTeams[k].GetComponent<Renderer>().material.mainTexture = teams.teamsFlags[PlayerPrefs.GetInt("WinnersLevelA" + k.ToString())];
}
}
}
aqui uma foto da liga vejam os resultados obs os que não estão em branco.
se precisarem de mais detalhes e so pedir.
claudiano2020- Avançado
- PONTOS : 1678
REPUTAÇÃO : 38
Idade : 37
Respeito as regras :
Tópicos semelhantes
» Help em exibir informações do personagem na UI do game
» [ Duvida Unity 5.3 ] Exibir score
» ajuda para game de RPG
» (Ajuda) Save Game
» AJUDA PESSOAL QUE ENTENDE DE GOOGLE PLAY GAME SERVICES
» [ Duvida Unity 5.3 ] Exibir score
» ajuda para game de RPG
» (Ajuda) Save Game
» AJUDA PESSOAL QUE ENTENDE DE GOOGLE PLAY GAME SERVICES
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos