Monopoly, a work in progress...
09-06-2014, 03:55 PM (This post was last modified: 09-07-2014 01:23 AM by Waltersmind.)
Post: #1
 (Print Post)
Well here is a prototype copy of Monopoly I've been working on for a while now, this is just the startup of the game, title screens, number of players, human or computer controlled, name, game icon, game options. Its not quite to the point of being able to be played just yet. right now the keys that are used are ENTER, ESC, and the arrow keys. this will eventually be customizable. however using the ENTER key to step past the title screens can cause it to skip the number of players screen. this is an issue that I(along with others) have been battling with for some time in QB64. something to do with the KEYHIT buffer we believe.
.rar  monopoly64.rar (Size: 506.11 KB / Downloads: 61)
.rar  monopoly64SOURCE.rar (Size: 254.32 KB / Downloads: 58)

Monopoly64.rar - compiled version, contains the EXE and DAT file

Monopoly64SOURCE.rar- this is the source files for monopoly that have been finished or are currently being
                                 finished. there are several core functions for the actual game play that have not been
                                 added to this as of yet (this includes most of the stuff that STxAxTIC helped me with)
                                 these will come to be added as the game play portion is in development. QB64 GL will
                                 be needed to compile these(may work with the SDL version but I haven't tried it yet)


Find all posts by this user
Like Post
The following 2 users Like Kobolt's post:
Donald Foster (09-06-2014), Waltersmind (Admin) (09-07-2014)
09-16-2014, 10:41 PM
Post: #2
 (Print Post)
Okay, a little back ground on this game,(or at least my version so far) I was playing this with an emulator a few months ago and found it enjoyable but limited, as there are no options for 'HOUSE' rules nor network play. Now even though I will be adding my own options to the game I am trying to keep to the original game play as much as I can. I'm actually questioning my ability to network the game over the internet(I've tested very simplistic networking with my home network.) but I will put more into this once I get the game itself functional.

As I complete various aspects of the game itself I will post updated compiles and source. the next upload should be of the finished game setup. as this contains most the functionality of the game itself there wont been much to do for basic game play. Big Grin  just have to wait and see how things go.
Find all posts by this user
Like Post
09-21-2014, 03:30 AM
Post: #3
 (Print Post)

As I mentioned on the chatroom, if you need any help with your project, please let us know.

Walter Whitman
The Joyful Programmer

Dedicated to working with computer programming hobbyists, tinkerers, amateurs, and enthusiasts.
Find all posts by this user
Like Post
09-23-2014, 03:24 AM (This post was last modified: 09-23-2014 02:27 PM by Waltersmind.)
Post: #4
 (Print Post)

Here is my answer to your question on the chatroom, about how to spread out the houses on the properties:

Code Snippet: [Select]
Num_Properties = 3
Max_Num_Buildings = 5 * Num_Properties

SCREEN _NEWIMAGE(800, 500, 32)

'-  Create a chart for the data                                                 -
LOCATE 2, 1: PRINT "Number of Buildings:";
FOR i = 0 TO Max_Num_Buildings
    n$ = LTRIM$(RTRIM$(STR$(i)))
    n$ = STRING$(2 - LEN(n$), " ") + n$
    PRINT "  "; n$;
PRINT STRING$(24 + Max_Num_Buildings * 4, "-")

FOR q = 1 TO Num_Properties
    PRINT "Property #"; LTRIM$(RTRIM$(STR$(q))); ":          ";
    FOR b = 0 TO Max_Num_Buildings
        PRINT " "; LTRIM$(RTRIM$(STR$(Num_Buildings(b, Num_Properties, q))));: IF b < Max_Num_Buildings THEN PRINT "  ";


'*                                                                              *
'*  Total_Buildings (In Group) = 0 to (5 * Total_Properties (In Group))         *
'*  Total_Properties (In Group) = 2 or 3                                        *
'*  Current_Property (In Question) = 1 to Total_Properties (In Group)           *
'*                                                                              *
FUNCTION Num_Buildings (Total_Buildings, Total_Properties, Current_Property)

Num_Buildings = INT((Total_Properties / Current_Property + Total_Buildings) * (1 / Total_Properties) - 0.125)


One thing to note, this only works with 2 or 3 properties per group. If you use this algorithm for higher properties, the 0.125 needs to change. Once I got the 2 & 3 properties per group working, I stopped. I did try 4 properties in a group and the algorithm failed. But since this is for Monopoly, which only has 2 & 3 properties per group that can have houses (and hotels), I didn't feel the need to perfect the formula.



Walter Whitman
The Joyful Programmer

Dedicated to working with computer programming hobbyists, tinkerers, amateurs, and enthusiasts.
Find all posts by this user
Like Post
10-10-2014, 12:30 AM (This post was last modified: 12-09-2014 06:43 PM by Kobolt.)
Post: #5
 (Print Post)
