Beiträge von Misteradi1

    ja, die spielfeld.class mach ich noch raus, die hab ich ja letztendlich garnicht benutzt.
    suboptimal in welchem sinn? bzw. was würdest du verbessern? (klar, an einigen stellen hab ich ziemlich uneleganten code verwendet - behalt dabei aber im hinterkopf dass ich, als ich angefangen hab mit dem programm, nicht viel mehr wusste als schleifen, arrays und so grundlegenden kram.)




    PS: in der version die ich derzeit oben verlink hab kann man 5x dasselbe feld angreifen, um zu gewinnen. das hab ich in einer neuen version behoben, in der ich nur noch ein paar zusätzliche fehlermeldungen zur besseren differenzierung einbaue bevor ich sie hochlade.
    PPS: wie aufwändig wäre es, wenn ich die "System.out.println" befehle, die ich an einigen stellen verwende, in einem konsolenfenster ausgeben wollte? also ein fenster so ähnlich wie die kommandozeile?



    //edit: bezüglich dem teilweise ziemlich ungünstigen code: ich bin erstmal froh, dass ich damit fertig bin - am montag muss ich das programm fertig haben :grinning_squinting_face:

    @erdbeere: absolut heißt, dass man den genauen ort einer datei etc. angibt (z.B. "C:\Users\Name\Documents\datei.txt"). das gegenteil wäre dann "relativ", also man gibt z.B. an, dass sich die "datei.txt" im selben ordner wie das programm befindet (oder einen/mehrere ordner weiter oben/unten)

    1) bitte, BITTE versuch lesbarer zu schreiben. nicht im sinne von tippfehlern (wobei da auch ein paar drin waren), sondern im sinne von satzbau. teil mal deine sätze auf, anstatt in einem schwall alles hinzuklatschen.
    2) kostenlos wirst du da nicht besonders viel finden, entweder kaufst du dir eins (z.B. fraps) oder du lädst dir ein kostenpflichtiges programm kostenlos runter *hust* legal *hust*
    gibt bestimmt auch kostenlose alternativen, aber ich wüsste da nichts spezielles.
    3) könntest du mal deine PC-daten hier reinschreiben? je nach programm brauchst du ohnehin einen ziemlich guten rechner, um mit mehr als 10fps aufnehmen zu können.
    4) was meinst du mit "du brauchst das passwort"? meinst du nen installationskey?

    //update15w51a

    • bugfixes

      • unter anderem: weltgeneration stoppt nicht mehr, wenn spieler ein boot/pferd/minecarts benutzen
    • minimale KI-änderungen

    //update 15w51b

    • crashfix in Bezug auf KI und Wegfindung

    dieses jahr gibt es keine weiteren snapshots.

    kommt jetzt vielleicht zu spät, aber wenn du an deinem PC fernseh schauen willst, könntest du dir noch ne TV-karte holen. ich kenn mich da jetzt nicht besonders gut aus, ich hab nur mal mitbekommen, dass es sowas gibt, als ich mir nen neuen receiver gekauft hatte und den an den PC anschließen wollte.
    (achtung: bevor du tatsächlich eine kaufst, solltest du a) dir zutrauen, die karte einzubauen (dürfte nicht allzu schwer sein) und b) musst du noch entsprechende schnittstellen freihaben. im zweifelsfall frag mal bekannte oder so, bevor du keinen steckplatz mehr hast ^^)

    @Cheefkoch könnt ich schon. inzwischen hab ich aber ehrlich gesagt keine lust mehr das alles zu ändern :grinning_face_with_smiling_eyes:
    funktioniert ja auch so :smiling_face:
    trotzdem danke für die tipps :thumbs_up:



    PS: gameBackground.getComponent(i) liefert die komponente mit der betreffenden nummer zurück, angefangen bei nummer 0. getComponents() liefert einen array der komponenten zurück; könnt ich hier natürlich auch verwenden und dann einen neuen array erstellen, der nur die buttons enthält, aber dazu müsste ich ebenfalls einiges umprogrammieren, was ich wie gesagt vermeiden will.
    mein hauptproblem ist derzeit eigentlich der server, damit man über LAN spielen kann (Problem im sinne von "fehlt noch" - sollte eig. nicht mehr allzu schwer sein, ich muss nur noch rausfinden wie ich zwei clients gleichzeitig anspreche (per thread, aber da ich die koordinaten als .txt speichern will, muss ich da noch was umändern damit ich zwei verschiedene dateien mit koords hab.))
    PPS: mit C.getClass() lässt sich sicher arbeiten, das werde ich dann verwenden wenn ich nochmal sowas brauch :smiling_face:



    //edit: hat jemand zufällig eine idee, wie der server den spielern mitteilen könnte, dass sie am zug sind? vielleicht per abfrage einer variablen (z.B. boolean player1 = true/false) beim server?

    mit kompatibilität kann ich dir leider nicht weiterhelfen, einige anregungen hätte ich allerdings:

    • willst du dir nicht lieber ein blue-ray-fähiges laufwerk holen? spart den blue-ray-player ein.
    • 120gb SSD is zwar vom speicher ok, wenn du außer dem betriebssystem nicht viel drauf installieren willst. ansonsten - was sind denn die daten der ssd, bezüglich schreib-/lesegeschwindigkeit?
    • wäre es nicht günstiger, wenn du dir win7 holst und dann auf 10 upgradest? ich weiß natürlich nicht, ob das billiger ist und ob dein installationskey für win7 dann dauerhaft ein win10-key wird, oder ob du ab juli nächstes jahr (ab da kostet win10 für alle) dann windows nicht mehr neuinstallieren kannst.

    sicher, ich bin auch nicht 100% mit der funktion der schleife zufrieden. wenn du mir eine andere möglichkeit nennen kannst, durch die buttons zu iterieren, nehme ich sie gerne an :grinning_face_with_smiling_eyes:
    problem ist halt, dass ich nicht für jeden button den code schreiben will, es sind immerhin 64 stück. außerdem - der code, um schiffe zu setzen hat allein schon fast 40 zeilen. wär schon arg blöd, wenn ich 40*64= 2560 zeilen code schreiben müsste :grinning_squinting_face:
    nebenbei bemerkt: "gameBackground" ist ein JPanel, auf dem nur die buttons und die JLabels angeordnet sind. alle anderen buttons, also "reset", "fertig" usw. sind daneben, direkt 'auf' dem JFrame.
    im anhang noch ein bild des betreffenden JFrames. "gameBackground" ist der grau hinterlegte Bereich.

    @Cheefkoch ich wollte nur wissen, ob es möglich ist, irgendwie den namen einer variable (bzw. eines buttons) als string zu verarbeiten. alles andere habe ich über z.B. über getComponent gelöst.

    Java
    //hier wären dann noch die betreffenden zeilen mit z.B. a1.setName("a1") bis h8.setName("h8")
    for (int i = 0; i < gameBackground.getComponentCount(); i++) {
    	if (i > 9 && i % 9 != 0) {
    		((AbstractButton) gameBackground.getComponent(i)).addActionListener(this);
    		((AbstractButton) gameBackground.getComponent(i)).setToolTipText( gameBackground.getComponent(i).getName());
    	}
    }

    die if-schleife dient dazu, die labels (die auch auf dem JPanel gameBackground befindlich sind) "auszusortieren".
    davon abgesehen - was meinst du mit


    Wenn man die Java-Docs vom JButton anschaut sieht man sofort, dass kein Konstruktor mit Tooltip existiert -> nicht möglich. Man könnte ne Wrapper Klasse für den Button schreiben, welche eine solche instanzierung beinhaltet.

    mir ist nicht ganz klar was du damit sagen willst, "JButton.setToolTipText("text")" geht nämlich. die betreffende methode ist laut javadoc von JComponent geerbt.




    //edit: nebenbei bemerkt: JButton.getName() liefert NICHT den namen, der bei der deklaration verwendet wurde, man muss zuerst über .setName("name") einen namen zuweisen. tut man das nicht, liefert .getName() "null" zurück.

    derzeit hab ich grad das problem, dass ich für eine höhere benutzerfreundlichkeit tooltips zu den einzelnen buttons hinzufügen will. Diese sollen dann den namen des entsprechenden JButtons anzeigen, z.B. der Tooltip des JButtons a1 soll "a1" anzeigen. der tooltip soll also den variablennamen anzeigen, der bei der deklaration verwendet wurde (z.B. JButton a1 = new JButton()). diversen google-ergebnissen zufolge geht das nicht - könnt ihr das bestätigen? (bzw. widerlegen)