CATEGORII DOCUMENTE |
INFORMATICA - JOC HANGMAN
JOC
HANGMAN
1.Introducere
Lucrarea de proiect "Joc-Hangman" isi propune aplicarea limbajului de programare C# astfel incat sa poata dezvolta inteligenta copiilor, determinarea si spiritual de joc, dat fiind cunoscutfaptul ca jocul iti dezvolta bagajul de cuvinte.
"Hangman" presupune ghicirea unui cuvant in maximum sapte incercari. Cuvantul ce trebuie ghicit este reprezentat de un sir de linii, fiecare linie reprezentand o litera a cuvantului.
Daca jucatorul care ghiceste sugereaza o litera ce se afla in cuvant, calculatorul o completeaza in toate pozitiile unde aceasta apare. Daca litera nu se afla in cuvant, calculatorul deseneaza un element din diagrama "spanzuratoarea".
Jocul se incheie cand:
a) jucatorul care ghiceste completeaza tot cuvantul, sau il ghiceste exact.
b) calculatorul completeaza diagrama.
C# este un limbaj de programare orientat-obiect conceput de Microsoft la sfarsitul anilor 90. A fost conceput ca un concurent pentru limbajul Java. Ca si acesta, C# este un derivat al limbajului de programare C++.
Limbajul C# fost dezvoltat de o echipa restransa de ingineri de la Microsoft, echipa din care s-a evidentiat Anders Hejlsberg (autorul limbajului Turbo Pascal si membru al echipei care a proiectat Borland Delphi).
C# este un limbaj simplu, cu circa 80 de cuvinte cheie, si 12 tipuri de date predefinite. El permite programarea structurata, modulara si orientata obiectual, conform perceptelor moderne ale programarii profesioniste. Principiile de baza ale programarii pe obiecte (INCAPSULARE, MOSTENIRE, POLIMORFISM) sunt elemente fundamentale ale programarii C#.
In mare, limbajul mosteneste sintaxa si principiile de programare din C++. Sunt o serie de tipuri noi de date sau functiuni diferite ale datelor din C++, iar in spiritul realizarii unor secvente de cod sigure (safe), unele functiuni au fost adaugate (de exemplu, interfete si delegari), diversificate (tipul struct), modificate (tipul string) sau chiar eliminate (mostenirea multipla si pointerii catre functii).
Unele functiuni (cum ar fi accesul direct la memorie folosind pointeri) au fost pastrate, dar secventele de cod corespunzatoare se considera "nesigure".
Ca si limbajul C++ cu care se inrudeste, limbajul C# are un alfabet format din litere mari si mici ale alfabetului englez, cifre si alte semne. Vocabularul limbajului este format din acele "simboluri" cu semnificatii lexicale in scrierea programelor: cuvinte (nume), expresii, separatori, delimitatori si comentarii.
In C# exista doua categorii de tipuri de date:
a) tipuri valoare
tipul simple: byte,char, int, float,etc.
tipul enumerare -enum
tipul structura - struct
b) tipuri referinta
tipul clasa - class
tipul interfata - interface
tipul delegat - delegate
tipul tablou - array
Toate tipurile de date sunt derivate din tipul System.Object
Toate tipurile valoare sunt derivate din clasa System.ValueType, derivata la randul ei din clasa Object (alias pentru System.Object). Limbajul C# contine un set de tipuri predefinite(int, bool etc.) si permite definirea unor tipuri proprii (enum, struct, class etc.).
Siruri de caractere se definesc doua tipuri de siruri:
.regulate
.de tip "verbatim"
Tipul regulat contine intre ghilimele zero sau mai multe caractere, inclusiv secvente escape. Secventele escape permit reprezentarea caracterelor care nu au reprezentare grafica precum si reprezentarea unor caractere speciale: backslash, caracterul apostrof, etc.
Instructiuni utilizabile in C#
Instructiunea if
Instructiunea if executa o instructiune ın functie de valoarea de adevar a unei expresii logice.
Are formele:
if(expresielogica)instructiune;
if(expresielogica)instructiune;elseinstructiune;
Instructiunea switch
Permite executarea unei instructiuni in functie de valoarea unei expresii, care se poate regasi sau nu intr-o lista de valori candidat:
switch(expresie)
Instructiunea while
Permite executarea unei instructiuni atata timp cat valoarea unei expresii logice este adevarata (ciclucutestanterior).
Sintaxa:
while(expresielogica)instructiune;
Instructiunea do
Executa o instructiune o data sau de mai multe ori, cat timp o conditie logica este adevarata (ciclu cu test posterior).
Exemplu:
do
while(i<=n)
Instructiunea for
Executa o secventa de initializare, dupa care va executa o instructiune atata timp cat o conditie este adevarata (ciclu cu test anterior); poate sa contina un pas de reinitializare (trecerea la pasul urmator).
Exemplu:
for(inti=0;i<n;i++)
',i);
Instructiunea foreach
Enumera elementele dintr-o coletie, executand o instructiune pentru fiecare element .
Colectia poate sa fie orice instanta a unei clase care implementeaza interfata System.Collections.IEnumerable.
Exemplu:
int[ ]t=;
foreach(intxint)
Jocul se deschide cu o fereastra in care jucatorul va trebui sa ghicesca cuvantul reprezentat de un sir de linii fiecare linie reprezentand o litera a cuvantului.
Jucatorul trebuie sa apese pe un buton ce reprezinta o cifra a alfabetului daca considera ca aceea cifra se afla in cuvantul dat .
Daca cifra se afla in cuvat , calculatorul o completeaza in toate pozitiile unde aceasta apare.
Daca nu apare calculatorul deseneaza un element din diagrama "spanzuratoarei".
Jocul se termina atunci cand jucatorul care ghiceste completeaza tot cuvantul, sau il ghiceste exact.
Sau atunci cand calculatorul completeaza diagrama "spanzuratoarei"
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Drawing2D;
namespace HangMan
Label[] labels = new Label[100];
char[] guess = new char[100];
string hiddenWord;
char[] guessed;
private Pen myPen;
Graphics xGraph;
int i = 0;
int trials = 0;
private int RandomNumber(int min, int max)
public Form1()
private void Form1_Load(object sender, EventArgs e)
guessed[0] = hiddenWord[0];
guessed[hiddenWord.Length - 1] = hiddenWord[hiddenWord.Length - 1];
labels[0].Text = guessed[0].ToString();
labels[hiddenWord.Length - 1].Text = guessed[hiddenWord.Length - 1].ToString();
}
private void Form1_Paint(object sender, PaintEventArgs e)
private bool ValidateLetter(char p)
return ok;
}
private void A_Click(object sender, EventArgs e)
}
}
else
A.Enabled = false;
if (endGame(trials) == -1)
else if (endGame(trials) == 1)
MessageBox.Show('Felicitari! Ai castigat!');
}
private void drawNext(int trials)
private bool matches()
j++;
}
return ok;
}
private int endGame(int t)
}
}
else if (!matches())
ok = 0;
if (matches())
}
}
return ok;
}
private void B_Click(object sender, EventArgs e)
}
}
else
B.Enabled = false;
if (endGame(trials) == -1)
else if (endGame(trials) == 1)
MessageBox.Show('Ai castigat!');
}
private void C_Click(object sender, EventArgs e)
}
}
else
C.Enabled = false;
if (endGame(trials) == -1)
else if (endGame(trials) == 1)
MessageBox.Show('Ai castigat!');
}
private void D_Click(object sender, EventArgs e)
}
}
else
D.Enabled = false;
if (endGame(trials) == -1)
else if (endGame(trials) == 1)
MessageBox.Show('Ai castigat!');
}
private void E_Click(object sender, EventArgs e)
}
}
else
E.Enabled = false;
if (endGame(trials) == -1)
else if (endGame(trials) == 1)
MessageBox.Show('Ai castigat!');
}
private void F_Click(object sender, EventArgs e)
}
}
else
F.Enabled = false;
if (endGame(trials) == -1)
else if (endGame(trials) == 1)
MessageBox.Show('Ai castigat!');
}
private void G_Click(object sender, EventArgs e)
}
}
else
G.Enabled = false;
if (endGame(trials) == -1)
else if (endGame(trials) == 1)
MessageBox.Show('Ai castigat!');
}
private void H_Click(object sender, EventArgs e)
}
}
else
H.Enabled = false;
if (endGame(trials) == -1)
else if (endGame(trials) == 1)
MessageBox.Show('Ai castigat!');
}
private void II_Click(object sender, EventArgs e)
}
}
else
II.Enabled = false;
if (endGame(trials) == -1)
else if (endGame(trials) == 1)
MessageBox.Show('Ai castigat!');
}
private void J_Click(object sender, EventArgs e)
}
}
else
J.Enabled = false;
if (endGame(trials) == -1)
else if (endGame(trials) == 1)
MessageBox.Show('Ai castigat!');
}
private void K_Click(object sender, EventArgs e)
}
}
else
K.Enabled = false;
if (endGame(trials) == -1)
else if (endGame(trials) == 1)
MessageBox.Show('Ai castigat!');
}
private void L_Click(object sender, EventArgs e)
}
}
else
L.Enabled = false;
if (endGame(trials) == -1)
else if (endGame(trials) == 1)
MessageBox.Show('Ai castigat!');
}
private void M_Click(object sender, EventArgs e)
}
}
else
M.Enabled = false;
if (endGame(trials) == -1)
else if (endGame(trials) == 1)
MessageBox.Show('Ai castigat!');
}
private void N_Click(object sender, EventArgs e)
}
}
else
N.Enabled = false;
}
private void O_Click(object sender, EventArgs e)
}
}
else
O.Enabled = false;
if (endGame(trials) == -1)
else if (endGame(trials) == 1)
MessageBox.Show('Ai castigat!');
}
private void P_Click(object sender, EventArgs e)
}
}
else
P.Enabled = false;
if (endGame(trials) == -1)
else if (endGame(trials) == 1)
MessageBox.Show('Ai castigat!');
}
private void Q_Click(object sender, EventArgs e)
}
}
else
Q.Enabled = false;
if (endGame(trials) == -1)
else if (endGame(trials) == 1)
MessageBox.Show('Ai castigat!');
}
private void R_Click(object sender, EventArgs e)
}
}
else
R.Enabled = false;
if (endGame(trials) == -1)
else if (endGame(trials) == 1)
MessageBox.Show('Ai castigat!');
}
private void S_Click(object sender, EventArgs e)
}
}
else
S.Enabled = false;
if (endGame(trials) == -1)
else if (endGame(trials) == 1)
MessageBox.Show('Ai castigat!');
}
private void T_Click(object sender, EventArgs e)
}
}
else
T.Enabled = false;
if (endGame(trials) == -1)
else if (endGame(trials) == 1)
MessageBox.Show('Ai castigat!');
}
private void U_Click(object sender, EventArgs e)
}
}
else
U.Enabled = false;
if (endGame(trials) == -1)
else if (endGame(trials) == 1)
MessageBox.Show('Ai castigat!');
}
private void V_Click(object sender, EventArgs e)
}
}
else
V.Enabled = false;
if (endGame(trials) == -1)
else if (endGame(trials) == 1)
MessageBox.Show('Ai castigat!');
}
private void W_Click(object sender, EventArgs e)
}
}
else
W.Enabled = false;
if (endGame(trials) == -1)
else if (endGame(trials) == 1)
MessageBox.Show('Ai castigat!');
}
private void X_Click(object sender, EventArgs e)
}
}
else
X.Enabled = false;
if (endGame(trials) == -1)
else if (endGame(trials) == 1)
MessageBox.Show('Ai castigat!');
}
private void Y_Click(object sender, EventArgs e)
}
}
else
Y.Enabled = false;
if (endGame(trials) == -1)
else if (endGame(trials) == 1)
MessageBox.Show('Ai castigat!');
}
private void Z_Click(object sender, EventArgs e)
}
}
else
Z.Enabled = false;
if (endGame(trials) == -1)
else if (endGame(trials) == 1)
MessageBox.Show('Ai castigat!');
}
}
https://www.scribd.com/doc/517796/Manual-C
https://www.scribd.com/doc/17995127/Curs-C-romana
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 2309
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved