Ultima modifica da un moderatore:
Inizio postando uno screen:
Elenco funzioni:
- impostazione velocità di discesa delle caselle
- nuova partita
- salva partita
- apri partita
- finestra di segnalazione bug
- per evitare lo spam nella segnalazione bug, ho implementato una lista nera di ip che posso aggiornare quando voglio. Se il vostro ip sarà rilevato nella suddetta lista vi sarà impedito di inviare la segnalazione.
- inverti colori(giallo -> rosso , rosso -> giallo)
- salva log partite (Si, No)
- visualizza log partite
- pulisci log partite
- cambia nomi giocatori
- azzera punti
- info programma
Download: forza4.exe
Invito tutti a segnalare eventuali bug nella apposita finestra.
Source:
Elenco funzioni:
- impostazione velocità di discesa delle caselle
- nuova partita
- salva partita
- apri partita
- finestra di segnalazione bug
- per evitare lo spam nella segnalazione bug, ho implementato una lista nera di ip che posso aggiornare quando voglio. Se il vostro ip sarà rilevato nella suddetta lista vi sarà impedito di inviare la segnalazione.
- inverti colori(giallo -> rosso , rosso -> giallo)
- salva log partite (Si, No)
- visualizza log partite
- pulisci log partite
- cambia nomi giocatori
- azzera punti
- info programma
Download: forza4.exe
Invito tutti a segnalare eventuali bug nella apposita finestra.
Source:
Codice:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <SliderConstants.au3>
#include <Timers.au3>
#Include <File.au3>
#include <IE.au3>
#RequireAdmin
Global $verifica[7][6]
pulisci_verifica()
Global $Pic[7][6]
Global $Button[8]
Global $coord[7]=[192,256,320,384,448,512,576]
Global $coord2[6]= [48,112,176,240,304,368]
Global $stato[8]
Global $conto_punti=0
Global $vel=300
Global $max=0
Global $patte=0
Global $punti_player1=0
Global $punti_player2=0
Global $illumina=True
Global $salva_log=True
Global $player[3]
Global $colore[3]=["","Giallo","Rosso"]
FileInstall("C:\Users\EEE-PC\Desktop\forza4 logo.gif",@ScriptDir&"\forza4 logo.gif",1)
FileInstall("C:\Users\EEE-PC\Desktop\bianco.gif",@ScriptDir&"\bianco.gif",1)
FileInstall("C:\Users\EEE-PC\Desktop\giallo.gif",@ScriptDir&"\giallo.gif",1)
FileInstall("C:\Users\EEE-PC\Desktop\rosso.gif",@ScriptDir&"\rosso.gif",1)
_gui_nomi()
_scrivi("La partita fra "&$player[1]&" e "&$player[2]&" è iniziata.")
$Form1 = GUICreate("Forza 4", 641, 453, 192, 124)
$MenuItem1 = GUICtrlCreateMenu("&File")
$MenuItem8 = GUICtrlCreateMenuItem("Nuova Partita", $MenuItem1)
$MenuItem4 = GUICtrlCreateMenuItem("Salva Partita", $MenuItem1)
$MenuItem5 = GUICtrlCreateMenuItem("Apri partita", $MenuItem1)
$MenuItem17 = GUICtrlCreateMenuItem("Segnala Bug", $MenuItem1)
$MenuItem6 = GUICtrlCreateMenuItem("Esci", $MenuItem1)
$MenuItem2 = GUICtrlCreateMenu("&Opzioni")
$MenuItem7 = GUICtrlCreateMenuItem("Inverti Colori", $MenuItem2)
$MenuItem9 = GUICtrlCreateMenu("Salva Log Partite", $MenuItem2)
$MenuItem14 = GUICtrlCreateMenuItem("Si", $MenuItem9, -1 , 1)
GUICtrlSetState(-1, $GUI_CHECKED)
$MenuItem15 = GUICtrlCreateMenuItem("No", $MenuItem9, -1 , 1)
$MenuItem10 = GUICtrlCreateMenuItem("Visualizza Log Partite", $MenuItem2)
$MenuItem11 = GUICtrlCreateMenuItem("Cambia Nomi", $MenuItem2)
$MenuItem16 = GUICtrlCreateMenuItem("Azzera Punti", $MenuItem2)
$MenuItem3 = GUICtrlCreateMenu("&Info")
$MenuItem13 = GUICtrlCreateMenuItem("Info Programma", $MenuItem3)
$Pic[0][0] = GUICtrlCreatePic(@ScriptDir&"\bianco.gif", 192, 48, 65, 65, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Pic[0][1] = GUICtrlCreatePic(@ScriptDir&"\bianco.gif", 192, 112, 65, 65, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Pic[0][2] = GUICtrlCreatePic(@ScriptDir&"\bianco.gif", 192, 176, 65, 65, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Pic[0][3] = GUICtrlCreatePic(@ScriptDir&"\bianco.gif", 192, 240, 65, 65, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Pic[0][4] = GUICtrlCreatePic(@ScriptDir&"\bianco.gif", 192, 304, 65, 65, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Pic[0][5] = GUICtrlCreatePic(@ScriptDir&"\bianco.gif", 192, 368, 65, 65, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Pic[1][0] = GUICtrlCreatePic(@ScriptDir&"\bianco.gif", 256, 48, 65, 65, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Pic[1][1] = GUICtrlCreatePic(@ScriptDir&"\bianco.gif", 256, 112, 65, 65, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Pic[1][2] = GUICtrlCreatePic(@ScriptDir&"\bianco.gif", 256, 176, 65, 65, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Pic[1][3] = GUICtrlCreatePic(@ScriptDir&"\bianco.gif", 256, 240, 65, 65, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Pic[1][4] = GUICtrlCreatePic(@ScriptDir&"\bianco.gif", 256, 304, 65, 65, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Pic[1][5] = GUICtrlCreatePic(@ScriptDir&"\bianco.gif", 256, 368, 65, 65, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Pic[2][0] = GUICtrlCreatePic(@ScriptDir&"\bianco.gif", 320, 48, 65, 65, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Pic[2][1] = GUICtrlCreatePic(@ScriptDir&"\bianco.gif", 320, 112, 65, 65, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Pic[2][2] = GUICtrlCreatePic(@ScriptDir&"\bianco.gif", 320, 176, 65, 65, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Pic[2][3] = GUICtrlCreatePic(@ScriptDir&"\bianco.gif", 320, 240, 65, 65, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Pic[2][4] = GUICtrlCreatePic(@ScriptDir&"\bianco.gif", 320, 304, 65, 65, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Pic[2][5] = GUICtrlCreatePic(@ScriptDir&"\bianco.gif", 320, 368, 65, 65, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Pic[3][0] = GUICtrlCreatePic(@ScriptDir&"\bianco.gif", 384, 48, 65, 65, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Pic[3][1] = GUICtrlCreatePic(@ScriptDir&"\bianco.gif", 384, 112, 65, 65, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Pic[3][2] = GUICtrlCreatePic(@ScriptDir&"\bianco.gif", 384, 176, 65, 65, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Pic[3][3] = GUICtrlCreatePic(@ScriptDir&"\bianco.gif", 384, 240, 65, 65, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Pic[3][4] = GUICtrlCreatePic(@ScriptDir&"\bianco.gif", 384, 304, 65, 65, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Pic[3][5] = GUICtrlCreatePic(@ScriptDir&"\bianco.gif", 384, 368, 65, 65, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Pic[4][0] = GUICtrlCreatePic(@ScriptDir&"\bianco.gif", 448, 48, 65, 65, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Pic[4][1] = GUICtrlCreatePic(@ScriptDir&"\bianco.gif", 448, 112, 65, 65, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Pic[4][2] = GUICtrlCreatePic(@ScriptDir&"\bianco.gif", 448, 176, 65, 65, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Pic[4][3] = GUICtrlCreatePic(@ScriptDir&"\bianco.gif", 448, 240, 65, 65, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Pic[4][4] = GUICtrlCreatePic(@ScriptDir&"\bianco.gif", 448, 304, 65, 65, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Pic[4][5] = GUICtrlCreatePic(@ScriptDir&"\bianco.gif", 448, 368, 65, 65, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Pic[5][0] = GUICtrlCreatePic(@ScriptDir&"\bianco.gif", 512, 48, 65, 65, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Pic[5][1] = GUICtrlCreatePic(@ScriptDir&"\bianco.gif", 512, 112, 65, 65, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Pic[5][2] = GUICtrlCreatePic(@ScriptDir&"\bianco.gif", 512, 176, 65, 65, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Pic[5][3] = GUICtrlCreatePic(@ScriptDir&"\bianco.gif", 512, 240, 65, 65, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Pic[5][4] = GUICtrlCreatePic(@ScriptDir&"\bianco.gif", 512, 304, 65, 65, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Pic[5][5] = GUICtrlCreatePic(@ScriptDir&"\bianco.gif", 512, 368, 65, 65, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Pic[6][0] = GUICtrlCreatePic(@ScriptDir&"\bianco.gif", 576, 48, 65, 65, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Pic[6][1] = GUICtrlCreatePic(@ScriptDir&"\bianco.gif", 576, 112, 65, 65, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Pic[6][2] = GUICtrlCreatePic(@ScriptDir&"\bianco.gif", 576, 176, 65, 65, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Pic[6][3] = GUICtrlCreatePic(@ScriptDir&"\bianco.gif", 576, 240, 65, 65, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Pic[6][4] = GUICtrlCreatePic(@ScriptDir&"\bianco.gif", 576, 304, 65, 65, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Pic[6][5] = GUICtrlCreatePic(@ScriptDir&"\bianco.gif", 576, 368, 65, 65, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Button[1] = GUICtrlCreateButton("Fila 1", 200, 16, 49, 25, $WS_GROUP)
$Button[2] = GUICtrlCreateButton("Fila 2", 264, 16, 49, 25, $WS_GROUP)
$Button[3] = GUICtrlCreateButton("Fila 3", 328, 16, 49, 25, $WS_GROUP)
$Button[4] = GUICtrlCreateButton("Fila 4", 392, 16, 49, 25, $WS_GROUP)
$Button[5] = GUICtrlCreateButton("Fila 5", 456, 16, 49, 25, $WS_GROUP)
$Button[6] = GUICtrlCreateButton("Fila 6", 520, 16, 49, 25, $WS_GROUP)
$Button[7] = GUICtrlCreateButton("Fila 7", 584, 16, 49, 25, $WS_GROUP)
$Label1 = GUICtrlCreateLabel("Giocatore1: "&$player[1], 8, 144, 179, 17)
$Label2 = GUICtrlCreateLabel("Giocatore2: "&$player[2], 8, 168, 179, 17)
$Label3 = GUICtrlCreateLabel("Colore "&$player[1]&": "&$colore[1], 8, 192, 122, 17)
$Label4 = GUICtrlCreateLabel("Colore "&$player[2]&": "&$colore[2], 8, 216, 122, 17)
$Label5 = GUICtrlCreateLabel("E' il turno di: "&$player[1], 8, 240, 131, 17)
$logo = GUICtrlCreatePic(@ScriptDir&"\forza4 logo.gif", 8, 8, 177, 121, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Button1 = GUICtrlCreateButton("Nuova Partita", 8, 264, 89, 33, $WS_GROUP)
$Label6 = GUICtrlCreateLabel("Velocità di discesa: 70%", 8, 304, 175, 17)
$Slider1 = GUICtrlCreateSlider(0, 320, 185, 25)
GUICtrlSetLimit(-1, 1000, 0)
GUICtrlSetData(-1, 700)
$Label7 = GUICtrlCreateLabel("Punteggi", 56, 344, 62, 23)
GUICtrlSetFont(-1, 12, 800, 0, "Times New Roman")
$Label8 = GUICtrlCreateLabel($Player[1]&": "&$punti_player1, 8, 368, 179, 17)
$Label9 = GUICtrlCreateLabel($Player[2]&": "&$punti_player2, 8, 392, 179, 17)
$Label10 = GUICtrlCreateLabel("Patte: "&$patte, 8, 416, 177, 17)
GUISetState(@SW_SHOW)
$giocatore=1
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
_scrivi("La partita fra "&$player[1]&" e "&$player[2]&" è stata terminata chiudendo il programma.")
Exit
Case $MenuItem13
MsgBox(64,"Info Programma","Questo programma è stato creato da Sissy92 per UnfairGamers.com Questo gioco dispone di numerose opzioni fra le quali:"&@CRLF&"- Salvare e aprire partite;"&@CRLF&"- Cambiare colori;"&@CRLF&"- Cambiare Nick-name;"&@CRLF&"- Salvare e visualizzare i Log delle partite;"&@CRLF&"Per tutto il resto ti basta provare il programma! :)")
Case $MenuItem17
GUISetState(@SW_HIDE,$Form1)
_segnalazione()
GUISetState(@SW_SHOW,$Form1)
Case $MenuItem14
$salva_log=True
Case $MenuItem15
$salva_log=False
Case $MenuItem11
GUISetState(@SW_HIDE)
$prec1=$player[1]
$prec2=$player[2]
_gui_nomi()
_scrivi("I giocatori "&$prec1&" e "&$prec2&" hanno cambiato i loro nomi in "&$player[1]&" e "&$player[2]&".")
GUISetState(@SW_SHOW,$Form1)
GUICtrlSetData($Label1,"Giocatore1: "&$player[1])
GUICtrlSetData($Label2,"Giocatore2: "&$player[2])
GUICtrlSetData($Label3,"Colore "&$player[1]&": "&$colore[1])
GUICtrlSetData($Label4,"Colore "&$player[2]&": "&$colore[2])
GUICtrlSetData($Label8,$Player[1]&": "&$punti_player1)
GUICtrlSetData($Label9,$Player[2]&": "&$punti_player2)
GUICtrlSetData($Label5,"E' il turno di: "&$player[$giocatore])
Case $MenuItem16
_scrivi("Nella partita fra "&$player[1]&" e "&$player[2]&" i punti sono stati azzerati.")
$punti_player1=0
$punti_player2=0
$patte=0
GUICtrlSetData($Label8,$Player[1]&": "&$punti_player1)
GUICtrlSetData($Label9,$Player[2]&": "&$punti_player2)
GUICtrlSetData($Label10,"Patte: "&$patte)
Case $MenuItem10
GUISetState(@SW_HIDE)
_cronologia()
GUISetState(@SW_SHOW,$Form1)
Case $MenuItem5
_apri()
Case $MenuItem4
_salva($player[1],$player[2],$giocatore,$vel)
Case $MenuItem6
Exit
Case $MenuItem7
If $colore[1] = "Giallo" Then
$colore[1] = "Rosso"
$colore[2] = "Giallo"
Else
$colore[1] = "Giallo"
$colore[2] = "Rosso"
EndIf
_refresh()
Case $Button1
GUICtrlDelete($Button1)
$Button1 = GUICtrlCreateButton("Nuova Partita", 8, 264, 89, 33, $WS_GROUP)
_nuova_partita()
Case $Button[1]
aggiungi(0,$vel)
Case $Button[2]
aggiungi(1,$vel)
Case $Button[3]
aggiungi(2,$vel)
Case $Button[4]
aggiungi(3,$vel)
Case $Button[5]
aggiungi(4,$vel)
Case $Button[6]
aggiungi(5,$vel)
Case $Button[7]
aggiungi(6,$vel)
Case $Slider1
$temp=GUICtrlRead($Slider1)
$vel=($temp-1000)*-1
GUICtrlSetData($Label6,"Velocità di discesa: "&Int($temp/10)&"%")
Case $MenuItem8
GUICtrlDelete($Button1)
$Button1 = GUICtrlCreateButton("Nuova Partita", 8, 264, 89, 33, $WS_GROUP)
_nuova_partita()
EndSwitch
WEnd
;========================================================
;========================FUNZIONI========================
;========================================================
Func get_path($giocatore)
If $giocatore=1 Then
$path=@ScriptDir&"\"&$colore[1]&".gif"
Else
$path=@ScriptDir&"\"&$colore[2]&".gif"
EndIf
Return $path
EndFunc
Func pulisci_verifica()
For $y=0 To 5
For $i=0 To 6
$verifica[$i][$y]=0
Next
Next
EndFunc
Func aggiungi($num,$vel)
For $i=1 To 7
GUICtrlSetState($Button[$i],$GUI_DISABLE)
Next
For $i=0 To 5
GUICtrlSetImage($Pic[$num][$i],get_path($giocatore))
Sleep($vel)
If $i=4 And $verifica[$num][$i+1] = 0 Then
GUICtrlDelete($Pic[$num][$i])
$Pic[$num][$i] = GUICtrlCreatePic(@ScriptDir&"\bianco.gif", $coord[$num], $coord2[$i], 65, 65, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
GUICtrlSetImage($Pic[$num][$i+1],get_path($giocatore))
$verifica[$num][$i+1]=$giocatore
$x=$num
$y=5
ExitLoop
ElseIf $verifica[$num][$i+1] <> 0 Then
$verifica[$num][$i]=$giocatore
$x=$num
$y=$i
ExitLoop
Else
GUICtrlDelete($Pic[$num][$i])
$Pic[$num][$i] = GUICtrlCreatePic(@ScriptDir&"\bianco.gif", $coord[$num], $coord2[$i], 65, 65, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
EndIf
Next
conta_max($num)
For $i=1 To 7
If Not $stato[$i]="hide" Then
GUICtrlSetState($Button[$i],$GUI_ENABLE)
EndIf
Next
cerca($x,$y,$giocatore)
$giocatore=cambia_giocatore($giocatore)
$max=$max+1
If $max=42 Then
For $i=1 to 7
GUICtrlSetState($Button[$i],$GUI_DISABLE)
Next
$patte=$patte+1
GUICtrlSetData($label10,"Patte: "&$patte)
GUICtrlSetBkColor($Button1,0x00FF00)
EndIf
EndFunc
Func cambia_giocatore($giocatore)
If $giocatore=1 Then
$giocatore=2
GUICtrlSetData($label5,"E' il turno di: "&$player[2])
Else
$giocatore=1
GUICtrlSetData($label5,"E' il turno di: "&$player[1])
EndIf
Return $giocatore
EndFunc
Func conta_max($num)
$conto=0
For $i=0 To 5
If $verifica[$num][$i] <> 0 Then
$conto=$conto+1
EndIf
Next
If $conto=6 Then
$stato[$num+1]="hide"
GUICtrlSetState($Button[$num+1],$GUI_DISABLE)
EndIf
EndFunc
Func cerca($x,$y,$giocatore)
;======== CERCA IN VERTICALE ================
$conto_punti=0
For $i=$y To 0 Step -1
If $verifica[$x][$i] = $giocatore Then
$conto_punti= $conto_punti+1
Else
ExitLoop
EndIf
Next
For $i=$y To 5
If $verifica[$x][$i] = $giocatore Then
$conto_punti= $conto_punti+1
Else
ExitLoop
EndIf
Next
If $conto_punti-1 = 4 Then
MsgBox(64,"Complimenti","Complimenti "&get_name($giocatore)&"!! Hai vinto!")
_vinto($giocatore)
Else
;======== CERCA IN ORIZZONTALE ================
$conto_punti=0
For $i=$x To 0 Step -1
If $verifica[$i][$y] = $giocatore Then
$conto_punti= $conto_punti+1
Else
ExitLoop
EndIf
Next
For $i=$x To 6
If $verifica[$i][$y] = $giocatore Then
$conto_punti= $conto_punti+1
Else
ExitLoop
EndIf
Next
If $conto_punti-1 = 4 Then
MsgBox(64,"Complimenti","Complimenti "&get_name($giocatore)&"!! Hai vinto!")
_vinto($giocatore)
Else
;======== CERCA IN OBLIQUO ================
$conto_punti=0
$o=$y
For $i = $x To 6 Step 1
If $verifica[$i][$o] = $giocatore Then
$conto_punti= $conto_punti+1
Else
ExitLoop
EndIf
If $o<5 Then
$o=$o+1
Else
ExitLoop
EndIf
Next
$o=$y
For $i = $x To 0 Step -1
If $verifica[$i][$o] = $giocatore Then
$conto_punti= $conto_punti+1
Else
ExitLoop
EndIf
If $o>0 Then
$o=$o-1
Else
ExitLoop
EndIf
Next
If $conto_punti-1 = 4 Then
MsgBox(64,"Complimenti","Complimenti "&get_name($giocatore)&"!! Hai vinto!")
_vinto($giocatore)
Else
$conto_punti=0
$o=$y
For $i = $x To 6 Step 1
If $verifica[$i][$o] = $giocatore Then
$conto_punti= $conto_punti+1
Else
ExitLoop
EndIf
If $o>0 Then
$o=$o-1
Else
ExitLoop
EndIf
Next
$o=$y
For $i = $x To 0 Step -1
If $verifica[$i][$o] = $giocatore Then
$conto_punti= $conto_punti+1
Else
ExitLoop
EndIf
If $o<5 Then
$o=$o+1
Else
ExitLoop
EndIf
Next
If $conto_punti-1 = 4 Then
MsgBox(64,"Complimenti","Complimenti "&get_name($giocatore)&"!! Hai vinto!")
_vinto($giocatore)
EndIf
EndIf
EndIf
EndIf
EndFunc
Func get_name($giocatore)
If $giocatore=1 Then
$nome=$player[1]
Else
$nome=$player[2]
EndIf
Return $nome
EndFunc
Func _nuova_partita()
_scrivi("E' iniziata una nuova partita.")
For $x=0 to 6
For $y=0 to 5
GUICtrlDelete($Pic[$x][$y])
$Pic[$x][$y]=GUICtrlCreatePic(@ScriptDir&"\bianco.gif",$coord[$x],$coord2[$y],65,65,BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$verifica[$x][$y]=0
Next
Next
For $i=1 to 7
GUICtrlSetState($Button[$i],$GUI_ENABLE)
$stato[$i]=""
Next
$max=0
EndFunc
Func _vinto($giocatore)
$max=0
If $giocatore = 1 Then
$punti_player1=$punti_player1+1
GUICtrlSetData($Label8,$Player[1]&": "&$punti_player1)
Else
$punti_player2=$punti_player2+1
GUICtrlSetData($Label9,$Player[2]&": "&$punti_player2)
EndIf
_scrivi($player[$giocatore]&" ha vinto la partita. Il nuovo punteggio è: "&$player[1]&":"&$punti_player1&" ; "&$player[2]&":"&$punti_player2&".")
For $i=1 to 7
GUICtrlSetState($Button[$i],$GUI_DISABLE)
Next
GUICtrlSetBkColor($Button1,0x00FF00)
EndFunc
Func _salva($player1,$player2,$giocatore,$vel)
$dir=FileSaveDialog("Salva Partita",@DesktopDir,"(*.forza4)",2,"salvataggio.forza4")
_FileCreate($dir)
FileWrite($dir,"[giocatori]"&@CRLF&"player1="&$player1&@CRLF&"player2="&$player2&@CRLF&"giocatore="&$giocatore&@CRLF&"turno="&get_name($giocatore)&@CRLF&@CRLF&"[settings]"&@CRLF&"velocità="&$vel&@CRLF&"salva_log="&$salva_log&@CRLF&"illumina="&$illumina&@CRLF&@CRLF&"[punteggi]"&@CRLF&"punti_giocatore1="&$punti_player1&@CRLF&"punti_giocatore2="&$punti_player2&@CRLF&"patte="&$patte&@CRLF&@CRLF&"[caselle]"&@CRLF)
For $x=0 To 6
For $y=0 To 5
FileWriteLine($dir,$x&" "&$y&"="&$verifica[$x][$y])
Next
Next
FileWriteLine($dir,"")
FileWriteLine($dir,"[button]")
For $i=1 To 7
FileWriteLine($dir,"Button"&$i&"="&$stato[$i])
Next
_scrivi("La partita fra "&$player[1]&" e "&$player[2]&" è stata salvata con successo!")
EndFunc
Func _apri()
$dir=FileOpenDialog("Apri Partita",@DesktopDir,"(*.forza4)",2,"salvataggio.forza4")
$new=@TempDir&"\temp_forza4.ini"
FileCopy($dir,@TempDir&"\temp_forza4.ini",1)
$player[1]=IniRead($new,"giocatori","player1","error")
_controlla_errore($player[1],"player1")
$player[2]=IniRead($new,"giocatori","player2","error")
_controlla_errore($player[2],"player2")
$giocatore=IniRead($new,"giocatori","giocatore","error")
_controlla_errore($giocatore,"giocatore")
$turno=IniRead($new,"giocatori","turno","error")
_controlla_errore($turno,"turno")
$vel=IniRead($new,"settings","velocità","error")
_controlla_errore($vel,"vel")
$salva_log=IniRead($new,"settings","salva_log","error")
_controlla_errore($salva_log,"salva_log")
$illumina=IniRead($new,"settings","illumina","error")
_controlla_errore($illumina,"illumina")
$punti_player1=IniRead($new,"punteggi","punti_giocatore1","error")
_controlla_errore($punti_player1,"punti_player1")
$punti_player2=IniRead($new,"punteggi","punti_giocatore2","error")
_controlla_errore($punti_player2,"punti_player2")
$patte=IniRead($new,"punteggi","patte","error")
_controlla_errore($patte,"patte")
For $x=0 To 6
For $y=0 To 5
$verifica[$x][$y]=IniRead($new,"caselle",$x&" "&$y,"error")
If $verifica[$x][$y] = "error" Then
MsgBox(16,"Error","Si è verificato un errore durante il caricamento del file di salvataggio. caselle")
ExitLoop(3)
EndIf
GUICtrlDelete($Pic[$x][$y])
$max=0
If $verifica[$x][$y]=0 Then
$path_pic=@ScriptDir&"\bianco.gif"
ElseIf $verifica[$x][$y]=1 Then
$path_pic=@ScriptDir&"\giallo.gif"
$max=$max+1
ElseIf $verifica[$x][$y]=2 Then
$path_pic=@ScriptDir&"\rosso.gif"
$max=$max+1
Else
MsgBox(16,"Error","Si è verificato un errore durante il caricamento del file di salvataggio.")
EndIf
GUICtrlCreatePic($path_pic,$coord[$x],$coord2[$y],65,65,BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
Next
Next
For $i=1 To 7
$stato[$i]=IniRead($new,"Button","button"&$i,"error")
If $stato[$i] = "error" Then
MsgBox(16,"Error","Si è verificato un errore durante il caricamento del file di salvataggio. caselle")
ExitLoop(2)
ElseIf $stato[$i]="hide" Then
GUICtrlSetState($Button[$i],$GUI_DISABLE)
EndIf
Next
GUICtrlSetData($Label1,"Giocatore1: "&$player[1])
GUICtrlSetData($Label2,"Giocatore2: "&$player[2])
GUICtrlSetData($Label3,"Colore "&$player[1]&": "&$colore[1])
GUICtrlSetData($Label4,"Colore "&$player[2]&": "&$colore[2])
GUICtrlSetData($Label5,"E' il turno di: "&$turno)
$temp=($vel*-1)+1000
GUICtrlSetData($Slider1,$temp)
GUICtrlSetData($Label6,"Velocità di discesa: "&Int($temp/10)&"%")
GUICtrlSetData($Label8,$Player[1]&": "&$punti_player1)
GUICtrlSetData($Label9,$Player[2]&": "&$punti_player2)
GUICtrlSetData($Label10,"Patte: "&$patte)
_scrivi("La partita fra "&$player[1]&" e "&$player[2]&" è stata caricata con successo!")
EndFunc
Func _controlla_errore($var,$var2)
If $var="error" Then
MsgBox(16,"Error","Si è verificato un errore durante il caricamento del file di salvataggio."&$var2)
Exit
EndIf
EndFunc
Func _refresh()
For $x=0 To 6
For $y=0 To 5
If $verifica[$x][$y] <> 0 Then
GUICtrlDelete($pic[$x][$y])
$tt=$verifica[$x][$y]
GUICtrlCreatePic(@ScriptDir&"\"&$colore[$tt]&".gif",$coord[$x],$coord2[$y],65,65,BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
EndIf
Next
Next
GUICtrlSetData($Label3,"Colore "&$player[1]&": "&$colore[1])
GUICtrlSetData($Label4,"Colore "&$player[2]&": "&$colore[2])
EndFunc
Func _scrivi($frase)
If Not FileExists(@TempDir&"\cronologia_forza4.txt") Then
_FileCreate(@TempDir&"\cronologia_forza4.txt")
EndIf
If $salva_log = True Then
FileWriteLine(@TempDir&"\cronologia_forza4.txt",@MDAY&"/"&@MON&"/"&@YEAR&" "&@HOUR&":"&@MIN)
FileWriteLine(@TempDir&"\cronologia_forza4.txt",$frase)
EndIf
EndFunc
Func _gui_nomi()
$Form_nomi = GUICreate("Inserire i nomi", 366, 114, 192, 124)
$Pic_nomi = GUICtrlCreatePic(@ScriptDir&"\forza4 logo.gif", 0, 0, 169, 113, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$label_giocatore1 = GUICtrlCreateLabel("Giocatore1:", 176, 8, 59, 17)
$Input1 = GUICtrlCreateInput("", 176, 24, 169, 21)
$Label_giocatore2 = GUICtrlCreateLabel("Giocatore2:", 176, 64, 59, 17)
$Input2 = GUICtrlCreateInput("", 176, 80, 169, 21)
$OK = GUICtrlCreateButton("OK", 256, 48, 89, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $ok
$player[1]=GUICtrlRead($Input1)
$player[2]=GUICtrlRead($Input2)
If $player[1]="" Or $player[2]="" Then
MsgBox(16,"Errore","Inserire un nome")
Else
GUISetState(@SW_HIDE)
ExitLoop
EndIf
EndSwitch
WEnd
EndFunc
Func _cronologia()
$read=FileRead(@TempDir&"\cronologia_forza4.txt")
If $read = "" Then
MsgBox(64,"Info","Non ci sono dati salvati")
Else
$Form_cronologia = GUICreate("Cronologia Partite", 386, 384, 192, 124)
$Edit_cronologia = GUICtrlCreateEdit("", 8, 8, 369, 337, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_READONLY,$ES_WANTRETURN,$WS_HSCROLL,$WS_VSCROLL))
GUICtrlSetData(-1, $read)
$Button1_cronologia = GUICtrlCreateButton("Torna al gioco", 40, 352, 129, 25, $WS_GROUP)
$Button2_cronologia = GUICtrlCreateButton("Cancella Cronologia", 192, 352, 129, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
GUISetState(@SW_HIDE,$Form_cronologia)
ExitLoop
Case $Button1_cronologia
GUISetState(@SW_HIDE,$Form_cronologia)
ExitLoop
Case $Button2_cronologia
FileDelete(@TempDir&"\cronologia_forza4.txt")
_FileCreate(@TempDir&"\cronologia_forza4.txt")
GUICtrlSetData($Edit_cronologia, "")
EndSwitch
WEnd
EndIf
EndFunc
Func _segnalazione()
$lista=_controlla_lista_nera()
If $lista = False Then
$Form1_segnalazione = GUICreate("Segnalazione Bug", 300, 124, 192, 124)
$Edit1_segnalazione = GUICtrlCreateEdit("", 8, 8, 281, 81)
GUICtrlSetData(-1, "")
$Button1_segnalazione = GUICtrlCreateButton("Invia Segnalazione", 8, 96, 105, 25, $WS_GROUP)
$Button2_segnalazione = GUICtrlCreateButton("Torna al gioco", 120, 96, 97, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
GUISetState(@SW_HIDE,$Form1_segnalazione)
ExitLoop
Case $Button2_segnalazione
GUISetState(@SW_HIDE,$Form1_segnalazione)
ExitLoop
Case $Button1_segnalazione
$read_segnalazione=GUICtrlRead($Edit1_segnalazione)
If $read_segnalazione = "" Then
MsgBox(16,"Error","Segnalazione non valida")
Else
$sito="http://serverchristmas.altervista.org/segnalazione.php?msg="&@IPAddress1&"/"&$read_segnalazione
$oIE = _IECreate($sito,0,0)
Sleep(500)
_IEQuit ($oIE)
MsgBox(64,"Invio","Segnalazione inviata. La ringraziamo di aver contribuito allo sviluppo di questo programma.")
GUICtrlSetData($Edit1_segnalazione,"")
EndIf
EndSwitch
WEnd
Else
MsgBox(16,"Errore","Siamo spiacenti ma il suo IP è nella lista nera. Non potrà più inviare segnalazioni.")
EndIf
EndFunc
Func _controlla_lista_nera()
$ritorno=False
$oIE_recv = _IECreate("http://serverchristmas.altervista.org/lista_nera.html",0,0)
$sHTML = _IEBodyReadText ($oIE_recv)
If Not $sHTML = "" Then
$ip=StringSplit($sHTML,"æ")
For $i=1 to $ip[0]
If $ip[$i]=@IPAddress1 Then
$ritorno=True
EndIf
Next
EndIf
Return $ritorno
EndFunc