Thema Datum  Von Nutzer Rating
Antwort
06.02.2007 01:24:51 cyber
NotSolved
06.02.2007 21:27:59 Stef113
NotSolved
07.02.2007 14:18:27 cybertronic
NotSolved
Blau Aw:Memory-Spiel Programmierung in VBA
29.04.2008 22:40:43 conny
NotSolved

Ansicht des Beitrags:
Von:
conny
Datum:
29.04.2008 22:40:43
Views:
1250
Rating: Antwort:
  Ja
Thema:
Aw:Memory-Spiel Programmierung in VBA
cyber schrieb am 06.02.2007 01:24:51:

Hallo,

ich möchte ein simples Memory-Spiel programmieren, doch leider scheitere ich an einer Stelle, für die meine Kenntnisse in VBA leider nicht ausreichend sind.

1. AUFBAU
-30 Pics/Images mit je doppelt vorkommendem Bild
(Denke mehr Details sind für mein Problem nicht erforderlich)

Die Anforderung ist, die Bilder beim öffnen des Formulars zu vertauschen sprich (Randomize).
Zuerst dachte ich an eine evt. Änderung der Positionen, dies erscheint mir jedoch sehr aufwendig.

Gibt es einen Weg, um die von mir beschriebene Anforderung möglichst effizient und nachvollziehbar umzusetzen.

Für evt. Anhaltspunkte bzw. Variablentypen wäre ich sehr verbunden.


Gruß

cybertronic

hi vielleicht hilft dir diese programm stelle die für ein memory mit 16 bildern ( 8 bildpaaren ausgelegt ist.

Dim Btop(16), Bleft(16) As Double

Private Sub Userform_Activate()
'Images Objekte zuweisen
Set Bild(1) = Image1
Set Bild(2) = Image2
Set Bild(3) = Image3
Set Bild(4) = Image4
Set Bild(5) = Image5
Set Bild(6) = Image6
Set Bild(7) = Image7
Set Bild(8) = Image8
Set Bild(9) = Image9
Set Bild(10) = Image10
Set Bild(11) = Image11
Set Bild(12) = Image12
Set Bild(13) = Image13
Set Bild(14) = Image14
Set Bild(15) = Image15
Set Bild(16) = Image16

'Bildkoordinaten aller Bilder in Variablen einlesen

For I = 1 To 16
Btop(I) = Bild(I).Top
Bleft(I) = Bild(I).Left
Next I

Private Sub CommandButton1_Click()

Dim I, J As Integer
Dim Vergleich As Boolean
Dim Zufallsreihe(16)
Dim Zufallszahl(16)

'Zufallsreihe ohne Doppelte erzeugen
Randomize
For I = 1 To 16
Do
Vergleich = False
Zufallszahl(I) = 1 + Int(Rnd * 16)
'Prüfen ob Zahl schon vorhanden
For J = 1 To I - 1
If Zufallszahl(J) = Zufallszahl(I) Then
Vergleich = True
Exit For
End If
Next
Loop Until Vergleich = False
Zufallsreihe(I) = Zufallszahl(I)
Next I

'Bilder mischen
For I = 1 To 16
Bild(I).Move Bleft(Zufallsreihe(I)), Btop(Zufallsreihe(I))
Next I

End Sub


viel glück!!! :)

ich hänge später fest denn das ist schwieriger als man denkt^^





Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
06.02.2007 01:24:51 cyber
NotSolved
06.02.2007 21:27:59 Stef113
NotSolved
07.02.2007 14:18:27 cybertronic
NotSolved
Blau Aw:Memory-Spiel Programmierung in VBA
29.04.2008 22:40:43 conny
NotSolved