SoltauFintel / blockpuzzle

Block Puzzle (Android game)
MIT License
38 stars 12 forks source link

Replace rotation button by rotation click event #14

Closed damoasda closed 3 years ago

damoasda commented 3 years ago

@SoltauFintel thanks a lot for your great game, my children and I like it very much! :grinning:

The only thing that bothers me is the rotation button. I takes 3 clicks to rotate a piece. So I modified the code to make it easier:

I'm happy to provide my code changes to you. It's just a quick fix. If you are interested I can do more code cleanup to remove unused code.

SoltauFintel commented 3 years ago

a) Thank you damoasda. This is an important change for the game.

I had already got used to the rotating mode and lost sight of the improvement. At the moment I'm adding new features rather than improving the code. Persistence is my biggest problem. But it's my first Android app (although I've been programming for 35 years). I had already built ACTION_MOVE / ACTION_UP into the map. But it didn't even occur to me to do the same in MainActivity.

I've tested it and it works.

b) Did you also notice when testing on your smartphone that there is a strange effect if you press too long? Would you like to optimize that? see ClusterViewTouchListener

If you are interested I can do more code cleanup to remove unused code.

c) For the rotating mode? Yes, you can please. But please do not remove "R.color.colorDrehmodus, R.color.colorDrehmodus_i, R.color.colorDrehmodus_ib"

d) For other topics/improvements? Please write one issue and just write the topics (and maybe class names).

SoltauFintel commented 3 years ago

e) It is no longer obvious how to rotate a game piece. I will describe this in full_description.txt. Nevertheless, we still have to think about something for in-game. You could initially display a text that will eventually disappear. A tutorial is currently too much effort for me. We have to keep in mind that it should also work for small smartphone screens.

damoasda commented 3 years ago

@SoltauFintel thanks for the detailed feedback.

a) [...] But it's my first Android app (although I've been programming for 35 years).

Congratulations! That's a big success for the first App. And even if you think the code could be optimized – it's working fine and you are learning a lot. So there's nothing wrong.

b) Did you also notice when testing on your smartphone that there is a strange effect if you press too long?

Yes, I could see that problem also before the change. I will investigate to find a fix.

c) For the rotating mode? Yes, you can please.

Sure, I will also provide a cleanup pull request.

d) For other topics/improvements? Please write one issue and just write the topics (and maybe class names).

That's a good approach. Generally, it's your App, so you are the only one who decides what to do. :smiley:

e) [...] Nevertheless, we still have to think about something for in-game. You could initially display a text that will eventually disappear.

I'm not sure if that is really necessary. Just give the App to some children and you will see if it is intuitive enough.

SoltauFintel commented 3 years ago

b) The little problem only arose with the change. Maybe we are misunderstanding each other. It's hard to explain. The "drag thing" should only appear if you move the game pice. If you don't move and press longer the game piece should rotate. At this time it's only perfect if you tap shortly. :-)

damoasda commented 3 years ago

b) Did you also notice when testing on your smartphone that there is a strange effect if you press too long?

See pull request #16 for a fix. Please let me know if the problem still occurs after the code change.

SoltauFintel commented 3 years ago

Since I was unable to describe what the problem is to you, I have now corrected it myself. Dragging and rotating is now perfect. (commit ce67a0c)

The main part is the if(distance(...) thing.

SoltauFintel commented 3 years ago

I'm removing the rotating mode button...

SoltauFintel commented 3 years ago

Version 5.0 will be available in ~3 days on F-Droid.