Post #1 · Publicado en 2015-09-23 04:55:32pm Hace 8.7 años
Xavious | |
---|---|
Member | |
645 Mensajes | |
Reg. 2007-05-28 | |
Something I'm curious about, and forgive my ignorance, but how possible is having the difficulty names be dynamic based on the rating, like the old ones present in early games?
So instead of a difficulty list like this:
1 BEGINNER
3 BASIC
6 DIFFICULT
8 EXPERT
Something like:
1 SIMPLE
3 ORDINARY
6 GENUINE
8 EXORBITANT
I know the new scale would make this a bit odd, especially due to the lack of names for level 11-20. I'm just wondering how tricky something like this would be to implement, and which SM versions could handle it, if any (most likely SM5, I imagine).
So instead of a difficulty list like this:
1 BEGINNER
3 BASIC
6 DIFFICULT
8 EXPERT
Something like:
1 SIMPLE
3 ORDINARY
6 GENUINE
8 EXORBITANT
I know the new scale would make this a bit odd, especially due to the lack of names for level 11-20. I'm just wondering how tricky something like this would be to implement, and which SM versions could handle it, if any (most likely SM5, I imagine).
Post #2 · Publicado en 2015-09-23 05:25:49pm Hace 8.7 años
Kyzentun | |
---|---|
Member | |
3,209 Mensajes | |
Reg. 2008-02-20 | |
"I'm honestly pissed off." |
It's trivial if you create a custom actor for displaying the difficulty. Just fetch foot rating from the Steps, and use it to look up a name in a list.
-- at global scope
local rating_names= {
"simple", "kantan", "ordinary", "nisemono", "neko", "genuine", "hebi", "exorbitant", "harenchi", "yarashii"
}
-- inside some ActorFrame
Def.BitmapText{
Font= "Common Normal" InitCommand= function(self)
self:xy(_screen.cx*.5, _screen.cy):diffuse{.8, .8, .8, 1}
end,
CurrentStepsP1Changed= function(self)
local foot_rating= GAMESTATE:GetCurrentSteps(PLAYER_1):GetMeter()
-- The 'or' operator returns its second operand if its first operand is false or nil. So this handles the case where foot_rating is
-- greater than #rating_names and there isn't a name for the rating.
local name= rating_names[foot_rating] or "shiranai"
self:settext(name)
end
}
-- at global scope
local rating_names= {
"simple", "kantan", "ordinary", "nisemono", "neko", "genuine", "hebi", "exorbitant", "harenchi", "yarashii"
}
-- inside some ActorFrame
Def.BitmapText{
Font= "Common Normal" InitCommand= function(self)
self:xy(_screen.cx*.5, _screen.cy):diffuse{.8, .8, .8, 1}
end,
CurrentStepsP1Changed= function(self)
local foot_rating= GAMESTATE:GetCurrentSteps(PLAYER_1):GetMeter()
-- The 'or' operator returns its second operand if its first operand is false or nil. So this handles the case where foot_rating is
-- greater than #rating_names and there isn't a name for the rating.
local name= rating_names[foot_rating] or "shiranai"
self:settext(name)
end
}
Post #3 · Publicado en 2015-09-23 05:33:05pm Hace 8.7 años
Xavious | |
---|---|
Member | |
645 Mensajes | |
Reg. 2007-05-28 | |
I figured this might end up being simple, for those in the know at least, thanks.
Post #4 · Publicado en 2015-09-23 06:47:30pm Hace 8.7 años
Quickman | |
---|---|
Member+ | |
6,066 Mensajes | |
Reg. 2013-08-17 | |
"five minute white boy challenge" |
Quote: Xavious
I know the new scale would make this a bit odd, especially due to the lack of names for level 11-20.
1-2 = Beginner
3-4 = Simple
5-6 = Ordinary
7-8 = Genuine
9-10 = Marvelous
11 = Superior
12 = Paramount
13 = Exorbitant
14 = Catastrophic
15 = Awesome
16 = Ridiculous
17 = Unbelieveable
18 = Evolutionary
19 = Revolutionary
20 = ???
(not saying this is how it should be but it's how i'd re-structure it for 1-20)