Spiel



  • kann mir niemand irgendwelche anhaltspunkte sagen?
    habe echt keine idee, wie ich dieses feld erstellen soll..



  • Was muss man eigentlich machen, damit der Code nicht formatiert wird und die Tags sichtbar sind? 🙄 😃


  • Mod

    Anti-Spezialist schrieb:

    Was muss man eigentlich machen, damit der Code nicht formatiert wird und die Tags sichtbar sind? 🙄 😃

    Man kann BBCode ausschalten, entweder gezielt bei jedem Beitrag (Checkbox ganz tief unter dem Editfenster) und ich meine auch allgemein im Profil. Warum jemand irgendeine dieser Optionen nutzen sollte (wie es hier anscheinend der Fall ist), kann ich jedoch nicht beantworten. Angst vor allem, was mit "Internet" und "Code" zu tun hat?


  • Mod

    delkandto schrieb:

    kann mir niemand irgendwelche anhaltspunkte sagen?
    habe echt keine idee, wie ich dieses feld erstellen soll..

    Ich weiß nicht, was du wissen willst.



  • also: ich soll ein Programm erstellen, wo eine X in einem Feld umherfliegt und wenn es auf den Rand kommt, anhält. Dazu soll ich die bereits gepostete main.cpp nutzen, jedoch muss man die beiden Funktionen implementieren, also einmal die Position von diesem X und einmal den Stopp des Programms, wenn das X auf den Rand kommt.

    Ich weiß ist etwas durcheinander, kann man es dennoch verstehen?



  • Und was ist mit "feld.h" ? Vielleicht kann dann mal jemand kapieren, was denn mit `Feld` gemeint sein soll



  • Feld ist einfach ein umrandeter Bereich im Konsolenfenster. Das ist jetzt aber nicht so schwer zu verstehen.



  • genau, meine umrandung hier ist ein doppel rahmen aus der ascii tabelle. dabei spielen länge und breite erstmal keine rolle!



  • Habe hier mal ein ziemlichen Kram zusammen geschrieben.

    Das geht sicherlich tausend mal besser, aber somit biete ich wenigstens Stoff, auf den sich die besseren Leute hier beziehen können, um bessere Versionen zu posten etc.
    Ich glaub die mögen das nicht, wenn kein Ansatz existiert.

    #include <iostream>
    #include <Windows.h>
    
    int main() {
    	int markX = 0, markY = 0; // Wäre der entsprechende Start-value
    	int topBotRows = 50;
    	int leftRightRows = 23;
    	markX = ((topBotRows - 1) / 2) + markX;
    	markY = ((leftRightRows - 1) / 2) + markY;
    
    	for (int rounds = 0; rounds = 100; rounds++) {
    
    			if (markX <= 0 || markX >= topBotRows-1 || markY <= 0 || markY >= leftRightRows-1) {
    				std::cout << "Collision";
    			break;
    		    }
    
    		for (int k = 0; k < leftRightRows; k++) {
    			std::cout << "|";
    			for (int i = 0; i < topBotRows; i++) {
    				if (k == 0 || k == leftRightRows - 1)
    					std::cout << "-";
    				else if (markX == i && markY == k)
    					std::cout << "X";
    				else
    					std::cout << " ";
    			}
    			std::cout << "|" << std::endl;
    
    		}
    		system("cls");
    		markX += rand() % 5 - 2;
    		markY += rand() % 5 - 2;
    	}
    
    	std::cin.get();
    	return 0;
    }
    

    Keine Ahnung was eine sinnvolle Alternative zu system("cls") ist, entsprechend viele newlines rauszuhauen fühlt sich irgendwie auch nicht besser an.

    Gibt anscheinend auch ein paar libs, um auf der Konsole mit Koordinaten zu zeichnen, PDCurse für Windows zB. Weiß aber nicht, wie sinnvoll solche sind.



  • Für Windows kannst du dir mal die Improved Console anschauen.


Anmelden zum Antworten