Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 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 theblackcode · Nov 25, 2014 at 06:43 AM · c#rotationrandomkeypress

How can I make the keys randomly change after each keypress?

Hi guys, I made a Tetris game and want to make the key for rotating the blocks change randomly after each keypress. For example: first time using the "R" button in order to rotate the block but if I want to rotate the same block again, then I need to try another button...

 void Update() {
         if (State != TetrimoState.Fixed && State != TetrimoState.Preview && State != TetrimoState.Spawning) {
             if (State != TetrimoState.Landed && Input.GetAxis("Vertical") < 0)
                 StartCoroutine(FallingDown());
 
             if (Input.GetButtonDown("Horizontal"))
                 StartCoroutine(MoveHorizontal());
 
             // Set "up" as alternative button for Jump (Project => Input)
             if ((Input.GetButton("Jump")) && Time.time > NextSwap) {    
                 if (this.CanRotate) {
                     StartCoroutine(RotateTetrimo());
                     NextSwap = Time.time + SwapCooldown;
                 }
             }
 
             // Automatic falling down
             if (NextFall < 0) {
                 StartCoroutine(FallingDown());
                 NextFall = FallingCooldown;
             }
             NextFall -= FallingSpeed * Time.deltaTime;
         }
 
         if (State == TetrimoState.Preview) {
             transform.Rotate(0, 1f, 0, Space.World);
         }

Comment
Add comment · Show 6
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
avatar image MrSoad · Nov 24, 2014 at 06:42 PM 0
Share

Are you going to tell the player which new key they need to press(like a type $$anonymous$$ching game)? Just a thought as if not it may not be the best design decision otherwise...???

avatar image theblackcode · Nov 24, 2014 at 06:56 PM 0
Share

No, the player have to guess the new key, but the keys might be random numbers from 1 to 7 or random keys as "Z","X","C","V","B","N","$$anonymous$$".

avatar image MrSoad · Nov 24, 2014 at 08:32 PM 0
Share

I think you stand a very high chance of alienating Tetris fans by doing this(your target audience)... It sounds like a frustrating and limiting game mechanic to introduce...

avatar image theblackcode · Nov 24, 2014 at 09:02 PM 0
Share

Yes I know, but it is only an assignment for tomorrow.

avatar image MrSoad · Nov 24, 2014 at 10:08 PM 0
Share

No problem, normally I would not say anything(and should not have really), but as a big Tetris fan I found it impossible not too, sorry! :D

Show more comments

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by AlwaysSunny · Nov 24, 2014 at 10:00 PM

Store a string collection containing your keys.
Pick a random index within the collection's length.
Use the string key at that index as your GetKeyDown argument.
Repeat.

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

Flip over an object (smooth transition) 3 Answers

Random message generator out of control 1 Answer

Making a camera list 1 Answer

How to rotate a character controller by exactly 90 degrees with one key 1 Answer

Child object not rotating as parent 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