Buchempfehlung
MySQL kurz & gut
MySQL kurz & gut
Das preiswerte Taschen- buch stellt MySQL-rele- vante Inhalte systematisch und knapp dar, sodass es sich optimal zum Nach- schlagen beim Pro- grammieren eignet. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

fb:porticula NoPaste

Info
Info / Hilfe
Liste
Übersicht / Liste
Neu
Datei hochladen
Suche
Quellcode suchen
Download
Dateidownload

mini-spiel

Uploader:MitgliedDomso
Datum/Zeit:07.09.2012 12:51:26

'Kleines Mini-Spiel
'Ziel ist es, das gesuchte Zeichen zu finden und 'anzuklicken
'relativ unfertig und verbesserungsfähig... ;P

Screenres 800,600,32',,&h01
Randomize Timer
Dim Shared  As Integer mx,my,mb,auswahl,suche,punktzahl
Type zeichen
    As Integer x,y,speed,richtung
    As Integer ascii_zeichen
    Declare Constructor
    Declare Sub neu_laden
    Declare Sub zeichne
End Type

Constructor zeichen
this.y=0
this.x=100
this.speed=Int(Rnd*5)+1
this.ascii_zeichen=Int(Rnd*255)
End Constructor

Sub zeichen.neu_laden
If this.x>800 And Int(Rnd*10)=1 And this.richtung=1 Then

this.y=Int(Rnd*600)
this.x=0
this.speed=Int(Rnd*5)+1
this.ascii_zeichen=Int(Rnd*255)
ElseIf this.x<50 And Int(Rnd*10)=1 And this.richtung=2 Then
this.y=Int(Rnd*600)
this.x=800
this.speed=Int(Rnd*5)+1
this.ascii_zeichen=Int(Rnd*255)
End If

If this.y>800 And Int(Rnd*10)=1 And this.richtung=3 Then

this.x=Int(Rnd*800)
this.y=50
this.speed=Int(Rnd*5)+1
this.ascii_zeichen=Int(Rnd*255)
ElseIf this.y<0 And Int(Rnd*10)=1 And this.richtung=4 Then
this.x=Int(Rnd*800)
this.y=800
this.speed=Int(Rnd*5)+1
this.ascii_zeichen=Int(Rnd*255)
End If


End Sub

Sub zeichen.zeichne
    If this.richtung=1 Or this.richtung=2 Then Draw String (this.x,this.y),Chr(this.ascii_zeichen),&h10ff05
    If this.richtung=3 Or this.richtung=4 Then Draw String (this.x,this.y),Chr(this.ascii_zeichen),&h10ff05

    If this.richtung=1 Then this.x+=this.speed
    If this.richtung=2 Then this.x-=this.speed

    If this.richtung=3 Then this.y+=this.speed
    If this.richtung=4 Then this.y-=this.speed
End Sub

Dim As Integer zeichen_anzahl=500
Dim As zeichen matrix_symbol_l( 1 To zeichen_anzahl)
For i As Integer = 1 to zeichen_anzahl
    matrix_symbol_l(i).richtung=1
Next

Dim As zeichen matrix_symbol_r( 1 To zeichen_anzahl)
For i As Integer = 1 To zeichen_anzahl
    matrix_symbol_r(i).richtung=2
Next

Dim As zeichen matrix_symbol_o( 1 To zeichen_anzahl)
For i As Integer = 1 to zeichen_anzahl
    matrix_symbol_o(i).richtung=3
Next

Dim As zeichen matrix_symbol_u( 1 To zeichen_anzahl)
For i As Integer = 1 To zeichen_anzahl
    matrix_symbol_u(i).richtung=4
Next

suche=Int(Rnd*254)+1
Do

    Cls
    GetMouse mx,my,,mb

    For i As Integer = 1 To zeichen_anzahl
        matrix_symbol_l(i).zeichne
        matrix_symbol_l(i).neu_laden
        matrix_symbol_r(i).zeichne
        matrix_symbol_r(i).neu_laden
        matrix_symbol_o(i).zeichne
        matrix_symbol_o(i).neu_laden
        matrix_symbol_u(i).zeichne
        matrix_symbol_u(i).neu_laden
    Next

    WindowTitle("Suche nach folgendem Zeichen:  "+Chr(suche)+"        Punktzahl: "+Str(punktzahl))

    If mb=1 Then
        For i As Integer = 1 To zeichen_anzahl
            If Abs(matrix_symbol_l(i).x-mx)<5 Or Abs(matrix_symbol_l(i).y-my)<5  Then
                If  matrix_symbol_l(i).ascii_zeichen=suche then
                    punktzahl+=1
                    suche=Int(Rnd*254)+1
                End if
            ElseIf Abs(matrix_symbol_r(i).x-mx)<5 Or Abs(matrix_symbol_r(i).y-my)<5 Then
                If  matrix_symbol_r(i).ascii_zeichen=suche then
                    punktzahl+=1
                    suche=Int(Rnd*254)+1
                End If
            ElseIf Abs(matrix_symbol_o(i).x-mx)<5 Or Abs(matrix_symbol_o(i).y-my)<5  Then
                If  matrix_symbol_o(i).ascii_zeichen=suche then
                    punktzahl+=1
                    suche=Int(Rnd*254)+1
                End If
            ElseIf Abs(matrix_symbol_u(i).x-mx)<5 Or Abs(matrix_symbol_u(i).y-my)<5  Then
                If  matrix_symbol_u(i).ascii_zeichen=suche then
                    punktzahl+=1
                    suche=Int(Rnd*254)+1
                End If
            EndIf

        Next


    EndIf
Sleep 1,1


Loop Until MultiKey(1)