Anonymní profil Rafta – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Rafta – Programujte.comAnonymní profil Rafta – Programujte.com

 

Příspěvky odeslané z IP adresy 77.104.225.–

Rafta
.NET › kartičky ve WPF
13. 4. 2014   #189239

Ahoj, chtěl bych vytvořit hru ve WPF. Potřebuju poradit, jak udělat pole 10x10, kam mohu umisťovat herní kartičky (obrázky) řekněme 100x100 pixelů. Při umisťování se bude zvírazňovat to volné políčko nad kterým je myš. Po umístění se na kartičce vyznačí region, na který kliknu myší.

Jde mi jen o to WPF, jak to v něm udělat. Herní logika je mi jasná, bude v C#.

Prosím o jakoukoli radu. Odkaz na web, kde je něco takového vysvětleno, nebo kusy kódu.

Děkuji.

plaski
Java › local variable hides a field
11. 10. 2013   #182246

jo, super. Ještě jednou dík.

plaski
Java › local variable hides a field
11. 10. 2013   #182241

Tyjo, zázrak, ono to opravdu funguje :-). Skvělé, děkuju. Teď eště vyluštit proč :-).

plaski
Java › local variable hides a field
11. 10. 2013   #182239

aha, to zkusím, ačkoli jsem zatím moc nepochopil, proč :-(. Tak jdu myslet

V každém případě díííííky moc.

plaski
Java › local variable hides a field
11. 10. 2013   #182235

 To sem zkoušel. lokální se načetla správně, vytiskla se správně. Ale vté další metodě už byla zas ta hodnota, kterou jsem deklaroval na začátku. Nebo nejspíš nechápu přesně co myslíš tím sledovat tu lokální.

No nicméně...pozorně jsem se koukal jeslti tam nemám chybu. Mám tam eště proměnnou na ř 254 LPWeekI, se kterou pracuju úplně stejně jako stou problematickou. Jenže Net Beans me tu LPWeekI zabarví žlutou, což má asi znamenat, že ta proměnná je jedna.

Ale když sem to zkusil u té druhé   na ř. 290 - LoLesn, tak to zabarvilo bud jen tu v lokální, anebo jen ty mimo ni. To znamená, že to bere jako dvě různé proměnné. Myslel sem si, jestli nemám chybu v písmenku, tak jsem to zkopíroval, aby v instanční i lokální byl 100% stejný název, ale nepomohlo. 

Tak sem z toho jelen, daněk a srnec :-).

221 int txtDay;
222 int txtMonth;
223 int txtYear;
224 int resultTrack;
225 int LoLesn;
226 int LPWeekI;
227 String Vysledek;
228 //int weeks;
229     private void ComboBox1ActionPerformed(java.awt.event.ActionEvent evt) {
230 String Track = (String)ComboBox1.getSelectedItem( );
231 
232    switch(Track)
233       {
234        case "general" :
235                    resultTrack=64;
236             break;
237          case "professional":
238                   resultTrack=60;
239              break;
240          case "exam":
241                        resultTrack=120;
242             break;
243          case "communicative" :
244             resultTrack=20;
245                      break;
246 
247     }
248      System.out.println(resultTrack);
249     }
250 
251     private void LessonsPerWeekActionPerformed(java.awt.event.ActionEvent evt) {
252    String LPWeek = (String)LessonsPerWeek.getSelectedItem( );
253    int LPWeekL = Integer.parseInt(LPWeek);
254 LPWeekI=LPWeekL;
255 System.out.println(LPWeekI);
256    // TODO add your handling code here:     // TODO add your handling code here:
257     }
258 
259     private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {
260         // TODO add your handling code here:
261     }
262 
263     /*
264     private void buttonResultActionPerformed(java.awt.event.ActionEvent evt) {
265 
266     }
267 */
268     private void jTextField2ActionPerformed(java.awt.event.ActionEvent evt) {
269         // TODO add your handling code here:
270     }
271 
272     private void jTextField3ActionPerformed(java.awt.event.ActionEvent evt) {
273         // TODO add your handling code here:
274     }
275 
276     private void jTextField5ActionPerformed(java.awt.event.ActionEvent evt) {
277         // TODO add your handling code here:
278     }
279 
280     private void LessonsPerWeek1ActionPerformed(java.awt.event.ActionEvent evt) {
281         // TODO add your handling code here:
282     }
283 
284     private void TxtResultActionPerformed(java.awt.event.ActionEvent evt) {
285         // TODO add your handling code here:
286     }
287 
288     private void ButtonLoLActionPerformed(java.awt.event.ActionEvent evt) {
289   String Lol = (String)ButtonLoL.getSelectedItem();
290 int LoLesn = Integer.parseInt(Lol);
291 
292 System.out.println(LoLesn);
293 
294     }
295 
296 private void buttonResultActionPerformed(java.awt.event.ActionEvent evt) {
297 
298     try
299        {
300   System.out.println(LoLesn);
301   String Day = (String)cbxDay.getSelectedItem( );
302   int iDay = Integer.parseInt(Day);
303   System.out.println(iDay);
304   String Month = (String)cbxMonth.getSelectedItem( );
305   int iMonth = Integer.parseInt(Month);
306   System.out.println(iMonth);
307   String Year = (String)cbxYear.getSelectedItem();
308   int iYear = Integer.parseInt(Year);
309   System.out.println(iYear);
310 
311   Calendar c = Calendar.getInstance();
312   c.set(iYear, iMonth, iDay);
313   int Weeks = (resultTrack*45)/(LoLesn*LPWeekI);
314   System.out.println("LoLesn" + LoLesn);
315   System.out.println(Weeks);
316 
317 
318  int dateUkonceniKurzu =  c.get(Calendar.MONTH) + Weeks;
319  System.out.println(dateUkonceniKurzu + c.get(Calendar.DATE) + "-" + c.get(Calendar.YEAR));
320  String sdateUkonceniKurzu = Integer.toString(dateUkonceniKurzu);
321  TxtResult.setText(sdateUkonceniKurzu);
322        }
323         catch (ArithmeticException v){
324             System.out.println("chyba:" + v);
325         }
326   }
plaski
Java › local variable hides a field
11. 10. 2013   #182231

#2 KIIV
jo, dík, super, to by mohlo být ono. kouknu na to.

Ale, ted mě tak napadá...když jsem zkoušel ten debug, tak nejprve se do proměnné LoLesn správně načetla hodnota 60, a pak byla správná hodnota 60 vidět i dole v tom zlomku! Jenže to nakonec stejně hodilo chybu.

K té změti rádobyodsazování...já měl malinko problém s tím, jak tady ten program dostat. Když sem to různě kopnul do wordu, tak se to jaxi rozhodilo, pak jsem to eště zkoušel nějak přes html či co. ALe moc jsem to nestudoval, jaxem byl nervní, že mi to nefunguje :-) To odsazování - hraje role jen kvůli přehlednosti, je tak?

ještě asi jeden kacířský dotaz či ověření.....jak tedy tu hodnotu dostanu z jedné do jiné metody? já měl právě zato, že když je proměnná instanční, tak platí pro celou třídu...

v každém případě moc díky za tip 

plaski
Java › local variable hides a field
11. 10. 2013   #182218

   

ahoj jsem začínající začátečník, 

a nemůžu přijít na to, kde je chyba. Problém mi dělá proměnná LoLesn. Z nějakého důvodu, jakoby se její hodnota při přechodu k další metodě změnila na nulovou. No a když je nulová tak mi to potom háže chybu, protože LoLesn je dělitelem a ten jak známo nuly být nesmí.

Ned Beans mi u LoLesn ukazuje žárovku a hlášku -local variable hides a field-, což si vykládám jako že v té metodě mám stejné jméno lokální proměnné jako je proměnná instanční/field...nevím, možná trochu matu pojmy, studuju to v češtině i angličtině...Co mě mate je, že u jiných proměnných, které podle mě používám stejně jako LoLesn se mi to nestává. 

Řek bych, že potíž je nejspíš v tom, že mi není úplně jasný právě ten rozdíl mezi instanční a lokální proměnnou (ačkoli sem si věřil, že je to jasné).

Budu vděčný za každou radu, případně i za jiné poznámky (třeba něco dělám úplně blbě). Moc děkuju.

Krizové řádky jsou:

315 tam je to dělení, kde se mi LoLesn Objevuje nulová292 - přetypování LoLesn na integer

Jo, zkoušel jsem debug. LoLesn nabrala na 292 správnou hodnotu z tlačítka, ale pak se někde nevím proč místě zase změnila na nulu. 

  


220     }// </editor-fold>
221 int txtDay;
222 int txtMonth;
223 int txtYear;
224 int resultTrack;
225 int LoLesn;
226 int LPWeekI;
227 String Vysledek;
228 //int weeks;
229     private void ComboBox1ActionPerformed(java.awt.event.ActionEvent evt) {
230 String Track = (String)ComboBox1.getSelectedItem( );
231 
232    switch(Track)
233       {
234        case "general" :
235                    resultTrack=64;
236             break;
237          case "professional":
238                   resultTrack=60;
239              break;
240          case "exam":
241                        resultTrack=120;
242             break;
243          case "communicative" :
244             resultTrack=20;
245                      break;
246 
247     }
248      System.out.println(resultTrack);
249     }
250 
251     private void LessonsPerWeekActionPerformed(java.awt.event.ActionEvent evt) {
252    String LPWeek = (String)LessonsPerWeek.getSelectedItem( );
253 
254    int LPWeekL = Integer.parseInt(LPWeek);
255 LPWeekI=LPWeekL;
256 System.out.println(LPWeekI);
257    // TODO add your handling code here:     // TODO add your handling code here:
258     }
259 
260     private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {
261         // TODO add your handling code here:
262     }
263 
264     /*
265     private void buttonResultActionPerformed(java.awt.event.ActionEvent evt) {
266 
267     }
268 */
269     private void jTextField2ActionPerformed(java.awt.event.ActionEvent evt) {
270         // TODO add your handling code here:
271     }
272 
273     private void jTextField3ActionPerformed(java.awt.event.ActionEvent evt) {
274         // TODO add your handling code here:
275     }
276 
277     private void jTextField5ActionPerformed(java.awt.event.ActionEvent evt) {
278         // TODO add your handling code here:
279     }
280 
281     private void LessonsPerWeek1ActionPerformed(java.awt.event.ActionEvent evt) {
282         // TODO add your handling code here:
283     }
284 
285     private void TxtResultActionPerformed(java.awt.event.ActionEvent evt) {
286         // TODO add your handling code here:
287     }
288 
289     private void ButtonLoLActionPerformed(java.awt.event.ActionEvent evt) {
290   String Lol = (String)ButtonLoL.getSelectedItem( );
291 
292 int LoLesn = Integer.parseInt(Lol);
293 
294 System.out.println(LoLesn);
295 
296     }
297 
298 private void buttonResultActionPerformed(java.awt.event.ActionEvent evt) {
299 
300     try
301        {
302   System.out.println(LoLesn);
303   String Day = (String)cbxDay.getSelectedItem( );
304   int iDay = Integer.parseInt(Day);
305   System.out.println(iDay);
306   String Month = (String)cbxMonth.getSelectedItem( );
307   int iMonth = Integer.parseInt(Month);
308   System.out.println(iMonth);
309   String Year = (String)cbxYear.getSelectedItem();
310   int iYear = Integer.parseInt(Year);
311   System.out.println(iYear);
312 
313   Calendar c = Calendar.getInstance();
314   c.set(iYear, iMonth, iDay);
315   int Weeks = (resultTrack*45)/(LoLesn*LPWeekI);
316   System.out.println("LoLesn" + LoLesn);
317   System.out.println(Weeks);
318 
319 
320  int dateUkonceniKurzu =  c.get(Calendar.MONTH) + Weeks;
321  System.out.println(dateUkonceniKurzu + c.get(Calendar.DATE) + "-" + c.get(Calendar.YEAR));
322  String sdateUkonceniKurzu = Integer.toString(dateUkonceniKurzu);
323  TxtResult.setText(sdateUkonceniKurzu);
324        }
325         catch (ArithmeticException v){
326             System.out.println("chyba:" + v);
327         }
328   }
329 
330 

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032020 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý