Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
158 changes: 48 additions & 110 deletions ColorSwitch/src/gameplay/User.java
Original file line number Diff line number Diff line change
@@ -1,56 +1,36 @@
package gameplay;

import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.util.Random;
import javafx.geometry.Point2D;
import javafx.scene.paint.Color;
import javafx.scene.paint.Paint;
import javafx.scene.shape.Rectangle;
import javafx.scene.layout.Pane;


class User extends Pane implements Serializable
class User extends Pane
{
public Point2D centre;
public static Rectangle rectangle;
int score;

public User()
{
score = 0;
centre = new Point2D(0, 0);
public User(){
score=0;
centre=new Point2D(0, 0);

Random random = new Random();
int UserColor = random.nextInt(4);

if(UserColor == 1)
{
rectangle = new Rectangle(20,20,Color.RED);
}

if(UserColor == 2)
{
rectangle = new Rectangle(20,20,Color.BLUE);
}
int UserColor = random.nextInt(4)+1;
if(UserColor==1)
rectangle=new Rectangle(20,20,Color.RED);
if(UserColor==2)
rectangle=new Rectangle(20,20,Color.BLUE);
if(UserColor==3)
rectangle=new Rectangle(20,20,Color.GREEN);
if(UserColor==4)
rectangle=new Rectangle(20,20,Color.YELLOW);

if(UserColor == 3)
{
rectangle = new Rectangle(20,20,Color.GREEN);
}

if(UserColor == 4)
{
rectangle = new Rectangle(20,20,Color.YELLOW);
}


int centreX = 300;//500;
int centreY = 300;//640;
int centreX=300;//500;
int centreY=300;//640;

centre = new Point2D(centreX, centreY);

Expand All @@ -59,102 +39,60 @@ public User()
getChildren().addAll(rectangle);
}

// setter functions
private void setColor(Paint color)
{
rectangle.setFill(color);
}

private void setUserCentre(Point2D newCentre)
{
this.centre = newCentre;
}

private void setScore(int newScore)
{
this.score = newScore;
}



public void moveY(int value, Obstacle myObstacles) {
public void moveY(int value, Obstacle myObstacles, ColorBall cb, Stars st) {

boolean moveDown = value>0 ? true: false;

if(getTranslateY() < 240)
{
if(getTranslateY()<240) {
myObstacles.update();
cb.update();
st.update();
}
for(int i = 0; i < Math.abs(value); i++) {
for(int i=0;i<Math.abs(value);i++) {

if (getTranslateY() < 0)
{
if(getTranslateY()<0) {
setTranslateY(0);
}

if (getTranslateY() > 580)
{
setTranslateY(580);
if(getTranslateY()>580) {
setTranslateY(580);

}

setTranslateY(getTranslateY()+ (moveDown? 1:-1));

}
}

public void jump()
{
centre = new Point2D(3, -15);
score++;
public void jump() {
centre=new Point2D(3, -15);
//score++;
//System.out.println("jumped");
}

void changeColor(int newColor)
public void changeColor(int newColor)
{
switch(newColor)
{
case 1:
rectangle.setFill(Color.RED);
break;
case 2:
rectangle.setFill(Color.BLUE);
break;
case 3:
rectangle.setFill(Color.GREEN);
break;
case 4:
rectangle.setFill(Color.YELLOW);
break;
switch(newColor) {
case 1:
rectangle.setFill(Color.RED);
break;
case 2:
rectangle.setFill(Color.BLUE);
break;
case 3:
rectangle.setFill(Color.GREEN);
break;
case 4:
rectangle.setFill(Color.YELLOW);
break;

}

}


private void writeObject(ObjectOutputStream s) throws IOException
{
// Saving score, color, center coordinates
s.writeInt(score);
s.writeDouble(this.centre.getX());
s.writeDouble(this.centre.getY());
s.writeChars(rectangle.getFill().toString());
System.out.println("something");

public void addPoints() {
score+=50;
System.out.println(score);
}


private void readObject(ObjectInputStream input) throws IOException, ClassNotFoundException
{

int newScore = input.readInt();
double new_x = input.readDouble();
double new_y = input.readDouble();
String newColor = input.readLine(); //need to check this
Color color = Color.web(newColor);
Point2D newCentre = new Point2D(new_x, new_y);


User user = new User();
user.setColor(color);
user.setScore(newScore);
user.setUserCentre(newCentre);
}

}