AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Mastermind
Thema durchsuchen
Ansicht
Themen-Optionen

Mastermind

Ein Thema von smepal · begonnen am 29. Dez 2005 · letzter Beitrag vom 30. Dez 2005
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von smepal
smepal
Registriert seit: 25. Okt 2005
Habe mal so eine Art Mastermnd fürs Netzwerk geschrieben. Für die denen der Name nix sagt:
Mastermind ist ein kleines Spiel, bei dem ein Farbcode gesetzt wird und dann eraten werden muss. Normalerweise ist M ein Spiel für zwei Spieler. Meine Idee war es nun mittels einem Server und einem Client ein M zu erzeugen, bei dem mehr Leute übers Netzwerk mit spielen können.

Bitte Bugs und Verbesserungsvorschläge posten.

Ich weiß der Code ist verdammt lang wär mir auch lieb wenn der kürzer wäre aber ich weiß nicht wie!!!
Angehängte Dateien
Dateityp: rar mastermind_820.rar (472,1 KB, 69x aufgerufen)
Be water my friend!!!
 
Benutzerbild von DGL-luke
DGL-luke

 
Delphi 2006 Professional
 
#11
  Alt 30. Dez 2005, 12:50
sind aber immer noch 500 kB.... lass doch mal zumindest den _history ordner weg.
Lukas Erlacher
  Mit Zitat antworten Zitat
Benutzerbild von smepal
smepal

 
Delphi 2005 Personal
 
#12
  Alt 30. Dez 2005, 13:33
so dann noch mal die neue Version mit nur dem nötigsten hoffe ich habe nix vergessen

also noch mal hat jemand eine idee, wie man den code ändern könnte beispielsweise so ,dass man nicht jedes shape einzeln ansprechen mus???
Angehängte Dateien
Dateityp: rar mastermindv1_2_168.rar (381,8 KB, 27x aufgerufen)
Martin Krämer
  Mit Zitat antworten Zitat
Benutzerbild von smepal
smepal

 
Delphi 2005 Personal
 
#13
  Alt 30. Dez 2005, 13:37
Zitat von xineohp:
1.
hm, irgendwie ist da beim ersten Versuch der Wurm drinnen:
zwei gleiche Eingaben sollten wohl ja das gleiche Ergebnis liefern
EDIT: mittlerweile kann ich diesen Fehler nicht mehr reproduzieren?! keine Ahnung warum, vorher ist es ständig passiert
dieses Problem taucht immer ab der 4. Zeile auf weiß bis jetzt allerdings nicht wieso, bin aber dabei das Problem zu beheben
Martin Krämer
  Mit Zitat antworten Zitat
bigg
 
#14
  Alt 30. Dez 2005, 14:05
moin,

ich habe mir mal deinen Source angeguckt und festgestellt, das du wirklich jede Kombination manuell abfragst.

Delphi-Quellcode:
if (shape1.brush.color = clwhite) or (shape2.Brush.Color = clwhite) or (shape3.Brush.Color = clwhite) or (shape4.Brush.Color = clwhite) then showmessage ('Weiß ist keine Farbe. Bitte alle ausfüllen!!!') else
begin
  button1.Enabled := false;
button2.Enabled := true;

  if shape1.brush.color = clmaroon then Farbe[1] := 1 else
    if shape1.brush.Color = clgreen then Farbe[1] := 2 else
      if shape1.brush.Color = clnavy then Farbe[1] := 3 else
        if shape1.brush.Color = clyellow then Farbe[1] := 4 else
          if shape1.brush.Color = clteal then Farbe[1] := 5 else
            if shape1.brush.Color = clpurple then Farbe[1] := 6;

  if shape2.brush.color = clmaroon then Farbe[2] := 1 else
    if shape2.brush.Color = clgreen then Farbe[2] := 2 else
      if shape2.brush.Color = clnavy then Farbe[2] := 3 else
        if shape2.brush.Color = clyellow then Farbe[2] := 4 else
          if shape2.brush.Color = clteal then Farbe[2] := 5 else
            if shape2.brush.Color = clpurple then Farbe[2] := 6;
  
if shape3.brush.color = clmaroon then Farbe[3] := 1 else
    if shape3.brush.Color = clgreen then Farbe du hier eine Schleif[3] := 2 else
      if shape3.brush.Color = clnavy then Farbe[3] := 3 else
        if shape3.brush.Color = clyellow then Farbe[3] := 4 else
          if shape3.brush.Color = clteal then Farbe[3] := 5 else
            if shape3.brush.Color = clpurple then Farbe[1] := 6;
  
if shape4.brush.color = clmaroon then Farbe[4] := 1 else
    if shape4.brush.Color = clgreen then Farbe[4] := 2 else
      if shape4.brush.Color = clnavy then Farbe[4] := 3 else
        if shape4.brush.Color = clyellow then Farbe[4] := 4 else
          if shape4.brush.Color = clteal then Farbe[4] := 5 else
            if shape4.brush.Color = clpurple then Farbe[4] := 6 ;
activ := 2;
senddata;
Der obere Teil lässt sich mit einer Schleife wesentlich komfortabler lösen.

Wobei ich hier nicht den Farbcode erfragen würde, sondern einfach nur eine simple Nummer.
Du hast 6 Farben, die sich in ihrer Reihenfolge nichtverändern, also könntest du genauso 6 Nummern den Farben zuweisen von 1 bis 6.

In einem Array of TColor stehen dann die einzelnen Farben. Über den Index
(Nummer von 1-6) erhälst du anschließend die Farbe aus dem Array of TColor.


Die Shapes könnte man genauso gut dynamisch erstellen.
Wenn ich mich nicht täusche, sind es etwa 80, die du schon zur Entwurfszeit erstellt hast.
Noch eleganter wäre eine Klasse, aber das ist für den Anfang sicherlich zu heavy für dich.
  Mit Zitat antworten Zitat
Benutzerbild von smepal
smepal

 
Delphi 2005 Personal
 
#15
  Alt 30. Dez 2005, 14:39
jo das stimmt mit einer klasse wäre ich etwas überfordert aber eine schleife dürfte ich noch hinkriegen
Martin Krämer
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz