MajP
You've got your good things, and you've got mine.
- Local time
- Yesterday, 22:31
- Joined
- May 21, 2018
- Messages
- 9,067
@murray83 started to demo a scrabble game here.
I had a class I have been using to demo moveable controls. I thought I could do something with that. I wanted to see if I could use some "drag and drop" to make this more useable. It worked surprisingly well and makes this feel more like a real game. I have used this moveable control class on several projects and it provides some real utility.
I recently worked with another member on a Risk database and was able to use to use this idea very successfully in tagging risks on schematics of a work location. I figured I try that with simulating a Scrabble tile.
The drag and drop was really easy to implement since I simply reused an existing class. Since that was easy and worked so well, I ended up going down the rabbit hole to see what it would take to make a complete game. That part became very labor intensive. The hard part is the flow of the game and the synchronizing and showing / hiding of buttons and other controls. Nothing real technical but requires a lot of clean code called at the right time. Then you have to account for all the caveats. Player wants to exchange a tile/s, player wins a challenge, player loses a challenge, player creates more than one word, player must play the center tile. Each feature simply added on to the next.
The other thing I wanted to try was finding all words created and score them properly. I thought this would be very challenging and require a complex breadth first or depth first search using a connected graph. Something demonstrated here, and others I have done.
But after some thought spanning all possible words can be done in a simple loop and does not require complex search techniques.
The video demonstrates how to play. It is pretty useable.
Features include.
1. Players choosing tiles to go first
2. Can exchange tiles and lose turn
4. Can accept a played word or challenge it
5. Can search for the challenged word
6 Can win a challenge and current player tiles removed from board
7. Can lose a challenge and challenging player then loses your turn
8. Can find all created words and shows the details for each scored word. It figures out if the Multipliers (Double/Triple leter, Double/Triple word) get applied because they were played in current round not previously on the board.
9. Will draw tiles until no more tiles. (I think. I have not played a full game yet)
10. Allows you to skip if you cannot play a word
11. Adds 50 point bonus if using all 7 letters.
12. Adds and subtracts points when game over and players have tiles in hand.
13. Shows number of each letter played along with total amount.
14. Searchable library
The logic on this is actually very simple.
There is really only one data table. TblGameLetters. It has all information about each letter: Value, SortOrder (set at beginning of game/exchange), status (inhand, onboard, played), what grid it was played in, who played it, when played (round, player turn counter).
Letters that have not been played or in a player had are "popped" off the top and the status is updated. If they are exchanged the status is updated.
There is another table TblBoard that has every control that makes up the board, its multiplier (DW, TW, DL, TL), row, col, and color. The control name is pushed into the tblGameLetters as foreign key once it is played linking the two tables. The row and col allow spanning the grid squares to determine words created.
I think it is pretty useable. I have played a couple games by myself. Simple and easy. I have not tried it with two players, but in theory it could be done because only one hand is shown at a time. It might need a couple more pop up messages to allow a player to click before showing their tiles.
However this is really for demo purposes only to show some things that can be done in access and might be interesting to others. I am sure if you really wanted to play scrabble, an on-line version would be the way to go.
Overview of features:
Demo two words scored:
WordWeave: Scrabble Just Got a Makeover!
Hi, so, a quiz wasn't enough and now I have (why not) made a scrabble game (I also have a point and click adventure game in progress can be found on here) very basic at moment but does have a few scrabble functions which work well (well I think so) On Playing after typing users’ names...
www.access-programmers.co.uk
I had a class I have been using to demo moveable controls. I thought I could do something with that. I wanted to see if I could use some "drag and drop" to make this more useable. It worked surprisingly well and makes this feel more like a real game. I have used this moveable control class on several projects and it provides some real utility.
I recently worked with another member on a Risk database and was able to use to use this idea very successfully in tagging risks on schematics of a work location. I figured I try that with simulating a Scrabble tile.
Solved - User made command button that can be moved with mouse?
haha! We got plenty of liferafts! Thanks MajP, is working good. Attached is idea of the jobs pane. I think when a new dot is moved to the plan/deck then it would ideally open up a new record/job for this new dot that has been added, this would highlight as a new job in the jobs detail pane...
www.access-programmers.co.uk
Class to move about 20 pictures
Hello, I'm building a kind of floor plan. For this I placed 50 image objects on a form. I am able to display certain images (for example a table for 4 persons or a table for 8 persons) on a selected image object. What I want is that these image objects can be moved with MouseDown/MouseMove...
www.access-programmers.co.uk
The drag and drop was really easy to implement since I simply reused an existing class. Since that was easy and worked so well, I ended up going down the rabbit hole to see what it would take to make a complete game. That part became very labor intensive. The hard part is the flow of the game and the synchronizing and showing / hiding of buttons and other controls. Nothing real technical but requires a lot of clean code called at the right time. Then you have to account for all the caveats. Player wants to exchange a tile/s, player wins a challenge, player loses a challenge, player creates more than one word, player must play the center tile. Each feature simply added on to the next.
The other thing I wanted to try was finding all words created and score them properly. I thought this would be very challenging and require a complex breadth first or depth first search using a connected graph. Something demonstrated here, and others I have done.
Optimising Routes
i was going to ask about the piggyback status, and how it worked. You can pick a trip that has 0 vehicles to ship. You will see if another driver has previously driven that trip. Then it will assign the current driver as a piggyback and not increment the number of cars shipped on that trip.
www.access-programmers.co.uk
Route Planning - shortest path
I'm trying to get my head around using the following data to create the shortest route between 2 places in a map using VBA in either excel or access. ID Name Connection 1 Connection 2 1 Location1 2 2 Location2 3 4 3 Location3 2 4 Location4 2 5 5 Location5 3 5 So...
www.access-programmers.co.uk
But after some thought spanning all possible words can be done in a simple loop and does not require complex search techniques.
The video demonstrates how to play. It is pretty useable.
Features include.
1. Players choosing tiles to go first
2. Can exchange tiles and lose turn
4. Can accept a played word or challenge it
5. Can search for the challenged word
6 Can win a challenge and current player tiles removed from board
7. Can lose a challenge and challenging player then loses your turn
8. Can find all created words and shows the details for each scored word. It figures out if the Multipliers (Double/Triple leter, Double/Triple word) get applied because they were played in current round not previously on the board.
9. Will draw tiles until no more tiles. (I think. I have not played a full game yet)
10. Allows you to skip if you cannot play a word
11. Adds 50 point bonus if using all 7 letters.
12. Adds and subtracts points when game over and players have tiles in hand.
13. Shows number of each letter played along with total amount.
14. Searchable library
The logic on this is actually very simple.
There is really only one data table. TblGameLetters. It has all information about each letter: Value, SortOrder (set at beginning of game/exchange), status (inhand, onboard, played), what grid it was played in, who played it, when played (round, player turn counter).
Letters that have not been played or in a player had are "popped" off the top and the status is updated. If they are exchanged the status is updated.
There is another table TblBoard that has every control that makes up the board, its multiplier (DW, TW, DL, TL), row, col, and color. The control name is pushed into the tblGameLetters as foreign key once it is played linking the two tables. The row and col allow spanning the grid squares to determine words created.
I think it is pretty useable. I have played a couple games by myself. Simple and easy. I have not tried it with two players, but in theory it could be done because only one hand is shown at a time. It might need a couple more pop up messages to allow a player to click before showing their tiles.
However this is really for demo purposes only to show some things that can be done in access and might be interesting to others. I am sure if you really wanted to play scrabble, an on-line version would be the way to go.
Overview of features:
Demo two words scored: