Bug in meinen schach spiel(C++)?

ich arbeite an einen schach Programm und ich habe ein bug den ich nicht herausfinden kann. Ich arbeite mit einen 2d array und kann die Figuren wählen und Sie auf ein belibigen ort verschieben aber wenn ich es mache ist bei "Variable [0][0]" plötzlich garnichts mehr.

Hier der code:

#include <iostream>
using namespace std;
int a,b,c,d,e,f,ende;
int schwarz;
int weis=1;
int bewegung;
int x;
int y;
 char figur[8][8]=
{
't','s','l','k','d','l','s','t',
'b','b','b','b','b','b','b','b',
' ',' ',' ',' ',' ',' ',' ',' ',
' ',' ',' ',' ',' ',' ',' ',' ',
' ',' ',' ',' ',' ',' ',' ',' ',
' ',' ',' ',' ',' ',' ',' ',' ',
'B','B','B','B','B','B','B','B',
'T','S','L','K','D','L','S','T'
};
int main()
{
   while(x!=8)
   {
       cout<<figur[x][y];
       y++;
       if(y==8)
       {
           x++;
           y=0;
           cout<<endl;
       }
   }
while(ende!=1)
{
   if(weis==1)
   {
   cout<<"was wollen sie bewegen weis?"<<endl;
   cout<<"x:";
   cin>>e;
   cout<<endl;
   cout<<"y:";
   cin>>f;
   cout<<endl;
   cout<<figur [e][f]<<" wird verschoben"<<endl;
   cout<<"wohin?"<<endl<<"x"<<endl;
   cin>>a;
   cout<<"y"<<endl;
   cin>>b;
   cout<<endl;
   figur[c][d]=figur[a][b];
   figur[a][b]=figur[e][f];
   figur[e][f]=figur[a][b];
   figur[e][f]=figur[c][d];
 //     figur[0][0]='t';
x=0;
y=0;
   while(x!=8)
   {
       cout<<figur[x][y];
       y++;
       if(y==8)
       {
           x++;
           y=0;
           cout<<endl;
       }
   }
//schwarz nicht fertig
schwarz++;
weis--;
   }
if(schwarz==1)
   {
   cout<<"was wollen sie bewegen schwarz?"<<endl;
   cout<<"x:";
   cin>>x;
   cout<<endl;
   cout<<"y:";
   cin>>y;
   cout<<endl;
   cout<<figur [x][y]<<" wird verschoben"<<endl;
   cout<<"wohin?"<<endl<<"x"<<endl;
   cin>>a;
   cout<<"y"<<endl;
   cin>>b;
   cout<<endl;
   figur[c][d]=figur[a][b];
   figur[a][b]=figur[x][y];
   figur[x][y]=figur[a][b];
   figur[x][y]=figur[c][d];
   if(x!=0)
   {
       if(y!=0)
       {
       figur[0][0]='t';
       }
   }
   x=0;
   y=0;
   while(x!=8)
   {
       cout<<figur[x][y];
       y++;
       if(y==8)
       {
           x++;
           y=0;
           cout<<endl;
       }
   }
cout<<"wollen sie es beenden? 1=ja 0=nein"<<endl;
cin>>ende;
weis++;
schwarz--;
   }
}
}

vielen dank ihn vorraus

Bild zum Beitrag
Computer, Schule, programmieren, Array, Bug
Kann man die Arduino Software auch für ähnliche Mainboards verwenden?

Ich habe einen 3D Drucker mit einem Atmel Mainboard. Die Firmware kann ich flashen und ihre Version ändern, das habe ich schon öfters getan.

Der Arduino Mega 2560 kann man dann als 3D Drucker Mainboard verwenden und die Firmware selbst, ziemlich unkompliziert programmieren.

Meine Frage ist, ob ich bei meinem Mainboard mit Atmel Prozessor, das ja eigentlich äquivalent wie der Arduino Mega ist, Auf diese Art die Achsen steuern kann, sowie alle nötigen Sensoren, sowie die Nozzle ansteuern kann.

Die Schnittstellen sind auf dem Mainboard gekennzeichnet und theoretisch sollte ich ja diese alle ansteuern können, oder? Wenn dies der Fall wäre, könnte ich ja mithilfe des Arduinos eine eigene Firmware auf den Drucker laden (natürlich selbst programmiert. Ich kenne mich bereits aus mit dem Programmieren von Arduinos.) Meine Drucker Firmware hat gewisse Hürden, die mich zwingen das Hauseigene Filament zu verwenden. Da die Anschlüsse auf dem Printer nicht alles Standartanschlüsse sind, möchte ich bestenfalls das Originale Mainboard behalten.

Ich habe es selbst noch nicht ausprobiert, da ich unsicher war. Kann mir jemand bestätigen, dass dies möglich ist? Und muss ich noch etwas bestimmtes beachten?

LG Lubi

Bild zum Beitrag
Computer, Software, Technik, IT, programmieren, Firmware, Arduino, Informatik, Technologie, 3D-Drucker, Spiele und Gaming
Array Werte einfügen/löschen/ändern?

Hallo ich bin gerade am Java lernen und habe folgendes Problem:

Ich habe ein Array erstellt in dem ich angebe wie viele Zahlen ich eingeben will und diese dann eingeben kann. Nun möchte ich über Switch-Case dem Benutzer die Möglichkeit geben Werte neu an eine beliebige Stelle einzufügen / einen Wert zu löschen / oder einen Wert abzuändern.

import java.util.Scanner;


public class Hausaufgabe71 {


    public static void main(String[] args) {
        Scanner eingabe = new Scanner(System.in);
        
        System.out.println("Wie viele Zahlen sollen eingegeben werden?");
        int anzahlZahlen = eingabe.nextInt();
        double[] zahlen = new double[anzahlZahlen];
        for (int i = 0; i < zahlen.length; i++) {
            System.out.print("Zahl " + (i + 1) + ": ");
            zahlen[i] = eingabe.nextDouble();
        }
        System.out.print("\nAktuelle Zahlen: ");
        for (double element : zahlen) {
            System.out.print(element + " ");
        }
        
        System.out.println("\nSumme: " + summe(zahlen) + " " + "Durchschnitt: " 
                + durchschnitt(zahlen));
        
        System.out.println("Was möchten Sie tun?\n1) Zahl einfügen\n2) Zahl"
                + " löschen \n3) Zahl ändern \n4) Beenden");
        
        int menue = eingabe.nextInt();
    
        switch (menue) {
        case 1:
            System.out.println("\nAn welcher Position möchten Sie die Zahl "
                    + "ändern?\n(1 = erste Zahl; " + (zahlen.length + 1) 
                    + " = hinten anfügen)");
            int pos = eingabe.nextInt();
            
            break;
            


        }
        
    }
    public static double summe(double[] zahlen) {
        double sum = 0;
        for (double value : zahlen) {
            sum += value;
        }
        return sum;
    }
    public static double durchschnitt(double[] zahlen) {
        double dur = 0;
        for (int i = 0; i < zahlen.length; i++) {
            dur += zahlen[i];
        }
        return dur / zahlen.length;
    }
}

Das ist mein bisheriger Quelltext.

Hat jemand einen Ansatz für mich wie ich diese Punkte realisiere?

MfG

Computer, programmieren, Java
Wie kann ich diese Navbar fixieren?

Hallo,

ich mache gerade meine erste Website und kenne mich noch sehr wenig mit HTML/CSS aus. Ich schaffe es leider nicht, dass meine Navigation beim runter scrollen oben fixiert bleibt. Wie kann man das ausschließlich mit HTML und CSS (also kein Javascript oder so) beheben?

Hier der HTML-Code:

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Unser Shop</title>
  <link rel="stylesheet" href="styles.css" type="text/css">
</head>


<body>


<div class="topnav">
  <img src="test.png" alt="test" width="100" height="40" style="float:left; margin-right:25px;">
  <a class="active" href="index.html">Willkommen</a>
  <a href="products.html">Unsere Produkte</a>
  <a href="about-us.html">Über uns</a>
</div>


<div class="page">
<p> Willkommen! </p>
</div>




</body>
</html>

Und hier der CSS-Code:

body {
  background-color: green;
  margin: 0px;
}


/* Add a black background color to the top navigation */
.topnav {
  background-color: #333;
  overflow: hidden;
}


/* Style the links inside the navigation bar */
.topnav a {
  float: left;
  color: #f2f2f2;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
  font-size: 17px;
}


/* Change the color of links on hover */
.topnav a:hover {
  background-color: #ddd;
  color: black;
}


/* Add a color to the active/current link */
.topnav a.active {
  background-color: #4CAF50;
  color: white;
}


.page {
  background-color: white;
  margin-right: 125px;
  margin-left: 125px;
  padding-bottom: 85%;
}
Bild zum Beitrag
PC, Computer, Software, Technik, HTML, Webseite, programmieren, CSS, Technologie, fixieren
Was ist der Tastaturpuffer?

Hallo,

Ich lerne gerade C für mein Studium und wir arbeiten mit scanf. Unser Prof hat das Thema Tastaturpuffer aber leider nicht richtig erklärt und ich stehe dementsprechend auf dem Schlauch.

Hier ist die ganze Sache ja noch sehr verständlich.

Eine Zahl wird eingelesen. Diese Eingabe wird mit \n bestätigt. Das in der letzten Zeile eingegeben \n befindet sich in diesem Tastaturpuffer und  wird jetzt automatisch im zweiten scanf eingegeben. Damit wird dieses scanf "Übersprungen" und der Variable "Dummy" das \n  zugewiesen.

EIne Zahl und ein Zeichen wird eingelesen. Wenn jetzt sowohl das Zeichen als auch das \n in dem Tastaturpuffer gespeichert ist, dann müsste ich eine 7 ein A und einen Zeilenumbruch aus Ausgabe bekommen. Das Passiert aber nicht.

Wenn nur das A in dem Tastaturpuffer gespeichert ist, dann müsste ich eine 7 ein A und die möglichkeit erhalten, ein neues Zeichen einzugeben. Das Passiert aber auch nicht.

Stattdessen erhalt ich einfach nur eine 7 und ein A und der Code wird beendet. Warum?

Hier die beiden Codes:

#include <stdio.h>

int main(){

    int Zahl;

    char Dummy;

    printf("geben Sie bitte eine ganze Zahl ein:");

    scanf("%d", &Zahl);                                         .

    scanf("%c", &Dummy);                                        

    printf("%c", Dummy);                                        

    return 0;

}

Und

#include <stdio.h>

int main(){

    int Zahl;

    char Dummy2;

    char Dummy;

    printf("\ngeben Sie bitte eine ganze Zahl und ein Zeichen ein:");

    scanf("%d", &Zahl);                                                 

    printf("%d", Zahl);

    scanf("%c", &Dummy);                                               

    printf("%c", Dummy);                                             

    scanf("%c", &Dummy2);                                                

    printf("%c", Dummy2);

    return 0;

}

Bild zum Beitrag
Computer, Schule, programmieren, C (Programmiersprache)
Unity GameObject deaktivieren?

Ich habe ein Einstellungsmenü. Wenn ich in dieses Menü komme, möchte ich das, dass Panel sound sichtbar wird und das Panel keybinds unsichtbar. Das Problem ist allerdings, dass es nicht funktioniert. Es funktioniert nur wenn ich zB. auf den Button Sound oder Keybinds drücke, dann wird das eine sichtbar und das andere unsichtbar. (Wenn ich auf den Button Sound klicke, dann wird show_hide_sound() ausgeführt).

Allerdings werden mir so, am Anfang beide Panels angezeigt, obwohl ich bei der start() funktion das eine "deaktiviere".

Was könnte da der Fehler sein?

public GameObject sound;
public GameObject keybinds;

public int sound_zahl = 1;
public int keybind_zahl = 0;

void start()
   {
       keybinds.SetActive(false);
       sound.SetActive(true);
   }
public void show_hide_sound()
   {
       keybind_zahl = 0;
       if (sound_zahl == 0)
       {
           sound.SetActive(true);
           keybinds.SetActive(false);
           sound_zahl++;
       }
   }

public void show_hide_keybinds()
   {
           sound_zahl = 0;
           if (keybind_zahl == 0)
           {
               keybinds.SetActive(true);
               sound.SetActive(false);
               keybind_zahl++;
           }
       }
Computer, programmieren, Unity

Meistgelesene Beiträge zum Thema Programmieren