Well, I still have the computer part to program, 'course, but littler steps :D
Welcome! Fandoms in the monopoly include Doctor Who, Sherlock, Merlin, Harry Potter, Lord of the Rings and Narnia. You'll see milestones while coding, errors that I have encountered, an "environmental message" , "computer science and careers" that might relate to this program, and how emerging areas of computer science might benefit from this program. Other things include errors that were encountered, the brainstorming before coding. Ryk, happy reading!
Friday, 31 May 2013
Programming User!
Programming the User Bit is almost done! Just have 3 things left - to keep track of the number of get out of St. Mungo's free cards they have; to control the "houses and hotels" and instead of that - count number of turns; and not let them get out of jail unless they choose to pay 50 galleons or use their free get our of jail card.
Bug :P
I created a JOptionPane that tells the user that they have landed.
One OptionPane is shown if it is a buyable property - another for Room of Requirement or St. Mungos (the ones that you can't purchase).
But I was testing my program for input, and haha. It asked whether I wanted to PURCHASE room of requirement. Well, something's wrong. LOOL.
I should probably be discouraged that my program is doing that, but imagine if one could purchase Community Chest or Chance! RUBBER DUCK! That can be a twist I make on my own version of monopoly! Imagine that - one person owning all community chests and chances (in this case, Room of Requirement). If something says like, "Gringotts pays 200 galleons to you," instead of coming from Gringotts, it can be from the person who owns Community Chest! But when it's like, "Pay the Gringotts ___" then instead of paying Gringotts, pay the owner!
Thaaat seems a bit challenging for the user though. So maybe not, hee hee.
One OptionPane is shown if it is a buyable property - another for Room of Requirement or St. Mungos (the ones that you can't purchase).
But I was testing my program for input, and haha. It asked whether I wanted to PURCHASE room of requirement. Well, something's wrong. LOOL.
I should probably be discouraged that my program is doing that, but imagine if one could purchase Community Chest or Chance! RUBBER DUCK! That can be a twist I make on my own version of monopoly! Imagine that - one person owning all community chests and chances (in this case, Room of Requirement). If something says like, "Gringotts pays 200 galleons to you," instead of coming from Gringotts, it can be from the person who owns Community Chest! But when it's like, "Pay the Gringotts ___" then instead of paying Gringotts, pay the owner!
Thaaat seems a bit challenging for the user though. So maybe not, hee hee.
Hurray!
Okay, so I haven't told the user exactly where they are in the program yet. But I'm pretty close to doing that, then I can program the computer part. So the cool thing is that now, you can't just buy any property - I've limited them to only being able to purchase the ones that they are located on (and that is with a coordinate on the player's object).
My program is crashing when the column (object variable for user determining where they are in the monopoly) exceeds 37 (understandably).
So I can do a few things - use if statements up until the number 12 and say that if they are located here __, change the value of column to ___. That would require 12 if/else statements.
I tried using a try catch - it didn't really wok that well.
Another thing that I have to add along the bottom is a button saying, "No thank you" or something like that. Or have a JOptionPane pop up asking if the user would like to buy it. Because right now, you can't see where you are - you have to figure out yourself. This is another reason I put buttons along the bottom saying, "Get User Info" , "Roll Die," and "Get Com Pewter Info."
Anyways, going to take a break from Computer Science - be back during the period, LOL. I suppose I could write the user manual on the way to school, on my phone. That works too. And the environmental message!
My program is crashing when the column (object variable for user determining where they are in the monopoly) exceeds 37 (understandably).
So I can do a few things - use if statements up until the number 12 and say that if they are located here __, change the value of column to ___. That would require 12 if/else statements.
I tried using a try catch - it didn't really wok that well.
Another thing that I have to add along the bottom is a button saying, "No thank you" or something like that. Or have a JOptionPane pop up asking if the user would like to buy it. Because right now, you can't see where you are - you have to figure out yourself. This is another reason I put buttons along the bottom saying, "Get User Info" , "Roll Die," and "Get Com Pewter Info."
Anyways, going to take a break from Computer Science - be back during the period, LOL. I suppose I could write the user manual on the way to school, on my phone. That works too. And the environmental message!
Clearing things up
Okay, the thing that's going to kill my program is not remembering that South and West have to be added backwards. In that case...
North:
0 - Start Adventure
1 - Borgin & Burkes
2 - Room of Requirement
3 - Roland Kerr College
4 - Tax
5 - Tardis
6 - Redhaven
7 - Room of Requirement
8 - Piccadilly Circus
9 - St. Mungos
East:
10 - Platform and 9.75
11 - Speedy's Cafe
12 - Avalon
13 - Isengard
14 - Taxi
15 - Grimmauld Place
16 - Room of Requirement
17 - Quidditch
South:
27 - Go to
26 - Ministry of Magic
25 - Beaversdam
24 - Northumberland Street
23 - 221 B Baker Street
22 - Wardrobe
21 - Aslan's Country
20 - Room of Requirement
19 - Hagrid's Hut
18 - Tavern
West:
35 - Hogwarts
34 - Citadel
33 - Room of Requirement
32 - The Ealdor
31 - Hogwarts Express
30 - Room of Requirement
29 - Bagshot Row
28 - Mordor
North:
0 - Start Adventure
1 - Borgin & Burkes
2 - Room of Requirement
3 - Roland Kerr College
4 - Tax
5 - Tardis
6 - Redhaven
7 - Room of Requirement
8 - Piccadilly Circus
9 - St. Mungos
East:
10 - Platform and 9.75
11 - Speedy's Cafe
12 - Avalon
13 - Isengard
14 - Taxi
15 - Grimmauld Place
16 - Room of Requirement
17 - Quidditch
South:
27 - Go to
26 - Ministry of Magic
25 - Beaversdam
24 - Northumberland Street
23 - 221 B Baker Street
22 - Wardrobe
21 - Aslan's Country
20 - Room of Requirement
19 - Hagrid's Hut
18 - Tavern
West:
35 - Hogwarts
34 - Citadel
33 - Room of Requirement
32 - The Ealdor
31 - Hogwarts Express
30 - Room of Requirement
29 - Bagshot Row
28 - Mordor
Redeclaration of Square Objects
HELLO!
So I had to make changes on the one at home because I didn't need the information on houses anymore. I also had to include all the names of the properties to display that to the screen.
//*******************************************************FIRST SIDE******************************
//Start Square:
square[0].owned = true;
square[0].mortgaged = false;
square[0].buy = 0;
square[0].houseHotel = 0;
square[0].turn = 0;
square[0].payOut = 200;
square[0].rent = 0;
square[0].number = 0;
square[0].name = "Start Adventure";
//Borgin and Burkes:
square [1].owned = false;
square [1].mortgaged = false;
square [1].buy = 60;
square [1].houseHotel = 0;
square [1].turn = 0;
square [1].payOut = 0;
square [1].rent = 20;
//square [1].houseRent = houses*(square[1].houseHotel);
square [1].number = 0;
square[1].name = "Borgin and Burkes";
//Room of Requirement/Pick up a RoR Card:
square [2].owned = true;
square [2].mortgaged = false;
square [2].buy = 0;
square [2].houseHotel = 0;
square [2].turn = 0;
square [2].payOut = 0;
square [2].rent = 0;
//square [2].houseRent = houses*(square[2].houseHotel);
square [2].number = 0;
square[2].name = "Room of Requirement";
//Roland Kerr College:
square [3].owned = false;
square [3].mortgaged = false;
square [3].buy = 60;
square [3].houseHotel = 0;
square [3].turn = 0;
square [3].payOut = 0;
square [3].rent = 20;
//square [3].houseRent = houses*(square[3].houseHotel);
square [3].number = 0;
square[3].name = "Roland Kerr College";
//Camelot Annual Tax:
square [4].owned = true;
square [4].mortgaged = false;
square [4].buy = 0;
square [4].houseHotel = 0;
square [4].turn = 0;
square [4].payOut = 0;
square [4].rent = 200;
//square [4].houseRent = houses*(square[4].houseHotel);
square [4].number = 0;
square[4].name = "Camelot's Annual Tax";
//Tardis
square [5].owned = false;
square [5].mortgaged = false;
square [5].buy = 200;
square [5].houseHotel = 0;
square [5].turn = 0;
square [5].payOut = 0;
square [5].rent = 25;
//square [5].houseRent = houses*(square[5].houseHotel);
square [5].number = 0;
square[5].name = "Tardis";
//Redhaven Property
square [6].owned = false;
square [6].mortgaged = false;
square [6].buy = 100;
square [6].houseHotel = 0;
square [6].turn = 0;
square [6].payOut = 0;
square [6].rent = 80;
// square [6].houseRent = houses*(square[6].houseHotel);
square [6].number = 0;
square [6].name = "Redhaven";
//Room of Requirement/Pick up a RoR Card:
square [7].owned = true;
square [7].mortgaged = false;
square [7].buy = 0;
square [7].houseHotel = 0;
square [7].turn = 0;
square [7].payOut = 0;
square [7].rent = 0;
// square [7].houseRent = houses*(square[7].houseHotel);
square [7].number = 0;
square[7].name = "Room of Requirement";
//Piccadilly Circus
square [8].owned = false;
square [8].mortgaged = false;
square [8].buy = 100;
square [8].houseHotel = 0;
square [8].turn = 0;
square [8].payOut = 0;
square [8].rent = 60;
//square [8].houseRent = houses*(square[8].houseHotel);
square [8].number = 0;
square[8].name = "Piccadilly Circus";
//**********************************************************************Start of New Side*******************************************
//St Mungo
square [9].owned = true;
square [9].mortgaged = false;
square [9].buy = 0;
square [9].houseHotel = 0;
square [9].turn = 0;
square [9].payOut = 0;
square [9].rent = 0;
//square [9].houseRent = houses*(square[9].houseHotel);
square [9].number = 0;
square [9].name = "St. Mungo's";
//Platform 9 and 3/4 Quarters.
square [10].owned = false;
square [10].mortgaged = false;
square [10].buy = 120;
square [10].houseHotel = 0;
square [10].turn = 0;
square [10].payOut = 0;
square [10].rent = 60;
//square [10].houseRent = houses*(square[10].houseHotel);
square [10].number = 0;
square[10].name = "Platform 9 and 3 Quarters";
//Speedy's Cafe in Sherlock
square [11].owned = false;
square [11].mortgaged = false;
square [11].buy = 140;
square [11].houseHotel = 0;
square [11].turn = 0;
square [11].payOut = 0;
square [11].rent = 65;
//square [11].houseRent = houses*(square[11].houseHotel);
square [11].number = 0;
square [11].name = "Speedy's Cafe";
//Lake of Avalon
square [12].owned = false;
square [12].mortgaged = false;
square [12].buy = 150;
square [12].houseHotel = 0;
square [12].turn = 0;
square [12].payOut = 0;
square [12].rent = (2*(die1+die2));
//square [12].houseRent = houses*(square[12].houseHotel);
square [12].number = 0;
square[12].name = "Lake of Avalon";
//Isengard
square [13].owned = false;
square [13].mortgaged = false;
square [13].buy = 140;
square [13].houseHotel = 0;
square [13].turn = 0;
square [13].payOut = 0;
square [13].rent = 70;
// square [13].houseRent = houses*(square[13].houseHotel);
square [13].number = 0;
square [13].name = "Isengard";
//Taxi:
square [14].owned = false;
square [14].mortgaged = false;
square [14].buy = 200;
square [14].houseHotel = 0;
square [14].turn = 0;
square [14].payOut = 0;
square [14].rent = 25;
//square [14].houseRent = houses*(square[14].houseHotel);
square [14].number = 0;
square [14].name = "Take a Taxi";
//Grimmauld Place:
square [15].owned = false;
square [15].mortgaged = false;
square [15].buy = 160;
square [15].houseHotel = 0;
square [15].turn = 0;
square [15].payOut = 0;
square [15].rent = 50;
//square [15].houseRent = houses*(square[15].houseHotel);
square [15].number = 0;
square [15].name = "Grimmauld Place";
//Room of Requirement/Pick up a RoR Card:
square [16].owned = true;
square [16].mortgaged = false;
square [16].buy = 0;
square [16].houseHotel = 0;
square [16].turn = 0;
square [16].payOut = 0;
square [16].rent = 0;
//square [16].houseRent = houses*(square[16].houseHotel);
square [16].number = 0;
square [16].name = "Room of Requirement";
//Quidditch Pitch
square [17].owned = false;
square [17].mortgaged = false;
square [17].buy = 180;
square [17].houseHotel = 0;
square [17].turn = 0;
square [17].payOut = 0;
square [17].rent = 70;
//square [17].houseRent = houses*(square[17].houseHotel);
square [17].number = 0;
square [17].name = "Quidditch Pitch";
//**********************************************START OF NEW SIDE****************************************************
//The Tavern (Free Parking)
square [18].owned = true;
square [18].mortgaged = false;
square [18].buy = 0;
square [18].houseHotel = 0;
square [18].turn = 0;
square [18].payOut = pot;
square [18].rent = 0;
//square [18].houseRent = houses*(square[18].houseHotel);
square [18].number = 0;
square [18].name = "Rising Sun: The Tavern";
//Hagrid's Hut
square [19].owned = false;
square [19].mortgaged = false;
square [19].buy = 220;
square [19].houseHotel = 0;
square [19].turn = 0;
square [19].payOut = 0;
square [19].rent = 75;
//square [19].houseRent = houses*(square[19].houseHotel);
square [19].number = 0;
square [19].name = "Hagrid's Hut";
//Room of Requirement/Pick up a RoR Card:
square [20].owned = true;
square [20].mortgaged = false;
square [20].buy = 0;
square [20].houseHotel = 0;
square [20].turn = 0;
square [20].payOut = 0;
square [20].rent = 0;
//square [20].houseRent = houses*(square[20].houseHotel);
square [20].number = 0;
square[20].name = "Room of Requirement";
//Aslan's Country
square [21].owned = false;
square [21].mortgaged = false;
square [21].buy = 220;
square [21].houseHotel = 0;
square [21].turn = 0;
square [21].payOut = 0;
square [21].rent = 75;
//square [21].houseRent = houses*(square[21].houseHotel);
square [21].number = 0;
square [21].name = "Aslan's Country";
//Enter Wardrobe
square [22].owned = false;
square [22].mortgaged = false;
square [22].buy = 200;
square [22].houseHotel = 0;
square [22].turn = 0;
square [22].payOut = 0;
square [22].rent = 25;
//square [22].houseRent = houses*(square[22].houseHotel);
square [22].number = 0;
square [22].name = "Enter the Wardrobe";
//221 Baker Street
square [23].owned = false;
square [23].mortgaged = false;
square [23].buy = 240;
square [23].houseHotel = 0;
square [23].turn = 0;
square [23].payOut = 0;
square [23].rent = 75;
//square [23].houseRent = houses*(square[23].houseHotel);
square [23].number = 0;
square [23].name = "221 B Baker Street";
//Northumberland Street
square [24].owned = false;
square [24].mortgaged = false;
square [24].buy = 260;
square [24].houseHotel = 0;
square [24].turn = 0;
square [24].payOut = 0;
square [24].rent = 70;
//square [24].houseRent = houses*(square[24].houseHotel);
square [24].number = 0;
square [24].name = "Northumberland Street";
//Beaversdam
square [25].owned = false;
square [25].mortgaged = false;
square [25].buy = 250;
square [25].houseHotel = 0;
square [25].turn = 0;
square [25].payOut = 0;
square [25].rent = 2*(die1+die2);
//square [25].houseRent = houses*(square[25].houseHotel);
square [25].number = 0;
square [25].name = "Beaversdam";
//Ministry of Magic
square [26].owned = false;
square [26].mortgaged = false;
square [26].buy = 280;
square [26].houseHotel = 0;
square [26].turn = 0;
square [26].payOut = 0;
square [26].rent = 75;
//square [26].houseRent = houses*(square[26].houseHotel);
square [26].number = 0;
square [26].name = "Ministry of Magic";
//********************************************************LAST LINE***************************************************
//Go to Jail.
square [27].owned = true;
square [27].mortgaged = false;
square [27].buy = 0;
square [27].houseHotel = 0;
square [27].turn = 0;
square [27].payOut = 0;
square [27].rent = 0;
//square [27].houseRent = 0;
square [27].number = 0;
square [27].name = "Go to St. Mungos";
//Mordor
square [28].owned = false;
square [28].mortgaged = false;
square [28].buy = 300;
square [28].houseHotel = 0;
square [28].turn = 0;
square [28].payOut = 0;
square [28].rent = 80;
//square [28].houseRent = houses*(square[28].houseHotel);
square [28].number = 0;
square [28].name = "Mordor";
//Bagshot Row
square [29].owned = false;
square [29].mortgaged = false;
square [29].buy = 300;
square [29].houseHotel = 0;
square [29].turn = 0;
square [29].payOut = 0;
square [29].rent = 80;
//square [29].houseRent = houses*(square[29].houseHotel);
square [29].number = 0;
square [29].name = "Bagshot Row";
//Room of Requirement
square [30].owned = true;
square [30].mortgaged = false;
square [30].buy = 0;
square [30].houseHotel = 0;
square [30].turn = 0;
square [30].payOut = 0;
square [30].rent = 0;
//square [30].houseRent = houses*(square[30].houseHotel);
square [30].number = 0;
square [30].name = "Room of Requirement";
//Hogwarts Express
square [31].owned = false;
square [31].mortgaged = false;
square [31].buy = 200;
square [31].houseHotel = 0;
square [31].turn = 0;
square [31].payOut = 0;
square [31].rent = 25;
//square [31].houseRent = houses*(square[31].houseHotel);
square [31].number = 0;
square [31].name = "Hogwarts Express";
//Ealdor
square [32].owned = false;
square [32].mortgaged = false;
square [32].buy = 320;
square [32].houseHotel = 0;
square [32].turn = 0;
square [32].payOut = 0;
square [32].rent = 85;
//square [32].houseRent = houses*(square[32].houseHotel);
square [32].number = 0;
square [32].name = "The Ealdor";
//Room of Requirement
square [33].owned = true;
square [33].mortgaged = false;
square [33].buy = 0;
square [33].houseHotel = 0;
square [33].turn = 0;
square [33].payOut = 0;
square [33].rent = 0;
//square [33].houseRent = houses*(square[33].houseHotel);
square [33].number = 0;
square [33].name = "Room of Requirement";
//Camelot's Citadel
square [34].owned = false;
square [34].mortgaged = false;
square [34].buy = 350;
square [34].houseHotel = 0;
square [34].turn = 0;
square [34].payOut = 0;
square [34].rent = 100;
// square [34].houseRent = houses*(square[34].houseHotel);
square [34].number = 0;
square [34].name = "Camelot's Citadel";
//Hogwarts
square [35].owned = false;
square [35].mortgaged = false;
square [35].buy = 400;
square [35].houseHotel = 0;
square [35].turn = 0;
square [35].payOut = 0;
square [35].rent = 100;
//square [35].houseRent = houses*(square[35].houseHotel);
square [35].number = 0;
square [35].name = "Hogwarts";
Thursday, 30 May 2013
Planning
With the help of +Vivian Luu, I chose to do the second option - where a user clicks a button containing all the information of where they are in the array.
So, on the screen, there are a couple things that should be displayed including:
I DID IT! I DID IT! IT LOOKS SO PREEETY NOW :)
So, on the screen, there are a couple things that should be displayed including:
- Number of Galleons
- List of Properties
- Where they are on the board
- Whether they have a get out of jail free card
- The number of times the opponent has landed on the property
Thaaat's pretty much all I can think of for now. I can always make the changes though. Okay, here goes.
Also, I compiled a bunch of pictures for the game board (as a home screen); and this is the final version:
I DID IT! I DID IT! IT LOOKS SO PREEETY NOW :)
I HASES A SOLUTION!
So I "talked" (technically emailed) Ryk about not using the moving of the pawns.
He said that I can have a bunch of other pictures that has player 1 on the left; another picture with player 2 on the right; and then a picture with both of them on the same pawn.
Another option would be just getting the user to press "Get Information" or something and they can see where they are on the board (they will get notified with a JOptionPane anyways), how much they have in their Gringotts Account, what their pictury thingy is............
He said that I can have a bunch of other pictures that has player 1 on the left; another picture with player 2 on the right; and then a picture with both of them on the same pawn.
Another option would be just getting the user to press "Get Information" or something and they can see where they are on the board (they will get notified with a JOptionPane anyways), how much they have in their Gringotts Account, what their pictury thingy is............
Wednesday, 29 May 2013
UH OH (big one)
I asked Ryk about the JLayeredPanes about the movement of monopoly. And he wasn't sure, so he called Justin over. Justin looked through every inch of the code, and couldn't find anything wrong. It still looks like this:
Tell me, Harry, what exactly is the function of a rubber duck continued.
This is what I have in my program when I create the JLabel. And nowhere, do I say that I am putting it in the centre.
Object[] possibleValues = { "Dragooon, The Great", "Aslan", "Bilbo", "Luna Lovegood" , "Sherlock Holmes"};
Object selectedValue = JOptionPane.showInputDialog(frame, "What character would you like to be? ", "Character", JOptionPane.INFORMATION_MESSAGE, null, possibleValues, possibleValues[0]);
if (selectedValue.equals("Dragooon, The Great"))
{
characterUser = new JLabel(new ImageIcon("C"+1+".png"));
if (tracing) System.out.println("Dragoon the Great: " + characterUser);
} //end of if statement
else if (selectedValue.equals("Aslan"))
{
characterUser = new JLabel(new ImageIcon("C"+2+".png"));
if (tracing) System.out.println("Aslan: " + characterUser);
} //end of else if statement
else if (selectedValue.equals("Bilbo"))
{
characterUser = new JLabel(new ImageIcon("C"+3+".png"));
if (tracing) System.out.println("Bilbo: " + characterUser);
} //end of if statement
else if (selectedValue.equals("Luna Lovegood"))
{
characterUser = new JLabel(new ImageIcon("C"+4+".png"));
if (tracing) System.out.println("Luna Lovegood: " + characterUser);
} //end of else if statement
else if (selectedValue.equals("Sherlock Holmes"))
{
characterUser = new JLabel(new ImageIcon("C"+5+".png"));
if (tracing) System.out.println("Sherlock Holmes: " + characterUser);
} //end of if statement
So in the method that I add the picture to the frame (it is also in the last post), this is what pops up instead:
Tell me, Harry, what exactly is the function of a rubber duck?
Siriusly! I'm getting distracted by that :)
Anyways, I tried to add the pawns to my board, but it added *IN THE MIDDLE* instead of on the board! I even changed the coordinates from (2, 48) to (100, 100) and it didn't change a thing! I'm even adding it in the NORTH panel and it still shows up in the middle! DARRNIT! Something's gone entirely wrong o-O
SHEEESH! I set these locations: 1458 , 575 and IT STILL DISPLAYS IN THE MIDDLE!
I don't want to bother Ryk about it, but this is getting so freaken annoying!
I even have this as tracing:
if (tracing)
{
System.out.println("Character in location before adding: " + characterUser.getLocation());
System.out.println("Character in layer before adding: " +north.getLayer(characterUser));
System.out.println("Character in index before adding: " +north.getIndexOf(characterUser));
System.out.println("Character's position before adding: " +characterUser.getLocation());
} //end of if statement
And this is what outputs (which is also correct!)
Character in location creating pane: java.awt.Point[x=0,y=0]
Character in location before adding: java.awt.Point[x=1458,y=575]
Character in layer before adding: 3
Character in index before adding: -1
Character's position before adding: java.awt.Point[x=1458,y=575]
Character in location after adding: java.awt.Point[x=1458,y=575]
BUILD SUCCESSFUL (total time: 7 seconds)
Originally, I set the position to (0, 0). And then I set it to 1458, 575; and all the other ones are correct, but it still show up in the middle.
This is so irritating! It really shouldn't be that freaken hard! UGHHHH!
I wonder if it has something to do with the coordinates of the JLabel rather than the pane because when i use mouseClicked, it gives the coordinates on the JLabel rather than the pane in general. BUT THAT DOESN'T EXPLAIN WHY THE BLOODY HELL IT IS IN THE MIDDLE!
EEEEEEEEEEEEEEK! I'm taking a break from CS right now >_< It's not making any sense. And I can't do anything about the program when I'm freaking out about it. So, whatevers! Be back in an hour -_-
Anyways, I tried to add the pawns to my board, but it added *IN THE MIDDLE* instead of on the board! I even changed the coordinates from (2, 48) to (100, 100) and it didn't change a thing! I'm even adding it in the NORTH panel and it still shows up in the middle! DARRNIT! Something's gone entirely wrong o-O
SHEEESH! I set these locations: 1458 , 575 and IT STILL DISPLAYS IN THE MIDDLE!
I don't want to bother Ryk about it, but this is getting so freaken annoying!
I even have this as tracing:
if (tracing)
{
System.out.println("Character in location before adding: " + characterUser.getLocation());
System.out.println("Character in layer before adding: " +north.getLayer(characterUser));
System.out.println("Character in index before adding: " +north.getIndexOf(characterUser));
System.out.println("Character's position before adding: " +characterUser.getLocation());
} //end of if statement
And this is what outputs (which is also correct!)
Character in location creating pane: java.awt.Point[x=0,y=0]
Character in location before adding: java.awt.Point[x=1458,y=575]
Character in layer before adding: 3
Character in index before adding: -1
Character's position before adding: java.awt.Point[x=1458,y=575]
Character in location after adding: java.awt.Point[x=1458,y=575]
BUILD SUCCESSFUL (total time: 7 seconds)
Originally, I set the position to (0, 0). And then I set it to 1458, 575; and all the other ones are correct, but it still show up in the middle.
This is so irritating! It really shouldn't be that freaken hard! UGHHHH!
I wonder if it has something to do with the coordinates of the JLabel rather than the pane because when i use mouseClicked, it gives the coordinates on the JLabel rather than the pane in general. BUT THAT DOESN'T EXPLAIN WHY THE BLOODY HELL IT IS IN THE MIDDLE!
EEEEEEEEEEEEEEK! I'm taking a break from CS right now >_< It's not making any sense. And I can't do anything about the program when I'm freaking out about it. So, whatevers! Be back in an hour -_-
Hello, again.
Hi...
So I'm going back to trying to program the pawns again. I don't really know how to set the location (although I tried to use setBounds..and the icon didn't even show up).
Eeeeeeeeeeeeeeeeeeeeeeeeeek. Time to look at the Java API's again :)
Oiiikay! This is super weird:
I've set the user's character at position (2, 48) which is the (hopefully is) the coordinate of the startAdventure square. Only program is, that it isn't showing up. It might be because of the JLayeredPane? This is going to be a loooooooong day...
Tuesday, 28 May 2013
Back to the same problem.
Hi.
I'm back to the same problem again.
Ryk says that the programming of pawns should be quite easy, but it's so confusing.
There's white space between north and south properties, and so just increasing it by 117 doesn't work because it will keep moving left, and possibly even into the white space causing the player to not even know where he or she is.
North Coordinates for User:
North Coordinates for Com Pewter:
I'm back to the same problem again.
Ryk says that the programming of pawns should be quite easy, but it's so confusing.
There's white space between north and south properties, and so just increasing it by 117 doesn't work because it will keep moving left, and possibly even into the white space causing the player to not even know where he or she is.
North Coordinates for User:
X Coordinate
|
Y Coordinate
|
2
|
48
|
19
|
48
|
141
|
48
|
258
|
48
|
377
|
48
|
498
|
48
|
612
|
48
|
733
|
48
|
849
|
48
|
980
|
48
|
North Coordinates for Com Pewter:
X Coordinate
|
Y Coordinate
|
2
|
48
|
95
|
48
|
211
|
48
|
330
|
48
|
443
|
48
|
562
|
48
|
686
|
48
|
802
|
48
|
902
|
48
|
1,067.5
|
48
|
East Coordinates for Com Pewter:
X Coordinate
|
Y Coordinate
|
1151.875
|
35
|
1151.875
|
112
|
1151.875
|
189
|
1151.875
|
261
|
1151.875
|
338
|
1151.875
|
415
|
1151.875
|
493
|
1151.875
|
568
|
East Coordinates for User:
X Coordinate
|
Y Coordinate
|
983.125
|
35
|
983.125
|
112
|
983.125
|
189
|
983.125
|
261
|
983.125
|
338
|
983.125
|
415
|
983.125
|
493
|
983.125
|
568
|
I'm not going to bother out writing out the west and the south, as they are the exact same ones as the ones here, but flipped where I'm going from bottom to top and decreasing the value.
So I didn't really use math doing this, because it was very difficult to find. And, so I used the mouseClicked method to find out the x-coordinate at which the dice button was being clicked at, so i could substitute that value into the one in North. I estimated the end ones, and I will test them out tomorrow.
For the east value, I just clicked the button in the middle of the labels, to get the y coordinates and I substituted those into the East values.
Subscribe to:
Posts (Atom)