Mit ronthattam el a programban? (C#)
Nemrég keztem tanulni a c#-ot. Egy egyszerű kis program amelyben 3 gomb közül választhatunk, hogy melyik kategóriából írja ki az angol szavakat(állat,színek, testrészek) ezután kiírja egy textboxba a kategória szavait, utánna pedig nekünk a második szövegdobozba kell írni a magyar megfelelőjét. Ezt az egészet le okézni és kiírja a válasz helyességét. Nos probléma az, hogy az angol szavakat kiírja válaszolsz rá megírja hogy rossz e vagy sem de utánna nema tömb 2. elemével folytatja hanem véletlenszerűen választ következő angol szót a tömb tagjai közül.(látszólag gondolom...) de ezután az "ellenőrző" gomb nem funkcionál sem nem írja ki a válasz helyességét se nem ad új szót. Ezt mindegyik kategóriánál. Mit rontottam el? Kösz előre a válaszokat.
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
string[,] allatok={{"monkey","dog","wasp","crawfish","fox","mole","spa
rrow","butterfly","deer","chappie"},{"majom","kutya","darázs
"
,"rák","róka","vakond","veréb","pillangó","őz","mókus"}};
string[,] szinek={{"red","blue","green","yellow","white","black","brow
n","orange"},{"piros","kék","zöld","sárga","fehér","fekete",
"
barna","narancs"}};
string[,] testreszek = { { "head", "leg", "hend", "ear", "eye", "arm", "knee", "fool", "back", "chic" }, { "fej", "láb", "kéz", "fül", "szem", "kar", "térd", "lábfej", "hát", "áll", } };
int szam = 0;
public Form1()
{
InitializeComponent();
}
private void allat_Click(object sender, EventArgs e)
{
angolszavak.Text = allatok[0, 0];
}
private void szin_Click(object sender, EventArgs e)
{
angolszavak.Text = szinek[0, 0];
}
private void test_Click(object sender, EventArgs e)
{
angolszavak.Text = testreszek[0, 0];
}
private void enter_Click(object sender, EventArgs e)
{
if (angolszavak.Text == allatok[0, 0])
{
if (magyarszavak.Text == allatok[1, szam])
{
valasz.Text = "Jó válasz!";
magyarszavak.Clear();
szam++;
angolszavak.Text = allatok[0, szam];
}
else valasz.Text="Rossz válasz! A helyes válasz: "+allatok[1,szam];
magyarszavak.Clear();
szam++;
angolszavak.Text = allatok[0, szam];
}
else if (angolszavak.Text == szinek[0, 0])
{
if (magyarszavak.Text == szinek[1, szam])
{
valasz.Text = "Jó válasz!";
magyarszavak.Clear();
szam++;
angolszavak.Text = szinek[0, szam];
}
else valasz.Text = "Rossz válasz! A helyes válasz: " + szinek[1, szam];
magyarszavak.Clear();
szam++;
angolszavak.Text = szinek[0, szam];
}
else if (angolszavak.Text == testreszek[0, 0])
{
if (magyarszavak.Text == testreszek[1, szam])
{
valasz.Text = "Jó válasz!";
magyarszavak.Clear();
szam++;
angolszavak.Text = testreszek[0, szam];
}
else valasz.Text = "Rossz válasz! A helyes válasz: " + testreszek[1, szam];
magyarszavak.Clear();
szam++;
angolszavak.Text = testreszek[0, szam];
}
}
}
}
tudom mik azok az objektumok ennyire még én se vagyok hülye xD
textbox: angolszavak, magyarszavak
button: szin, test, allat(ezek a kategória gombok hogy melyik kategóriából töltse föl szavakkal az angolszavak texttboxot)
enter(ez a gomb pedig leokézi a beírt "megfejtést")
label: valasz(ez írja ki hogy jó-e vagy rossz-e a
valasz)
Tess gyorsan összedobtam, talán segít:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace AngolJatek
{
public partial class Form1 : Form
{
public static Random rand;
public static List<string> SzámSzavak;
public static List<string> SzínSzavak;
public static List<string> TestSzavak;
public static List<string> SzámSzavakMegoldas;
public static List<string> SzínSzavakMegoldas;
public static List<string> TestSzavakMegoldas;
public static string Tema = null;
public static int TemaSzama = 0;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
rand = new Random();
SzámSzavak = new List<string> { "One","Two","Three" };
SzámSzavakMegoldas = new List<string> { "Egy","Kettő","Három" };
SzínSzavak = new List<string> { "Red","Green","Blue" };
SzínSzavakMegoldas = new List<string> { "Piros", "Zöld", "Kék" };
TestSzavak = new List<string> { "Head","Hair","Shoulder" };
TestSzavakMegoldas = new List<string> { "Fej", "Haj", "Váll" };
}
private void SzámGomb_Click(object sender, EventArgs e)
{
Tema = "Szám";
Sorsolas();
AngolSzo.Text = SzámSzavak[TemaSzama].ToString();
}
private void SzínGomb_Click(object sender, EventArgs e)
{
Tema = "Szín";
Sorsolas();
AngolSzo.Text = SzínSzavak[TemaSzama].ToString();
}
private void TestGomb_Click(object sender, EventArgs e)
{
Tema = "Test";
Sorsolas();
AngolSzo.Text = TestSzavak[TemaSzama].ToString();
}
public static void Sorsolas() { TemaSzama = rand.Next(0, 3); }
public static void Nyert() { MessageBox.Show("Nyertél!", "Congratulation"); }
public static void Vesztett() { MessageBox.Show("Most vesztettél!", "Sorry"); }
private void button4_Click(object sender, EventArgs e)
{
switch (Tema)
{
case "Szám":
if (MagyarSzo.Text.ToString() == SzámSzavakMegoldas[TemaSzama])
{
Nyert();
}
else { Vesztett(); }
break;
case "Szín":
if (MagyarSzo.Text.ToString() == SzínSzavakMegoldas[TemaSzama])
{
Nyert();
}
else { Vesztett(); }
break;
case "Test":
if (MagyarSzo.Text.ToString() == TestSzavakMegoldas[TemaSzama])
{
Nyert();
}
else { Vesztett(); }
break;
default:break;
}
}
}
}
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!