Lernprogramm

03/21/2011 17:47 MrPsycho90#1
Hallo zusammen,

Ich bin gerade dabei, für ne Freundin von mir ein Lernprogramm zu schreiben. Ich habe auch ungefähr ne Vorstellung wie es Aussehen soll. Das Problem ist nur, das es so wie ich das im Moment mache zu lange wird. Kann mir vielleicht einer Helfen, und mir sagen wie ich eine Art "zufällige Variable" machen kann, aber er bei der Lösung trotzdem noch erkennt, ob es Richtig oder Falsch ist. Das Ziel wäre, das ich nicht für jedes einzelne Wort eine neue if Schleife Programmieren muss.

Code:
MsgBox(0, "Lernprogramm", "Partikel = 1" & @LF & "Artikel = 2")


While 1
$Partikel1 = InputBox ("Lernprogramm", "an=")

if $Partikel1 <> 1 Then
MsgBox (0, "Lernprogramm", "Falsch")
ElseIf $Partikel1 = 1 Then
MsgBox (0, "Lernprogramm", "Richtig")
ExitLoop
EndIf
WEnd



While 2
$Partikel2 = InputBox ("Lernprogramm", "an=")

if $Partikel2 <> 2 Then
MsgBox (0, "Lernprogramm", "Falsch")
ElseIf $Partikel2 = 2 Then
MsgBox (0, "Lernprogramm", "Richtig")
ExitLoop
EndIf
WEnd


; usw.....
Edit: Upps ist wahrscheinlich in der Falschen Sektion. Danke fürs verschieben.
03/22/2011 14:39 Adroxxx#2
Hat jetzt aber nichts mit Gamehacking zu tun.
#moved nach Coders
03/23/2011 07:58 boxxiebabee#3
Quote:
Originally Posted by MrPsycho90 View Post
Hallo zusammen,

Ich bin gerade dabei, für ne Freundin von mir ein Lernprogramm zu schreiben. Ich habe auch ungefähr ne Vorstellung wie es Aussehen soll. Das Problem ist nur, das es so wie ich das im Moment mache zu lange wird. Kann mir vielleicht einer Helfen, und mir sagen wie ich eine Art "zufällige Variable" machen kann, aber er bei der Lösung trotzdem noch erkennt, ob es Richtig oder Falsch ist. Das Ziel wäre, das ich nicht für jedes einzelne Wort eine neue if Schleife Programmieren muss.

Code:
MsgBox(0, "Lernprogramm", "Partikel = 1" & @LF & "Artikel = 2")


While 1
$Partikel1 = InputBox ("Lernprogramm", "an=")

if $Partikel1 <> 1 Then
MsgBox (0, "Lernprogramm", "Falsch")
ElseIf $Partikel1 = 1 Then
MsgBox (0, "Lernprogramm", "Richtig")
ExitLoop
EndIf
WEnd



While 2
$Partikel2 = InputBox ("Lernprogramm", "an=")

if $Partikel2 <> 2 Then
MsgBox (0, "Lernprogramm", "Falsch")
ElseIf $Partikel2 = 2 Then
MsgBox (0, "Lernprogramm", "Richtig")
ExitLoop
EndIf
WEnd


; usw.....
Edit: Upps ist wahrscheinlich in der Falschen Sektion. Danke fürs verschieben.
Wie wärs mit ner datenbank?
03/24/2011 18:05 MoepMeep#4
Quote:
Originally Posted by MrPsycho90 View Post
if Schleife
Ich hoffe, du stirbst einen langsamen, qualvollen tod.


Arrays. Übrigens, dein coding stil ist der horror.
03/24/2011 18:55 MrPsycho90#5
Ja, ich weiss.
Danke trotzdem^^ ich versuche mich mal daran.

Hab selber schon ne Idee gehabt... Sieht jetzt so aus:
03/24/2011 20:13 Ronox#6
Hier mal ein Ansatz für dich wie du es umsetzen solltest:
< program initailisierung >
{
< einlesen des Textfiles in ein Array >
z.B: wäre da ein Textfile aufbau in folgendem Format gut
Frage : Antwort
Frage2 : Antwort
Frage3 : Antwort
dann liest du das ganze einfach Zeilen weise ein, und speicherst jede zeile in ein Array
}

Funktion XY (string FrageAntwort)
{
< Jetzt Splitest du den String, durch das Trennzeichen : >
< Rufst deine Frage auf usw.
}

Fragen stellen
{
for (int i = 0; i < array.Length ; i++)
{
Funktion XY(array[i]);
}
}

Nachdenken, Lesen, Verstehen, Umsetzen, Sachen die du noch nicht kennst in google suchen :) Wenn dann noch Fehler auftretten Fragen stellen ;)
03/29/2011 20:58 MrPsycho90#7
Hmmm.... ich weiss was du meinst kriegs aber nicht ganz hin, das der immer das nächste Wort bringt....
Mit der ersten Frage klappt das, die zweite auch aber bei der dritten bleibt das prog hängen und wiederholt sich immer wieder.
Ich weiss zwar was su mienst mit int i = 0, i = ++, ich kenne das von c her weiss aber nicht wie man das bei AutoIT macht....
03/31/2011 17:25 MrSimonKeks#8
Also wenn du C kannst, dann programmiere bloß nicht in AutoIt ;D
Ansonsten wäre es meine Idee vllt. eine Libary im Internet zu suchen mit der du Zeitfunktionen für AutoIt hast bzw. die Zeit mit in das Programm einbeziehen kannst. Darauf würde ich die Zeit ,,missbrauchen´´ einen zufälligen Integer-Wert im Rahmen deiner Abfragmöglichkeiten zu erstellen. Diesen Integer Wert würde ich dann weiterverwenden zum rauslesen einer Frage/Vokabel(?) und dann wieder verwenden zum überprüfen der Antwort...
Falls ich dich falsch verstanden habe bzw. du etwas ganz Anderes vorhast dann tuts mir Leid :D
Mfg
03/31/2011 18:19 MrPsycho90#9
Bin leider ned so der Hirsch in C. Kann da nur ein paar kleine Konsolenanwendungen Programmieren... Keine GUI's keine Arrays kein nix^^
Und ja du hast mich falsch verstanden. Also ich suche den Befehl, der bei C so gemacht wird:


Code:
#include <stdio.h>

int main ()
{
int i = 0;

printf ("%d", &i);  /*angezeigt wird 0*/
i ++;
printf ("%d", &i); /* 1 wird angezeigt*/
usw...
04/01/2011 00:10 MoepMeep#10
Quote:
Originally Posted by MrPsycho90 View Post
Bin leider ned so der Hirsch in C. Kann da nur ein paar kleine Konsolenanwendungen Programmieren... Keine GUI's keine Arrays kein nix^^
Und ja du hast mich falsch verstanden. Also ich suche den Befehl, der bei C so gemacht wird:


Code:
#include <stdio.h>

int main ()
{
int i = 0;

printf ("%d", &i);  /*angezeigt wird 0*/
i ++;
printf ("%d", &i); /* 1 wird angezeigt*/
usw...
i=i+1? :>
04/01/2011 19:30 MrPsycho90#11
ja schon, aber er belibt dann bei der dritten frage stecken, da er net immer mit dem zuletzt gerechneten ergebniss rechnet...
04/01/2011 20:18 MoepMeep#12
Quote:
Originally Posted by MrPsycho90 View Post
ja schon, aber er belibt dann bei der dritten frage stecken, da er net immer mit dem zuletzt gerechneten ergebniss rechnet...
Bei deinem 'Stil' wunderts mich, dass überhaupt etwas läuft. Wir wärs mal mit Grundlagen lernen?
04/01/2011 21:06 MrPsycho90#13
hi,

ich will dir jetzt net zu nahe treten aber wie wäre es mal mit etwas hilfreichem, anstatt nur immer nur an meinem programmierstil herumzumeckern??

btw. unter grundlagen verstehe ich, MsgBox, MouseMove etc... aber du darfst mich gerne aufklären.
04/01/2011 21:36 MrSimonKeks#14
Du bräuchtest doch eigentlich nur 2 Variablen eine hat die gute Zahl 1 und ist konstant.Die andere ist beliebig...
Dann machst du halt eine Schleife und rechnest jede Runde am Ende zu deiner unkonstanten variable die konstante '1' variable hinzu...
Das müsste doch eigentlich sogar bei autoIt funktionieren ;D
Edit: MoepMeep hat das selbe wie ich jetzt geschrieben, nur halt in einer Gleichung verpackt.
Grundlagen definieren sich im allgemeinem in verstehen der generellen Programmiergrundlagen und nicht in ein paar Funktionen...
04/01/2011 21:52 MrPsycho90#15
Hab ich ja gemacht, nur das ichs ned hinkrieg, das die Variable unkonstant ist.