Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Kleines 2D-Aufbauspiel in C# (Siedler-ähnlich)
KaNe
myCSharp.de - Member

Avatar #avatar-2605.jpg


Dabei seit:
Beiträge: 58
Herkunft: Ofra/Kronach

Themenstarter:

Kleines 2D-Aufbauspiel in C# (Siedler-ähnlich)

beantworten | zitieren | melden

EDIT: Download funzt wieder!

Hi!

Hab da mal in den Weihnachtsferien ein kleines Spiel
programmiert und hätte gerne ein paar Meinungen darüber.

Ich lerne C# in der Schule seit Sept.05 und hab erst
seit 1 Woche Internet, deswegen is das Game nicht so spektakulär,
da ich keine Bücher und so was hatte.

Bin aber über jede Meinung froh!

Screenshots sin auch auf der Seite.

Hier schon mal ein Screenshot:

Download hier. (RAR ca 8,44 MB)

Anmerkung: die Sounds hab ich vorerst aus Anno geklaut. ;-)

Danke schon mal im Voraus für eure Meinungen.

P.S.: sind erst 5 Levels oder so fertig,
arbeite noch dran. Vom Spiel selbst ist aber das meiste
von dem was ich mir vorgestellt habe schon fertig.

mfg KaNe
.:~A.C.A.B.~:.
private Nachricht | Beiträge des Benutzers
Ifoko
myCSharp.de - Member



Dabei seit:
Beiträge: 256
Herkunft: Wien

beantworten | zitieren | melden

Schaut gut aus.

Wie lange programmierst schon dran?

lg
private Nachricht | Beiträge des Benutzers
progger
myCSharp.de - Member

Avatar #avatar-2094.gif


Dabei seit:
Beiträge: 1334
Herkunft: Nähe von München

beantworten | zitieren | melden

Zitat
Original von KaNe
Anmerkung: die Sounds hab ich vorerst aus Anno geklaut. ;-)
Immer das Kleingedruckte lesen
A wise man can learn more from a foolish question than a fool can learn from a wise answer!
Bruce Lee

Populanten von Domizilen mit fragiler, transparenter Außenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
Wer im Glashaus sitzt, sollte nicht mit Steinen werfen.
private Nachricht | Beiträge des Benutzers
Manfred
myCSharp.de - Member



Dabei seit:
Beiträge: 98
Herkunft: Wien

beantworten | zitieren | melden

Sieht ultrageil aus! Gratulation!!

Habe jetzt keine Zeit, aber hatte keine Ahnung wie ich da was steuern kann im Spiel selbst!

PS:
Zitat
Ich lerne C# in der Schule seit Sept.05

Du hast aber schon vorher programmiert, oder??
private Nachricht | Beiträge des Benutzers
KaNe
myCSharp.de - Member

Avatar #avatar-2605.jpg


Dabei seit:
Beiträge: 58
Herkunft: Ofra/Kronach

Themenstarter:

beantworten | zitieren | melden

ich programmier da schon seit 2 weeks dran.

Das Game ist FELDBASIEREND + RUNDENBASIEREND (Rohstoffe und KI zumindest).

Die Felder mit dem schwarzen Wappen sind deine, auf denen kannst du bauen, falls
unbewohnt oder Soldaten nach anderen Feldern transferieren.

Musst erst das Quellfeld, dannd as Zielfeld anklicken, dann kannste Soldaten verschieben oder neue Felder einnehmen. Hab noch keine Erklärung zur Stuerung und solche Sachen rein.

Mit "F1" kann man die Spielgeschwindigkeit erhöhen
"F2" - Spiel anhalten
"F3" - Runde beenden


ANTWORT: Ja, habe ein Jahr lang Standard-C gehabt und hab schon mal ein paar Wochen aus Spaß VB gemacht, da hab ich aber nix gscheits zamgekriegt.
Ach ja, qbasic konnt ich auch mal ein bisschen.
.:~A.C.A.B.~:.
private Nachricht | Beiträge des Benutzers
KaNe
myCSharp.de - Member

Avatar #avatar-2605.jpg


Dabei seit:
Beiträge: 58
Herkunft: Ofra/Kronach

Themenstarter:

beantworten | zitieren | melden

Zitat
Immer das Kleingedruckte lesen


hehe...
.:~A.C.A.B.~:.
private Nachricht | Beiträge des Benutzers
egrath
myCSharp.de - Member

