Programmieren – die besten Beiträge

[Java] Wie soll ich ein Würfel erstellen?

Hallo Leute,

ich weiß nicht wie ich die Aufgabe lösen soll ? Kann mir jemand Helfen?

---------------------------------------------------

Aufgabe 7: Zeichne die Würfel 

Gehe nun in die Klasse Painting. 

Füge der Klasse vier verschiedene Würfel als Objektvariablen (w1 bis w4) hinzu. 

(Anmerkung für Experten: Hier kann auch gerne mit einem Wuerfel[] - Array gearbeitet werden) 

Diese sollen im Konstruktor der Klasse Painting wie folgt initialisiert werden: 

  • einen Standardwürfel 
  • einen weiteren blauen Würfel, einen grünen Würfel sowie einen schwarzen Würfel - initialisiert mit sinnvollen Werten für xPos, yPos, breite, hoehe, sodass sie am Ende nebeneinander mit einem Mindestabstand von 15px gezeichnet werden können. 

 

Zeichne nun die Würfel mittels folgender Methoden innerhalb von paintComponent(): 

Painting.java

import javax.swing.JPanel;
import java.awt.*;

public class Painting extends JPanel{
	Wuerfel w1 = new Wuerfel();
	Wuerfel w2 = new Wuerfel();
	Wuerfel w3 = new Wuerfel();
	Wuerfel w4 = new Wuerfel();
	

    //ATTRIBUTE (Platz f�r Objektvariablen)
 

    public Painting(Frame f){
    	w1.setxPos(30);
    	w1.setyPos(30);
    	w1.getFarbe();
    	
    	
        //Hier Initialisierung vornehmen
       
    }

    public void paintComponent(Graphics g) {
        super.paintComponent(g);
        //BEISPIEL-ZEICHNUNG:
        g.setColor(Color.BLACK);
        g.fillRect(20, 20, 30, 30);
        g.setColor(Color.WHITE);
        g.drawString("1", 30, 40);

    }
}
Schule, programmieren, Java

Wie kann Java auf ein User-Input warten?

Guten Tag,

ich programmiere gerade ein kleines Java-Projekt.

Dort hat bis jetzt auch alles geklappt, doch nun weiß ich nicht mehr weiter.

Ich habe für den Start meines Programms dieses GUI erzeugt:

Wie da ja schon steht, soll der User 'W' drücken, damit das Spiel anfängt. Doch ich weiß nicht, wie ich das programmieren kann. Ich habe schon eine Klasse (KeyHandler) angelegt, die KeyListener implementiert und die ich schon meinem Programm hinzugefügt habe, doch passieren tut dabei nichts.

Ich habe auch schon eine Ahnung warum: Die Variable 'commands.isRunning' wird direkt überprüft (und danach nicht mehr) und deshalb der If-Teil überschprungen. Wie kann jetzt Java auf einen User-Input warten, damit die Variable nicht sofort überprüft wird?

Hier ist meine Draw Klasse:

(commands.isRunning ist gerade noch false, soll aber durch das 'W' true werden. Die Methode, die dadurch aufgerufen werden soll, steht in der Klasse Commands)

public class Draw extends JPanel implements Variables {

    Commands commands = new Commands();
    KeyHandler keyHandler = new KeyHandler();

    Player player = new Player();
    Donut donut = new Donut();

    Draw() {
        this.addKeyListener(keyHandler);
        this.setPreferredSize(new Dimension(SCREEN_WIDTH, SCREEN_HEIGHT));
        this.setBackground(Color.black);
        this.setFocusable(true);
    }

    public void paintComponent(Graphics g) {
        super.paintComponent(g);

        commands.printStartText(g);
        
        if (commands.isRunning() == true) {

            // Draw Grid
            for (int i = 0; i < SCREEN_HEIGHT / UNIT_SIZE; i++) {
                g.drawLine(i * UNIT_SIZE, 0, i * UNIT_SIZE, SCREEN_HEIGHT);
                g.drawLine(0, i * UNIT_SIZE, SCREEN_HEIGHT, i * UNIT_SIZE);
            }

            // Place Player
            player.placePlayer(g);

            // Place Donut
            donut.placeDonut(g);

            // Place Barrier

            // Place Gadget

            // Set Default Color
            g.setColor(Color.darkGray);

        }
    }
}

Und hier die KeyHandler Klasse:

public class KeyHandler implements KeyListener {

    Commands commands = new Commands();

    @Override
    public void keyTyped(KeyEvent e) {
        // TODO Auto-generated method stub
    }

    @Override
    public void keyPressed(KeyEvent e) {

        switch (e.getKeyCode()) {
        case KeyEvent.VK_W:
            commands.startGame();
            break;

        case KeyEvent.VK_A:

            break;
        case KeyEvent.VK_S:

            break;
        case KeyEvent.VK_D:

            break;
        }
    }

    @Override
    public void keyReleased(KeyEvent e) {
        // TODO Auto-generated method stub

    }
}

Auch habe ich schon 'System.in.read' hinter 'commands.printStartText(g);' platziert, doch da wurde dann nur ein weißes Bild angezeigt.

Ich hoffe ihr könnt mir helfen!

Schon mal vielen Dank im voraus.

Bild zum Beitrag
Computer, Technik, programmieren, Java, Informatik, GUI

Was ist ein source?

Hey ich habe so videos über cheats gesehen und die reden über source und ich wollte fragen ob das einer ist :

#include <includes.h>#include <no_renderer/FW1FontWrapper/FW1FontWrapper.h>#include <no_renderer/no_menu/no_menu.h>#include <no_renderer/no_gui/no_gui.h>#include <no_define.h>#include <fstream>#include <no_cheat/no_spoofcall.h>#include <no_cheat/framework.h>#include <no_cheat/Esp.h>#include <no_cheat/Aimbot.h>#include <no_cheat/Exploits.h>#include <no_cheat/PawnsLoop.h>

//typedef HRESULT(*present_fn)(IDXGISwapChain*, UINT, UINT);//inline present_fn original_present{ };

//typedef HRESULT(*resize_fn)(IDXGISwapChain*, UINT, UINT, UINT, DXGI_FORMAT, UINT);//inline resize_fn original_resize{ };

HRESULT(*present_original)(IDXGISwapChain* swapchain, UINT sync, UINT flags) = nullptr;

//rendertargetID3D11Texture2D* RenderTargetTexture;ID3D11RenderTargetView* RenderTargetView = NULL;

UINT vps = 1;ID3D11RasterizerState* rwState;ID3D11RasterizerState* rsState;float ScreenCenterX;float ScreenCenterY;

bool firstTime = true;

unsigned long RGBAtoHEX(int r, int g, int b){ return ((r & 0xff) << 16) + ((g & 0xff) << 8) + (b & 0xff);}

void functions_line(int x, int y, int x2, int y2, no_menu::color c) noexcept{ color cool_col(c.a, c.r, c.g, c.b); gui.draw_line(x, y, x2, y2, cool_col);}

void functions_rect(int x, int y, int x2, int y2, no_menu::color c) noexcept{ color cool_col(c.a, c.r, c.g, c.b); gui.draw_rect(x, y, x2, y2, cool_col);}

void functions_filled_rect(int x, int y, int x2, int y2, no_menu::color c) noexcept{ color cool_col(c.a, c.r, c.g, c.b); gui.fill_rect(x, y, x2, y2, cool_col);}

const wchar_t* CharToWchar(const char* ch){ const size_t len = strlen(ch) + 1; wchar_t* wch = new wchar_t[len]; mbstowcs(wch, ch, len); return wch;}

Computer, programmieren

Meistgelesene Beiträge zum Thema Programmieren