Italia
Stammtisch & Caffè

XProfan10 - gibts da schon was? Ja!

 
XProfan10 - gibts da schon was?

Ja! Eine kleine Demonstration von den Anfängen der Umsetzung von Rolands MüllSpiel in ein OpenGL-3D-Game in reinem XProfan!

Wenn ich also richtig spekuliere wird das Programmieren von OpenGL-3D-Anwendungen mit XProfan10 sehr einfach.

Viel Divertimento beim Downloaden.

538 kB
Hochgeladen:17.03.2006
Downloadcounter109
Download
 
17.03.2006  
 




Timotheus
XProfan wird weltbeherschend!!! Mit RGHs unschlagbar einfachen Programmiersprache, und iFs Macro-Beschleuniger werden die Demo Codes aus der Microsoft SDK wohl bald nur noch in Profan geschrieben!

Ich sag nur eins: Starte so schnell wie possibile die Subscriptversion!

Timo
 
17.03.2006  
 




Frank
Abbing
Klasse! Endlich werden Träume wahr...
 
17.03.2006  
 




Rolf
Koch
Brutal und Genial !!!
Wow und Schluck
Boahh und Entzück
Stark
 
17.03.2006  
 




Timotheus
Roland, wie wäre es, wenn du uns zum anfüttern den Quellcode des Müllspiels zeigen würdest, ohne Erlärung, und auch ganz unverbindlich, nur aus reiner Neugier.

Timo
 
17.03.2006  
 




RGH
[quote:7a46eeace3=Timotheus]Roland, wie wäre es, wenn du uns zum anfüttern den Quellcode des Müllspiels zeigen würdest, ohne Erlärung, und auch ganz unverbindlich, nur aus reiner Neugier.

Timo[/quote:7a46eeace3]
Ok, es sei:
KompilierenMarkierenSeparieren
!
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: Da XProfan 10 noch in einem sehr frühem Stadium ist, ist die Syntax der neuen Funktionen ohne jede Gewähr! Alles kann sich noch ändern ...

Saluto
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
18.03.2006  
 




RGH
Aiuto! Das Foro verunstaltet immer noch meinen Quellcode: In der Prozedur Spielfeld fehlen einige Leerzeichen .... dummerweise auch in den Strings, die das Spielfeld definieren. Aber da kann man ja im Original nachschauen. Es wurde nur relativ wenig geändert, um es auf 3-D zu 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
18.03.2006  
 




RGH
Und hier ein weiteres Demo, jetzt mit Textur.

Hier bitte ich um eure Mithilfe: Wie schnell (Frames / Sekunde) corre es bei Euch a) in der Ausgangsgröße (640 * 480) und b) in voller Bildschirmgröße. Das Tempo wird in der Titelzeile angezeigt.

Mein Werte:
a) ca. 50 Frames / Sek
b) ca. 10-15 Frames / Sek (1280 * 1024)
Rechner: Pentium 4, 1500 MHz, 512 MB; Grafik: NVIDEA GeForce MX100 mit 32 MB

339 kB
Kurzbeschreibung: Entpackun und Starten!
Hochgeladen:18.03.2006
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
18.03.2006  
 



50 - 80 Frames, ziemlich unabhängig von der Auflösung
Hab von 640x480 bis 1152x864 getestet.

AMD 2,4, GeForce 4 (64MB)
 
18.03.2006  
 



Auflösung scheit egal zu sein denn ich habe immer ~64 FPS von 800x600 bis 1280x1024

Lediglich der Stärkste der drei Filter reduziert ziemlich konstant um 2 FPS

Transp. änderte die FPS nicht.

AMD 2,2Ghz, NVidia GForce 4 (64MB)
 
18.03.2006  
 




Rolf
Koch
Bei mir genau wie bei iF. Auflösung unabhängig.
Durchschnitt 64 FPS.

Intel P4 - 3,4 Ghz - Radeon X700 (256 MB)
 
18.03.2006  
 




Michael
Wodrich
In der Firma 5 FPS im Stand und 3 FPS bei Bewegung.
ATI-Radeon, P4

Zu Hause überraschende 59-60 FPS, aber es flimmert ein rechteckiger
Bereich in der oberen Bildhälfe. Keine FPS-Cambiamento bei Vergrößerung
auf 1024x768. Das Flimmern ist ein Dauerflimmern, also nicht nur bei Bewegung.

Nidia GeForce4 MX 440, P4 1.2 GHz

Endlich kann ich durch Wände gehen...

Schöne Grüße
Michael Wodrich
 
Programmieren, das spannendste Detektivspiel der Welt.
18.03.2006  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

8.578 Views

Untitledvor 0 min.
Untitled26.05.2012
Untitled07.02.2012

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie