[GIOCO] Sasso carta forbice, con opzioni, dai 1 ai 3 giocatori, oppure vs computer... Cool provatelo!

« Older   Newer »
  Share  
I.Ren
CAT_IMG Posted on 29/3/2008, 12:16     +1   -1




'Sta mattina, non avendo niente da fare, ho creato in autoit il mitico gioco di sasso carta forbice. è molto cool perchè.

- ci sono le opzioni dove puoi scegliere se essere 'carta' 'forbice' o 'sasso'. Si può giocare in 2, in 3 o contro il computer.

- Il gioco è fico.

scaricate l'exe da http://www.mediafire.com/?9didxxcwz9u <-qui

Ci sono 2 parti di codice (la prima è quella delle opzioni (67 righe))

CODICE
#include <GUIDefaultConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <ComboConstants.au3>
#include <ListViewConstants.au3>
#include <StaticConstants.au3>
#include <ButtonConstants.au3>
#include <ListBoxConstants.au3>
#include <TabConstants.au3>
#include <EditConstants.au3>
#include <DateTimeConstants.au3>
#include <SliderConstants.au3>
#include <TreeViewConstants.au3>
#include <ProgressConstants.au3>
#include <AVIConstants.au3>
#include <UpDownConstants.au3>

$Gui1=GUICreate('Sasso carta forbice - seleziona numero di giocatori',300,200)
GUICtrlCreateLabel('Numero di giocatori',2,2)
GUICtrlSetFont(-1,8,5000,1,'arial')
$gioc=GUICtrlCreateCombo('1',105,2,190,20)
GUICtrlSetData(-1,'2|3')
GUICtrlSetFont(-1,8,5000,1,'arial')
GUICtrlCreateLabel('Nome giocatore 1',2,40)
GUICtrlSetFont(-1,8,5000,1,'arial')
$g1=GUICtrlCreateCombo('Sasso',102,40,193,20)
GUICtrlSetFont(-1,8,5000,1,'arial')
GUICtrlSetData(-1,'Carta|Forbice')
GUICtrlCreateLabel('Nome giocatore 2',2,70)
GUICtrlSetFont(-1,8,5000,1,'arial')
$g2=GUICtrlCreateCombo('Carta',102,70,193,20)
GUICtrlSetFont(-1,8,5000,1,'arial')
GUICtrlSetData(-1,'Sasso|Forbice')
GUICtrlSetState(-1,$GUI_DISABLE)
GUICtrlCreateLabel('Nome giocatore 3',2,100)
GUICtrlSetFont(-1,8,5000,1,'arial')
$g3=GUICtrlCreateCombo('Forbice',102,100,193,20)
GUICtrlSetFont(-1,8,5000,1,'arial')
GUICtrlSetData(-1,'Carta|Sasso')
GUICtrlSetState(-1,$GUI_DISABLE)
$vai=GUICtrlCreateButton('Gioca!',2,150,80,20)

GUISetState ( )

While 1
       Switch GUIGetMsg()
       Case $vai
       IniWrite('op.ini','giocatori','giocatori',GUICtrlRead($gioc))
       IniWrite('op.ini','nome','1',guictrlread($g1))
       IniWrite('op.ini','nome','2',guictrlread($g2))
       IniWrite('op.ini','nome','3',guictrlread($g3))
   Run('gioco.exe')
Case $GUI_EVENT_CLOSE
       Exit
EndSwitch

Sleep(80)
If GUICtrlRead($gioc)='2' Then
       GUICtrlSetState($g2,$GUI_ENABLE)
       GUICtrlSetState($g3,$GUI_DISABLE)
ElseIf GUICtrlRead($gioc)='1' Then
       GUICtrlSetState($g2,$GUI_DISABLE)
ElseIf GUICtrlRead($gioc)='3' Then
       GUICtrlSetState($g2,$GUI_ENABLE)
       GUICtrlSetState($g3,$GUI_ENABLE)
EndIf
WEnd


La seconda (è quella del gioco (267 righe)):

CODICE
#include <GUIDefaultConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <ComboConstants.au3>
#include <ListViewConstants.au3>
#include <StaticConstants.au3>
#include <ButtonConstants.au3>
#include <ListBoxConstants.au3>
#include <TabConstants.au3>
#include <EditConstants.au3>
#include <DateTimeConstants.au3>
#include <SliderConstants.au3>
#include <TreeViewConstants.au3>
#include <ProgressConstants.au3>
#include <AVIConstants.au3>
#include <UpDownConstants.au3>
cercaIni()
Local $o_speech = ObjCreate("SAPI.SpVoice")
$gui=GUICreate('Sasso carta forbice - gioco',270,110)
$vai=GUICtrlCreateButton('vai',2,2,80,20)

GUISetState( )

While 1
       Switch GUIGetMsg()
       Case $vai
If IniRead('op.ini','giocatori','giocatori','')='1' Then
       giocoIn1()
ElseIf IniRead('op.ini','giocatori','giocatori','')='2' Then
       giocoIn2()
ElseIf IniRead('op.ini','giocatori','giocatori','')='3' Then
       giocoIn3()
EndIf
       Case $GUI_EVENT_CLOSE
       Exit
EndSwitch
WEnd

Func giocoIn1()
       _Talk($o_speech, 'Sasso carta forbice')
       Sleep(2000)
GUICtrlCreateLabel('Giocatore: ',2,30)
GUICtrlSetFont(-1,8,5000,1,'arial')
$i1=GUICtrlCreateInput('',65,28,200,20)
GUICtrlSetFont(-1,8,5000,1,'arial')
GUICtrlSetState(-1,$GUI_DISABLE)
GUICtrlCreateLabel('Computer 1: ',2,60)
GUICtrlSetFont(-1,8,5000,1,'arial')
$i2=GUICtrlCreateInput('',65,58,200,20)
GUICtrlSetFont(-1,8,5000,1,'arial')
GUICtrlSetState(-1,$GUI_DISABLE)
GUICtrlCreateLabel('Computer 2:',2,90)
GUICtrlSetFont(-1,8,5000,1,'arial')
$i3=GUICtrlCreateInput('',65,88,200,20)
GUICtrlSetFont(-1,8,5000,1,'arial')
GUICtrlSetState(-1,$GUI_DISABLE)
Sleep(2000)
$a=Random (1,3,1)
If $a=1 Then
       GUICtrlSetData($i1,'sasso')
       GUICtrlSetData($i2,'altro')
       GUICtrlSetData($i3,'altro')
       If IniRead('op.ini','nome','1','')='Sasso' Then
               TrayTip('Vinto!','Hai vinto!',1)
       Else
               TrayTip('Perso!','Hai perso!',1)
       EndIf
EndIf
If $a=2 Then
       GUICtrlSetData($i2,'carta')
       GUICtrlSetData($i1,'altro')
       GUICtrlSetData($i3,'altro')
       If IniRead('op.ini','nome','1','')='Carta' Then
               TrayTip('Vinto!','Hai vinto!',1)
       Else
               TrayTip('Perso!','Hai perso!',1)
   EndIf
EndIf
If $a=3 Then
       GUICtrlSetData($i3,'forbice')
       GUICtrlSetData($i1,'altro')
       GUICtrlSetData($i2,'altro')
       If IniRead('op.ini','nome','1','')='forbice' Then
               TrayTip('Vinto!','Hai vinto!',1)
       Else
               TrayTip('Perso!','Hai perso!',1)
       EndIf
EndIf
       
EndFunc

Func giocoIn2()
       _Talk($o_speech, 'Sasso carta forbice')
       Sleep(2000)
