AMIGA-RESISTANCE

Die Projektseite für alles rund um den Amiga
Aktuelle Zeit: 28 Mär 2024, 20:43

Alle Zeiten sind UTC


 

 

 



Ein neues Thema erstellen  Auf das Thema antworten  [ 89 Beiträge ]  Gehe zu Seite « 1 2 3 4 5 6 »
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: 15 Aug 2008, 13:31 
Offline
Alter Hase

Registriert: 29 Jan 2008, 19:24
Beiträge: 81
[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
;;;;;;;;;;;;;;


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 15 Aug 2008, 13:56 
Offline
Alter Hase

Registriert: 29 Jan 2008, 19:24
Beiträge: 81
ganz vergessen die Start.TXT hat folgenden Inhalt
A|B
c|D
E|F
.....

bzw Vokabelliste erstellen

du|you
Auto|car
Zeitung|Newspaper
...
Hier noch die 3 Bilder ;-) dann testen !!!!

[url=http://www.amiga-resistance.info/forum/ ... /Flag2.png][img]http://www.amiga-resistance.info/forum/ ... attach.gif[/img] Flag2.png[/url] (4 KB)
[url=http://www.amiga-resistance.info/forum/ ... ufband.png][img]http://www.amiga-resistance.info/forum/ ... attach.gif[/img] Laufband.png[/url] (4 KB)
[url=http://www.amiga-resistance.info/forum/ ... title2.jpg][img]http://www.amiga-resistance.info/forum/ ... attach.gif[/img] title2.jpg[/url] (59 KB)


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 16 Aug 2008, 01:21 
Offline
Administrator
Benutzeravatar

Registriert: 30 Aug 2005, 19:42
Beiträge: 5303
Postleitzahl: 46047
Land: Deutschland
Wohnort: 46047 Oberhausen
@malsehn

:o Wau, das ist ja schon richtig gut, ich bin begeistert, was du da in der schnelle hinbekommen hast. :daumen3:
Das mit der openfile Sache hatte ich auch schon probiert, bei mir würde nur nix auf dem Schirm angezeigt, hab da sicherlich einiges vergessen, um das es geklappt hätte.
Auf jedenfall ist das ein prima Grundgerüst, mit dem wir am Vokabeltrainer weiter kommen. :D

Läst sich das auch so einstellen, das nach einem Return (Beantwortung einer Frage) direkt das Eingabefeld wieder aktiviert wird :?:
Das wäre super, da man so nicht erst auf ein Feld klicken muss, um eine neue Antwort eingeben zu können. :)

_________________
Gruß Helmut
Amiga 2000, Amiga 500, Amiga One XE, Amiga One X5000


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 16 Aug 2008, 10:26 
Offline
Alter Hase

Registriert: 29 Jan 2008, 19:24
Beiträge: 81
Moin HelmutH,

scheint bei Dir ja funktioniert zu haben...
Mit welchen Sytemen hast Du denn getestet?
Hier erfolgte der Test unter WinUAE-AF2008 und in kompilierter Version unter WINXP.

Zur Frage : Das nach dem Return gleich wieder aktualisiet wird scheint dann wohl in der in SCUI noch ein lösbares Problem zu sein.
Die Abfragen starten scheinbar auch bei anderen Events. Im Grunde genommen ist dies aber (noch) kein Problem , an SCUI wird a) noch gearbeitet und b) wir haben da ja noch den Quellcode der SCUI LIB...

Viel wichtiger sind in der Reihenfolge
1.die Ideen...
2. das Konzept
3. die Umsetzung und
4. neue Ideen
5.das Konzept
6. die Umsetzung ach ja und
.... alles schöner machengeht immer ;-)

also malsehn


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 16 Aug 2008, 19:44 
Offline
Administrator
Benutzeravatar

Registriert: 30 Aug 2005, 19:42
Beiträge: 5303
Postleitzahl: 46047
Land: Deutschland
Wohnort: 46047 Oberhausen
Abend malsehn

Hab das natürlich auf meinem A1 getestet, für test auf der WinUAE Emu komm ich leider im Moment nicht.

Zu meiner Frage:
Ich weiß ja, das an der SCUI noch gearbeitet wird, dies war nur etwas, was mir aufgefallen war und was eventuell beim weiterbasteln geändert werden könnte.:)

Zum Konzept:
1. die Idee ist ja raus, erstmal einen einfachen Vokabeltrainer zu erstellen.
2. Prüfung auf richtig, oder falsch = hast du ja schon eingebaut :daumen3:
3. Ergebnis nach dem Training ansehen =
4. Wählen von verschiedenen Stufen/Bereichen (bis Klasse 5, bis Klasse 10, Computerbegriffe, usw.)
5. Und um das ganze gerade für jünger Leutz interessanter zu machen, hatte ich die :idea:, da kleine Spiele mit einzubauen.
Da hab ich aber noch keine Vorstellung wie das machbar ist.

Werd nun mal versuchen, deine prima ausgearbeitete Sachen in meinen Vokabletrainer einzubauen.
Mal schaun, wie das dann schon ausschaut. :)

_________________
Gruß Helmut
Amiga 2000, Amiga 500, Amiga One XE, Amiga One X5000


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 17 Aug 2008, 21:11 
Offline
Alter Hase

Registriert: 29 Jan 2008, 19:24
Beiträge: 81
Na da bin ich mal auf das Ergebnis gespannt...
spielerische Zwischensequenzen sind eine gute Idee " Hangman " würde sich da zB. auch anbieten..

viel Erfolg und bei Fragen ...Du weißt... malsehn


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 20 Aug 2008, 12:53 
Offline
Holly-Wooder
Benutzeravatar

Registriert: 01 Feb 2008, 10:47
Beiträge: 355
Postleitzahl: 1109
Land: Deutschland
Wohnort: Dresden
malsehn hat geschrieben:
@ clyde schau mal auf Optimierungen
Yup, mach ich! Klasse, malsehn! Bin nur zurzeit gerade wieder recht aktiv, was Cubic-Hollywood-IDE betrifft, und da will ich meinen Schwung und Motivation erstmal dafür nutzen. :-) Ich hoffe, Ihr habt Verständnis. Hoffe, die erste Version des Teils bald veröffentlichen zu können. Sieht bis jetzt ganz gut aus. Zumindest so, dass man schonmal vernünftig arbeiten kann.

Gruß

_________________
[ img ]
CD32 + SX1; AmiKit (WinUAE) + OS3.9


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 21 Aug 2008, 19:25 
Offline
Administrator
Benutzeravatar

Registriert: 30 Aug 2005, 19:42
Beiträge: 5303
Postleitzahl: 46047
Land: Deutschland
Wohnort: 46047 Oberhausen
Hi Clyde

Solange der Schwung und die Motivation anhält lass dich da auch nicht stoppen, das versteh ich gut, geht mir da auch so. :)
Hört sich gut an und da drück ich dir auch mal die Daumen, das du da gut weiter kommst.


Abend malsehn

Im Moment scheitern meine Versuche daran, das ich einen Fehler bekomme der mir sagt, das ich irgendwas ausserhalb des Bereiches öffne, ich aber noch nicht dahinter gekommen bin, welchen Screen Eintrag ich ändern muss, damit es ins Fenster passt.

_________________
Gruß Helmut
Amiga 2000, Amiga 500, Amiga One XE, Amiga One X5000


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 22 Aug 2008, 11:28 
Offline
Alter Hase

Registriert: 29 Jan 2008, 19:24
Beiträge: 81
Tach,
also ich benutze Textout oder debugPrint um mich langsam an Fehler heranzuarbeiten. Wie sieht denn Dein Script aus ?
Die Information oder Frage ist für mich nicht ganz klar..
Geht es um Brush oder ANIM oder Buttons ??

Manchmal liegt es einfach nur daran das Hintergrund(-bild) eine bestimmte Größe hat, zu der ein Brush in Beziehung steht.

Ja am besten Du schickst mir mal die hws.

gruß aus OB


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 25 Aug 2008, 01:17 
Offline
Administrator
Benutzeravatar

Registriert: 30 Aug 2005, 19:42
Beiträge: 5303
Postleitzahl: 46047
Land: Deutschland
Wohnort: 46047 Oberhausen
Hi malsehn

Hab das mit dem, das sich was ausserhalb eines Bereiches öffnet, hinbekommen.
Das ganze läuft soweit, das ein Name eingeben werden kann, nach einem Return und linken Mausklick erscheinen die einzelnen Button.
Eigendlich sollten zuerst die 8 Button angezeigt werde und erst nach einem Klick auf den "Start Vokabeltrainer" Button, sollte das ganze erst losgehn, hab das aber bisher noch nicht anders hinbekommen.
Funktionieren tut auch das Eingabefeld soweit, nur bekomme ich nach einem Return diesen Fehler:

"Clipregion passt nicht zur Größe des Ausgabegeräts!
Datei: ScuiLib.hws (aktuelle Zeile: 2690 - In Funktion: SetClipRegion)"

Im DebugPrint Fenster erscheint nur Nil und keine weiter Angabe.
Den "zeige oder verstecke die Lösung Button.." hab ich auch irgendwie tot gelegt.
Bin da noch nicht hintergestiegen, wie das mit diesen Zeilen
"scui.NewObject( #IFOCLASS_BUTTON, "EndeButton", { x = 150, y = 450 }, { x = 105, y = 70 },
{ 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 = { " Ein Klick und das Programm ist vorbei !" }, Lines = 1 },
{ OnPushed = Function() End EndFunction } )"
zusammenn hängt, weil wenn ich die auskommentiere, funktioniert das Eingabefeld, wenn ich die Zeile aktiviere, geht der "zeige oder verstecke die Lösung Button..".

Ich häng mal mein skript unten dran, nur schlag nicht die Hände über den Kopf, wenn du siehst, wie ich dein Grundgerüst zerbrösselt habe. :oops:

Und so sieht das ganze bisher aus :arrow: Vokabeltrainer


Ab hier mein Skript:

DebugPrint(VktrainerFehler)

@INCLUDE "ScuiLib.hws"

@BGPIC 1, "flagge-BRD-GB.iff"

@BRUSH 1, "Knopf_start.iff"
@BRUSH 2, "Knopf_info.iff"
@BRUSH 3, "Knopf_über.iff"
@BRUSH 4, "Knopf_beenden.iff"
@BRUSH 6, "Knopf_startGB.iff"
@BRUSH 7, "Knopf_infoGB.iff"
@BRUSH 8, "Knopf_about.iff"
@BRUSH 9, "Knopf_quit.iff"

Global VER$ = "Vokabeltrainer V1.0"

/* clear variables */
Function p_ClearVars()

HollywoodHomepage$ = "http://www.airsoftsoftwair.de/"
HollywoodForum$ = "http://www.amiga-resistance.info/forum/ ... m.php?f=38"
HollywoodUserpage$ = "http://www.Amiga-Resistance.info/homepa ... index.html"

EndFunction

/* Start Vokabeltrainer */
;Function p_Start()

;EndFunction

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
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)
EndIf

EndFunction

Function Vokabeleingabe_Aenderung()

Local eingabe = scui.Get("Vokabeleingabe")
scui.Set("Hilfestatus", { Text = { Content = { Values = { " Du hast gerade das Wort " ..eingabe.Value.. " 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> 358) Then deg = 0

EndSelect

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 = Sin(i * degrad! * 2)

maxwave = 20

p_InitWave()
SetFillStyle(#FILLCOLOR)
SetFont("helvetica.font", 15)
SetFontColor($FFFFFF)
ta$ = "Wer übt gerade Englischvokabeln ? "
TextOut(15, 50, ta$, #LEFT, 0)
SetFont("helvetica.font", 24)
Locate(250,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)

Vokabel$ = {}
Punkte = 0

OpenFile(1,"Vokabeln.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

/*%KEYDOWN(1)="A - Z"
%CODE

Label(ONKEYDOWN1)
quit=TRUE
Return */

/* displays about requester */
Function p_AboutD()

SystemRequest(VER$, VER$ .. " geschrieben von Helmut Haake", "OK")

EndFunction

Function p_About()

SystemRequest(VER$, VER$ .. " written by Helmut Haake", "OK")

EndFunction

/* displays info box */
Function p_Info()

SystemRequest(VER$, VER$ .. " läuft zurzeit...\n\nHollywoodhomepage: " .. Hollywoodhomepage$ .. "\nHollywoodForum: " .. HollywoodForum$ .. "\nHollywoodUserpage: " .. HollywoodUserpage$, "OK")

EndFunction

Function p_InfoGB()

SystemRequest(VER$, VER$ .. " is currently playing...\n\nHollywoodHomepage: " .. HollywoodHomepage$ .. "\nHollywoodForum: " .. HollywoodForum$ .. "\nHollywoodUserpage: " .. HollywoodUserpage$, "OK")

EndFunction

/* this is function that will be entered when an event occurs */
Function p_EventFunc(msg)

Switch msg.action
Case "OnMouseOver":
DisplayBrush(msg.id, msg.x, msg.y)
Case "OnMouseUp":
Switch msg.id
Case 1: p_Start()
Case 2: p_Info()
Case 3: p_AboutD()
Case 4: quit = True
Case 5: p_StartGB()
Case 7: p_InfoGB()
Case 8: p_About()
Case 9: quit = True
EndSwitch
EndSwitch

EndFunction

evttable = {OnMouseOver = p_EventFunc, OnMouseUp = p_EventFunc, OnMouseOut = p_EventFunc}

p_ClearVars()

MakeButton(1, #SIMPLEBUTTON, 150, 80, 105, 70, evttable) /* Knopf_start */
MakeButton(2, #SIMPLEBUTTON, 150, 220, 105, 70, evttable) /* Knopf_info */
MakeButton(3, #SIMPLEBUTTON, 150, 315, 105, 70, evttable) /* Knopf_über */
MakeButton(4, #SIMPLEBUTTON, 150, 450, 105, 70, evttable) /* Knopf_beenden */
MakeButton(6, #SIMPLEBUTTON, 550, 80, 105, 70, evttable) /* Knopf_startGB */
MakeButton(7, #SIMPLEBUTTON, 550, 220, 105, 70, evttable) /* Knopf_infoGB */
MakeButton(8, #SIMPLEBUTTON, 550, 315, 105, 70, evttable) /* Knopf_about */
MakeButton(9, #SIMPLEBUTTON, 550, 450, 105, 70, evttable) /* Knopf_quit */

DisplayBrush(1, 150,80)
DisplayBrush(2, 150,220)
DisplayBrush(3, 150,315)
DisplayBrush(4, 150,450)
DisplayBrush(6, 550,80)
DisplayBrush(7, 550,220)
DisplayBrush(8, 550,315)
DisplayBrush(9, 550,450)


/*
** Main loop
*/

While quit = FALSE
WaitEvent
Wend

End

_________________
Gruß Helmut
Amiga 2000, Amiga 500, Amiga One XE, Amiga One X5000


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 28 Aug 2008, 12:46 
Offline
Administrator
Benutzeravatar

Registriert: 30 Aug 2005, 19:42
Beiträge: 5303
Postleitzahl: 46047
Land: Deutschland
Wohnort: 46047 Oberhausen
Den Fehler:
"Clipregion passt nicht zur Größe des Ausgabegeräts!
Datei: ScuiLib.hws (aktuelle Zeile: 2690 - In Funktion: SetClipRegion)"
hab ich jetzt weg, durch welche Änderung das jetzt passiert ist, kann ich nicht sagen, da ich nach dem letzten Versuch nur die größen der einzelnen Button und Felder verändert habe, sodas sie wie im Bild passen.
Somit klappt der Vokabeltrainer schon soweit.:)
Das was ich noch gerne anders hätte und wo ich noch dran bin, wäre:
- das die Hilfebox zuerst versteckt ist und erst durch drücken auf den "zeige oder versteckte ..." Button die Vokabel in "VokBox2" angezeigt wird.
- der Hintergrund beim umschalten von "zeige oder versteckte ..." nicht nach schwarz wechselt, sondern den Flaggenhintergrund behält.
- der start des Vokabeltrainer erst nach drücken auf den Button "start Vokabeltrainer" passiert und nicht direkt losläuft.

Hat da noch wer einen Tip wie ich das oben in meinem Quellcode ändern muß :?:

_________________
Gruß Helmut
Amiga 2000, Amiga 500, Amiga One XE, Amiga One X5000


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 28 Aug 2008, 19:27 
Offline
Alter Hase

Registriert: 29 Jan 2008, 19:24
Beiträge: 81
so bin wieder im Lande...

Ich habe in den letzten Tagen wenig Zeit gehabt und das WE ist auch schon verplant... aber Hemuth ...Du hast es ja schon rausgefunden.. Clip Region ..(die Doku findet sich in Hollywood)... Man sollte darauf achten dass die Verhältnisse zum Bildschirm (Display oder BGPIC)passen...

Das Du den (meinen) Code zefletterst... he.... dafür ist er gedacht..

Zu den anderen Fragen:

a.) zuerst unsichtbar?
... du mußt dann zuerst die BOX auf
Visible = #IFO_HIDDEN
setzen
(schau mal in die Guide von Scui LIB ...ich meine da gibt es auch ein Beispiele)


b.) Hintergrund soll nicht schwarzsein ..
Eigentlich sollte es reichen, wenn Du ein Redraw machst und nochmals den
Hintergrund lädst

scui.RedrawObjects(XX)
DisplayBrush(XX, X ,Y)

c.) also ich habe die Schleife eingebaut
1.Teil
Ende = 1
InstallEventHandler({OnMouseUp = Function() Ende = ENDE + 1 EndFunction})
;Ende hat den Wert 1 der wird durch den linken Mausklick auf 2 gesetzt (Dein Start Button)dann ist nachfolgende Bedingung nicht mehr erfüllt und es wird nach wend gesprungen

While Ende = 1
WaitEvent
Wend

2.Teil

....
Du kannst natürlich die einzelnen Teile in Funktionen packen
oder auch
in externe hws Dateien auslagern, die Du durch include lädst

Ich hoffe das war verständlich.

machs gut und malsehn...


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 04 Sep 2008, 18:48 
Offline
Administrator
Benutzeravatar

Registriert: 30 Aug 2005, 19:42
Beiträge: 5303
Postleitzahl: 46047
Land: Deutschland
Wohnort: 46047 Oberhausen
Abend malsehn

Schit im Moment komm ich gar nicht dazu weiter zu machen, immer ist was anderes.
Das mit der Bildgröße ist aber doch nur wichtig, wenn sie größer wie das geöffnete Fenster ist, oder kommt so ein Fehler dann auch vor, wenn man die Grafik übereinander liegen hat :?:

Da bin ich ja beruhigt, das es dir nix macht, wenn man da an deinem Quellcode fast alles umbaut, aber anders herrum haste ja auch Recht, der ist im Original ja noch da. :)

zu a.) zuerst unsichtbar?

Ich habe deinen Quelltext
"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)
EndIf

EndFunction "

so geändert, das da wo VISIBLE dann HIDDEN steht und bei HIDDEN dann VISIBLE.
Mit dieser Änderung macht er es nicht, das zuerst der Hilfetext versteckt ist und erst nach drücken des Buttons dann erscheint.
Hast du da eine Idee woran das liegen könnte :?:


zu b.)
Werd ich mal so probieren

zu c.)
Schau mal ob ich nach der Schicht gleich da nochmal dran geh, meld mich dann wie es geklappt hat. :)

_________________
Gruß Helmut
Amiga 2000, Amiga 500, Amiga One XE, Amiga One X5000


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 13 Sep 2008, 13:03 
Offline
Administrator
Benutzeravatar

Registriert: 30 Aug 2005, 19:42
Beiträge: 5303
Postleitzahl: 46047
Land: Deutschland
Wohnort: 46047 Oberhausen
Tach malsehn

Das mit dem Hintergrund hat nur bedingt geklappt, er wechselt beim drücken auf den "zeige oder verstecken" Button immer noch erst nach schwarz und erst wenn ich mit der Maus neben den Button klicke kommt erst das Hintergrundbild (BDR/GB Fahne).

Komm im Moment aber auch nicht wirklich weiter, da ich noch mit OS4.1 Einstellungen beschäfftig bin, weil ich eine Neuinstallation gemacht habe.
Das soll aber nicht heißen, das mir keiner mehr Tips geben brauch. :) :lol:

_________________
Gruß Helmut
Amiga 2000, Amiga 500, Amiga One XE, Amiga One X5000


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 06 Okt 2008, 08:58 
Offline
Alter Hase

Registriert: 29 Jan 2008, 19:24
Beiträge: 81
Hi Helmuth,

nach einer kleinen unangenehmen Pause wollte ich mal sehen, ob unser Projekt weitergeht.... OK du hast mit der OS 4.1 gespielt... und wie ich lese hast Du noch einige Sachen verbessert.

Um nicht nocheinmal Dinge anzusprechen die Du evtl. gelöst hast bitte ich Dich... Packe das ganze mal (wieder) in ein File, dann kann man nochmal drüberschauen.

also malsehn

i.ü. bald erscheint Scui-LIB Beta 6...


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 89 Beiträge ]  Gehe zu Seite « 1 2 3 4 5 6 »

Alle Zeiten sind UTC


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Gehe zu: 

cron