Avatar #avatar-2119.jpg


Dabei seit:
Beiträge: 937
Herkunft: Österreich / Steyr

beantworten | zitieren | melden

Hallo KaNe,

ich muss ehrlich sagen Respekt, sieht gut aus das Game.

Hab den Code nur kurz mal überflogen mir sind dabei ellenslange deklaration von Variablen aufgefallen welche die Felder darstellen. Könntest eventuell in ne Liste packen dann wäre das etwas übersichtlicher ;-)

Aber ansonsten weiter so!

Grüsse, Egon
private Nachricht | Beiträge des Benutzers
KaNe
myCSharp.de - Member

Avatar #avatar-2605.jpg


Dabei seit:
Beiträge: 58
Herkunft: Ofra/Kronach

Themenstarter:

beantworten | zitieren | melden

*g* jep, danke
bin noch nicht besonders gut darin, meine
programme klein und übersichtlih zu halten ;-)

hab das spiel wieder nur als test angefangen und
dann weiter gemacht, daher steht viel sch.... im quelltext.
.:~A.C.A.B.~:.
private Nachricht | Beiträge des Benutzers
KaNe
myCSharp.de - Member

Avatar #avatar-2605.jpg


Dabei seit:
Beiträge: 58
Herkunft: Ofra/Kronach

Themenstarter:

beantworten | zitieren | melden

Zitat
Original von egrath
Könntest eventuell in ne Liste packen dann wäre das etwas übersichtlicher ;-)

Ach ja, wie meinst du das eigentlich genau mit der Liste? ;-)

mfg KaNe
.:~A.C.A.B.~:.
private Nachricht | Beiträge des Benutzers
nitronic
myCSharp.de - Member

Avatar #avatar-1597.jpg


Dabei seit:
Beiträge: 354
Herkunft: Österreich

beantworten | zitieren | melden

Ich hab mir den Sourcecode nicht näher angesehen, aber ich muss sagen, wenn du wirklich erst so kurz programmierst, ist die Leistung schon beachtlich. Keine Frage. Gefällt mir.
.NET GUI - Die Community für grafische Oberflächen unter .NET
Jetzt kostenlos besorgen: .NET BlogBook
Norbert Eder
DasBackup
private Nachricht | Beiträge des Benutzers
KaNe
myCSharp.de - Member

Avatar #avatar-2605.jpg


Dabei seit:
Beiträge: 58
Herkunft: Ofra/Kronach

Themenstarter:

...

beantworten | zitieren | melden

Danke!

Hab schon befürchtet, es kommen nur Antoworten wie:

"So'n sch...., ist ja alles nur mit Forms-Objekte und ohne DirectX programmiert"
oder so.... ;-)

Naja, ok, das Spiel war ja eigentlich auch fast mehr Pixelmalen als programmieren ;-)
.:~A.C.A.B.~:.
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 52329
Herkunft: Berlin

beantworten | zitieren | melden

Hallo KaNe,
Zitat
Ach ja, wie meinst du das eigentlich genau mit der Liste? ;-)
so wie ich es verstanden habe: Array, ArrayList oder List<T>.

herbivore
private Nachricht | Beiträge des Benutzers
KaNe
myCSharp.de - Member

Avatar #avatar-2605.jpg


Dabei seit:
Beiträge: 58
Herkunft: Ofra/Kronach

Themenstarter:

...

beantworten | zitieren | melden

hmm....helf mir mal weiter, ich bin anfaänger ;-)

ich kann doch solche Forms-Objekte (Picture-boxen) nicht anlegen oder ansprechen
mit nem array, weil die doch z.b. pb1, pb2, pb3 usw. heißen
und ich kann ja net schreiben z.b:

pb.Image = ...
pb.Enabled = ...

und so, oder geht das irgendwie?
mfg KaNe
.:~A.C.A.B.~:.
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 52329
Herkunft: Berlin

beantworten | zitieren | melden

Hallo KaNe,


pb[0] = pb1;
pb[1] = pb2;
pb[2] = pb3;

pb[i].Image = ...;
herbivore
private Nachricht | Beiträge des Benutzers
KaNe
myCSharp.de - Member

Avatar #avatar-2605.jpg


Dabei seit:
Beiträge: 58
Herkunft: Ofra/Kronach

Themenstarter:

