Mouse on the Road

Übersicht BlitzBasic Codearchiv

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

SpionAtom

Betreff: Mouse on the Road

BeitragMo, Jan 21, 2008 0:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Mouse on the Road
Eine "heißer Draht"-Variante für Blitzbasic.
Ziel des Spiels ist es, die gelben Stellen zu erreichen, ohne die roten zu berühren.
Ihr seid gerne dazu eingeladen Level zu bauen, sonstige Vorschläge zu machen und Bugs zu melden.

Während des Spiels kannst du mit ESC den Level abbrechen.
Drücke F1 um in den Vollbildmodus zu wechseln.

letzter Änderung: ~19.September o8~
- Zwischenmenüs eingebaut
- Levelauswahl eingebaut

Levelanzahl: 27

Spiel Download als Quelltext

Levelbeispiel
In der Function drawLevel werden die Level erstellt.
Nehmen wir als Beispiel Nr. 6
Code: [AUSKLAPPEN]
      Case 6
      startx = 30: starty = 300: startr = 20: author$ = "SpionAtom": info$ = "Beginner Level"       

         Color 200, 55, 0
         Rect 0, 0, 800, 600
         Color 0, 0, 0
         Oval -100, 200, 200, 200
         Oval 700, 200, 200, 200
         
         Color 0, 0, 0
         w = (MilliSecs() / 10) Mod 250
         For i = 0 To 3
            Oval i * 250 + w, 260, 80, 80
         Next
         Color 255, 255, 0: Oval 750, 250, 100, 100


startx, starty, startr geben Position und Größe des GO-Kreises an.
author$ sollte klar sein, info$ ist so eine Art Titel für den Level.
Desweiteren braucht ihr nur noch die beiden wichtigen Farbwerte:
Wand = 200, 55, 0 (setColor cRED)
Ziel = 255, 255, 0 (setColor cYELLOW)
Wie Ihr seht, werden Wände einfach in der entsprechenden Farbe gemalt, ebenso die Zielflächen. Mehr braucht man nicht. Bewegliche Objekte mach ich abhängig von Millisecs(), so bleibts frameunabhängig und ich benötige keine zusätzlichen Variablen.
Es gibt nun 10 zusätzliche Variablen q(0..9), damit man mehr Möglichkeiten beim Gestalten hat.
Ansonsten einfach mal in den Code schauen.

Das letzte, was Ihr dann noch machen müsst, ist die Konstante finalLevel anzupassen und fertig!

Würd mich freuen, wenn der ein oder andere mit seiner Kreativität das Spiel bereichern würde.
Cyaa!
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080
  • Zuletzt bearbeitet von SpionAtom am Do, Sep 25, 2008 12:29, insgesamt 21-mal bearbeitet

WüstLing

BeitragMo, Jan 21, 2008 12:22
Antworten mit Zitat
Benutzer-Profile anzeigen
also bei mir funzt des ned..
1. kann die roten so oft berühren wie ich will,
2. funzt das mit dem gelben ned..also go schon aber das andere nicht

hectic

Sieger des IS Talentwettbewerb 2006

BeitragMo, Jan 21, 2008 13:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Du musst auf [Go] klicken und dann zum gelben manövrieren.

Ansonsten solltest du deine Blitzversion mal updaten, da ich der Meinung bin, dass vor Jahren schon die Werte für ReadPixelFast abgeändert wurden. Wenn nun hardcoded Farbwerte erwartet werden, dann kann es zu Fehler führen.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

DAK

BeitragMo, Jan 21, 2008 15:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Coole Sache... hier hast noch ein lvl dafür
Code: [AUSKLAPPEN]
   startx = 100
   starty = 100
   startr = 20
   Color 200, 55, 0
   For i = -150 To 150 Step 10
      Oval 400+i-mouse_x, 500+i-mouse_y, 10, 10
   Next
   For i = -150 To 150 Step 10
      Oval 400-i-mouse_x, 500+i-mouse_y, 10, 10
   Next
   For i = -150 To 150 Step 10
      Oval 400+i-mouse_x*.7, 500+i-mouse_y, 10, 10
   Next
   For i = -150 To 150 Step 10
      Oval 400-i-mouse_x, 500+i-mouse_y*1.5, 10, 10
   Next
   Color 255, 255, 0
   If startoff = 0 Then
      Oval 500, 400, 40, 40
   Else
      Oval 700 - mouse_x * 2, 500 - mouse_y, 40, 40
   End If
