Kanji Trainer
Übersicht

MichaelD1Betreff: Kanji Trainer |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich will einen Kanjitrainer programmieren. Das klappt ja ganz gut, die Nummer für das Zeichen wird ausgesucht und das Zeichen wird dargestellt dann gibt man in einer Konsole die Bedeutung an, die Konsole verschwindet und man klickt auf OK und das nächste Zeichen wird ausgesucht.
Nun will ich das das Zeichen was schon einmal dran war nicht mehr ausgesucht wird und gespeichert wird ob es richtig oder falsch war. Wenn ein neues Zeichen ausgesucht wird soll das was schon einmal dran war nicht mehr erscheinen Wo krigt man eigentlich den Vokabeltrainer her der im Codearchiv war Danke |
||
![]() |
Slayer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Uuuwwaaa, das ist aber starker Tobak.
Das wird nicht so leicht sein, oder? |
||
AMD2500XP, SB5.1, DX9, 512MB DDR333,
XPPro SP1a,ATI 9800SE 256bit 128MB,B3B, B+ immer die neue Version |
konstantin |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Verstehe nicht ganz. Du kannst das ganze in einem Array speichern, und wenn die Frage richtig beantwortet hast, setzt du einen "aktiv"-wert eben auf 0. Im Trainer selbst nimmst du dann nur die, die ne 1 haben ![]() |
||
MichaelD1 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ja das meine ich auch ich dachte ich könnte wenn das Kanji dran war eine neue Datei erstellen bloß ohne das schon dagewesene Kanji und die Daten für das Kanji neu laden bloß mit der neuen Datei ohne das Kanji | ||
konstantin |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Code: [AUSKLAPPEN] for x = 0 to maxkanji
If Kanji( x, 0 ) = 0 then writeline kanjiDat, Kanji( x, 1 ) end if next |
||
MichaelD1 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
muß ich erst ausprobieren danke | ||
![]() |
Slayer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Alu hat Folgendes geschrieben: Verstehe nicht ganz.
Also Kanji ist ne schriftart ? oder. Soweit ich weis ist das sehr schwer, da auch zwei scheinbar idendtische zeichen nicht gleich sind. Da auch die Pinsel/strichstärke unterschiede macht. Oder Täusch ich mich da? |
||
AMD2500XP, SB5.1, DX9, 512MB DDR333,
XPPro SP1a,ATI 9800SE 256bit 128MB,B3B, B+ immer die neue Version |
MichaelD1 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich mach das schon seit Jahren und es macht spaß Zeichen zu lernen und bin darüber hinaus ob andere es als schwer empfinden, japanische Schulkinder sind ja auch nur Menschen und wenn die daß können kann ich das auch | ||
Gerhard |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wieso willst du immer eine neue Datei erzeugen. Das erscheint mir recht umständlich.
Ich gehe davon aus, dass du die Kanjis bereits hast. Das sind doch sicher kleine Bildchen. Sind das einzelne Bilddateien oder sind mehrere Kanjis in einer Bilddatei? |
||
MichaelD1 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ja sind es ich weiß jedenfals nicht wie icvh es machen soll | ||
Gerhard |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wenn du 10 Kanji-Bilder mit Namen Kanji1.png bis Kanji10.png hast, könntest du diese so anzeigen und mit Mausklicks durchschalten. Mit F2 wird neu durchgemischt. Das müsste man natürlich hinsichtlich der Kanjizahl offen gestalten... Kann man ja noch machen. Unklar ist mir, wie die Bezeichnung abgefragt werden soll. Als Auswahl aus mehreren Texten oder durch Texteingabe (nicht unproblematisch bei mehrdeutigen Zeichen)?
H ist das Hintergrundbild. Durch Eingabe der Taste 1 (testweise für richtig) wird das Bild nicht mehr gezeigt. Code: [AUSKLAPPEN] ; Kanji-Trainer Graphics 1024,768 SetBuffer BackBuffer() SeedRnd MilliSecs() ; Global KAnzahl = 10 Global wahl = 1 Dim KBild(KAnzahl) Dim Folge(KAnzahl,2) Dim zwischen(KAnzahl) ; Global H = LoadImage("H.png") For i = 1 To KAnzahl KBild(i) = LoadImage("Kanji"+Str$(i)+".png") Next Kanji_mischen() While Not KeyDown(1) DrawBlock H,0,0 DrawBlock KBild(Folge(wahl,1)),512-ImageWidth(KBild(Folge(wahl,1)))/2,130 If MouseHit(1) Then i=0 Repeat wahl = wahl + 1 If wahl > KAnzahl Then wahl = 1 i = i+1 If i > 10 Then Allesdurch() : Exit Until Folge(wahl,2) = 0 EndIf ; Flip If KeyHit(60) Then Kanji_mischen() If KeyHit(2) Then Folge(wahl,2)=1 Wend For i = 1 To KAnzahl FreeImage KBild(i) Next FreeImage H End ; Funktionen ---------------------------------------------- Function Allesdurch() FlushMouse() Text 10,10,"alles angesehen" Flip WaitMouse() For i = 1 To KAnzahl Folge(i,2)=0 Next Kanji_mischen() End Function Function Kanji_mischen() Local i,j,jj ;___________-- For i = 1 To KAnzahl Folge(i,1) = i Next For i = 1 To 5 j = Rand(KAnzahl) jj = Rand(KAnzahl) zwischen(j) = Folge(j,1) Folge(j,1) = Folge(jj,1) Folge(jj,1) = zwischen(j) Next End Function |
||
MichaelD1 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich dachte mir so etwas ähnliches mit Types, Bei Karteikarten ist es ja so man zieht eine aus den Stapel und legt sie dann weg wenn man fertig ist und mischt neu von den Stapel wo jetzt eine fehlt nimmt man noch eine weg ich dachte das würde sehr gut mit types und delete funktionieren, bloß kenne ich mich nicht mit Types aus | ||
MichaelD1 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich hab es ausprobiert und 10 Kanjis gemalt und nenne sie 1 2 3 und so weiter und H.bmp hab ich auch gemacht, nun sagt er mir an einer bestimmten Stelle immer das ein Bild nicht existiert | ||
Gerhard |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Im Code heissen die Bilder H.png und Kanji1.png usw. bis Kanji10.png.
Ich lege mir immer für ein neues Programm ein neues Verzeichnis an. Das bb-Programm wird dann mit speichern unter... dort gespeichert und dort kommen auch die Bilder rein. Wenn du .bmp-Bilder verwendest, musst du auch den Code ändern. |
||
MichaelD1 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hab ich ja getan ich hab statt .png .bmp geschrieben und noch das VErzeichnis\ weil ich für die kanjis ein extra Verzeichnis habe dazugeschrieben | ||
Gerhard |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Dein .bb Programm muss im gleichen Verzeichnis stehen wie dein Unterverzeichnis für die Kanjis. Also zum Beispiel so:
Verzeichnis Kanji-Trainer darunter: Kanji.bb und das Verzeichnis Kanjibilder mit den Bildern. Im Programm rufst du dann die Bilder auf mit KBilder(i) = Loadimage("Kanjibilder\Kanji"+str$(i)+".png") |
||
raiden |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
den Status der Kanji, ob sie schon abgefragt wurden oder nicht, würde ich in einem Array abspeichern, was bei jedem Programmstart mit
Code: [AUSKLAPPEN] filein=ReadFile("status.dat")
For k=1 To kanjizahl kanjistatus(k)=ReadByte(filein) Next eingelesen und beim Programmende mit Code: [AUSKLAPPEN] fileout=WriteFile("status.dat")
For k=1 to kanjizahl WriteByte(fileout,kanjistatus(k)) Next angespeichert wird. Ich mach es immer so, daß ich zuerst die Speicherroutine schreibe, das Programm einmal starte, damit habe ich schon eine Leerdatei. Kann man zwar auch mit Code: [AUSKLAPPEN] If FileType("status.dat")<>0 Then (...)
lösen, aber bei Programmen, die ich nur selbst nutze, ist mir das schon zu umständlich. Ich wollte aber noch was vorschlagen: es gibt doch für Windows japanische Sprachunterstützung inkl. der entsprechenden Zeichensätze. Könntest Du die nicht nutzen und Dir damit das Zeichnen der Kanji ersparen? Hab das selbst noch nicht getestet (nihongo mo naratte imasu), aber wäre doch eine viel einfachere Lösung eigentlich, oder? |
||
MichaelD1 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
das mit loadimage hab ich ja genauso gemacht die Kanjis stehen bei mir im Verzeichnis kanjis nur daß ich bmps benutze , trotzdem meckert er immer weil er irgendein Kanji nicht finden kann, diese hab ich mit 1 bis 10 nummeriert und rufe sie so auf
Kanjis(i)=Loadimage("kanjis\"+i+".bmp" Ich habe gelesen daß eine Version von Blitz 3D fehler mit Loadimage hat, könnte daß das Problem sein |
||
MichaelD1 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
muß mich entschuldigen hab ein Kanji vergessen jetzt funktioniert es was soll
was macht das Programm wenn man F3 un 1 drückt vom Anschauen her seh ich da nicht durch |
||
MichaelD1 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Bei der Sprachunterstützung sehe ich nicht ganz durch erst mal braucht man die Unicode Zeichen und dann eine Datei für die Schriftart, weß glaube ich wo ich beides herbekomme, trotzdem viel zu komplizier5t, die Bildchen nmach ich mit nen Scanner und photoshop, wenn jetzt einer noch die eine inputrotine aus dem einem Buch über Blitzbasic hat wäre ich zu frieden
danke |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group