English
Regulars table & Café

XProfan10 - Gibts there already what? Yes!

 
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.

538 kB
Hochgeladen:03/17/06
Downloadcounter109
Download
 
03/17/06  
 




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
 
03/17/06  
 




Frank
Abbing
class! finally go dreams true...
 
03/17/06  
 




Rolf
Koch
Brutal and Genial !!!
Wow and swig
Boahh and Entzück
heavy
 
03/17/06  
 




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
 
03/17/06  
 




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

339 kB
Kurzbeschreibung: Entpackun and started!
Hochgeladen:03/18/06
Downloadcounter60
Download
 
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)
 
03/18/06  
 



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)
 
03/18/06  
 




Rolf
Koch
by me very How with iF. dissolution independent.
average 64 FPS.

Intel P4 - 3,4 Ghz - Radeon X700 (256 MB)
 
03/18/06  
 




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  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

no Systemprofil laid out. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Please register circa a Posting To verfassen.
 

Topic-Options

8.613 Views

Untitledvor 0 min.
Untitled05/26/12
Untitled02/07/12

Themeninformationen



Admins  |  AGB  |  Applications  |  Authors  |  Chat  |  Privacy Policy  |  Download  |  Entrance  |  Help  |  Merchantportal  |  Imprint  |  Mart  |  Interfaces  |  SDK  |  Services  |  Games  |  Search  |  Support

One proposition all XProfan, The there's!


My XProfan
Private Messages
Own Storage Forum
Topics-Remember-List
Own Posts
Own Topics
Clipboard
Log off
 Deutsch English Français Español Italia
Translations

Privacy Policy


we use Cookies only as Session-Cookies because of the technical necessity and with us there no Cookies of Drittanbietern.

If you here on our Website click or navigate, stimmst You ours registration of Information in our Cookies on XProfan.Net To.

further Information To our Cookies and moreover, How You The control above keep, find You in ours nachfolgenden Datenschutzerklärung.


all rightDatenschutzerklärung
i want none Cookie