+ Antworten
Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 20 von 50

C# Ampel Programmierung

Eine Diskussion über C# Ampel Programmierung im Forum Hausaufgaben. Teil des Reallife-Bereichs; Moin ihr da draußen. Komme nicht mehr weiter... Ich komm einfach mal zum Hintergrund. Wir sollen alle eine Ampel Programmieren, ...

  1. #1
    데르 외계
    Avatar von zokker13
    Registriert seit
    12.10.2008
    Ort
    Wuppertal
    Beiträge
    6.660
    Name
    Philipp
    Nick
    cWc.zokker13

    C# Ampel Programmierung

    Moin ihr da draußen.

    Komme nicht mehr weiter...
    Ich komm einfach mal zum Hintergrund.

    Wir sollen alle eine Ampel Programmieren, wir haben drei Panels und bauen die eben wie eine Ampel auf.
    Dann haben wir auch noch einen Button, der die Ampel schaltet.

    Nun, es wird die normale Ampelabfolge gefragt, erst rot, dann gelb und anschließend grün.

    Ich schaffe es nicht, den dritten Panel zuaktivieren.

    Wir verwenden die If- Else Funktion. (Hab das Fach erst zwei Wochen btw.)


    Ich hoffe, ihr könnt mir helfen, hier nochmal das Muster:

    Code:
    Syntax C#
    
    if (Bedingung)
    {
    Anweisung 1;
    }
    
    else if (Bedingung)
    {
    Anweisung 2;
    }
    
    else if (Bedingung)
    {
    Anweisung 3;
    }
    
    ect...
    
    So soll dann der letzte "If- Else" Befehl aussehen:
    
    else
    {
    Anweisung x;
    }
    Ich hoffe mir kann ein Fachmann helfen!
    Grünes Reno ftw!

  2. #2
    Board-Koryphäe
    Avatar von jonnylicious
    Registriert seit
    17.12.2001
    Ort
    Chemnitz
    Alter
    28
    Beiträge
    22.860
    Name
    Jonny
    Nick
    iamjonny
    hmm ich versteh' das Prinzip leider nicht ganz; wie genau soll der Button denn die Ampel schalten ?

    ich hätte sowas mit Timer gemacht

  3. #3
    데르 외계
    Avatar von zokker13
    Registriert seit
    12.10.2008
    Ort
    Wuppertal
    Beiträge
    6.660
    Name
    Philipp
    Nick
    cWc.zokker13
    Beim Timer sind wir noch nicht.

    Wir talken lieber ;D

  4. #4
    Bärnr Bäär
    Avatar von OliViero
    Registriert seit
    19.10.2008
    Ort
    Zürich
    Alter
    25
    Beiträge
    7.272
    Nick
    Petadroli
    Clans
    cause.F7C
    Osbes weiss es!
    Unus pro omnibus, omnes pro uno!

  5. #5
    Feldwebel
    Avatar von Gonzo
    Registriert seit
    13.07.2004
    Ort
    Berlin
    Alter
    46
    Beiträge
    1.669
    Vielleicht solltest du deinen bisherigen Code posten, dann kann man dir vielleicht sagen was du falsch gemacht hast.

    MfG
    Gonzo

  6. #6
    Board-Koryphäe
    Avatar von jonnylicious
    Registriert seit
    17.12.2001
    Ort
    Chemnitz
    Alter
    28
    Beiträge
    22.860
    Name
    Jonny
    Nick
    iamjonny
    jo sehe ich ähnlich zumindest müssen wir wissen, was der Button überhaupt genau machen soll

    soll bei Button-Klick die Ampel eins weiter geschaltet werden ? in dem Fall würde ich mit true/false arbeiten, dann geht auch if/then gut

  7. #7
    Administrator
    Avatar von stefros
    Registriert seit
    28.07.2001
    Ort
    Hamburg
    Alter
    33
    Beiträge
    62.610
    Name
    Stefan
    Nick
    stefros1983
    Clans
    United-Forum
    Hab dieses Jahr eine Ampel auf Assembler-Ebene programmiert, C ist mir da zu hoch...

    Aber du brauchst auf jeden Fall eine WAIT Funktion, kannst dir ja überlegen wielange dein Prozessor/Mikroprozessor für einen Arbeitsschritt braucht und wie du das dann mit einer IF Bedingung realisieren kannst. Ist nicht sooo schwer.

  8. #8
    Brigadegeneral
    Avatar von Lunak
    Registriert seit
    22.10.2008
    Ort
    Bavaria
    Alter
    27
    Beiträge
    23.613
    Name
    Flo
    Nick
    Lunak
    Clans
    MSF
    1. //Bau ne Variable quasi als Schalter
    2. namespace WindowsFormsApplication1
    3. {
    4. public partial class Form1 : Form
    5. {
    6. //Variablen
    7. string farbe = "gr";
    8. int schalter = 0;
    9.  
    10. public Form1()
    11. {
    12. InitializeComponent();
    13. }
    14.  
    15. private void button1_Click(object sender, EventArgs e)
    16. {
    17.  
    18. if (farbe == "gr")
    19. {
    20. //Beispiel
    21. checkBox1.Checked = true;
    22. checkBox2.Checked = false;
    23. //Schalter und Farbe
    24. farbe = "or";
    25. schalter = 0;
    26. }
    27. else if (farbe == "or")
    28. {
    29. checkBox1.Checked = false;
    30. checkBox2.Checked = true;
    31. checkBox3.Checked = false;
    32. //Absichern damit die Ampel auch wieder runterschaltet
    33. if (schalter == 1)
    34. farbe = "gr";
    35. else
    36. farbe = "ro";
    37. }
    38.  
    39. else if (farbe == "ro")
    40. {
    41. checkBox2.Checked = false;
    42. checkBox3.Checked = true;
    43. farbe = "or";
    44. schalter = 1;
    45. }
    46. }
    47. }
    48. }
    49.  
    Ein bisschen was lass ich dir jedenfalls noch

  9. #9
    Feldwebel

    Registriert seit
    20.10.2008
    Alter
    27
    Beiträge
    1.107
    Zitat Zitat von zokker13 Beitrag anzeigen
    Moin ihr da draußen.



    Nun, es wird die normale Ampelabfolge gefragt, erst rot, dann gelb und anschließend grün.

    Hat ne Ampel nicht 4 Phasen? Rot, rot gelb, grün, gelb?

  10. #10
    Brigadegeneral
    Avatar von Lunak
    Registriert seit
    22.10.2008
    Ort
    Bavaria
    Alter
    27
    Beiträge
    23.613
    Name
    Flo
    Nick
    Lunak
    Clans
    MSF
    Also einer von uns 2 hat beim Führerschein sauber dusel gehabt.

  11. #11
    Feldwebel

    Registriert seit
    20.10.2008
    Alter
    27
    Beiträge
    1.107
    dann würd ich sagen achte mal auf die nächste ampel

  12. #12
    Administrator
    Avatar von stefros
    Registriert seit
    28.07.2001
    Ort
    Hamburg
    Alter
    33
    Beiträge
    62.610
    Name
    Stefan
    Nick
    stefros1983
    Clans
    United-Forum
    Lunak hat ja auch nicht gesagt dass du das warst.

    Also wahrscheinlich baut ihr ja auch eine Fussgängerampel oder?

    Wenn der Fussi drückt muss erstmal langsam orange und dann rot werden. Dann wird die Fussgängerampel grün. Dann muss genug Zeit sein um hinüber zu gehen. Anschliessend wird die Fussgängerampel wieder rot und etwas später die Autoampel rot-orange und dann grün.
    Falls du keine Fussgängerampel hast lässt du die halt weg. ^^

  13. #13
    Feldwebel
    Avatar von Gonzo
    Registriert seit
    13.07.2004
    Ort
    Berlin
    Alter
    46
    Beiträge
    1.669
    Eine Ampel hat 4 Phasen, denke aber mal dass ist in dieser Aufgabe nicht berücksichtigt
    Und irgendwie erscheint mir die Lösung von Lunak zu aufwendig.

    MfG
    Gonzo

  14. #14
    Brigadegeneral
    Avatar von Lunak
    Registriert seit
    22.10.2008
    Ort
    Bavaria
    Alter
    27
    Beiträge
    23.613
    Name
    Flo
    Nick
    Lunak
    Clans
    MSF
    Also ehrlich ich kenne bei Fußgängerampeln nur grün rot und bei Autos nur grün, orange, rot und den grünen Pfeil^^
    @Gonzo
    Der is in der 2. Woche

  15. #15
    Feldwebel
    Avatar von Gonzo
    Registriert seit
    13.07.2004
    Ort
    Berlin
    Alter
    46
    Beiträge
    1.669
    Ne Autoampel hat auch rot und gelb gleichzeitig

    Zitat Zitat von stefros Beitrag anzeigen
    Hab dieses Jahr eine Ampel auf Assembler-Ebene programmiert, C ist mir da zu hoch...
    lol, das meinst du jetzt nicht ernst oder ?

    MfG
    Gonzo

  16. #16
    Brigadegeneral
    Avatar von Lunak
    Registriert seit
    22.10.2008
    Ort
    Bavaria
    Alter
    27
    Beiträge
    23.613
    Name
    Flo
    Nick
    Lunak
    Clans
    MSF
    Ich glaub ich stell mich morgen ernsthaft vor ne Ampel und schau zu...

  17. #17
    Administrator
    Avatar von stefros
    Registriert seit
    28.07.2001
    Ort
    Hamburg
    Alter
    33
    Beiträge
    62.610
    Name
    Stefan
    Nick
    stefros1983
    Clans
    United-Forum
    Zitat Zitat von Gonzo Beitrag anzeigen
    lol, das meinst du jetzt nicht ernst oder ?
    Natürlich mein ich das ernst, kanns dir gerne auf meinen Microcontroller spielen und in ne Ampel einbauen.

    Zokker hat nie gesagt dass er nur 3 Phasen hat, er meinte er hat 3 Panels, also wohl 3 Lämpchen die leuchten können, was dann einer Ampel entspricht, womit man auch alle 4 Phasen darstellen kann.

  18. #18
    Feldwebel
    Avatar von Gonzo
    Registriert seit
    13.07.2004
    Ort
    Berlin
    Alter
    46
    Beiträge
    1.669
    Achso, also nicht für Windows oder so ?

    MfG
    Gonzo

  19. #19
    Board-Koryphäe
    Avatar von jonnylicious
    Registriert seit
    17.12.2001
    Ort
    Chemnitz
    Alter
    28
    Beiträge
    22.860
    Name
    Jonny
    Nick
    iamjonny
    ok, geben wir folgendes vor: bei Klick auf den Button soll in die nächste Ampelphase gewechselt werden

    weiterhin geben wir vor:

    Check1 = Oberes Licht (Rot)
    Check2 = Mittleres Licht (Gelb)
    Check3 = Unteres Licht (Grün)

    True = brennt, False = brennt nicht

    = bedeutet Vergleich, := bedeutet Zuweisung


    wir starten also die Abfrage:

    Code:
    if 
    Check1.status = True 
    and Check2.status = False 
    and Check3.status = False 
    
    then 
    Check2.status := True  // gelb geht zusätzlich zu rot an
    
    else if
    Check1.status = True
    and Check2.status = True
    and Check3.status = False
    
    then
    Check1.status := False // rot geht aus
    Check2.status := False // gelb geht aus
    Check3.status := True // grün geht an
    
    else if
    Check1.status = False
    and Check3.status = True
    
    then
    Check3.status := False // grün geht aus
    Check2.status := True // gelb geht an
    
    else if 
    Check2.status = True
    and Check1.status = False
    
    then
    Check2.status := False // gelb geht aus
    Check1.status := True // rot geht an

    außerdem musst du noch festlegen:

    Code:
    if Check1.status = True
    then Label1.Color = red
    else Label1.Color = black
    usw.


    das musst du eben nur noch richtig in deine Programmiersprache "übersetzen". Ich beherrsche leider nur die Logik, aber irgendwie keine Programmiersprachen =/

    ich hoffe, ich habe keinen Denkfehler drin ^^

  20. #20
    데르 외계
    Avatar von zokker13
    Registriert seit
    12.10.2008
    Ort
    Wuppertal
    Beiträge
    6.660
    Name
    Philipp
    Nick
    cWc.zokker13
    Danke für die Hilfe, ich darf aber wie gsagt nur If&else benutzen, bei timern, true ect. sind wir nochgarnicht...
    Hier nochmal der Code:

    1. using System;
    2. using System.Collections.Generic;
    3. using System.ComponentModel;
    4. using System.Data;
    5. using System.Drawing;
    6. using System.Linq;
    7. using System.Text;
    8. using System.Windows.Forms;
    9.  
    10. namespace Ample
    11. {
    12. public partial class Form1 : Form
    13. {
    14. public Form1()
    15. {
    16. InitializeComponent();
    17. }
    18.  
    19. private void cmdStart_Click(object sender, EventArgs e)
    20. {
    21. if (pnlRot.BackColor == Color.Gray)
    22. {
    23. this.pnlRot.BackColor = Color.Red;
    24. }
    25.  
    26.  
    27. else if (pnlRot.BackColor == Color.Red)
    28. {
    29. this.pnlGelb.BackColor = Color.Yellow;
    30.  
    31. }
    32.  
    33.  
    34. }
    35. }
    36. }
    37.  

    Ich will erst alle Farben haben.
    Also Klick1 Rot geht an
    Klick 2 Gelb geht an, Rot bleibt.
    Klick 3 Grün geht an, Rot u. Gelb bleibt.

    Das will ich erstmal haben, dannach will ich erst Rot nachdem Gelb aufleutet, wieder grau machen.

    Dannach mache ich noch ein Reset-Knopf.

    Aber zuerst alle Farben haben.

    Habs schon versucht, aber ich bekomme einfach das letzte Panel nicht zum leuchten. =/

+ Antworten
Seite 1 von 3 123 LetzteLetzte

Ähnliche Themen

  1. Suche freie Ampel Piktogramme
    Von Nihilist im Forum Technik Ecke
    Antworten: 8
    Letzter Beitrag: 22.02.2009, 16:44

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •