Kanji Trainer

Übersicht BlitzBasic Allgemein

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

 

MichaelD1

Betreff: Kanji Trainer

BeitragDi, Dez 30, 2003 18:38
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDi, Dez 30, 2003 18:46
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDi, Dez 30, 2003 18:50
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Wink
 

MichaelD1

BeitragDi, Dez 30, 2003 18:51
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDi, Dez 30, 2003 18:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
for x = 0 to maxkanji
If Kanji( x, 0 ) = 0 then
writeline kanjiDat, Kanji( x, 1 )
end if
next
 

MichaelD1

BeitragDi, Dez 30, 2003 19:13
Antworten mit Zitat
Benutzer-Profile anzeigen
muß ich erst ausprobieren danke

Slayer

BeitragDi, Dez 30, 2003 20:07
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDi, Dez 30, 2003 20:57
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMi, Dez 31, 2003 14:56
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMi, Dez 31, 2003 18:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja sind es ich weiß jedenfals nicht wie icvh es machen soll
 

Gerhard

BeitragMi, Dez 31, 2003 19:44
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDo, Jan 01, 2004 3:50
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDo, Jan 01, 2004 4:03
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDo, Jan 01, 2004 13:57
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragFr, Jan 02, 2004 10:16
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragFr, Jan 02, 2004 16:00
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragFr, Jan 02, 2004 19:33
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Jan 03, 2004 16:41
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Jan 03, 2004 16:48
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Jan 03, 2004 16:54
Antworten mit Zitat
Benutzer-Profile anzeigen
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

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group