Well it took a little longer than I had hoped but here is a test run through the game setup options. everything 'should' work, there is some animations I just realized I've forgotten and the Load Custom Game option is on the back burner for the moment. the keys are Enter & Esc (arrow keys too) but their usage is a little erratic, sometimes the enter is A and sometime its B, I'll get it straightened out later.  This gets you right up to the point of being able to play, the next screen basically tells the player who goes first. Play around with it see if you can get some bugs to rear their ugly heads. There maybe some range checking thats been left out (concerning the houses and hotels, may go negative but I'm pretty sure its range checked.) and error messages, when placeing houses\hotels, aren't setup to display yet. This is mainly dealing with trying to put too many houses on a set of properties or too many hotels. At the moment it will simply skip not telling you that it was an illegal action, it wont place the houses or hotels though(least it shouldn't).

the RAR file contains an exe if you just want to give it a whirl, and it has the source too if you just want to get a headache!. everything should work, but those tend to be last words... Tongue

'----------edit 13-Oct-2014---------
included some minor bug fixes and an information screen at start up describing what keys are used.
'----------edit 09-DEC-2014---------
way behind due to some rewriting to fix some ugly bugs and allow for sounds! but I am still working on it!

Attached File(s)
.rar  monopoly64.rar (Size: 648.89 KB / Downloads: 37)
Find all posts by this user
Like Post
02-19-2017, 09:03 PM
Post: #6
 (Print Post)
Whatever happened to this?
Find all posts by this user
Like Post
07-14-2017, 08:24 PM
Post: #7
 (Print Post)
What happened to it? nothing really, I hit a roadblock figuring out how to implement the AI for the computer players. Then I spent all last year flipping the house that we moved into at the beginning of this year. I still can't figure out how to implement the AI which is where the code pretty much is stuck. The AI plays a big part in the trading, buying  and auctioning properties routines. While I have been playing with the networking code in QB64 until the main code is done I can't add the networking to it. I'll continue to work with my networking routines until I can come up with an eureka! moment for the AI.
There are 8 possible computer opponents and each one 'behaves' in a slightly different way.
Find all posts by this user
Like Post
07-14-2017, 09:18 PM
Post: #8
 (Print Post)
i think the cheap old-fashioned way is to figure out what the perfect/ideal/optimised thing for the ai to do would be, and then "weight" some or other aspects of that differently to get your other "levels" of difficulty or in this instance, other players.

im no expert on the old-fashioned way to do it, if im making it up im happy to take the credit-- but i think more likely it was common practice. a vague hint to be sure-- hey, i dont write games.
Find all posts by this user
Like Post

Forum Jump:

User(s) browsing this thread: 1 Guest(s)

QB64 Member Project - Score 4
QB64 Member Project - Amazon
QB64 Member Project - Line Thickness
QB64 Member Project - Pivet version one
QB64 Member Project - ARB Checkers
QB64 Member Project - Point Blank
QB64 Member Project - Spiro Roses
QB64 Member Project - Splatter
QB64 Member Project - Color Rotating Text
QB64 Member Project - Red Scrolling LED Sign
QB64 Member Project - Bowditch curve
QB64 Member Project - Othello
QB64 Member Project - Algeria Weather
QB64 Member Project - Qubic
QB64 Member Project - Martin Fractals version three
QB64 Member Project - Spinning Color Wheel
QB64 Member Project - Isolation
QB64 Member Project - OpenGL Triangles
QB64 Member Project - RGB Color Wheel
QB64 Member Project - Domain
QB64 Member Project - Connect Four
QB64 Member Project - STxAxTIC 3D World
QB64 Member Project - Dakapo
QB64 Member Project - 9 Board
QB64 Member Project - Martin Fractals version two
QB64 Member Project - Input
QB64 Member Project - Basic Dithering
QB64 Member Project - Touche
QB64 Member Project - Dreamy Clock
QB64 Member Project - Martin Fractals version four
QB64 Member Project - Overboard
QB64 Member Project - MAPTRIANGLE
QB64 Member Project - Inside Moves
QB64 Member Project - Full Color LED Sign
QB64 Member Project - Kings Vallery version two
QB64 Member Project - Martin Fractals version one
QB64 Member Project - Pivot version two
QB64 Member Project - Blokus
QB64 Member Project - Rubix's Magic
QB64 Member Project - Kings Court
QB64 Member Project - Swirl
QB64 Member Project - Quarto
QB64 Member Project - Kings Valley verion one
QB64 Member Project - Kobolts Monopoly
QB64 Member Project - Rotating Background
QB64 Member Project - Color Triangles
QB64 Member Project - Sabotage
QB64 Member Project - Foursight
QB64 Member Project - Exit