tutorials.de Buch-Aktion 05/2012
Seite 1 von 3 123 LetzteLetzte
ERLEDIGT
NEIN
ANTWORTEN
32
ZUGRIFFE
1806
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Alexander12
    Alexander12 Alexander12 ist offline Mitglied Smaragd
    Registriert seit
    Jul 2005
    Ort
    Tutorials.de
    Beiträge
    1.143
    Hi.

    Ich habe Mal etwas versucht. Ich wollte mal so ein kleine Mini-Schachspiel proggen, hab also 64 Pictureboxen auf die Form geklatscht, dass es so schwarz-weiß Karriert aussieht.
    Nun habe Ich für jede pictureBox eine Variable erstellt, also 64.

    Nun überprüft ein Timer jede Millisekunde den Wert der Variablen, moment ...

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    // Werte der Variablen
    // 11 = Bauer weiß;     21 = Bauer schwarz
    // 12 = Turm weiß;      22 = Turm schwarz
    // 13 = Springer weiß;  23 = Springer schwarz 
    // 14 = Läufer weiß;    24 = Läufer schwarz
    // 15 = Dame weiß;      25 = Dame schwarz
    // 16 = König weiß;     26 = König schwarz
    // 0 = weiß;            1 = schwarz

    So, dass sind die Bedeutungen der Variablen. Nun der Timer:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    
    private void tmr_figuren_Tick(object sender, EventArgs e)
    {
           // Feld A1
                switch (_a1)
                {
                    case 11:
                        this.a1.Image = Image.FromFile("data/bauer_weiß.PNG");
                        break;
                    case 21:
                        this.a1.Image = Image.FromFile("data/bauer_schwarz.PNG");
                        break;
                    case 12:
                        this.a1.Image = Image.FromFile("data/turm_weiß.PNG");
                        break;
                    case 22:
                        this.a1.Image = Image.FromFile("data/turm_schwarz.PNG");
                        break;
                    case 13:
                        this.a1.Image = Image.FromFile("data/springer_weiß.PNG");
                        break;
                    case 23:
                        this.a1.Image = Image.FromFile("data/springer_schwarz.PNG");
                        break;
                    case 14:
                        this.a1.Image = Image.FromFile("data/laeufer_weiß.PNG");
                        break;
                    case 24:
                        this.a1.Image = Image.FromFile("data/laeufer_schwarz.PNG");
                        break;
                    case 15:
                        this.a1.Image = Image.FromFile("data/dame_weiß.PNG");
                        break;
                    case 25:
                        this.a1.Image = Image.FromFile("data/dame_schwarz.PNG");
                        break;
                    case 16:
                        this.a1.Image = Image.FromFile("data/koenig_weiß.PNG");
                        break;
                    case 26:
                        this.a1.Image = Image.FromFile("data/koenig_schwarz.PNG");
                        break;
     
                }
    }
    So, jetzt überprüft er die Werte und stellt die entsprechende Figur auf das Feld...

    So, es ist kein Fehler im Code 100%-tig!! Aber wenn ihr bemerkt habt, dass es nur der Code für das erste Feld von 64 ist, dann wisst ihr ja was da für Arbeit blüht...

    Ich muss diese Prozedur also 64 programmieren, wäre das Programm nicht langsam, denkt dran: Jede MILLISEKUNDE 64 Mal dieser Code. Das geht nicht.

    Kann Ich das einfacher lösen, also danner alle Felder auf einmal prüft, etc.

    Bitte, Bitte, Ihr erspart mir so um die 10 Jahre Arbeit, kein Witz!


    MfG Alexander12
     

  2. #2
    Avatar von JensG
    JensG JensG ist offline Mitglied Platin
    Registriert seit
    Jun 2004
    Ort
    Gera (Thüringen)
    Beiträge
    517
    Hallo Alexander,

    schau dir mal diesen Thread an. Vielleicht holft das ja ein wenig weiter was den Ansatz angeht.
    Da geht es um das Klassendesign eines Schachspiels. Ist zwar in JAVA aber es geht ja um den Entwurf und der sollte in allen OOP Sprachen anwendbar oder übertragbar sein.

    Jens
     

  3. #3
    Avatar von Christian Kusmanow
    Christian Kusmanow Christian Kusmanow ist offline Mitglied Diamant
    Registriert seit
    Aug 2004
    Ort
    Aachen (NRW)
    Beiträge
    2.208
    Blog-Einträge
    15
    Hallo Leute!

    Zitat Zitat von JensG
    schau dir mal diesen Thread an.
    *woah* Was für ein Schinken.
    Leider hab ich grad nicht die Zeit mir das alles mal durchzulesen.
    Stecken bstimmt noch ein paar gute Ideen zum Aufschnappen drinn.

    Zu deinem Code:
    Bevor ich weiter ausführe, ließ Dir erstmal den Thread durch und dann erklärst mir mal bitte,
    warum Du hier einen Timer verwendest.
    Du könntest ein und die selbe Methode mit den Klick-Events deiner PictureBoxen verknüpfen
    und innerhalb der Ereignissbehandlung Dir das jeweilige Bild der ankgeklickten PictureBox holen.
    Wofür Du es jetzt auch immer brauchst weiss ich ja nicht,
    zumindest erkenn ich nicht ganz, was dein Code jetzt eigentlich für eine "Aufgabe" hat.

    Mach's erstmal Gut, cosmo
     
    MfG,
    Christian

    Wer sein Problem definiert, hat es schon halb gelöst!

    Bitte markiert eure Themen als erledigt. Sonst macht so ein Forum als Nachschlagewerk keinen Sinn.

    The Code Project! - C# Programming | C# / VB.NET Pendants

    Regeln + Netiquette

    Liebe FIAEs, verlasst euch nicht auf das was in der Berufsschule "vermittelt" wird
    und vor allem nicht auf das, was euch die IHK dazu erzählt!
    Die haben so viel Ahnung von dem Gewerk, wie der Bundestag vom Haushalt...

  4. #4
    Avatar von Alexander12
    Alexander12 Alexander12 ist offline Mitglied Smaragd
    Registriert seit
    Jul 2005
    Ort
    Tutorials.de
    Beiträge
    1.143
    Hi.

    Ja, hast du eine Ahnung wie Man ein Schachspiel aufbauen kann?
    Schon Mal Danke!


    MfG Alexander12
     

  5. #5
    Registriert seit
    Apr 2004
    Ort
    schweiz
    Beiträge
    618
    Kleine Hilfe

    Dies sollte dir einen guten einstieg bieten. Auf dem kanst du Gut aufbauen für dein Schachspiel, oder zeust versuchen dieses Spiel ohne Hilfe nachzumachen

    mfg
    ziop

    PS:
     
    ~~Be water my friend~~ by bruce
    ~~Der einfachste Weg, bietet die schwerste Lösungssuche~~ by emkey
    *****************************
    (\_/)
    (O.o) This is Bunny. Copy Bunny into your signature
    (> <) to help him on his way to world domination

    .:Blödeleienschreiber des 1. offiziellen Sven Uwe Fan-Clubs:.

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

    Mir sche*** egal wer dein Vater ist!! Wenn ich fische geht keiner übers Wasser!

  6. #6
    Avatar von Christian Kusmanow
    Christian Kusmanow Christian Kusmanow ist offline Mitglied Diamant
    Registriert seit
    Aug 2004
    Ort
    Aachen (NRW)
    Beiträge
    2.208
    Blog-Einträge
    15
    Ich würd für jede Figur ein Objekt implemeintieren was quasi Bild und und die Regeln beinhaltet.
    So ein bissel was davon (Regel Theorie) hab ich auch in dem Thread aufgeschnappt.

    Du musst Dir da schon was einfallen lassen.

    Mein erstes großes Programm war Schiffe versenken auf der Console.
    Komplett dynamisch und die Schiffe wurden in generierten TXT-Daten gesetzt.
    Mich da durch zu beißen, hat mir echt geholfen,
    ein grundlegendes Verständniss für die Dinge zu bekommen.
    Vor allem das man alles schön dynamisch vor sich hat und der Code sich nicht aufbläht
    und man ein und den selben Vorgang immer wiederkehrend via Parameter ausführt,
    sofern das nötig ist.

    Wenn bis heute Abend keine Vorschlage gemacht wurden sind,
    werd ich mir mal was überlegen, ok. Hab heut leider Projektstress.
    Für mich währe es mal wieder eine kleine Herrausforderung.
    Daher will ich jetzt nicht einfach aus dem Stehgreif herraus was posten,
    sondern mir mal überlegen wie man das OOP gerecht, klein und dynamisch bewerkstelligen kann.

    Sollte ein Tick schwerer als Schiffe versenken sein.
    Aber ich hatte damals noch nicht so viel Kenntniss vom Framework wie Du.
    Daher denke ich, sollte Dir das erstmal nicht allzu schwer fallen
    ein brauchbares Konzept zu erstellen.

    Bis dann, cosmo
     
    MfG,
    Christian

    Wer sein Problem definiert, hat es schon halb gelöst!

    Bitte markiert eure Themen als erledigt. Sonst macht so ein Forum als Nachschlagewerk keinen Sinn.

    The Code Project! - C# Programming | C# / VB.NET Pendants

    Regeln + Netiquette

    Liebe FIAEs, verlasst euch nicht auf das was in der Berufsschule "vermittelt" wird
    und vor allem nicht auf das, was euch die IHK dazu erzählt!
    Die haben so viel Ahnung von dem Gewerk, wie der Bundestag vom Haushalt...

  7. #7
    Avatar von Alexander12
    Alexander12 Alexander12 ist offline Mitglied Smaragd
    Registriert seit
    Jul 2005
    Ort
    Tutorials.de
    Beiträge
    1.143
    Hi cosmo,

    Für mich währe es mal wieder eine kleine Herrausforderung.
    Für mich eine große Herausforderung. Ich mich bisher mal an nem kleinen 2D-Spiel versucht, progge grade ne Adressverwaltung, sonst habe Ich eigentlich immer nur an so Kleinzeug rumgeproggt, wie nem Texteditor oder so was.
    Du hast irgendwo ne Textdatei genannt, da könnt man ja die Properties von den Figuren reinhängen..

    Ich finde das echt nett von dir das du mir da Tipps etc. gibst.

    Danke für deine Hilfe schon Mal im Vorraus!!



    MfG Alexander12
     

  8. #8
    Avatar von Christian Kusmanow
    Christian Kusmanow Christian Kusmanow ist offline Mitglied Diamant
    Registriert seit
    Aug 2004
    Ort
    Aachen (NRW)
    Beiträge
    2.208
    Blog-Einträge
    15
    Zitat Zitat von Alexander12
    Hi cosmo,



    Für mich eine große Herausforderung. Ich mich bisher mal an nem kleinen 2D-Spiel versucht, progge grade ne Adressverwaltung, sonst habe Ich eigentlich immer nur an so Kleinzeug rumgeproggt, wie nem Texteditor oder so was.
    Ist immerhin schon mehr als ich damals drauf hatte.
    Die Anfangszeiten hab ich, wie sicherlich fast jeder hier, in der Console verbracht.
    Das Spiel hat mich letztendlich von der Console zu den Windows.Forms gebracht.
    Ich hatte irgendwie aufeiunmal das Bedürfniss, den Spaß visuell darzustellen.
    Vor allem damit sich auch das setzen der Schiffe in den Textdateien erübrigt.
    Zitat Zitat von Alexander12
    Du hast irgendwo ne Textdatei genannt, da könnt man ja die Properties von den Figuren reinhängen
    Inwiefern meinst das?
    Möchtest Du jetzt das Spiel zwischen durch abspeichern,
    damit man irgendwann weiterspielen kann?
    Dann serialisier doch die Spielfiguren oder dein Spielfeld einfach.

    Du könntst es aber auch als Übung betrachten.
    Ich würd Dir dann aber dafür eher XML-Files empfehlen.
    Die lassen sich, dank des DOM Konzepts, viel einfacher handhaben.
    Zudem brauchst Dir dann keinen Parser für deine Textdateien schreiben.
    Oder Du versuchst auch mal das.
    Wie Du halt willst, wenn Du Zeit & Lust dazu hast und verspielt genug bist.
     
    MfG,
    Christian

    Wer sein Problem definiert, hat es schon halb gelöst!

    Bitte markiert eure Themen als erledigt. Sonst macht so ein Forum als Nachschlagewerk keinen Sinn.

    The Code Project! - C# Programming | C# / VB.NET Pendants

    Regeln + Netiquette

    Liebe FIAEs, verlasst euch nicht auf das was in der Berufsschule "vermittelt" wird
    und vor allem nicht auf das, was euch die IHK dazu erzählt!
    Die haben so viel Ahnung von dem Gewerk, wie der Bundestag vom Haushalt...

  9. #9
    Avatar von Alexander12
    Alexander12 Alexander12 ist offline Mitglied Smaragd
    Registriert seit
    Jul 2005
    Ort
    Tutorials.de
    Beiträge
    1.143
    Hi.

    Oh, mit XML hab ich mich bisher noch nicht beschäftigt, wäre was ganz neues.

    Das mit den Properties in den TXTs da meint Ich Pfad und Name der Figur, aber da hääten wir ja wieder ein Problem. Z.b. Ein Spinger kann in einem Schachspiel immer nur 2 Felder vor und 1 Feld links oder rechts laufen, unabhängig davon wo Sie steht:



    MfG Alexander12
     

  10. #10
    Registriert seit
    Apr 2004
    Ort
    schweiz
    Beiträge
    618
    Zum Glück wird mein toller Link ignoriert
    Cosmo = fies

    Ich will c# auch zuhause haben, aber hab kein Geld , drum lass ich es halt mit den Spielen

    mfg
    ziop
     
    ~~Be water my friend~~ by bruce
    ~~Der einfachste Weg, bietet die schwerste Lösungssuche~~ by emkey
    *****************************
    (\_/)
    (O.o) This is Bunny. Copy Bunny into your signature
    (> <) to help him on his way to world domination

    .:Blödeleienschreiber des 1. offiziellen Sven Uwe Fan-Clubs:.

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

    Mir sche*** egal wer dein Vater ist!! Wenn ich fische geht keiner übers Wasser!

  11. #11
    Avatar von Christian Kusmanow
    Christian Kusmanow Christian Kusmanow ist offline Mitglied Diamant
    Registriert seit
    Aug 2004
    Ort
    Aachen (NRW)
    Beiträge
    2.208
    Blog-Einträge
    15
    Zitat Zitat von Alexander12
    Oh, mit XML hab ich mich bisher noch nicht beschäftigt, wäre was ganz neues.
    Na dann Hop Hop.
    Auf TheCodeProject Findest richtig gute Tuts dazu. Auch hier im Forum.
    Zitat Zitat von Alexander12
    Das mit den Properties in den TXTs da meint Ich Pfad und Name der Figur, aber da hääten wir ja wieder ein Problem. Z.b. Ein Spinger kann in einem Schachspiel immer nur 2 Felder vor und 1 Feld links oder rechts laufen, unabhängig davon wo Sie steht:
    Denk nicht so kompliziert.
    Währe es nicht besser wenn deine Spielfigur (Klasse) von selber entscheidet,
    ob sie das tun will.
    Ohne den Umweg in eine Textdatei zu schauen, wo sie sich grad befindet.
    Ich hoffe ich hab Dich jetzt nicht falsch verstenden.

    Übergib deiner Speilfigur das Spielfeld einfach als simple Referenz im Konstruktor,
    lass Sie entscheiden ob Sie sich deine Figur bewegen darf
    und regier einfach auf den Ausführungsstatus des Zugs.
    Somit hast die "Regeln" direkt in deinem Objekt.
    Ich stell mir da sowas wie eine Zug-Funktion [ bool Zug( KoordinatenStruct NeuePosition ) ] vor.

    //Edit:
    Cosmo = fies
    Falsch!

    cosmo == fies

    Aber ja, ich fand Link auch interessant.
    Geändert von Christian Kusmanow (05.10.05 um 14:30 Uhr)
     
    MfG,
    Christian

    Wer sein Problem definiert, hat es schon halb gelöst!

    Bitte markiert eure Themen als erledigt. Sonst macht so ein Forum als Nachschlagewerk keinen Sinn.

    The Code Project! - C# Programming | C# / VB.NET Pendants

    Regeln + Netiquette

    Liebe FIAEs, verlasst euch nicht auf das was in der Berufsschule "vermittelt" wird
    und vor allem nicht auf das, was euch die IHK dazu erzählt!
    Die haben so viel Ahnung von dem Gewerk, wie der Bundestag vom Haushalt...

  12. #12
    Avatar von Alexander12
    Alexander12 Alexander12 ist offline Mitglied Smaragd
    Registriert seit
    Jul 2005
    Ort
    Tutorials.de
    Beiträge
    1.143
    Hi.

    Ich will c# auch zuhause haben, aber hab kein Geld , drum lass ich es halt mit den Spielen
    Hää? Wie meinst denn das? SharpDevelop ist z.B. kostenlos. Oder wie meinst?

    @cosmo:

    So habe Ich das gemeint (Siehe Anhang)
    Der rote Punkt soll der Springer sein.

    MfG Alexander12
    Angehängte Grafiken Angehängte Grafiken  
     

  13. #13
    Avatar von mage
    mage mage ist offline Mitglied Platin
    Registriert seit
    May 2002
    Ort
    Berliner Speckgürtel
    Beiträge
    707
    Hallo,

    also ich würde z.B. einen Ansatz für die Darstellung über selbst programmierte Usercontrols verfolgen.
    Ein Control für genau ein Feld und ein Control für das Schachbrett, welches sich die einzelnen Feldcontrols aufnimmt und aufbaut.

    Für deine Variablen würd ich eine Enueration empfehlen, das liesst sich im Code viel besser und verständlicher:

    Code :
    1
    2
    3
    4
    5
    
    public enum Figuren {
        BauerWeiss = 1,
        BauerSchwarz=2,
    ..
    }
     
    Allen ist das Denken erlaubt, vielen bleibt es erspart. (Kurt Goetz)

  14. #14
    Avatar von Christian Kusmanow
    Christian Kusmanow Christian Kusmanow ist offline Mitglied Diamant
    Registriert seit
    Aug 2004
    Ort
    Aachen (NRW)
    Beiträge
    2.208
    Blog-Einträge
    15
    Hi mage!
    Zitat Zitat von mage
    also ich würde z.B. einen Ansatz für die Darstellung über selbst programmierte Usercontrols verfolgen.
    Ein Control für genau ein Feld und ein Control für das Schachbrett, welches sich die einzelnen Feldcontrols aufnimmt und aufbaut.
    Guter Ansatz!
    Dann kannst ohne Probleme auf die Parent- & Child-Controls zugreifen.

    @Alexander:
    Ich poste heut abend oder morgen wieder, ok.
    Hab jetzt weiter keine Zeit mehr für ne ordentliche Antwort.
    Versuchs doch erstmal selber.

    Hää? Wie meinst denn das? SharpDevelop ist z.B. kostenlos. Oder wie meinst?
    Hää? Hast das etwa noch nicht gewusst?
    Der erste Link im Forum heisst doch Freie IDEs für C# - Thread
    Den kannst doch jetzt nicht übersehen haben.
     
    MfG,
    Christian

    Wer sein Problem definiert, hat es schon halb gelöst!

    Bitte markiert eure Themen als erledigt. Sonst macht so ein Forum als Nachschlagewerk keinen Sinn.

    The Code Project! - C# Programming | C# / VB.NET Pendants

    Regeln + Netiquette

    Liebe FIAEs, verlasst euch nicht auf das was in der Berufsschule "vermittelt" wird
    und vor allem nicht auf das, was euch die IHK dazu erzählt!
    Die haben so viel Ahnung von dem Gewerk, wie der Bundestag vom Haushalt...

  15. #15
    Avatar von Alexander12
    Alexander12 Alexander12 ist offline Mitglied Smaragd
    Registriert seit
    Jul 2005
    Ort
    Tutorials.de
    Beiträge
    1.143
    Hi.

    So was?

    (Siehe Anhang )
    Das ist jetzt ein Control für ein weißes Feld.


    MfG Alexander12
    Angehängte Dateien Angehängte Dateien
     

Ähnliche Themen

  1. direktes Sql Update vornehmen
    Von thehasso im Forum PHP
    Antworten: 3
    Letzter Beitrag: 17.03.10, 22:09
  2. direktes Umsetzen von Befehlen - wie möglich?
    Von spiesser im Forum Borland CBuilder und VCL
    Antworten: 2
    Letzter Beitrag: 12.02.07, 11:59
  3. direktes photometrisches Licht
    Von der_karl im Forum 3D Studio Max
    Antworten: 6
    Letzter Beitrag: 25.04.06, 23:18
  4. Direktes Probblem mit Frame
    Von Uffi im Forum HTML & XHTML
    Antworten: 11
    Letzter Beitrag: 19.12.03, 16:16
  5. Direktes Eingeben von Text in ein MS(H)FlexGrid
    Von sternchendreizehn im Forum Visual Basic 6.0
    Antworten: 0
    Letzter Beitrag: 04.12.03, 11:02