myGully.com

myGully.com (https://mygully.com/index.php)
-   Programmierung (https://mygully.com/forumdisplay.php?f=67)
-   -   Ratespiel C# (https://mygully.com/showthread.php?t=2201925)

dvd-rw 09.01.11 15:42

Ratespiel C#
 
Hi, wir müssen in der Schule in Ratespiel machen. Man denkt sich eine Zahl und der PC soll sie durch eingabe ob die Zahl größer oder kleiner ist.
Aber ich hab ein Problemm die Zahl 20 wird bei mir nie erraten. Weis einer wiso?
Hier mal der Code:
Zitat:

using System;
using System.Collections.Generic;
using System.Text;

namespace Zahlenraten
{
class Program
{
static void Main(string[] args)
{
Console.Title = "Zahlenraten"; // Gibt den Programm einen Titel
//
int ratezahl = 512;
int lösung = 0;
string eingabe = "",wieder="";
bool nochmal = true;

do{
Console.WriteLine("Ist Ihre Zahl {0}", ratezahl);
Console.WriteLine("r=Richtig, k=kleiner, g=größer");
eingabe = Console.ReadLine();
Console.WriteLine();

if (eingabe == "r")
{
Console.WriteLine();
Console.WriteLine("Ihre Zahl ist also {0}", ratezahl);
Console.WriteLine("Wollen sie nochmal?? y=Ja");
wieder= Console.ReadLine();
if (wieder == "y")
{
nochmal = false;
}
}
if (eingabe == "k")
{
Console.WriteLine();
lösung = ratezahl / 2;
lösung = ratezahl - lösung /2;
nochmal = false;
ratezahl = lösung;
}
if (eingabe == "g") // Abfrage ob die Zahl größer ist
{
Console.WriteLine();
lösung = ratezahl / 2;
lösung = ratezahl + lösung /2;
nochmal = false;
ratezahl = lösung;
}
}while(nochmal==false);
Console.ReadLine();
}
}
}
Danke schon mal :)

Madhatter3333 09.01.11 16:17

Also händisch bin ich jetzt auf die 20 gekommen, könnte es was mit den verwendeten Datentypen zu tun haben? Immerhin verwendest du int-Werte, obwohl oft halbe Sachen rauskommen^^

Übrigens:
lösung = ratezahl / 2;
lösung = ratezahl + lösung /2;

Aus der obrigen Zeile kannst du einfach machen:
lösung = ratezahl + ratezahl/4; ^^

Grüße MH

dvd-rw 09.01.11 16:26

naja wära ja doof, wenn danach Kommastellen rauskommen :)
Achja danke schon mal :)

tha_specializt 09.01.11 16:27

Um dein Problem zu ermitteln gibt es eine einfache Methode - vermutlich wird sie euch demnächst nähergebracht werden : der Schreibtisch-Test.

Schreib dir einfach auf was in jeder Runde mathematisch an Ergebnissen ermittelt wird - jede Rechenoperation auf einer Zeile ... dann siehst du es recht schnell.

dvd-rw 09.01.11 16:38

Ok danke ich werde es mal versuchen

Madhatter3333 14.01.11 13:18

hat sich das Problem eigentlich mittlerweile gelöst?

dvd-rw 14.01.11 13:29

jup, jetzt läuft alles wie es soll :D


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:13 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.