Advertisement
littleoak

App de pedra, papel e tesoura

Jan 20th, 2020
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.10 KB | None | 0 0
  1. NA main.dart:
  2. import 'package:flutter/material.dart';
  3. import 'package:jokenpo/Jogo.dart';
  4.  
  5. void main() {
  6. runApp(MaterialApp(
  7. home: new Jogo(),
  8. debugShowCheckedModeBanner: false,
  9.  
  10. )
  11. );
  12. }
  13.  
  14. //ESSE ABAIXO é Jogo.dart
  15.  
  16. import 'package:flutter/material.dart';
  17. import 'dart:math';
  18.  
  19. class Jogo extends StatefulWidget {
  20. @override
  21. _JogoState createState() => _JogoState();
  22. }
  23.  
  24. class _JogoState extends State<Jogo> {
  25.  
  26. var _imageApp = AssetImage("imagens/padrao.png");
  27. var _mensagem = "Escolha uma Opção Abaixo:";
  28.  
  29. void _opcaoSelecionada(String escolhaUsuario) {
  30. //print("Opcao selecionada: " + escolhaUsuario); para debug tosco
  31. var opcoes = ["pedra", "papel", "tesoura"];
  32. var numero = Random().nextInt(3);
  33. var escolhaApp = opcoes[numero];
  34.  
  35. switch(escolhaApp) {
  36. case "pedra":
  37. setState(() {
  38. this._imageApp = AssetImage("imagens/pedra.png");
  39. });
  40. break;
  41. case "papel":
  42. setState(() {
  43. this._imageApp = AssetImage("imagens/papel.png");
  44. });
  45. break;
  46. case "tesoura":
  47. setState(() {
  48. this._imageApp = AssetImage("imagens/tesoura.png");
  49. });
  50. break;
  51. }
  52.  
  53. if(escolhaUsuario == "pedra" && escolhaApp == "tesoura" || escolhaUsuario == "tesoura" && escolhaApp == "papel" || escolhaUsuario == "papel" && escolhaApp == "pedra"){
  54. //print("jp wins");
  55. setState(() {
  56. this._mensagem = "JOAO PAULO VENCEU!";
  57. });
  58. } else if(escolhaUsuario == escolhaApp) {
  59. //print("app EMPATE");
  60. setState(() {
  61. this._mensagem = "JP EMPATOU COM O APP";
  62. });
  63. } else {
  64. //print("app wins");
  65. setState(() {
  66. this._mensagem = "App WINS";
  67. });
  68. }
  69. }
  70.  
  71. @override
  72. Widget build(BuildContext context) {
  73. return Scaffold(
  74. appBar: new AppBar(
  75. title: new Text("Pedra, Papel e Tesoura")
  76. ),
  77. body: new Column(
  78. crossAxisAlignment: CrossAxisAlignment.center,
  79. children: <Widget>[
  80. //text
  81. //imagem
  82. //text resultado
  83. //Linha com 3 imagens
  84. new Padding(
  85. padding: EdgeInsets.only(top: 32, bottom: 16),
  86. child: Text(
  87. "Escolha do App",
  88. textAlign: TextAlign.center,
  89. style: new TextStyle(
  90. fontSize: 20,
  91. fontWeight: FontWeight.bold
  92. )
  93. ),
  94. ),
  95. //Image.asset("imagens/padrao.png"),
  96. Image(image: this._imageApp),
  97. new Padding(
  98. padding: EdgeInsets.only(top: 32, bottom: 16),
  99. child: Text(
  100. this._mensagem,
  101. textAlign: TextAlign.center,
  102. style: new TextStyle(
  103. fontSize: 20,
  104. fontWeight: FontWeight.bold
  105. )
  106. ),
  107. ),
  108. new Row(
  109. mainAxisAlignment: MainAxisAlignment.spaceEvenly,
  110. children: <Widget>[
  111. GestureDetector(
  112. onTap: () => _opcaoSelecionada("pedra"), //funcao anônima curta :)
  113. child: Image.asset("imagens/pedra.png", height: 100),
  114. ),
  115. GestureDetector(
  116. onTap: () => _opcaoSelecionada("papel"),
  117. child: Image.asset("imagens/papel.png", height: 100),
  118. ),
  119. GestureDetector(
  120. onTap: () => _opcaoSelecionada("tesuora"),
  121. child: Image.asset("imagens/tesoura.png", height: 100),
  122. ),
  123. /*
  124. Image.asset("imagens/pedra.png", height: 100),
  125. Image.asset("imagens/papel.png", height: 100),
  126. Image.asset("imagens/tesoura.png", height: 100),
  127. */
  128. ],
  129. )
  130. ],
  131. ),
  132. );
  133. }
  134. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement