Hogyan kell ezt a programot megoldani? C# lóverseny?
A lényeg: c#-ban kell megírni az alábbi programot: Bekérünk string-ben 5 ló nevet, adunk egy tippet, hogy ki nyer, a lovak randomra 1,2,3 egységet tudnak megtenni, az a ló győz, amelyik előbb eléri a 70 egységet, a nyertes ló nevét irjuk ki és irjuk oda hogy a játékos nyert-e vagy nem.
Légyszi segítsetek!!!
Milyen nem tanultatok?
Tömbök, adatbekérés volt már? Ha igen, akkor a lovak nevét már nagyszerűen be tudod kérni.
Ha ez kész, jöhet a következő lépés.
using System;
namespace loverseny
{
class Program
{
public static void Main(string[] args)
{
const byte HORSENUM=5;
byte i,o;
string[] HorseName = new string[HORSENUM];
byte[] HorseStep = new byte[HORSENUM];
byte bet;
Boolean win=false;
Random rnd = new Random();
Console.Write("LÓVERSENY\n\n");
for (i=1;i<HORSENUM+1;i++)
{
Console.Write("Kérem a(z) "+i.ToString()+". ló nevét: ");
HorseName[i-1]=Console.ReadLine();
HorseStep[i-1]=0;
}
Console.Write("Melyik sorszámú lóra fogadsz? ");
bet=Convert.ToByte(Console.ReadLine());
Console.Write("\nLET'S GO!\n");
do
{
Console.SetCursorPosition(0,11);
for (i=1;i<HORSENUM+1;i++)
{
HorseStep[i-1]+=Convert.ToByte(rnd.Next(1,3));
Console.Write(i.ToString()+".: ");
for(o=0;o<HorseStep[i-1];o++) Console.Write('*');
Console.WriteLine();
if (HorseStep[i-1]>69) {win=true;break;}
System.Threading.Thread.Sleep(25);
}
} while(!win);
Console.SetCursorPosition(0,16);
Console.WriteLine("\nWoW, a(z) "+HorseName[i-1]+" nevű ló nyert!");
if (i==bet) Console.WriteLine("Jééé és Te pont erre fogadtál... :-)");
else Console.WriteLine("Ne vegyél lottó-szelvényt ezen a héten! :-)");
Console.Write("\nNyomj le egy billentyűt a folytatáshoz . . . ");
Console.ReadKey(true);
}
}
}
A lépések a következők (ezeket talán végig tudod csinálni):
1. létrehozol egy 5 elemű string tömböt, ez tárolja majd a lovak nevét (legyen a neve mondjuk 'lovak')
2. létrehozol egy 5 elemű int tömböt, ez tárolja az adott ló által megtett utat
3. létrehozol egy string változót, ez lesz majd a tipp
4. egy for ciklussal bekéred az 5 db ló nevét, ezeket eltárolod a 'lovak' tömbben
5. bekéred a tippet és eltárolod a 'tipp' változóban
6. létrehozol egy 'random' objektumot ( Random r = Random() )
7. kell két segédváltozó, egy bool, amely azt tartalmazza, hogy vége-e a futamnak és egy int, amely a győztes ló tömb-beli helyét tárolja majd
8. egy do-while ciklusba beágyazol egy for ciklust. A for ciklusban a 'lepesek' tömb elemeinek mindegyikéhez hozzáadsz egy random 1-től 3-ig terjedő egész számot valahogy így: lepesek[i] += r.Next(2)+1
9. még a for cikluson belül megvizsgálod, hogy a lépésszám növelés után elértük vagy túlhaladtuk-e a 70-et, ha igen, akkor a 'vege' változót igazzá teszed és a gyoztesIndex változóba elmented i-t
10. ha vége a futamnak akkor kilépsz a do-while ciklusból ( tehát a ciklusfeltétel: while(!vege) )
11. most már csak ki kell iratni a győztes ló nevét, aztán megvizsgálni, hogy a győztes ló egyezik-e a tippel. Ha igen, akkor örülünk, ha nem, akkor sajnálkozunk.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!