Punktesystem "Familienduell"

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Piranha

Betreff: Punktesystem "Familienduell"

BeitragFr, Jun 17, 2005 10:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,
ich denke ein paar von euch kennen die Rateshow „Familienduell“.
(Dort musste man die am häufigsten genannten antworten von 100 Befragten finden)
Weil man ja nie weiß in welcher Reihenfolge die Antworten genannt werden, kann man die Anzeigetafel ja nicht mit Powerpoint machen. Also habe ich mal angefangen das mit BlitzBasic zu machen. Bis auf das Punktesystem funktioniert das ganze ja recht gut.
Das Punktesystem sollte so funktionieren:

Je nach dem wie viele antworten erraten wurden, sollen die punkte unten gezählt werden.
Also, z.B.: Antwort 1 wurde erraten, (50 Punkte werden angezeigt),
Antwort 3 wurde erraten, (50+10=60 Punkte werden angezeigt)
Die restlichen Antworten wurden nicht erraten.
Dann soll mit einer Taste z.B. 8 für „Team A“ und 9 für „Team B“ die Punktzahl hinter Team A bzw. Team B angezeigt werden.

P.S.: Die Punktzahl sollte so gespeichert sein, dass sie in der nächsten runde weitergezählt werden kann.

Ich hoffe, das hat jetzt jemand verstanden, ist bisschen kompliziert ausgedrückt.
Bitte helft mir.




;----------------------------------------------------------------

Graphics 800,600,32,1
ClsColor 255,255,255
Cls


Arial= LoadFont ("Arial",24,False,False,False)



;---------------------------------------------------------------------------111---------------------------------------
;-------------------------------------------------------------------------11-11---------------------------------------
;-------------------------------Frage 1 Frage 1 -------------------------11--11---------------------------------------
;----------------------------------------------------------------------------11---------------------------------------
;----------------------------------------------------------------------------11---------------------------------------
;----------------------------------------------------------------------------11---------------------------------------
SetFont Arial
Color 0,0,0
Text 50,500, "Team A: Team B: "

SetFont Arial
Color 0,0,0
Text 50,80, "Hier die Frage?" ;----------------------------Hier die Frage------------------


a=50 ;-----punkte für antwort 1
b=30 ;-----punkte für antwort 2
c=15 ;-----punkte für antwort 3
d=5 ;-----punkte für antwort 4


.sprung
Locate 1,1
x = Input("")
If x = 1 Then
SetFont Arial
Color 0,0,0
Text 50,210, "Antwort 1";----------------------Antwort1
Text 500,210, a
Gosub sprung

EndIf
If x = 2 Then
SetFont Arial
Color 0,0,0
Text 50,300, "Antwort 2";----------------------Antwort2
Text 500,300, b
Gosub sprung

EndIf
If x = 3 Then
SetFont Arial
Color 0,0,0
Text 50,390, "Antwort 3";----------------------Antwort3
Text 500,390, c
Gosub sprung
EndIf

If x = 9 Then
Gosub sprung2

EndIf
If x = 4 Then
SetFont Arial
Color 0,0,0
Text 50,480, "Antwort 4";----------------------Antwort4
Text 500,480, d
Gosub sprung
EndIf

;------------------------------------------------------------------------22222------------------------------------------
;-----------------------------------------------------------------------22---22---------------------------------------
;-------------------------------Frage 2 Frage 2 ----------------------------22--------------------------------------
;--------------------------------------------------------------------------22-----------------------------------------
;-------------------------------------------------------------------------22------------------------------------------
;------------------------------------------------------------------------222222-------------------------------------------
.sprung2
Cls
SetFont Arial
Color 0,0,0
Text 50,500, "Team A: Team B: "

SetFont Arial
Color 0,0,0
Text 50,80, "Hier die Frage?" ;----------------------------Hier die Frage------------------


a=60 ;-----punkte für antwort 1
b=20 ;-----punkte für antwort 2
c=10 ;-----punkte für antwort 3
d=10 ;-----punkte für antwort 4

.sprung3

Locate 1,1
x = Input("")
If x = 1 Then
SetFont Arial
Color 0,0,0
Text 50,210, "Antwort 1";----------------------Antwort1
Text 500,210, a
Gosub sprung3

EndIf
If x = 2 Then
SetFont Arial
Color 0,0,0
Text 50,300, "Antwort 2";----------------------Antwort2
Text 500,300, b
Gosub sprung3

EndIf
If x = 3 Then
SetFont Arial
Color 0,0,0
Text 50,390, "Antwort 3";----------------------Antwort3
Text 500,390, c
Gosub sprung3

EndIf
If x = 4 Then
SetFont Arial
Color 0,0,0
Text 50,480, "Antwort 4";----------------------Antwort4
Text 500,480, d
Gosub sprung3
EndIf


If x = 0 Then
End
EndIf
BlitzBasic: [AUSKLAPPEN]

							

Alfadur

BeitragFr, Jun 17, 2005 11:33
Antworten mit Zitat
Benutzer-Profile anzeigen
befass dich mal mit types und mach ne komplett andere struktur... meinetwegen nen type

Tfrage
field frage$
field antwort1$
field antwort2$
field antwort3$
field antwort4$
field antwort1erraten
field antwort2erraten
field antwort3erraten
field antwort4erraten
end type

und dann machste eben

frage\antwort1erraten=true

wenn erraten, oder false wenn nicht erraten ...

dann kannste ganz am ende nur noch machen

punkte=frage\antwort1erraten*puntefuerantwort1
punkte=punkte+frage\antwort2erraten*puntefuerantwort2
punkte=punkte+frage\antwort3erraten*puntefuerantwort3
punkte=punkte+frage\antwort4erraten*puntefuerantwort4


ab jetzt kommen spoiler ... weil ich gerade nix besseres zu tun hatte, hab ich dir mal das grundgerüst so geproggt wie ich als am besten erachte ... nicht anschauen wenn du es selbst probieren willst... wenn du es doch anschaust, versuch es zu verstehen ...


BlitzBasic: [AUSKLAPPEN]

Global MaxFragen=0

Type Tfrage
Field frage$
Field antwort1$
Field antwort2$
Field antwort3$
Field antwort4$
Field antwortprozent1
Field antwortprozent2
Field antwortprozent3
Field antwortprozent4
Field antwort1erraten
Field antwort2erraten
Field antwort3erraten
Field antwort4erraten
End Type

Type Tfamilie
Field id
Field name$
Field punkte
End Type

Function create_frage.Tfrage(frage$,antwort1$,antwort2$,antwort3$,antwort4$,antwortprozent1,antwortprozent2,antwortprozent3,antwortprozent4)
MaxFragen=MaxFragen+1
DebugLog MaxFragen
Vfrage.Tfrage=New Tfrage
Vfrage\frage$=frage$
Vfrage\antwort1$=antwort1$
Vfrage\antwort2$=antwort2$
Vfrage\antwort3$=antwort3$
Vfrage\antwort4$=antwort4$
Vfrage\antwortprozent1=antwortprozent1
Vfrage\antwortprozent2=antwortprozent2
Vfrage\antwortprozent3=antwortprozent3
Vfrage\antwortprozent4=antwortprozent4
Return Vfrage
End Function

Function create_familie.Tfamilie(id,name$)
Vfamilie.Tfamilie=New Tfamilie
Vfamilie\id=id
Vfamilie\name$=name$
Return Vfamilie
End Function

Function get_frage.Tfrage(id)
count=1
For Vfrage.Tfrage=Each Tfrage
If count=id Return Vfrage
count=count+1
Next
Return Null
End Function

Function get_familie_by_id.Tfamilie(id)
For Vfamilie.Tfamilie=Each Tfamilie
If Vfamilie\id=id Then Return Vfamilie
Next
Return Null
End Function

create_frage(\"Wer gewinnt die Neuwahlen?\",\"Angela\",\"Guido\",\"Schröder\",\"Batman\",50,30,15,5)
create_frage(\"Was ist der beste Film aller zeiten?\",\"Batman\",\"Hellboy\",\"Herr Lehmann\",\"Shaun of the Dead\",50,30,15,5)
create_frage(\"Wieviele Wege führen nach Rom?\",\"Alle\",\"42\",\"Ist das ne Fangfrage\",\"ähh...Batman?\",50,30,15,5)
create_frage(\"Wer denken sie, steht gerade hinter ihnen?\",\"Weihnachtsmann\",\"Batman\",\"Apotheker\",\"aufs maul oda was?\",50,30,15,5)

create_familie(0,\"Meier\")
create_familie(1,\"Schulze\")

;Graphics 800,600
;SetBuffer BackBuffer()

beantwortet=0
richtige=0
familie=0

Vfamilie1.Tfamilie=get_familie_by_id(familie)
Vfamilie2.Tfamilie=get_familie_by_id(1-familie)

Vfrage.Tfrage=get_frage(Rand(1,MaxFragen))

While Not KeyHit(1)

Cls
Locate 0,0

If MaxFragen<1 Then
Print \"Das Spiel ist vorbei.\"
Print
Print \"Punkte\"
Print
Print \" Familie \"+Vfamilie1\name$+\" : \"+Vfamilie1\punkte
Print \" Familie \"+Vfamilie2\name$+\" : \"+Vfamilie2\punkte
Print
If Vfamilie1\punkte=Vfamilie2\punkte Then
Print \"Sieht nach nem Unentschieden aus.\"
Print \"Dann müssen eben beide Familien nochmal in die Sendung!!\"
Else If Vfamilie1\punkte>Vfamilie2\punkte Then
Print \"Familie \"+Vfamilie1\name$+\" gewinnt dieses mal!!
Else
Print \"Familie \"+Vfamilie2\name$+\" gewinnt dieses mal!!
End If
Print
Print \"Danke fürs zuschauen, bis zum nächsten Mal... Taste drücken :-)\"
WaitKey()
End
End If

Print \"Familie \"+Vfamilie1\name$+\" ist dran und hat \"+(Vfamilie1\punkte+punkte)+\" Punkte!\"
Print \"Familie \"+Vfamilie2\name$+\" hat \"+Vfamilie2\punkte+\" Punkte!\"
Print
Print \"Wir haben 100 Leute befragt : \"
Print Vfrage\frage$
Print

If Vfrage\antwort1erraten=True Then Print \"Platz 1 : \"+Vfrage\antwort1$+\" (\"+Vfrage\antwortprozent1+\")\" Else Print \"Platz 1 : \"
If Vfrage\antwort2erraten=True Then Print \"Platz 2 : \"+Vfrage\antwort2$+\" (\"+Vfrage\antwortprozent2+\")\" Else Print \"Platz 2 : \"
If Vfrage\antwort3erraten=True Then Print \"Platz 3 : \"+Vfrage\antwort3$+\" (\"+Vfrage\antwortprozent3+\")\" Else Print \"Platz 3 : \"
If Vfrage\antwort4erraten=True Then Print \"Platz 4 : \"+Vfrage\antwort4$+\" (\"+Vfrage\antwortprozent4+\")\" Else Print \"Platz 4 : \"

Print

If beantwortet=4 Then
Vfamilie1\punkte=Vfamilie1\punkte+punkte
Print \"Familie \"+Vfamilie1\name$+\" hat \"+richtige+\" Richtige antworten. Das macht \"+punkte+\" Punkte!\"
Print
If MaxFragen<>1 Then
Print \"Nach Tastendruck ist Familie \"+Vfamilie2\name$+\" mit der nächsten Frage dran.\"
Else
Print \"Damit sind wir am Ende angelangt, nach Tastendruck gibts den Endstand.\"
End If
WaitKey()
Delete Vfrage
MaxFragen=MaxFragen-1
Vfrage.Tfrage=get_frage(Rand(1,MaxFragen))
familie=1-familie
Vfamilie1.Tfamilie=get_familie_by_id(familie)
Vfamilie2.Tfamilie=get_familie_by_id(1-familie)
beantwortet=0
richtige=0
punkte=0
Else
antwort$=Input$(\"Antwortversuch \"+(beantwortet+1)+\"/4 : \")

beantwortet=beantwortet+1

If antwort$=Vfrage\antwort1$ And Vfrage\antwort1erraten=False Then Vfrage\antwort1erraten=True:richtige=richtige+1
If antwort$=Vfrage\antwort2$ And Vfrage\antwort2erraten=False Then Vfrage\antwort2erraten=True:richtige=richtige+1
If antwort$=Vfrage\antwort3$ And Vfrage\antwort3erraten=False Then Vfrage\antwort3erraten=True:richtige=richtige+1
If antwort$=Vfrage\antwort4$ And Vfrage\antwort4erraten=False Then Vfrage\antwort4erraten=True:richtige=richtige+1
punkte=Vfrage\antwort1erraten*Vfrage\antwortprozent1+Vfrage\antwort2erraten*Vfrage\antwortprozent2+Vfrage\antwort3erraten*Vfrage\antwortprozent3+Vfrage\antwort4erraten*Vfrage\antwortprozent4
End If





Wend

End
A Cray is the only computer that runs an endless loop in less than four hours.

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group