Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by lfelipecruz · May 04, 2017 at 09:56 AM · score systemhighscoreshighscorescoreboardranking

Highscore with points and time

I'm making a highscore system for my game with the list method and I need to compare points and times to set the rank position.

I've already done this:

A script creates a "playerlist".

 using System;
 using System.IO;
 using System.Collections;
 using System.Collections.Generic;
 using System.Runtime.Serialization.Formatters.Binary;
 
 [Serializable]
 public class players
 
 {
     public List<PlayerData> pdata;
 }   

A script to set strings and ints

     using System;
     using System.IO;
     using System.Collections;
     using System.Collections.Generic;
     using System.Runtime.Serialization.Formatters.Binary;
     
     [Serializable]
     public class PlayerData
 {
         public int rank;
         public string name;
         public string time;
         public int score;
     }
 
 

To set the rank I need to compare score and time between players, if at some point there will be tie by score, the time will set the rank of the player ..

for example,

Player 1 - (Name: Bob - Score: 100 - Time 0:30) Player 2 - (Name: Bill - Score: 100 - Time 0:28)

Player 2 made 100 points in less time, so he will be ahead in rank.

How do I make this comparison to set the rank of each player?

Thanks

Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by FM-Productions · May 05, 2017 at 12:20 PM

You can simply sort your List after a certain criterium, for example the score. And then the rank of the player would simply be the list index + 1. You could also implement your own sorting function as argument in .Sort() if you don't want do consider only the score.

 pdata.Sort((x, y) => x.score > y.score); //either something like this, here you could implement your custom sorting logic

 pdata = pdata.OrderByDescending(x => x.score); //or sort like this after an attribute

 //assigning the ranks - should not be necessary anymore, since the list is already sorted like you want it
 for (int i = 0; i < pdata.Count; i++){
     pdata[i].rank = i+1;
 }


Also, this post should be exactly what you are looking for (in case my code would not work) : http://stackoverflow.com/questions/3309188/how-to-sort-a-listt-by-a-property-in-the-object

Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

4 People are following this question.

avatar image avatar image avatar image avatar image

Related Questions

Score and HighScore saving script [please help] 2 Answers

my code is suppose to store high score and its storing recent score insted and it wont stop if game over and it has an score counter as well plzz help 0 Answers

How to create a HighScore using playerprefs based on passed time? 1 Answer

how to creat and scoring and high score system for an endless runner,how do I display my score on a game over scene and also create and high score system for the same ? 0 Answers

Adding different values to scoreboard 1 Answer


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges