| |
|
|
| XProfan10 - Gibts there already what?
Yes! an small demonstration from the Anfängen the Umsetzung of Rolands MüllSpiel into OpenGL-3D-Game in reinem XProfan!
If I means correctly. spekuliere becomes the program of OpenGL-3D-Applications with XProfan10 very simply.
plenty Fun at Download. |
|
|
| |
|
|
|
Timotheus | XProfan becomes weltbeherschend!!! with RGHs invincible einfachen Programming-Language, and iFs Macro-Beschleuniger go The demonstration Codes from the Microsoft SDK well soon only still in Profan written!
I say only one: Starte so quick How possible The Subscriptversion!
Timo |
|
|
| |
|
|
|
Frank Abbing | class! finally go dreams true... |
|
|
| |
|
|
|
Rolf Koch | Brutal and Genial !!! Wow and swig Boahh and Entzück heavy |
|
|
| |
|
|
|
Timotheus | Roland, how'bout, if You us to that anfüttern whom Source the Müllspiels show would, without Erlärung, and integrally unverbindlich, only from reiner curiosity.
Timo |
|
|
| |
|
|
|
RGH | [quote:7a46eeace3=Timotheus]Roland, how'bout, if You us to that anfüttern whom Source the Müllspiels show would, without Erlärung, and integrally unverbindlich, only from reiner curiosity.
Timo[/quote:7a46eeace3] OK, it be: CompileMarkSeparation!
Test
----
declare mx%,my% Mausposition
declare fx%,fy% Figurposition
declare px%,py% neue Müllposition
declare dx%,dy% Abstände
declare i%,j% Zählvariablen
declare anz%,vorg% Anzahl gesammelt/Vorgabe
declare ende%,ok% Endeschalter, Zug-Ok-Schalter
declare ton% Sound-Flag
declare scan% Tastencode
declare tflag% transparentes Icon?
declare rotx%, roty% Rotation X/Z-Achse
declare zoom% Entfernung
declare f$,figur$
dim$ 12
PROC DrawGLScene
declare y%, x%, f$
oGL("Clear")
oGL("Origin", 0, 0, zoom%)
oGL("Rotate", rotx%, roty%, 0)
oGL("COLOR", 0.3, 1, 0.3, 1)
oGL("Cuboid", 12, 0.1, 10)
y%=12
x%=14
oGL("Move",7.5, 0.1, 5.5)
while y%
while x%
oGL("Move",-1,0,0)
f$ = mid$(list$(y%),x%,1)
if (fx% = x%) and (fy% = y%)
oGL("COLOR", 1, 1, 0, 1)
oGL("Cuboid", 0.7, 1.2, 0.7)
elseif f$ = "B"
oGL("COLOR", 0, 0.7, 0, .5)
oGL("Pyramid", 0.7, 1.6, 0.7)
elseif f$ = "S"
oGL("COLOR", 0.3, 0.3, 0.3, 1)
oGL("Cuboid", 0.8, 0.4, 0.8)
elseif f$ = "E"
oGL("COLOR", 0, 0, 1, 1)
oGL("Cuboid", 1, 0.1, 1)
elseif f$ = "M"
oGL("COLOR", 1, 0, 0, 1)
oGL("Cuboid", 0.5, 0.5, 0.5)
endif
dec x%
endwhile
oGL("Move",14,0,-1)
let x%=14
dec y%
endwhile
oGL("Show")
ENDPROC
PROC SPIELFELD
case ton% : playsound "toccata.wav", 1
list$ 1="SSSSSSSSSSSSSS"
list$ 2="SBBBBBBBBBBBBS"
list$ 3="SBB BB GBBS"
list$ 4="SBB M BB MBBS"
list$ 5="SBSS BB BS"
list$ 6="SBB BBBBSSSSBS"
list$ 7="SB S BS"
list$ 8="SB S S S BS"
list$ 9="SB SBM S BBBBS"
list$ 10="SB BB S EBS"
list$ 11="SBBBBBBBBBBBBS"
list$ 12="SSSSSSSSSSSSSS"
let i%=12
let j%=14
cls
usecursor 2
let vorg%=0
let anz% =0
while i%
while j%
f$ = mid$(list$(i%),j%,1)
if f$ = "M"
inc vorg%
elseif f$ = "G"
fx%=j%
fy%=i%
endif
dec j%
endwhile
let j%=14
dec i%
endwhile
useicon "GESICHT"
usecursor 0
ENDPROC
PROC TON
ton% = 1 - ton%
if ton%
checkmenu 190,1
else
checkmenu 190,0
endif
ENDPROC
PROC SPIEL
ok% = 1
dx% = mx% - fx%
dy% = my% - fy%
px% = dx% + mx%
py% = dy% + my%
f$ = mid$(list$(my%),mx%,1)
case instr(f$,"BE") : ok% = 0
if f$ = "S"
case instr(mid$(list$(py%),px%,1),"BMES") : ok%=0
if ok%
case ton% : playsound "pop.wav",1
list$ py% = del$(list$(py%),px%,1)
list$ py% = ins$("S",list$(py%),px%)
list$ my% = del$(list$(my%),mx%,1)
list$ my% = ins$(" ",list$(my%),mx%)
endif
endif
if instr(f$,"M")
case instr(mid$(list$(py%),px%,1),"BSE") : ok%=0
if ok%
case ton% : playsound "bloop.wav",1
list$ py% = del$(list$(py%),px%,1)
list$ py% = ins$("M",list$(py%),px%)
list$ my% = del$(list$(my%),mx%,1)
list$ my% = ins$(" ",list$(my%),mx%)
endif
if @instr(@mid$(@list$(py%),px%,1),"E")
ok%=1
anz%=@add(anz%,1)
list$ my% = del$(list$(my%),mx%,1)
list$ my% = ins$(" ",list$(my%),mx%)
case ton% : playsound "laser.wav",0
endif
endif
ifnot ok%
case ton% : playsound "vault.wav",1
return
endif
i% = mx%
mx% = fx%
fx% = i%
i% = my%
my% = fy%
fy% = i%
if anz% = vorg%
whileloop 0, 72
roty% = roty% + 5
DrawGLScene()
endwhile
case ton% : playsound "applaus2.wav",1
messagebox("Du hast es geschafft!","G E W O N N E N !",48)
ende%=1
endif
ENDPROC
PROC ENDE
case messagebox("Willst Du wirklich aufhören?","SPIELENDE",36) = 6:ende% = 1
ENDPROC
PROC HILFE
f$ = "DAS MÜLLSPIEL 3D
"
+ "Ihre Aufgabe als Parkwächter (gelb) ist es, den Müll (rot) in den "
+ "bereitstehenden Mülleimer (blau) zu schieben. Der direkte Weg "
+ "wird leider durch Bäume und Steine versperrt. Während "
+ "die Bäume fest stehen, können die Steine verschoben werden."
case messagebox(f$,"ANLEITUNG 1/3",65) = 2:return
DrawGLScene()
f$ = "Bewegung:
"
+ "Sie können ein Feld waagrecht oder senkrecht laufen, "
+ "nicht aber diagonal. Steuern Sie den Parkwächter mit den "
+ "Cursortasten. Liegt in Laufrichtung Müll oder ein Stein, "
+ "so wird dieser weitergeschoben. "
case messagebox(f$,"ANLEITUNG 2/3",65) = 2:return
DrawGLScene()
f$ = "Übrige Funktionen:
"
+ "Über den Menüpunkt Ton können Sie den Sound an- und "
+ "ausschalten. Mit Ende können Sie das Spiel beenden.
"
+ "Mit den Tasten Pos1/Ende/Bild+/Bild- ändern Sie das Blickfeld!
"
+ "Das Spiel ist komplett in XProfan 10 geschrieben. "
messagebox(f$,"ANLEITUNG 3/3",64)
ENDPROC
*** HAUPTPROGRAMM *****
windowtitle "DAS MÜLLSPIEL 3D"
CLS 0
popup "&Spiel"
appendmenu 180,"&Neues Spiel"
appendmenu 190,"&Ton F2"
appendmenu 200,"&Ende F3"
popup "&Hilfe"
appendmenu 210,"&Hilfe F1"
appendmenu 220,"Über"
ton%=1
checkmenu 190,1
oGL("INIT", %HWnd, 0, 0, 0, 1)
set("autopaint", 0)
ende% = 0
roty% = 15
rotx% = 225
zoom% = -15
SPIELFELD
whileloop 0, 36
rotx% = rotx% - 5
DrawGLScene()
endwhile
whilenot ende%
waitinput
mx%=fx%
my%=fy%
if iskey(39)
inc mx%
spiel
elseif iskey(37)
dec mx%
spiel
elseif iskey(40)
inc my%
spiel
elseif iskey(38)
dec my%
spiel
elseif iskey(34)
inc rotx%
elseif iskey(33)
dec rotx%
elseif iskey(36)
inc roty%
elseif iskey(35)
dec roty%
elseif iskey(113)
TON
elseif iskey(114)
ENDE
elseif iskey(112)
HILFE
elseif %menuitem
DrawGLScene()
case menuitem(180) : SPIELFELD
case menuitem(190) : TON
case menuitem(200) : ENDE
case menuitem(210) : HILFE
if menuitem(220) or menuitem(254)
playsound "fanfare.wav",1
messagebox("© 1992-2006 Roland G. Hülsmann","DAS MÜLLSPIEL - OpenGL-DEMO",48)
endif
setmenuitem 0
endif
ref='./../../function-references/XProfan/drawglscene/'>DrawGLScene()
endwhile
usecursor 0
end
WARNUNG: there XProfan 10 still in one very frühem Stadium is, is the Syntax the new functions without each Gewähr! everything can itself yet Change ...
Greeting Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 03/18/06 ▲ |
|
|
|
|
RGH | Help! the Forum verunstaltet still my Source: in the procedure Spielfeld are missing some space .... dummerweise too into Strings, The the Spielfeld define. but there can Yes in the Original nachschauen. it watts only relatively little changed, circa it on 3-D To trimmen! |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 03/18/06 ▲ |
|
|
|
|
RGH | and here further demonstration, now with Textur.
here Please I circa eure Mithilfe: How quick (Frames / second) runs it with you a) in the Ausgangsgröße (640 * 480) and b) in voller Bildschirmgröße. the tempo becomes in the Headline displayed.
my values: a) ca. 50 Frames / Sek b) ca. 10-15 Frames / Sek (1280 * 1024) computer: Pentium 4, 1500 MHz, 512 MB; graphic: NVIDEA GeForce MX100 with 32 MB |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 03/18/06 ▲ |
|
|
|
|
| 50 - 80 Frames, quite independent of the dissolution Have of 640x480 To 1152x864 tested.
AMD 2,4, GeForce 4 (64MB) |
|
|
| |
|
|
|
| dissolution scheit alike To his because I have always ~64 FPS of 800x600 To 1280x1024
solely the Stärkste the three filter minimizes quite konstant circa 2 FPS
Transp. changed The FPS not.
AMD 2,2Ghz, NVidia GForce 4 (64MB) |
|
|
| |
|
|
|
Rolf Koch | by me very How with iF. dissolution independent. average 64 FPS.
Intel P4 - 3,4 Ghz - Radeon X700 (256 MB) |
|
|
| |
|
|
|
Michael Wodrich | in the firm 5 FPS in the stood and 3 FPS with movement. ATI-Radeon, P4
To dwell überraschende 59-60 FPS, but it flimmert one rechteckiger area in the oberen Bildhälfe. No FPS-Änderung with enhancement on 1024x768. the Flimmern is a Dauerflimmern, means not only with movement.
Nidia GeForce4 MX 440, P4 1.2 GHz
finally can I through walls weg...
Best wishes Michael Wodrich |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 03/18/06 ▲ |
|
|
|