Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > .NET Languages
You last visited: Today at 06:06

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[C#] Snake Fragen

Discussion on [C#] Snake Fragen within the .NET Languages forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Jan 2011
Posts: 345
Received Thanks: 84
[C#] Snake Fragen

Hey e*pvpers,

Ich habe mir gedacht mal ein Snake Spiel zu machen.
Ich habe bereits die Schlange(wird mit 4 Buttons bewegt), random position vom "essen" und eine Kollisionsfunktion.

Nun zu meinem Problem:
Ich muss bisher noch jedesmal den Button anklicken wenn ich die Schlange bewegen will.
Wie kriege ich es hin das der Code in der Funktion
Code:
private void x()
weiterläuft bis ein anderer Button gedrückt wird.
Mein bisheriger Versuch:
Code:
private void button_down_Click(object sender, RoutedEventArgs e)
{
      down();
      downn = true;
}

private void up()
{
      while(!downn)
      {
            margdown -= vel;
            head.Margin = new Thickness(margleft, margdown, 0, 0);
      }
}
Wenn ich nun allerdings einen Button drücke(z.B. up) hängt sich das Programm auf und ich muss es über den Task Manager schließen.

Den Schwanz der Schlange möchte ich wie den Kopf als Rechteck machen. Ich will natürlich nicht xx Rechtecke in XML vordefinieren.
Also erzeuge ich mit diesem Code
Code:
Rectangle tail1 = new Rectangle();
            tail1.Height = 7.5;
            tail1.Width = 10;
            tail1.Fill = new SolidColorBrush(Colors.Black);
            tail1.Margin = new Thickness(100, 100, 0, 0);
            tail1.HorizontalAlignment = HorizontalAlignment.Left;
            tail1.VerticalAlignment = VerticalAlignment.Top;
das Rechteck. Allerdings sehe ich dieses Rechteck nicht.

mfg
xazorstix is offline  
Old 10/03/2012, 20:37   #2
 
elite*gold: 0
Join Date: May 2010
Posts: 793
Received Thanks: 268
wenn du das mit windows forms machen willst musst du einen timer (den findest du in der toolbox) verwenden, oder einen zweiten thread.
nkkk is offline  
Old 10/03/2012, 21:10   #3
 
elite*gold: 0
Join Date: Jan 2011
Posts: 345
Received Thanks: 84
Hey,
ich mache es mit WPF.
Den Timer habe ich in WPF nicht in der Toolbox.
Hab grad das hier versucht:
Problem besteht weiterhin, "Kopf" hat sich gar nicht mehr bewegt.

Wie meinst du das mit einem 2. Thread ?

Der Score setzt sich teilweise einfach mal von z.B. 40 auf 338 oder von 29 auf 1072.
Ich verwende nur Inkremente bei der Score Variable. oO
xazorstix is offline  
Old 10/03/2012, 21:35   #4
 
elite*gold: 0
Join Date: May 2010
Posts: 793
Received Thanks: 268
naja wpf hab ich noch nie benutzt aber der link den du gefunden hast sieht doch ganz ordentlich aus.

was was den dein code als du das verscht hast?

und zu der anderen frage: deine form läuft in eine thread das heist die kann genau eine Sache gleichzeitig machen: deswagen friert die from bei codes wie

Code:
private void up()
{
      while(!downn)
      {
            margdown -= vel;
            head.Margin = new Thickness(margleft, margdown, 0, 0);
      }
}
auch ein, da er permanent die while schleife durchläuft hat er keine zeit mehr deine benutztereingaben zu verarbeiten.
der DispatcherTimer erlaubt es dir alle x ticks eine aktion duchzuführenin der zeit dazwischen hat der thread dann zeit deine benutztereingaben zu verarbeiten.


mit einem zweiten thread kann man 2 sachen GLEICHZEITIG machen. (z.B. mit new System.Thrading.Thread() ....) dann kannst mit deinem hauptthread die benutzteringaben verarbeiten udn mit dem zweiten arbeiten, das "2 sachen glewichzeitig" kann allerings auch naja zu komplizierten fehlern fürhen wenn man es fallsch anwendet, und hier würde ich die dazu raten einem timer zu benutzten.
nkkk is offline  
Thanks
1 User
Old 10/03/2012, 21:46   #5
 
elite*gold: 0
Join Date: Jan 2011
Posts: 345
Received Thanks: 84
Danke danke
Hab durch deine Erklärung meinen Fehler gefunden. Werde ihn gleich mal berichtigen.

Hast du vllt auch noch eine Idee für das Rechteck ?
xazorstix is offline  
Old 10/04/2012, 10:09   #6
 
kissein's Avatar
 
elite*gold: 0
Join Date: Sep 2005
Posts: 426
Received Thanks: 87
Quote:
Originally Posted by xazorstix View Post
Danke danke
Hast du vllt auch noch eine Idee für das Rechteck || die Sache mit dem Score ?
Code:
myGrid.Children.Add(tail);
Ausserdem empfehle ich das für graphics das using verwendet wird, sonst muss man manuell disposen
kissein is offline  
Thanks
1 User
Reply


Similar Threads Similar Threads
Crimson Snake 9
02/17/2010 - 9Dragons Trading - 1 Replies
as title says i got a Cs9 Wu-Tang Nuker for sell he got 600 set some bracers def/wiz buff c12,some epis,alix almost max all "ALMOST",you got 2x reset quests in hefei if you dont like the build you can change it pics says all.. http://img109.imageshack.us/img109/8244/cs9.jpg pm me here or [email protected]:rtfm:
handy snake
12/26/2009 - General Gaming Discussion - 0 Replies
hier release ich mein snake wünsche euch viel spass damit ^^ Link folgt!!!!! downloaden entpacken spass haben :)
Met-snake
05/17/2008 - CO2 Guides & Templates - 5 Replies
I didnt see any post like this, so i share my xp: there is a snake in the canyon, who drops a met, and has more HP and defense than others, but has the same name (like metdoves) I dont know the exact spawn point, but its NW a bit from Titan spawn (389,586) Hope it's useful for fellow players, who're hunting for Titan and want a bonus met XD :D
Snake King
02/16/2008 - Conquer Online 2 - 24 Replies
Ok I know this is my first post and all but I've been reading these posts for years but never really had anything to contribute till now. Now as for the Snake King. I've been doing this quest a lot lately and each time I'd get there the snake king would be there or it wouldn't. I've read a lot of post and people have different time for respawn. Some say 30 mins and others say 45 mins. Well I went one day and killed king, then I'd return in 30 mins and the was no king. Time and time...



All times are GMT +2. The time now is 06:06.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.