...

beantworten | zitieren | melden

Danke!

Ich hab immer gedacht das funzt net,
habs jetz zwar nicht ausprobiert, aber ich glaub dir.
.:~A.C.A.B.~:.
private Nachricht | Beiträge des Benutzers
UschkinRedSunshine
myCSharp.de - Member

Avatar #avatar-1829.png


Dabei seit:
Beiträge: 68

beantworten | zitieren | melden

Generell ganz nett - Warum sind die Einstellungsdialoge so lahm?
private Nachricht | Beiträge des Benutzers
KaNe
myCSharp.de - Member

Avatar #avatar-2605.jpg


Dabei seit:
Beiträge: 58
Herkunft: Ofra/Kronach

Themenstarter:

...

beantworten | zitieren | melden

Ich denke mal, weil da viel zu viele labels, textboxen,
picture boxen und buttons sind,
die bmps zugewiesen werden müssen und ich nicht
gerade der C#-Profi bin. ;-)
.:~A.C.A.B.~:.
private Nachricht | Beiträge des Benutzers
Dexter
myCSharp.de - Member



Dabei seit:
Beiträge: 482
Herkunft: Österreich, Vlbg

beantworten | zitieren | melden

Mhm ich hab probleme mit meinem VS 2005 Express. Wenn ich da nen Spieler auswähle kommt ne Exception "objectDisposedException kann nicht auf das verworfene object play zugreifen" in:


Akt_Wappen_farbe="schwarz";
play cplay = new play(Akt_Wappen_farbe, "mission","0","0");
this.Hide();
cplay.Show();

Exception kommt bei cplay.Show();

Dexter
Programmierer sind Maschinen die Koffein in Quellcode umsetzen.
private Nachricht | Beiträge des Benutzers
KaNe
myCSharp.de - Member

Avatar #avatar-2605.jpg


Dabei seit:
Beiträge: 58
Herkunft: Ofra/Kronach

Themenstarter:

-

beantworten | zitieren | melden

hmm...keine Ahnung, bei meinem VS Studio 2003 geht's einwandfrei...
Weiß auch nicht was das bedeudet.

1. hast du schon mal nene neuen spieler erstellt?
2. Kannst auch unten auf "Eigene Level" klicken und dann
z.B. "Level1" oder "Level2" eingeben, versuchs mal...
.:~A.C.A.B.~:.
private Nachricht | Beiträge des Benutzers
LastGentleman
myCSharp.de - Member

Avatar #avatar-1696.jpg


Dabei seit:
Beiträge: 1274
Herkunft: Österreich

beantworten | zitieren | melden

Cool, für diese kurze Zeit echt spitze, werde mich mal ein bisschen durch den Code wühlen.

Weiter so!
"Das Problem kennen ist wichtiger, als die Lösung zu finden, denn die genaue Darstellung des Problems führt automatisch zur richtigen Lösung." Albert Einstein
private Nachricht | Beiträge des Benutzers
Dexter
myCSharp.de - Member



Dabei seit:
Beiträge: 482
Herkunft: Österreich, Vlbg

beantworten | zitieren | melden

Ich hab ma n wenig RumDebugged und hab da was gefunden.


private void LevelLaden()
{
         if (llevelname.Text != "Level1" || llevelname.Text != "Level2" || llevelname.Text != "Level3" || llevelname.Text != "Level4")
         {
	cSpielEnde sende = new cSpielEnde();
	this.Close();
	sende.Show();
         }
....
}

Da springt er mir immer in die if Schleife rein und closed das ganze. wieso prüfst du da den namen?

Dexter


//edit So hab die if schleife mal auskommentiert und jetzt funktionierts.
Programmierer sind Maschinen die Koffein in Quellcode umsetzen.
private Nachricht | Beiträge des Benutzers
Dexter
myCSharp.de - Member



Dabei seit:
Beiträge: 482
Herkunft: Österreich, Vlbg

beantworten | zitieren | melden

Ahja hab noch vergessen: Congratulation. Kein Meister ist vom Himmel gefallen der gleich n 3D-Spiel mit DirectX programmiert. Meiner Meinung nach ist bei einem Spiel die Spieltiefe viel wichtiger als die Grafik. Ich spiel manchmal sogar noch Commander Keen(fals das jmd kennt) 8)