GUICtrlCreateLabel('Giocatore 1: ',2,30)
GUICtrlSetFont(-1,8,5000,1,'arial')
$i1=GUICtrlCreateInput('',65,28,200,20)
GUICtrlSetFont(-1,8,5000,1,'arial')
GUICtrlSetState(-1,$GUI_DISABLE)
GUICtrlCreateLabel('Giocatore 2: ',2,60)
GUICtrlSetFont(-1,8,5000,1,'arial')
$i2=GUICtrlCreateInput('',65,58,200,20)
GUICtrlSetFont(-1,8,5000,1,'arial')
GUICtrlSetState(-1,$GUI_DISABLE)
GUICtrlCreateLabel('Computer 1:',2,90)
GUICtrlSetFont(-1,8,5000,1,'arial')
$i3=GUICtrlCreateInput('',65,88,200,20)
GUICtrlSetFont(-1,8,5000,1,'arial')
GUICtrlSetState(-1,$GUI_DISABLE)
Sleep(2000)
$a=Random (1,3,1)
If $a=1 Then
       GUICtrlSetData($i1,'sasso')
       GUICtrlSetData($i2,'altro')
       GUICtrlSetData($i3,'altro')
       If IniRead('op.ini','nome','1','')='Sasso' Then
               TrayTip('Vinto!','Hai vinto!',1)
       Else
               TrayTip('Perso!','Hai perso!',1)
       EndIf
       If IniRead('op.ini','nome','2','')='Sasso' Then
               TrayTip('Vinto!','Ha vinto il giocatore 2!',1)
       Else
               TrayTip('Perso!','Avete perso!',1)
       EndIf
EndIf
If $a=2 Then
       GUICtrlSetData($i2,'carta')
       GUICtrlSetData($i1,'altro')
       GUICtrlSetData($i3,'altro')
       If IniRead('op.ini','nome','1','')='Carta' Then
               TrayTip('Vinto!','Ha vinto il giocatore 1!',1)
       Else
               TrayTip('Perso!','Avete perso!',1)
       EndIf
       
       If IniRead('op.ini','nome','2','')='Carta' Then
               TrayTip('Vinto!','Ha vinto il giocatore 2!',1)
       Else
               TrayTip('Perso!','Avete perso!',1)
       EndIf
EndIf
If $a=3 Then
       GUICtrlSetData($i3,'forbice')
       GUICtrlSetData($i1,'altro')
       GUICtrlSetData($i2,'altro')
       If IniRead('op.ini','nome','1','')='Forbice' Then
               TrayTip('Vinto!','Ha vinto il giocatore 1!',1)
       Else
               TrayTip('Perso!','Avete perso!',1)
       EndIf
       
       If IniRead('op.ini','nome','2','')='Forbice' Then
               TrayTip('Vinto!','Ha vinto il giocatore 2!',1)
       Else
               TrayTip('Perso!','Avete perso!',1)
       EndIf
EndIf
EndFunc

Func giocoIn3()
       _Talk($o_speech, 'Sasso carta forbice')
       Sleep(2000)
GUICtrlCreateLabel('Giocatore 1: ',2,30)
GUICtrlSetFont(-1,8,5000,1,'arial')
$i1=GUICtrlCreateInput('',65,28,200,20)
GUICtrlSetFont(-1,8,5000,1,'arial')
GUICtrlSetState(-1,$GUI_DISABLE)
GUICtrlCreateLabel('Giocatore 2: ',2,60)
GUICtrlSetFont(-1,8,5000,1,'arial')
$i2=GUICtrlCreateInput('',65,58,200,20)
GUICtrlSetFont(-1,8,5000,1,'arial')
GUICtrlSetState(-1,$GUI_DISABLE)
GUICtrlCreateLabel('Giocatore 3:',2,90)
GUICtrlSetFont(-1,8,5000,1,'arial')
$i3=GUICtrlCreateInput('',65,88,200,20)
GUICtrlSetFont(-1,8,5000,1,'arial')
GUICtrlSetState(-1,$GUI_DISABLE)
$a=Random (1,3,1)
If $a=1 Then
       GUICtrlSetData($i1,'sasso')
       GUICtrlSetData($i2,'altro')
       GUICtrlSetData($i3,'altro')
       If IniRead('op.ini','nome','1','')='Sasso' Then
               TrayTip('Vinto!','Ha vinto il giocatore 1!',1)
       Else
               TrayTip('Perso!','Avete perso!',1)
       EndIf
       If IniRead('op.ini','nome','2','')='Sasso' Then
               TrayTip('Vinto!','Ha vinto il giocatore 2!',1)
       Else
               TrayTip('Perso!','Avete perso!',1)
       EndIf
       
       If IniRead('op.ini','nome','3','')='Sasso' Then
               TrayTip('Vinto!','ha vinto il giocatore 3!',1)
       Else
               TrayTip('Perso!','Avete perso!',1)
       EndIf
EndIf
If $a=2 Then
       GUICtrlSetData($i2,'carta')
       GUICtrlSetData($i1,'altro')
       GUICtrlSetData($i3,'altro')
       If IniRead('op.ini','nome','1','')='Carta' Then
               TrayTip('Vinto!','Ha vinto il giocatore 1!',1)
       Else
               TrayTip('Perso!','Avete perso!',1)
       EndIf
       
       If IniRead('op.ini','nome','2','')='Carta' Then
               TrayTip('Vinto!','Ha vinto il giocatore 2!',1)
       Else
               TrayTip('Perso!','Avete perso!',1)
       EndIf
       
       If IniRead('op.ini','nome','3','')='Carta' Then
               TrayTip('Vinto!','ha vinto il giocatore 3!',1)
       Else
               TrayTip('Perso!','Avete perso!',1)
       EndIf
EndIf
If $a=3 Then
       GUICtrlSetData($i3,'forbice')
       GUICtrlSetData($i1,'altro')
       GUICtrlSetData($i2,'altro')
       If IniRead('op.ini','nome','1','')='Forbice' Then
               TrayTip('Vinto!','Ha vinto il giocatore 1!',1)
       Else
               TrayTip('Perso!','Avete perso!',1)
       EndIf
       
       If IniRead('op.ini','nome','2','')='Forbice' Then
               TrayTip('Vinto!','Ha vinto il giocatore 2!',1)
       Else
               TrayTip('Perso!','Avete perso!',1)
       EndIf
       
       If IniRead('op.ini','nome','3','')='Forbice' Then
               TrayTip('Vinto!','ha vinto il giocatore 3!',1)
       Else
               TrayTip('Perso!','Avete perso!',1)
       EndIf
EndIf
EndFunc

Func _Talk(ByRef $o_speech, $s_text, $s_voice = 3)
  Local Const $SVSFlagsAsync = 1
  Select
      Case $s_voice == 1
          $o_speech.Voice = $o_speech.GetVoices ("Name=Microsoft Mary", "Language=409").Item (0)
      Case $s_voice == 2
          $o_speech.Voice = $o_speech.GetVoices ("Name=Microsoft Mike", "Language=409").Item (0)
      Case $s_voice == 3
          $o_speech.Voice = $o_speech.GetVoices ("Name=Microsoft Sam", "Language=409").Item (0)
  EndSelect
  $o_speech.Speak ($s_text, $SVSFlagsAsync)
EndFunc   ;==>_Talk

Func cercaIni()
If FileExists('op.ini') Then
       ;;;
Else
       MsgBox(0,'Errore!','Create le opzioni..',3)
       Exit
EndIf
EndFunc


scaricate l'exe da http://www.mediafire.com/?9didxxcwz9u <-qui

DITEMI CHE NE PENSATE!

 
Top
lknokl
CAT_IMG Posted on 29/3/2008, 13:47     +1   -1




figo ^^ un bel passatempo
bello anche per la voce, bella idea
(mi e piaciuto che quando dice sasso sembra che al posto della A metta una E lol)
 
Top
I.Ren
CAT_IMG Posted on 29/3/2008, 13:48     +1   -1




grazie...
 
Top
2 replies since 29/3/2008, 12:16   142 views
  Share