[url=
http://www.amiga-resistance.info/forum/ ... art_kl.jpg][img]
http://www.amiga-resistance.info/forum/ ... attach.gif[/img] start_kl.jpg[/url] (9 KB)
Ich kann leider noch nichts uploaden, dabei habe ich nachfolgendes Programm für Euch....siehe quelltext
nur kurz wer es ausprobieren möchte muß nur irgendwelche bilder einbauen...steht ersichtlich aus dem Quelltext den packe ich unten hinzu einfach wieder in das ScuiLib-Verzeichnis...benutzte Schriftart helvetica 15/18...steht auch im quelltext
Jetzt HelmutH bist Du dran ...@ clyde schau mal auf Optimierungen
viel Spass
......
Sodelie
Ich habe hier mal ein Gerüst für den Vokabeltrainer oder auch Quiz-versionen geschaffen.
Vielleicht wird durch verschiedene Anregungen und Miotarbeit anderer hier ein richtiges Projekt daraus.
Man kann Teile von ganzen Sätzen einfügen...Töne einbinden ( Sprache, Laute, Musik, Bilder )....auch für andere Quiz-Systeme...zum Beispiel wer kennt was in Oberhausen (bis auf Bahnhof, Rathaus, Pommesbude, Dönerstand kenn ich nix )
Auch die Funktionalität des daacoolQuiz kann man verwenden (bereits auf scuiLib umgesetzt), um aus mehreren möglichen Antworten zu wählen.
Viele solcher Programme existieren ja bereits und haben da einiges an Ideen verarbeitet.
Die Startsequenz wurde reduziert und bediente sich der Anregungen durch Andreas Beispiele.
Der Hauptteil benutzt die costumizfähige Grundeinstellung der ScuiLIB.
Die Vokabeldatei kann man relativ leicht durch Anpassung füllen, es gibt im Internet zahlreiche freie! Vokabellisten und Datenbanken,
aus dieser Fülle kann man sich bedienen.
*********** WICHTIG *********************************
Garantie:
Es erfolgt i.ü. Haftungsausschluss, es wird keine Garantie übernommen, dass der Computer durch dieses Progrämmchen nicht beschädigt werden könnte.
Die Nutzung des Programmes erfolgt somit freiwillig!
*******************************************************
Anregungen,Kritik, Erweiterungen im Amiga-Resistance Forum an
und überhaupt
malsehn.
---Quelltext Vokabeltraining----auf eigene Gefahr----
; ---Vokabeltraining-DEMO------------------------------------------------------
@INCLUDE "ScuiLib.hws"
; -----------------------------------------------------------------------------
@DISPLAY { Mode = "Fullscreen", Width = 1024, Height = 768, Title = "Eine kleine Demo von SCUI: kleiner Vokabelcheck eine Grundlage für mehr", Color = #BLACK }
@BGPIC 1, "title2.jpg"
@BRUSH 1, "Flag2.png"
@BRUSH 15, "Laufband.png", {Transparency = #WHITE}
Function p_InitWave()
deg = 0
w = GetAttribute(#BRUSH, 1, #ATTRWIDTH)
h = GetAttribute(#BRUSH, 1, #ATTRHEIGHT)
wp = w
w = w + maxwave * 2
cx = 1024 - w
cx = cx \ 2
cy = 768 - h
cy = cy \ 2
CreateBrush(3, w, h)
EndFunction
Function Sichtbar()
Local Check = scui.Get("Vokabelsicht")
If Check.Value = 0
scui.MultiSet({ "Vokbox2", "Hilfestatus" }, { Visible = #IFO_VISIBLE }, 1 )
scui.RedrawObjects(1)
DisplayBrush(1, #CENTER, 10)
Else
scui.MultiSet({ "Vokbox2", "Hilfestatus" }, { Visible = #IFO_HIDDEN }, 1 )
scui.RedrawObjects(1)
DisplayBrush(1, #CENTER, 10)
EndIf
EndFunction
Function Vokabeleingabe_Aenderung()
MoveBrush(15,#LEFTOUT,175,#RIGHTOUT,175,#NORMALSPEED)
Local eingabe = scui.Get("Vokabeleingabe")
scui.Set("Hilfestatus", { Text = { Content = { Values = { " Du hast gerade das Wort [b]" ..eingabe.Value.. "[/b] eingegeben." }, Lines = 1 }}}, 1)
scui.NewObject( #IFOCLASS_LABEL, "Statusanz", { x = 800, y = 400 }, { x = 100, y = 18 },
{ Text = { Alignment = #TEXTALIGN_CENTER } },
{ Values = { ""}, Lines = 1 } )
If eingabe.Value <> Vokchka$
punkte = punkte - 10
scui.Set("Statusanz", { Text = { Content = { Values = {
"Das war leider nicht richtig..Vertippt?" ,
name$.." lass den Kopf nicht hängen!!",
"",
"Das nächste Wort kommt ja schon",
"Dein Punktestand nach Abzug beträgt "..Punkte.." Punkte"}, Lines = 5 }}}, 1)
; PlaySample(1); spielt die geladenen Soundmodule , wenn man sie einbindet...
Else
punkte = punkte + 10
scui.Set("Statusanz", { Text = { Content = { Values = {
"Super "..name$.." dafür gibt es auch Punkte" ,
"Deine Punkteanzahl beträgt derzeit",
""..Punkte.."Punkte"}, Lines = 3 }}}, 1)
; PlaySample(2)
EndIf
Haupt2
scui.Set("Vokbox1", { Text = { Content = { Values = { Vokchk$}, Lines = 1 }}}, 1)
scui.Set("Vokbox2", { Text = { Content = { Values = { Vokchka$}, Lines = 1 }}}, 1)
EndFunction
Function Haupt2()
MoveBrush(15,#RIGHTOUT,580,#LEFTOUT,580,#NORMALSPEED)
n = Rnd(z) ; wahllose Abfrage einer Zeile
Vok$ = SplitStr(Vokabel$[n], "|")
Vokchk$ = Vok$[0]
Vokchka$ = Vok$[1]
EndFunction
Function Haupt2a()
scui.NewObject( #IFOCLASS_LABEL, "Vokbox1", { x = 12, y = 290 }, { x = 250, y = 30 },
{ Text = { Alignment = #TEXTALIGN_CENTER } },
{ Values = { Vokchk$ }, Lines = 1 } )
scui.NewObject( #IFOCLASS_LABEL, "Vokbox2", { x = 280, y = 290 }, { x = 250, y = 30 },
{ Text = { Alignment = #TEXTALIGN_CENTER } },
{ Values = { Vokchka$ }, Lines = 1 } )
scui.NewObject( #IFOCLASS_LABEL, "Statusanz", { x = 700, y = 400 }, { x = 300, y = 150 },
{ Text = { Alignment = #TEXTALIGN_CENTER } },
{ Values = { name$,
"Deine Punkteanzahl beträgt derzeit",
""..Punkte,"Pünktchen"}, Lines = 3 } )
scui.NewObject( #IFOCLASS_LABEL, "Linie1", { x = 1, y = 150 }, { x = 1022, y = 5 },
{ Text = { Alignment = #TEXTALIGN_CENTER } },
{ Values = {""}, Lines = 1 } )
scui.NewObject( #IFOCLASS_LABEL, "Linie2", { x = 1, y = 710 }, { x = 1022, y = 5 },
{ Text = { Alignment = #TEXTALIGN_CENTER } },
{ Values = {""}, Lines = 1 } )
scui.NewObject( #IFOCLASS_BUTTON, "EndeButton", { x = 100, y = 738 }, { x = 823, y = 25 },
{ Bevel = { Height = 3,
Colors = { Fill1 = { r = 222, g = 40, b = 0 },
Fill2 = { r = 40, g = 0, b = 0 }}},
HBevel = { Colors = { Fill1 = { r = 250, g = 250, b = 250 },
Fill2 = { r = 64, g = 64, b = 64 }}}},
{ Values = { "[b] Ein Klick und das Programm ist vorbei ![/b]" }, Lines = 1 },
{ OnPushed = Function() End EndFunction } )
scui.NewObject( #IFOCLASS_LABEL, "Hilfestatus", { x = 26, y = 165 }, { x = 999, y = 20 },
{ Text = { Alignment = #TEXTALIGN_CENTER } },
{ Values = { "Anzeige des eingegebenen Wortes " }, Lines = 1 } )
scui.NewObject( #IFOCLASS_SWITCH, "Vokabelsicht", { x = 280, y = 340 }, { x = 250, y = 50 },
nil,
{ Values = { "zeige oder verstecke die Lösung","...ein kleines Hilfsmittel
" }, Lines = 2 },
{ OnChanged = Sichtbar } )
scui.NewObject( #IFOCLASS_STRINGBOX,
"Vokabeleingabe",
{ x = 550, y = 287 },
{ x = 300, y = 40 },
{ Bevel = { Type = #BEVELTYPE_SIMPLE,
Height = 2,
FillMode = #BEVELFILL_GRADIENT }},
{ Values = { "Hier kannst Du "..name$.." das gesuchte Wort eintragen..." },
Lines = 1,
InputType = #GETKEY_ALL,
MaxLen = 255,
Clear1st = 1 },
{ OnExit = Vokabeleingabe_Aenderung } )
; hier kann man noch einen Ergebnisbutton einfügen, der in eine Erg.-Funktion springt
Endfunction
Function p_MainLoop()
deg = deg + 6
If(deg > 358) Then deg = 0
; brush 3 is our buffer to work with
SelectBrush(3)
DisplayBGPicPart(1, cx, cy, w, h, 0, 0)
; shift every line with sine value
For y = 0 To h Step 2 Do DisplayBrushPart(1, 0, y, sintable[deg + y] * 20 + maxwave, y, 529, 2)
EndSelect
DisplayBrush(3, #CENTER, #CENTER)
TextOut(1, 75, j, #LEFT, 0)
EndFunction
;-----Beginn Teil 1------ dank der Benutzung der Scripts von Andreas
sintable = {}
pi! = 3.141592
degrad! = pi! / 180
For i = 0 To 999 Do sintable[i] = Sin(i * degrad! * 2)
maxwave = 20
p_InitWave()
SetFillStyle(#FILLCOLOR)
SetFont("helvetica.font", 15)
SetFontColor($646464)
ta$ = "[b]Mit welchem Namen möchtest Du das Programm starten ? [/b]"
TextOut(7, 50, ta$, #LEFT, 0)
SetFont("helvetica.font", 24)
Locate(400,46)
name$ = InKeyStr(#ALPHABETICAL, 15)
SetInterval(1, p_MainLoop, 1000/25) ; 25 fps
Ende = 1
InstallEventHandler({OnMouseUp = Function() Ende = ENDE + 1 EndFunction})
While Ende = 1
WaitEvent
Wend
; -----------Beginn Teil 2
ClearInterval(1)
scui.NewObject( #IFOCLASS_BEVELBOX, "BGFrame", { x = 1, y = 1 }, { x = 1022, y = 766 } )
DisplayBrush(1, #CENTER, 10)
Vokabel$ = {}
Punkte = 0
OpenFile(1,"Start.txt") ; laden einer txt-Datei in eine Zeile besteht aus 2 Elementen getrennt durch Pipe | in eine Tabelle
While Not Eof(1) ;
Vokabel$[z] = ReadLine(1)
z = z + 1
Wend
z = z - 1
CloseFile(1)
haupt2 ;Funktionen einbinden
haupt2a
Repeat
WaitEvent
Forever
;;;;;;;;;;;;;;