Gewinner der 6. und der 68. BlitzCodeCompo

SpionAtom

BeitragMo, Jan 21, 2008 16:48
Antworten mit Zitat
Benutzer-Profile anzeigen
@DAK: Cooler Level, danke dafür. Hab ihn gleich oben eingebunden.

@WüstLing: Manchmal hilft es schon, die Farbtiefe unter Windows auf 32Bit zu stellen.
Ansonsten müsstest du mal bei der drittletzten Zeile das Semikolon wegmachen und schauen, was für Werte oben links im Spiel angezeigt werden, wenn du über eine rote/gelbe Fläche fährst. Sind diese nicht 200,55,0 bzw. 255,255,0 , so müssten alle Farbwerte im Programm umgeschrieben werden.
Ich denke ich änder das so ab, dass man sie nur noch an einer Stelle ändern muss.

EDIT: Hab die Bemerkung von hectic zu Herzen genommen, und nu werden die Farbwerte am Anfang des Programms einmal gelesen, jetzt müsste es bei allen funktionieren.
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080

Xeres

Moderator

BeitragMo, Jan 21, 2008 18:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Mh... Das Level hier kann man abschließen, ist danach aber tot:
Code: [AUSKLAPPEN]
startx = 100
starty = 300
startr = 20
If startoff = 0 Then
   Color 200, 55, 0
    kreis(400,0,50)
    kreis(400,600,50)
   Color 255, 255, 0
    kreis(400,300,20)
Else
   Color 200, 55, 0
    kreis(400,0,50*(Float(mouse_x)/50.0))
    kreis(400,600,50*(Float(mouse_x)/50.0))
   Color 255, 255, 0
    kreis(400,300,20+(Float(mouse_y)/4.4))
EndIf


Aja, die Funktion kreis bitte hinzufügen, Oval ist für gleichmäßige Sachen immer so doof:
Code: [AUSKLAPPEN]
Function kreis(fx,fy,fr, fill=True)
Oval fx-fr, fy-fr, fr*2, fr*2, fill
End Function


Ganz netter Zeitvertreib ansonsten.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)
 

#Reaper

Newsposter

BeitragMo, Jan 21, 2008 18:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmm.. bei manchen Leveln kann man erstklassig cheaten Very Happy
Einfach Maus an der passenden Seite aus dem Fenster bewegen, und auf der anderen Seite dann wieder reinschmuggeln^^
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7

SpionAtom

BeitragMo, Jan 21, 2008 19:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Du hast recht, da hilft auch ein Rahmen nichts. Denn mit Blitz3D allein kann man leider nicht prüfen, ob die Maus sich im Fenster befindet. Die einzige Möglichkeit, die ich momentan sehe, ist der Vollbildmodus. Oder das Leveldesign so gestalten, dass man nicht mehr cheaten kann. Cheaten kannst du aber in den seltensten Fällen, denn wenn zwischen den beiden letzten Mauspunkten (von mir aus ganz weit links, dann links raus, und wieder rechts rein) rote Punkte liegen, verliert man Wink
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080

DAK

BeitragMo, Jan 21, 2008 19:15
Antworten mit Zitat
Benutzer-Profile anzeigen
mir würden da drei sachen einfallen:
1) Vollbild-Modus
2) Diese dll hier: https://www.blitzforum.de/foru...t=mouseext
3) wenn zwischen 2 frames die maus weiter als ein Pixel bewegt wird, berechnest du alles dazwischen in einer geraden Linie nach. Das sollte auch machbar sein...

Edit: mom... soviel ich seh, is 3) eh schon drin... ausm Bildschirm rausfahren zwecks schummeln geht eh nicht mehr... super... und da komm ich drauf, nachdem ich 10 min an einer funktion dafür gebastelt hab...
Gewinner der 6. und der 68. BlitzCodeCompo

SpionAtom

BeitragDi, Jan 22, 2008 14:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Da haben wir wohl ungefähr zur selben Zeit geschrieben.
Vollbild könnte ich reinhauen, aber da der Code offenliegt, ist es leicht, wieder in den Fenstermodus zu kommen.
Punkte zwischen zwei Mauspositionen kontrolliere ich sowieso schon, sonst wäre es nämlich leicht möglich dünne Wände mit schnellen Mausbewegungen zu überbrücken.
Dlls will ich nicht unbedingt verwenden, da ich möglichst ohne externe Dateien auskommen will.

Cheaten ist bis jetzt nur in den "Blitzleveln" möglich. Von daher ist die Sache halb so wild.

Stay tuned, weitere Level folgen...

Edit: neuer Level. eine Frogger-anspielung. (Nachdem man auf GO geklickt hat, kann man auch auf "1" drücken(nicht NumPad) und man kommt ein Level vorwärts Wink )

Edit: Und vielen Dank an Xeres, hab deinen Level erst jetzt entdeckt. Da muss man ja pixelgenau arbeiten, damit man es schafft, aber es ist möglich. Hab mal dabei geschrieben, dass es schaffbar ist.
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080

Silver_Knee

BeitragDi, Jan 22, 2008 16:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab das level auch geschaft und möchte nun mein eigenes beitragen. wer strickt gegen Werbung bei Open-source ist nimmt einfach den markierten block raus^^

Code: [AUSKLAPPEN]
     Case 14
        startx = 50
        starty = 300
        startr = 20
        Color 200, 55, 0
      Kreis 400,300,300,300
      
      w = (MilliSecs() / 10) Mod 360
      
      Color 0,0,0
      
      ;>>>
      Rect 300,100,20,100;
      Rect 260,100,100,20;  F
      Rect 280,140,60,20;
      
      Rect 450,100,20,60;
      Rect 450,100,100,20;
      Rect 450,140,100,20;  S
      Rect 530,140,20,60;
      Rect 450,180,100,20;

      
      Rect 250,400,80,100;
                Color 200, 55, 0;     C
      Rect 270,420,80,60;
      
      Color 0,0,0
      
      Rect 340,400,100,100;
                Color 0, 255, 255;    O
      Rect 360,420,60,60;
      
      Color 0,0,0
      
      Rect 450,400,20,100;
      Rect 450,400,100,20;  M
      Rect 530,400,20,100;
      Rect 490,400,20,60;
      ;<<<
      
      Color 0,0,0
      Rect 400,295,Sin(w+180)*160+160,10
      Rect 400-Sin(w+180)*160-160,295,Sin(w+180)*160+160,10
      kreis 400,300,20,20   
                Color 255, 255, 0     
      Rect 750,0,50,600


wobei ich sagen muss dass das ganze level eigendlich nur mein logo ist ^^

WüstLing

BeitragDi, Jan 22, 2008 16:16
Antworten mit Zitat
Benutzer-Profile anzeigen
sorry
mein fehler war ich wollte das ganze mit BLitz3D starten
warum das nicht funzt wisst vl. ihr..

Silver_Knee

BeitragDi, Jan 22, 2008 16:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Update! Ich arbeite mit 1.98 (weil 1.99 n paar probs mitbringt) und da läuft das

SpionAtom

BeitragDi, Jan 22, 2008 17:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Werbung hin oder her, ich freu mich über jeden Level!
Weiter so!

Wenn es noch Probleme gibt, so teilt es mir bitte mit. Dann kann ich (oder auch andere) noch am Code arbeiten.

Edit: Uhrzeitlevel fertig.
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080

DAK

BeitragDi, Jan 22, 2008 18:27
Antworten mit Zitat
Benutzer-Profile anzeigen
schwer aber schaffbar:
Code: [AUSKLAPPEN]
      startx = 50
      starty = 300
      startr = 20
      m = (MilliSecs() / 20) Mod 360
      Color 200, 55, 0
      For i = 1 To 360 Step 60
         Oval 390+Cos(m+i)*150, 290+Sin(m+i)*150, 20, 20, 1
         Oval 390+Cos(-m+i)*150, 290+Sin(-m+i)*150, 20, 20, 1
      Next
      For i = 1 To 360 Step 180
         Oval 390+Cos(m+i)*150, 290+Cos(m+i)*150, 20, 20, 1
         Oval 390+Cos(m+i+90)*150, 290-Cos(m+i+90)*150, 20, 20, 1
      Next
      For i = 30 To 390 Step 60
         Oval 390+Cos(m+i)*100, 290+Sin(m+i)*100, 20, 20, 1
         Oval 390+Cos(-m+i)*100, 290+Sin(-m+i)*100, 20, 20, 1
         Oval 390+Cos(m+i)*200, 290+Sin(m+i)*200, 20, 20, 1
         Oval 390+Cos(-m+i)*200, 290+Sin(-m+i)*200, 20, 20, 1
      Next
      Color 255, 255, 0
      Oval 390, 290, 20, 20
Gewinner der 6. und der 68. BlitzCodeCompo
 

DennY

BeitragDi, Jan 22, 2008 20:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Das Programm ist echt der Hammer Exclamation

Danke an den Programmierer Very Happy und an die die weitere lvl's bauen Mr. Green

DAK

BeitragDi, Jan 22, 2008 20:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Gerne, gerne^^
Lob und Danke an dieser Stelle auch von mir an SpioAtom und die anderen Mapper
btw...
Code: [AUSKLAPPEN]
      startx = 50
      starty = 300
      startr = 20
      Color 200, 55, 0
      Rect 0,0,800,600
      Color 0, 0, 0
      Oval 30, 280, 40, 40
      Rect 50, 290, 100, 20
      Rect 140, 100, 10, 210
      Rect 140, 100, 50, 10
      Rect 180, 100, 10, 150
      Rect 180, 250, 100, 10
      Rect 280, 250, 20, 100
      Rect 280, 350, 500, 30
      m = (MilliSecs()/20) Mod 360
      For i = 1 To 360 Step 60
         Color 200, 55, 0
         For v = 15 To 40
            Oval 340+Cos(m+i)*v, 365+Sin(m+i)*v, 5, 5
            Oval 395+Cos(m+i)*v, 365+Sin(m+i)*v, 5, 5
            Oval 450+Cos(m+i)*v, 365+Sin(m+i)*v, 5, 5
         Next
      Next
      m = (MilliSecs()/20) Mod 100
      If m < 5 Then
         For i = 1 To 5
            Line Rand(500, 800), Rand(350,380), Rand(500, 800), Rand(350,380)
         Next
      EndIf
      Color 0, 0, 0
      
      Color 255, 255, 0
      Oval 760, 345, 40, 40


langsam wirds hart^^
Gewinner der 6. und der 68. BlitzCodeCompo
  • Zuletzt bearbeitet von DAK am Di, Jan 22, 2008 20:18, insgesamt einmal bearbeitet
 

Phlox

BeitragDi, Jan 22, 2008 20:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Für alle die, denen das zu schwer ist und die Windows XP haben:
Start->Systemsteuerung->Eingabehilfen->Maus->Tastaturmaus aktivieren.
Dann kann man mit dem Ziffernblock die Maus steuern, was äußerst präzise ist.

MfG

Xeres

Moderator

BeitragDi, Jan 22, 2008 21:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Boa DAK, und ich dachte, ich wär fies... *maus wieder schneller stell*
Code: [AUSKLAPPEN]
startx = 25
starty = 300
startr = 25
wi# = MilliSecs() / 20.0

If startoff=1 Then
   Color 200,56,0
   kreis(mouse_x,mouse_y,16+24*Sin(wi#))
   Color 0,0,0
   kreis(mouse_x,mouse_y,15)
EndIf

Color 200,55,0

SeedRnd 5
For i=0 To 20
   kreis(100+30*i,Rand(-300,300)*Cos(wi#),5 )
   kreis(100+30*i,300+Rand(-300,300)*Cos(wi#),5 )
   kreis(100+30*i,600+Rand(-300,300)*Cos(wi#),5 )
   kreis(Rand(-200,200)*Sin(wi#),30*i,5 )
   kreis(200+Rand(-200,200)*Sin(wi#),30*i,5 )
   kreis(400+Rand(-200,200)*Sin(wi#),30*i,5 )
   kreis(600+Rand(-200,200)*Sin(wi#),30*i,5 )
Next

Color 255,255,0
Rect 795, 0, 5, 600, 1
Color 0,0,0
kreis(25,300,25)



@SpionAtom
Wie wär's mit einer Variable die mitzählt, wie lang man insgesamt für die Level gebraucht hat? (damit die Leute prahlen können und andere sie als cheater bezeichnen und alle vielmehr Spaß haben... ^^)
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

SpionAtom

BeitragDi, Jan 22, 2008 21:52
Antworten mit Zitat
Benutzer-Profile anzeigen
DAK, du bist aber fleißig. Und verdammt schwierige Level baust du. Den letzten hab ich noch nicht geschafft.
(Wie gesagt, Level vor geht mit "1", nachdem man auf GO geklickt hat Wink )

Und Tastaturmaus, naja, ich denke, dass sie bei einigen Leveln zu langsam ist.

Und danke für die Blumen.

Edit: Timer kann ich auch noch einbauen

Edit: Hab den 17. Level jetzt doch geschafft.
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Codearchiv

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group