Okay danke, aber irgendwie verstehe ich das nicht so ganz, was ist denn :
System.Math.Pow ?
Aufjedenfall ist es super nett von euch das ihr mir das jetzt so gemacht habt, obwohl ich das nicht mal unbedingt wollte, aber es wäre sehr schön, Melfis, wenn du ggf. die Schritte kommentieren könntest :S
Hoffe das ist nicht zu viel verlangt, ich hab mir das jetzt angeschaut und so, verstehe es auch teils, aber das mit System.math.pow nicht, das ist irgendwie aus dem nichts erschienen und wäre halt toll
wenn du die schritte für mich kommentieren könntest :S
Ich habe jetzt deinen Code, Melfis, in mein Programm implentiert, ich hoffe ich durfte das. Ich habe diesen auch ein wenig verändert und ich versuche zu verstehen was es mit diesem "System.Math.Pow" auf sich hat bzw. wie dein Programm diese Rechnung durchführt, naja hier ist jetzt mein Vollständiges Programm.
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace LowHigh
{
/// <summary>
/// Name :xx , xx.09.2011
/// Project : LowHigh
/// </summary>
class Program
{
static void Main(string[] args)
{
// Auswahlmenue
Console.WriteLine("M E N U E");
Console.WriteLine("=========");
Console.WriteLine("0. Ende");
Console.WriteLine("1. Computer raet");
Console.WriteLine("2. Benutzer raet");
Console.Write("===> ");
// Zufall (random) + Verusche zählen (Count)
Random zufall = new Random();
int zahl = zufall.Next(1, 1000);
int count = 0;
string eingabe = Console.ReadLine();
switch (eingabe)
{
case "1":
double zahl2 = 0;
Console.WriteLine("\nDer Computer raet die Zahl des Benutzers!");
Console.WriteLine("=========================================\n");
Console.WriteLine("Anleitung: Geben Sie [k] fuer kleiner und [g] fuer groeßer\n ein oder [r] für richtig!\n");
for (int i = 9; i >= 0; i--)
{
Console.WriteLine("Computertip: " + (zahl2 + System.Math.Pow(2, i)));
string eingabe2 = Console.ReadLine();
switch (eingabe2)
{
case "k":
Console.WriteLine("Meine Zahl ist kleiner!");
break;
case "g":
Console.WriteLine("Meine Zahl ist Größer!");
zahl2 += System.Math.Pow(2, i);
break;
case "r":
Console.WriteLine("Richtig!");
i = -1;
break;
default:
Console.WriteLine("Falsche Eingabe");
i++;
break;
}
}
return;
case "2":
{
Console.WriteLine("\nDer Benutzer raet die Zahl des Computers!");
Console.WriteLine("=========================================\n");
int geraten;
Console.Write("Dein Tip: ");
geraten = Convert.ToInt32(Console.ReadLine());
if (geraten == zahl)
{
count++;
Console.Write("Richtig!!!\nDu hast " + count + " Versuch(e) benoetigt!\n");
}
if (geraten < zahl)
{
count++;
Console.WriteLine("Meine Zahl ist größer!!!");
}
if (geraten > zahl)
{
count++;
Console.WriteLine("Meine Zahl ist kleiner!!!");
}
while (geraten != zahl)
{
Console.Write("Dein Tip: ");
geraten = Convert.ToInt32(Console.ReadLine());
if (geraten < zahl)
{
count++;
Console.WriteLine("Meine Zahl ist größer!!!");
}
if (geraten > zahl)
{
count++;
Console.WriteLine("Meine Zahl ist kleiner!!!");
}
if (geraten == zahl)
{
count++;
Console.Write("Richtig!!!\nDu hast " + count + " Versuch(e) benoetigt!\n");
}
}
Console.WriteLine();
Console.ReadLine();
break;
}
}
}
}
}
Aber schön zu wissen wäre es trotzdem, wie die Binäre Suche in bzw mit c# geht, das war ja auch die eigentliche Aufgabe, einer aus meiner Klasse hat es auch so ähnlich wie du, melfis, gemacht, aber EIG. war die Aufgabe auf dem Zettel man soll versuchen es mit einer "Binären Suche" zu versuchen. Naja, ich mein das ist nur eine Übungsaufgabe für die, die etwas mehr machen wollen, also kein muss, aber trotzdem wäre es schön zu wissen wie das mit der Binären Suche geht.