好的,所以我有几个小时的编程项目,我即将完成。我一次只能绘制刽子手的某些部分,这取决于用户不正确的尝试次数。我的编程类的老师要求创建一个不同类的hangman绘图。我遇到的问题是使用paintComponent将不正确的尝试次数发送到一个类。
if(updatedChallenge == challenge)
{
incorrectTries += 1;
}
challenge = updatedChallenge;
挑战==更新挑战是指用户猜测前隐藏的单词和用户猜测后的隐藏单词。如果它们仍然相等则意味着用户做出了错误的选择。 1会被添加到不正确的尝试总数中。
这是我的另一堂课:
class HangmanPicture extends JPanel
{
public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.setColor(Color.BLACK);
g.drawLine(250, 300, 300, 300); //Platform
g.drawLine(275, 300, 275, 200); //Pole
g.setColor(Color.YELLOW);
g.drawLine(275, 200, 350, 200); //Rope
g.drawLine(350, 200, 350, 225); //Noose
g.setColor(Color.CYAN);
g.drawOval(350, 225, 15, 15); //Head
g.drawLine(350, 230, 350, 260); //Torso
g.drawLine(350, 240, 340, 230); //Left Arm
g.drawLine(350, 240, 360, 230); // Right Arm
g.drawLine(350, 260, 330, 280); // Left Leg
g.drawLine(350, 260, 390, 280); // Right Leg
}
}
我想在每次不正确的尝试后添加一个if语句,其中每个正文部分都会被添加,这需要我向类中发送不正确的尝试次数。每当我尝试发送数字时,它总是以某种方式干扰paintComponent
非常感谢任何帮助,我绝望了。先谢谢!
答案 0 :(得分:0)
因为您正在扩展JPanel类。我们可以为类添加额外的方法和字段,并在使用HangmanPicture的地方使用它们。
HangmanPicture panel = new HangmanPicture();
...
if(updatedChallenge == challenge)
{
panel.addIncorrectAttempt();
}
challenge = updatedChallenge;
类HangmanPicture扩展了JPanel { private int incorrectAttempts = 0;
// Add one to counter
public void addIncorrectAttempt(){
incorrectAttempte++;
}
// Get how many times the player entered an incorrect number
public int getIncorrectAttempts(){
return incorrectAttempts;
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.setColor(Color.BLACK);
if( incorrectAttempts >= 1 ){
g.drawLine(250, 300, 300, 300); //Platform
}
if( incorrectAttempts >= 2 ){
g.drawLine(275, 300, 275, 200); //Pole
}
}
}