Bom, primeiramente, bom dia, meu nome é Renato, sou estudande de ciência da computação,e estou querendo dar uma adiantada na matéria, soque programar em casa é fod#, meu professor me passou um exercicio que era desenvolver uma pacman, com seus atributos metodos e talz. mas eu nao consigo passar dos atributos duvidas, talvez bestas, mas eu não to intendendo.
package Pacman;
public class Pacman
{
/*
VARIAVEIS
*/
private int _xcoords;
private int _ycoords;
private int _pont;
private boolean _imort;
private int _vida;
private int _cor_r;
private int _cor_g;
private int _cor_b;
/*
GETS
*/
public int get_vida()
{
return _vida;
}
public int get_cor_r()
{
return _cor_r;
}
public int get_cor_g()
{
return _cor_g;
}
public int get_cor_b()
{
return _cor_b;
}
public int get_pont()
{
return _pont;
}
public boolean get_imort()
{
return _imort;
}
public int get_xcoords()
{
return _xcoords;
}
public int get_ycoords()
{
return _ycoords;
}
/*
SETS
*/
public void setvida(int _vida)
{
_vida=(5);
}
public void set_cor_r(int _cor_r)
{
_cor_r=();
}
public void set_cor_g(int _cor_g)
{
_cor_g=();
}
public void set_cor_b(int _cor_b)
{
_cor_b=();
}
public void set_xcoords(int _xcoords)
{
_xcoords=_xcoords;
}
public void set_ycoords(int _ycoords)
{
_ycoords=_ycoords;
}
public void set_pont(int newValue)
{
_pont=newValue;
}
public void set_imort(boolean _imort)
{
_imort=_imort;
}
/*
PARTE LOGICA
*/
public Pacman()
{
}
public static void main(String[] args)
{
}
}
Minhas duvidas no codigo acima são as seguintes, logo na primeira linda (linha 05), ele me apresenta um erro e nao sei oque pode ser :S, segundo eu gostaria de saber como setar valores, nas cordenadas, como eu faria isso?
[quote=ratto]Bom, primeiramente, bom dia, meu nome é Renato, sou estudande de ciência da computação,e estou querendo dar uma adiantada na matéria, soque programar em casa é fod#, meu professor me passou um exercicio que era desenvolver uma pacman, com seus atributos metodos e talz. mas eu nao consigo passar dos atributos duvidas, talvez bestas, mas eu não to intendendo.
package Pacman;
public class Pacman
{
/*
VARIAVEIS
*/
private int _xcoords;
private int _ycoords;
private int _pont;
private boolean _imort;
private int _vida;
private int _cor_r;
private int _cor_g;
private int _cor_b;
/*
GETS
*/
public int get_vida()
{
return _vida;
}
public int get_cor_r()
{
return _cor_r;
}
public int get_cor_g()
{
return _cor_g;
}
public int get_cor_b()
{
return _cor_b;
}
public int get_pont()
{
return _pont;
}
public boolean get_imort()
{
return _imort;
}
public int get_xcoords()
{
return _xcoords;
}
public int get_ycoords()
{
return _ycoords;
}
/*
SETS
*/
public void setvida(int _vida)
{
_vida=(5);
}
public void set_cor_r(int _cor_r)
{
_cor_r=();
}
public void set_cor_g(int _cor_g)
{
_cor_g=();
}
public void set_cor_b(int _cor_b)
{
_cor_b=();
}
public void set_xcoords(int _xcoords)
{
_xcoords=_xcoords;
}
public void set_ycoords(int _ycoords)
{
_ycoords=_ycoords;
}
public void set_pont(int newValue)
{
_pont=newValue;
}
public void set_imort(boolean _imort)
{
_imort=_imort;
}
/*
PARTE LOGICA
*/
public Pacman()
{
}
public static void main(String[] args)
{
}
}
Minhas duvidas no codigo acima são as seguintes, logo na primeira linda (linha 05), ele me apresenta um erro e nao sei oque pode ser :S, segundo eu gostaria de saber como setar valores, nas cordenadas, como eu faria isso?
DESDE JÁ EU AGRADEÇO.[/quote]
seja bem vindo ao GUJ.
primeiro você deve corrigir os set:
public void setvida(int _vida) {
this._vida = _vida;
}
...
e para atribuir os valores:
public static void main(String[] args) {
Pacman pacman = new Pacman();
pacman.setvida(5);
...
}
depois que você corrigir isso, leia essa apostila e dê uma olhada aqui.
Coloque um título em seus tópicos que tem relação com sua dúvida, AJUDA não quer dizer absolutamente nada e só vai dificultar alguém entrar para tentar olhar seu problema.
Primeiro(Convenções)… começe o nome dos atributos com a primeira letra menos não com underscore… isso não traz nenhum problema mas as convenções de códigos são diferentes e a comunidade Java prefere seguir a dela ^^
Segundo… No java existe uma classe pronta para trabalhar com cor (Color)… melhor do que usar esses 3 ints r,g,b
Terceiro… Setters atribuem o valor passado por parametro ao objeto…
então isso:
public void set_vida(int _vida)
{
_vida=(5);
}
Seria assim
public void set_vida(int _vida)
{
this._vida=_vida; //Repare o this por atribuir o valor de _vida passado por parametro ao atributo desta classe
}
Este código:
public void set_ycoords(int _ycoords)
{
_ycoords=_ycoords;
}
Não faz nada… ele atribui o valor de _ycoords à _ycoords… por isso o uso da palavra this para referenciar ao atributo da classe e não do método
E também tem classes para trabalhar com coordenadas mas essa parte acho que voce devia fazer sózinho já que seu desafio é essa parte da matematica.
Seguindo o que eu disse seu código seria mais ou menos isso.
package pacman;
import java.awt.Color;
public class Pacman {
private int xcoords;
private int ycoords;
private int pont;
private boolean imort;
private int vida;
private Color cor;
public Pacman() {
}
/*Getters*/
public int getVida()
{
return vida;
}
public Color getCor()
{
return cor;
}
public int getPont()
{
return pont;
}
public boolean isImort()
{
return imort;
}
public int getXcoords()
{
return xcoords;
}
public int getYcoords()
{
return ycoords;
}
/*Setters*/
public void setvida(int vida)
{
this.vida=vida;
}
public void setCor(Colort cor)
{
this.cor=cor;
}
public void setXcoords(int xcoords)
{
this.xcoords=xcoords;
}
public void setYcoords(int ycoords)
{
this.ycoords=ycoords;
}
public void setPont(int pont)
{
this.pont=pont;
}
public void setImort(boolean imort)
{
this.imort=imort;
}
/*
PARTE LOGICA
*/
public static void main(String[] args)
{
}
}
Eu dei uma organizada nessa parte só agora boa sorte… novas duvidas estamos ai.
//admitindo que a classe Pacman esteja como eu mostrei
public static void main(String[] args){
Pacman pac = new Pacman();
pac.setColor(Color.YELLOW);//A classe Color já tem algumas predefinidas
pac.setColor(new Color(0xFF00FF));//FF para red, 00 para green e FF para blue
pac.setColor(new Color(200,140,144));//tres digitos para o r,g,b respectivamente.
}
como não precisei de Localização 3D, so criei esses 2
Ps.: as classes são object values, ou seja, seus valores são imutaveis, assim como String não muda seu valor, e string.substring(i,j) retornam uma nova string, sem mudar o valor da original, location2D.move(x,y) tb não altera o valor da localização original, apenas cria uma nova
…
assim vc pode trocar esses trechos do seu código
[code]//…
private Location2D location; //no lugar de “private int xcoords;” e “private int ycoords;”
//…
public Location2D moveAtX(int xDistance) { //no lugar de "public void setXcoords(int xcoords)"
return location = location.moveAtX(xDistance);
}
public Location2D moveAtY(int yDistance) { //no lugar de "public void setYcoords(int ycoords)"
return location = location.moveAtY(yDistance);
}
public Location2D move(int xDistance,int yDistance) {
return location = location.move(xDistance,yDistance);
}
public void setLocation(Location2D location) {
this.location = location;
}
public Location2D getLocation() { //no lugar de "public int getXcoords()" e "public int getYcoords()"
return location;
}