Dexter
Programmierer sind Maschinen die Koffein in Quellcode umsetzen.
private Nachricht | Beiträge des Benutzers
SGT_BOB
myCSharp.de - Member



Dabei seit:
Beiträge: 125
Herkunft: Aachen

beantworten | zitieren | melden

Hallo allerseits.

Erst mal Gratulation. Sieht schon ganz gut aus.

Hab mal ein bissel rumgespielt und hab folgendes erreicht:

Informationen über das Aufrufen von JIT-Debuggen
finden Sie am Ende dieser Meldung, anstatt in diesem Dialogfeld.

************** Ausnametext **************
System.IndexOutOfRangeException: Der Index war außerhalb des Arraybereichs.
   at nsConquerorPlay.play.Wappenanzeige_aktualisieren(Int32 index_typ_ob_linksklick_oder_moveover) in c:\data\c#\conqueror\play.cs:line 7911
   at nsConquerorPlay.play.MouseMoveForm(Object sender, MouseEventArgs e) in c:\data\c#\conqueror\play.cs:line 7775
   at System.Windows.Forms.Control.OnMouseMove(MouseEventArgs e)
   at System.Windows.Forms.Control.WmMouseMove(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.ContainerControl.WndProc(Message& m)
   at System.Windows.Forms.Form.WndProc(Message& m)
   at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Geladene Assemblys **************
mscorlib
    Assembly-Version: 1.0.5000.0
    Win32-Version: 1.1.4322.2032
    CodeBase: file:///c:/windows/microsoft.net/framework/v1.1.4322/mscorlib.dll
----------------------------------------
mscorlib.resources
    Assembly-Version: 1.0.5000.0
    Win32-Version: 1.1.4322.573
    CodeBase: file:///c:/windows/assembly/gac/mscorlib.resources/1.0.5000.0_de_b77a5c561934e089/mscorlib.resources.dll
----------------------------------------
dsc_Conqeror
    Assembly-Version: 1.0.2200.37737
    Win32-Version: 1.0.2200.37737
    CodeBase: file:///C:/DOKUME~1/olli/LOKALE~1/Temp/Rar$EX04.407/Conqueror_beta_v1-2/bin/Debug/dsc_Conqeror.exe
----------------------------------------
System.Windows.Forms
    Assembly-Version: 1.0.5000.0
    Win32-Version: 1.1.4322.2032
    CodeBase: file:///c:/windows/assembly/gac/system.windows.forms/1.0.5000.0__b77a5c561934e089/system.windows.forms.dll
----------------------------------------
System
    Assembly-Version: 1.0.5000.0
    Win32-Version: 1.1.4322.2032
    CodeBase: file:///c:/windows/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll
----------------------------------------
System.Drawing
    Assembly-Version: 1.0.5000.0
    Win32-Version: 1.1.4322.2032
    CodeBase: file:///c:/windows/assembly/gac/system.drawing/1.0.5000.0__b03f5f7f11d50a3a/system.drawing.dll
----------------------------------------
System.Xml
    Assembly-Version: 1.0.5000.0
    Win32-Version: 1.1.4322.2032
    CodeBase: file:///c:/windows/assembly/gac/system.xml/1.0.5000.0__b77a5c561934e089/system.xml.dll
----------------------------------------
System.Windows.Forms.resources
    Assembly-Version: 1.0.5000.0
    Win32-Version: 1.1.4322.573
    CodeBase: file:///c:/windows/assembly/gac/system.windows.forms.resources/1.0.5000.0_de_b77a5c561934e089/system.windows.forms.resources.dll
----------------------------------------

************** JIT-Debuggen **************
Um das JIT-Debuggen (Just-In-Time) zu aktivieren, muss in der
Konfigurationsdatei der Anwendung oder des Computers
(machine.config) der jitDebugging-Wert im Abschnitt system.windows.forms festgelegt werden.
Die Anwendung muss mit aktiviertem Debuggen kompiliert werden.

Zum Beispiel:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

Wenn das JIT-Debuggen aktiviert ist, werden alle nicht behandelten
Ausnahmen an den JIT-Debugger gesendet, der auf dem
Computer registriert ist, und nicht von diesem Dialogfeld behandelt.

Ich glaube es ist passiert als ich bei gedrückter linker Maustaste über den Screen
gezogen hab.

Vielleicht hilft dir das a bei der Fehlersuche. Ansonsten gute Arbeit, weiter so.


Mfg SGT_BOB
*************************
Ich bin root, ich darf das...
root>_
*************************
private Nachricht | Beiträge des Benutzers
Lyrix
myCSharp.de - Member



Dabei seit:
Beiträge: 145
Herkunft: Oberfranken

beantworten | zitieren | melden

Respekt Markus.

Echt genial gemacht, auch wenn ich mir nun nen anderes Game suchen muss, nachdem ich meine Facharbeit fertig habe...
Wäre ja blöd 2 mal das gleiche / oder die gleiche richtung. Obwohl vlt gibts in die Richtung ja etwas anderes zu machen *g*


Gibst du das als Facharbeit ab?
www.lyrix-soft.de
private Nachricht | Beiträge des Benutzers
KaNe
myCSharp.de - Member

Avatar #avatar-2605.jpg


Dabei seit:
Beiträge: 58
Herkunft: Ofra/Kronach

Themenstarter:

.

beantworten | zitieren | melden

Lyrix: Wie gesagt, deines ist ja was anderes, scheiß drauf obs irgendwie in
ne ähnliche Richtung geht. Ja, geb ich ab.


Danke für die Kommentare und Hinweise,
werd dann mal ein paar bugs versuchen zu entfernen.
Hat mir schon geholfen.

Das mit der IF-Schleife hab ich schon raus, war schwachsinn der code.
.:~A.C.A.B.~:.
private Nachricht | Beiträge des Benutzers
Dexter
myCSharp.de - Member



Dabei seit:
Beiträge: 482
Herkunft: Österreich, Vlbg

beantworten | zitieren | melden

Ich hätte da noch ne Anregung. Ne kleine Hilfe oder Tutorial einbauen weil weiß irgendwie nicht wie ich was baue kann

Dexter
Programmierer sind Maschinen die Koffein in Quellcode umsetzen.
private Nachricht | Beiträge des Benutzers
KaNe
myCSharp.de - Member

Avatar #avatar-2605.jpg


Dabei seit:
Beiträge: 58
Herkunft: Ofra/Kronach

Themenstarter:

...

beantworten | zitieren | melden

Zitat
Ich glaube es ist passiert als ich bei gedrückter linker Maustaste über den Screen
gezogen hab.

Ja, die Steuerung is noch sehr schlecht programmiert, muss ich noch machen,
bis jetz darf man da nicht irgendwie wild in der Gegend rumklicken, wie
es gewissen Menschen tun, die aber zum glück nicht auch
noch hier in diesem forum sind... ;-)

Muss da noch sehr viel machen, ist ja grade erstmal die erste irgendwie spielbare Version.

Ach ja:
So ne Art Anleitung (README) hab ich auch gemacht. (ne kleine)
Zur Erklärung der Steuerung und des Spiels.
Attachments
.:~A.C.A.B.~:.
private Nachricht | Beiträge des Benutzers
SimonKnight6600
myCSharp.de - Member



Dabei seit:
Beiträge: 789
Herkunft: Österreich

beantworten | zitieren | melden

Hallo KaNe!

Cooles Spiel . Einen Vorschlag so auf die schnelle: Es wäre gut, wenn das momentan ausgewählte Spielfeld markiert wird.

Gruß,
SimonKnight6600
private Nachricht | Beiträge des Benutzers
KaNe
myCSharp.de - Member

Avatar #avatar-2605.jpg


Dabei seit:
Beiträge: 58
Herkunft: Ofra/Kronach

Themenstarter:

.:-=-:.

beantworten | zitieren | melden

Danke!

;-) Daran hab ich schon gedacht!
Weiß nur noch nicht genau wie ich das verwirklichen soll...
Mach ich aber demnächst, wenn mir was gscheites einfällt.

Danke für die Erinnerung :-)

~stay heavy~
.:~A.C.A.B.~:.
private Nachricht | Beiträge des Benutzers
NiceMen
myCSharp.de - Member



Dabei seit:
Beiträge: 67

beantworten | zitieren | melden

Hi Leute,
wollte mir die RAR Datei herunter laden und es kam ein Error.

Genauso, wenn ich die Datei von der WebSeite lade, bringt er ein Error wenn ich
es entpacke.

Liegt es an meinem WinAce oder doch an der Version von der HomePage.
private Nachricht | Beiträge des Benutzers