Chat ingame

TheJavaRazor

Mitglied
Hallo,
wir mussten ein Spiel programmieren nun sollen wir einen Chat einfügen, ich schaffe es leider nur mit einem JOptionPane. Da wir (ich hab unten einen Code geschrieben, damit ihr nicht den ganzen Code vom Game durchforsten müsst) so programmieren müssen, (ohne JComponnent )verstehe ich es nicht wie wir es schaffen sollten. Also die while-Schleife (das Grundgerüst muss bleiben), damit wir lernen mit dem Zeugs umzugehen.

Kann mir einer helfen ?

Main:
Java:
public class Main{
	
	static int breite = 1080;
	static int höhe = 690;
	
	public static void main(String[] args){
		
		Frame f = new Frame();
		f.makescreen(breite, höhe);
		
		long lastFrame = System.currentTimeMillis();
		
		while(true){
			
			long thisFrame = System.currentTimeMillis();
			float delta = (float) ((thisFrame - lastFrame)/1000.0);
			lastFrame = thisFrame;

			
			f.update(delta);
			
			f.repaint();
			
			try
			{
				Thread.sleep (40);
			}catch (Exception e){

			}
		}
	}

}

Frame:

Java:
import java.awt.Graphics;
import java.awt.Insets;
import java.awt.image.BufferStrategy;
import javax.swing.JFrame;

public class Frame extends JFrame{

	private static final long serialVersionUID = 1L;
	
	private BufferStrategy BStrategy;
	private Game game;
	static int insetx;
	static int insety;
	static int drawFrameNr = 0;
	
	public Frame(){
		setTitle("Game");
		setDefaultCloseOperation(3);
		setResizable(false);
		setVisible(true);	
		
		//hier nicht benötigt
//		Keyboard kb = new Keyboard(); 
//		addKeyListener(kb);
//		addMouseMotionListener(kb);
//		addMouseListener(kb);
		
		game = new Game();
	
	}
	
	public void makescreen(int Breite, int Höhe){
		createBufferStrategy(2);
		BStrategy = getBufferStrategy();
		
		Insets i = getInsets();
		insetx= i.left;
		insety= i.top;
		setSize(Breite + insetx + i.right, Höhe + insety + i.bottom);
		setLocationRelativeTo(null);
	}
	
	public void update(float delta){
		switch(drawFrameNr){
			case 0:
				game.update(delta);
				break;
			case 1:
				//gamelevel 2 ...
				break;

			default:
				break;
		}
		
	}
	
	public void repaint(){
		Graphics g = BStrategy.getDrawGraphics();
		draw(g);
		g.dispose();
		BStrategy.show();
	}

	public void draw(Graphics g){
		switch(drawFrameNr)	{
			case 0:
				game.draw(g);
				break;
			case 1:
				
				break;

			default:
				break;
		}
		
	}
	
}

Game:

Java:
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import javax.swing.JOptionPane;
import javax.swing.Spring;




public class Game{
	private Font f;
	private Button[] buttons;
	String eingabe;
	
	public Game(){
		//new Player etc.
		f = new Font("Arial", 0, 20);

		buttons = new Button[1];
		BufferedImage[] Chat =  {Texture.B_Chat, Texture.B_Chat_roll, Texture.B_Chat_press}; //bei Texture lade ich die Images
		
		buttons[0] = new Button(5, 5, Chat, "Chat", f);
	}
	
	public void update(float delta){
		
		for(int i = 0; i < buttons.length; i++){
			if(buttons[i].update()){
				if(i == 0){eingabe = JOptionPane.showInputDialog("Chat:");} [COLOR="#FF0000"]//Das soll ohne [/COLOR]
[COLOR="#FF0000"]//JOptionPane funktionieren[/COLOR]
			}
		}
	}
	
	public void draw(Graphics g){
		
		
		if(eingabe != null){
			g.drawString (eingabe, 5, 300);
		}
		g.setColor (Color.BLUE);
		g.drawRect (0, 0, Main.breite, Main.höhe);
	}
}


Button:

Java:
import java.awt.Color;
import java.awt.Font;
import java.awt.FontMetrics;
import java.awt.Graphics;
import java.awt.image.BufferedImage;

public class Button
{
	private int x;
	private int y;
	private Font font;
	private FontMetrics fm;
	private String name;
	private BufferedImage[] look;
	private int show;

	public Button(int PosX, int PosY, BufferedImage[] look, String Aufdruck, Font font)
	{
		this.y = PosY;
		this.x = PosX;
		this.name = Aufdruck;
		this.look = look;
		this.font = font;
	}

	public void draw(Graphics g)
	{
		g.setFont(font);
		fm = g.getFontMetrics();
		g.drawImage(look[show], x + Frame.insetx, y + Frame.insety, null);
		g.setColor(Color.BLACK);
		g.drawString(name, x + look[show].getWidth()/2 - fm.stringWidth(name)/2 + Frame.insetx, y+ look[show].getHeight()/2 + font.getSize()/2 + Frame.insety);		
	}

	public boolean update()
	{
		if(Function.getMouseklick() != 1&& show == 2)
		{
			show = 0;
			return true;
		}

		show = 0;
		int mx = Function.getMouseX() - Frame.insetx;
		int my = Function.getMouseY() - Frame.insety;

		if(Function.collisionRectToRect(mx, my, 0, 0, x, y, look[show].getWidth(), look[show].getHeight()))
		{
			if(Function.getMouseklick() == 1)show = 2;
			else show = 1;
		}

		return false;
	}
}
 
Zuletzt bearbeitet:

diggaa1984

Top Contributor
Was wurde denn gesagt wie ihr den Chat einbauen sollt? Ihr verwendet für das Spiel ja ein JFrame, warum sollt ihr, wenn ihr schon UI habt, nicht mit einer passenden JComponent den Chat aufbauen? Was sind die Bedingungen?
 

TheJavaRazor

Mitglied
Was wurde denn gesagt wie ihr den Chat einbauen sollt? Ihr verwendet für das Spiel ja ein JFrame, warum sollt ihr, wenn ihr schon UI habt, nicht mit einer passenden JComponent den Chat aufbauen? Was sind die Bedingungen?

Vor ca 3 Wochen ca. Erstelle einen Sidescroller (Enemy + da steht halt noch was alles mit rein muss) mit der erlernten Technik ..das ist das mit der while und so (fließt in die Benotung ein)
Am Mittwoch: Integriere in deinem programmierten Spiel einen Chat, der durch einen Button aufgerufen wird das Spiel anhält und im Hintergrund den aktuelle Frame des Spiels anzeigt. Durch betätigen der Enter-Taste oder durch das Klicken eines Buttons "Senden" soll der Text in einer Chat-Box angezeigt werden.
(2 Wochen haben wir Zeit)
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Programm läuft durch, ohne Eingabe aus dem Chat abzuwarten Java Basics - Anfänger-Themen 4
D Verbesserungsvorschläge zur Struktur einer Client Server Desktop Chat App Java Basics - Anfänger-Themen 24
D Unerwartetes Verhalten bei Client Server Chat App Java Basics - Anfänger-Themen 12
D Welche GUI Library für eine Client Server Chat App Java Basics - Anfänger-Themen 14
W Hilfe beim Chat Programm Java Basics - Anfänger-Themen 14
M Chat Programm in Java Java Basics - Anfänger-Themen 1
A Schimpfwortfilter im Chat-Programm Java Basics - Anfänger-Themen 2
R Brauche Hilfe beim fertigstellen eines Chat programms Java Basics - Anfänger-Themen 8
O euer chat hier Java Basics - Anfänger-Themen 1
O Ein einfacher Chatbot (simuliert chat) Java Basics - Anfänger-Themen 7
R Problem mit Java-Chat Java Basics - Anfänger-Themen 2
L Chat server Java Basics - Anfänger-Themen 4
L Kleiner erster p2p-Chat Problem Java Basics - Anfänger-Themen 2
D Wie den HTML-Teil des Chat Tutorials aus dem FAQ-Bereich starten? Java Basics - Anfänger-Themen 5
1 Chat im Browser Java Basics - Anfänger-Themen 16
G Chat-Nachrichtenübermittlung ? Java Basics - Anfänger-Themen 2
S Frage Chat programm bauen Java Basics - Anfänger-Themen 5
K Fertiger Chat Java Basics - Anfänger-Themen 4
V Java Chat Programm Problem mit IP Addresse Java Basics - Anfänger-Themen 7
A java chat vor DDOs schützen Java Basics - Anfänger-Themen 18
L Eine Art Chat Java Basics - Anfänger-Themen 28
M NumberFormatException Chat WordPress Java Basics - Anfänger-Themen 13
xDarkSunx Java Chat Hilfe Java Basics - Anfänger-Themen 9
Y chat programm im internet realisieren Java Basics - Anfänger-Themen 5
? Chat-Source Java Basics - Anfänger-Themen 17
U2nt Mein Chat Java Basics - Anfänger-Themen 10
E Chat Fehler Applet Java Basics - Anfänger-Themen 8
C Java Chat Tutorials Java Basics - Anfänger-Themen 1
K Bestehenden Chat modifizieren (noch ein Anfänger!) Java Basics - Anfänger-Themen 7
S Chat-Server Java Basics - Anfänger-Themen 6
M irc-chat logging Java Basics - Anfänger-Themen 14
B ICR Chat - Serveranbindung Java Basics - Anfänger-Themen 2
A Im Chat eigenen Beitrag in Farbe zeigen Java Basics - Anfänger-Themen 8
K Client-Liste im Chat Java Basics - Anfänger-Themen 2
Séby777 Chat für Schulklasse Java Basics - Anfänger-Themen 2
I Liste in Java (Chat-Frage) Java Basics - Anfänger-Themen 3
A Möchte Java - Chat in meine Homepage einbinden. Java Basics - Anfänger-Themen 4
J Java-Chat geht nicht | Brauche dringent hilfe! Java Basics - Anfänger-Themen 3
S Java-Chat und Smilies Java Basics - Anfänger-Themen 8
A Java Chat Bauen !?!? Java Basics - Anfänger-Themen 10
S Chat entwickeln. Java Basics - Anfänger-Themen 11
lomtas Chat in Java Java Basics - Anfänger-Themen 3
C Erstes kleines Problem - string in chat ? Java Basics - Anfänger-Themen 9
D Smilies im chat Java Basics - Anfänger-Themen 6
J Problem mit java-basiertem Chat Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben