Last active
December 7, 2021 21:38
-
-
Save alectogeek/192bdc9783f9ee031ff4b9a41dfc3de0 to your computer and use it in GitHub Desktop.
Revisions
-
alectogeek revised this gist
Dec 7, 2021 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -114,7 +114,7 @@ class _MyHomePageState extends State<MyHomePage> { final TextEditingController _bidEditingController = TextEditingController(text: '10'); final TextEditingController _userBalanceEditingController = TextEditingController(text: '10000'); final TextEditingController _casinoBalanceEditingController = TextEditingController(text: '100000000000'); -
alectogeek revised this gist
Dec 7, 2021 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -102,7 +102,7 @@ class MyHomePage extends StatefulWidget { class _MyHomePageState extends State<MyHomePage> { bool isCalculating = false; int casinoBalance = 100000000000; int userBalance = 10000; int bid = 10; int bidIncrease = 0; int playTimes = 1; -
alectogeek revised this gist
Dec 7, 2021 . 1 changed file with 86 additions and 156 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,12 +1,51 @@ import 'dart:math'; import 'package:flutter/cupertino.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; void main() { runApp(const MyApp()); } LoopCalculationResults runLoopGame( LoopCalculationInput input ) { List<ChartItem> chartLogs = []; int sessionDifference = 0; int userBalance = input.userBalance; int casinoBalance = input.casinoBalance; int actualBid = input.actualBid; int bidIncrease = input.bidIncrease; int playTimes = input.playTimes; for (int i = 0; i < playTimes; i++) { final bool didWin = Random.secure().nextBool(); if (didWin) { userBalance = userBalance + actualBid; casinoBalance = casinoBalance - actualBid; sessionDifference += actualBid; chartLogs.add(ChartItem(i, userBalance, actualBid)); } else { userBalance = userBalance - actualBid; casinoBalance = casinoBalance + actualBid; sessionDifference -= actualBid; chartLogs.add(ChartItem(i, userBalance, -actualBid)); } actualBid += bidIncrease; } return LoopCalculationResults( userBalance, casinoBalance, actualBid, sessionDifference, chartLogs, ); } class ChartItem { ChartItem(this.index, this.value, this.delta); @@ -15,6 +54,27 @@ class ChartItem { final int delta; } class LoopCalculationInput { final int userBalance; final int casinoBalance; final int actualBid; final int bidIncrease; final int playTimes; LoopCalculationInput(this.userBalance, this.casinoBalance, this.actualBid, this.bidIncrease, this.playTimes); } class LoopCalculationResults { final int userBalance; final int casinoBalance; final int actualBid; final int sessionDifference; final List<ChartItem> chartLogs; LoopCalculationResults(this.userBalance, this.casinoBalance, this.actualBid, this.sessionDifference, this.chartLogs); } class MyApp extends StatelessWidget { const MyApp({Key? key}) : super(key: key); @@ -40,6 +100,7 @@ class MyHomePage extends StatefulWidget { } class _MyHomePageState extends State<MyHomePage> { bool isCalculating = false; int casinoBalance = 100000000000; int userBalance = 100000; int bid = 10; @@ -57,27 +118,25 @@ class _MyHomePageState extends State<MyHomePage> { final TextEditingController _casinoBalanceEditingController = TextEditingController(text: '100000000000'); void runGame() async { int actualBid = bid; setState(() { isCalculating = true; }); chartLogs.clear(); // final LoopCalculationResults results = runLoopGame(userBalance, casinoBalance, actualBid, bidIncrease, playTimes); final input = LoopCalculationInput(userBalance, casinoBalance, actualBid, bidIncrease, playTimes); final LoopCalculationResults results = await compute(runLoopGame, input); actualBid = results.actualBid; casinoBalance = results.casinoBalance; userBalance = results.userBalance; int sessionDifference = results.sessionDifference; chartLogs = results.chartLogs; _userBalanceEditingController.text = userBalance.toString(); _casinoBalanceEditingController.text = casinoBalance.toString(); @@ -91,6 +150,7 @@ class _MyHomePageState extends State<MyHomePage> { setState(() { bid = actualBid; _bidEditingController.text = actualBid.toString(); isCalculating = false; }); Future<void>.delayed(Duration(milliseconds: 50)).then((value) { @@ -102,24 +162,7 @@ class _MyHomePageState extends State<MyHomePage> { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text(widget.title), @@ -269,34 +312,6 @@ class _MyHomePageState extends State<MyHomePage> { margin: const EdgeInsets.only(top: 10, left: 10), child: Column( children: [ Expanded( child: ListView.builder( // reverse: true, @@ -333,47 +348,6 @@ class _MyHomePageState extends State<MyHomePage> { children: [ Column( children: [ SizedBox(height: 20), Container( height: 50, @@ -418,53 +392,7 @@ class _MyHomePageState extends State<MyHomePage> { ), ], ), ], ), ), @@ -474,11 +402,13 @@ class _MyHomePageState extends State<MyHomePage> { ), ), floatingActionButton: FloatingActionButton( backgroundColor: isCalculating ? Colors.grey : null, onPressed: () { if (!isCalculating) { runGame(); } }, child: isCalculating ? CupertinoActivityIndicator() : Text('Play'), ), ); } -
alectogeek revised this gist
Dec 5, 2021 . 1 changed file with 90 additions and 21 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,11 +1,20 @@ import 'dart:math'; import 'package:flutter/material.dart'; import 'package:charts_flutter/flutter.dart' as charts; void main() { runApp(const MyApp()); } class ChartItem { ChartItem(this.index, this.value, this.delta); final int index; final int value; final int delta; } class MyApp extends StatelessWidget { const MyApp({Key? key}) : super(key: key); @@ -38,35 +47,41 @@ class _MyHomePageState extends State<MyHomePage> { int playTimes = 1; List<String> logs = []; List<ChartItem> chartLogs = []; final ScrollController _scrollController = ScrollController(); final TextEditingController _bidEditingController = TextEditingController(text: '10'); final TextEditingController _userBalanceEditingController = TextEditingController(text: '100000'); final TextEditingController _casinoBalanceEditingController = TextEditingController(text: '100000000000'); void runGame() { int sessionDifference = 0; int actualBid = bid; chartLogs.clear(); for (int i = 0; i < playTimes; i++) { final bool didWin = Random().nextInt(2) == 1; if (didWin) { userBalance = userBalance + actualBid; casinoBalance = casinoBalance - actualBid; sessionDifference += actualBid; chartLogs.add(ChartItem(i, casinoBalance, actualBid)); } else { userBalance = userBalance - actualBid; casinoBalance = casinoBalance + actualBid; sessionDifference -= actualBid; chartLogs.add(ChartItem(i, casinoBalance, -actualBid)); } actualBid += bidIncrease; } _userBalanceEditingController.text = userBalance.toString(); _casinoBalanceEditingController.text = casinoBalance.toString(); if (sessionDifference >= 0) { logs.add('Игрок выиграл: +$sessionDifference, игр: $playTimes'); } else { @@ -87,6 +102,24 @@ class _MyHomePageState extends State<MyHomePage> { @override Widget build(BuildContext context) { List<charts.Series<ChartItem, num>> series = [ charts.Series( id: "Баланс казино", data: chartLogs, domainFn: (ChartItem series, _) => series.index, measureFn: (ChartItem series, _) => series.value, // measureLowerBoundFn: (ChartItem series, _) => min(chartLogs.first.value, chartLogs.last.value), // measureUpperBoundFn: (ChartItem series, _) => max(chartLogs.first.value, chartLogs.last.value), colorFn: (ChartItem series, _) => const charts.Color(r: 0, b: 255, g: 0) // (series.delta == 0 // ? charts.Color(r: 0, b: 255, g: 0) // : series.delta > 0 // ? const charts.Color(r: 255, b: 0, g: 0) // : const charts.Color(r: 0, b: 0, g: 255) // ), ) ]; return Scaffold( appBar: AppBar( title: Text(widget.title), @@ -115,7 +148,8 @@ class _MyHomePageState extends State<MyHomePage> { boxShadow: [ BoxShadow( offset: const Offset(0, 16), color: const Color(0xFF0A0A5C).withOpacity(0.08), blurRadius: 40, spreadRadius: -12, ) @@ -172,7 +206,8 @@ class _MyHomePageState extends State<MyHomePage> { boxShadow: [ BoxShadow( offset: const Offset(0, 16), color: const Color(0xFF0A0A5C).withOpacity(0.08), blurRadius: 40, spreadRadius: -12, ) @@ -232,13 +267,47 @@ class _MyHomePageState extends State<MyHomePage> { Expanded( child: Container( margin: const EdgeInsets.only(top: 10, left: 10), child: Column( children: [ Expanded( child: chartLogs.isEmpty ? Text('Нет данных для отображения') : charts.LineChart( series, domainAxis: charts.NumericAxisSpec( tickProviderSpec: charts.BasicNumericTickProviderSpec( zeroBound: false, ), viewport: charts.NumericExtents(0, playTimes), ), primaryMeasureAxis: charts.NumericAxisSpec( tickProviderSpec: charts.BasicNumericTickProviderSpec( zeroBound: false, ), // tickFormatterSpec: // charts.BasicNumericTickFormatterSpec( // (measure) => // exp(measure!).round().toString(), // ), viewport: charts.NumericExtents( chartLogs.map((e) => e.value).reduce(min), chartLogs.map((e) => e.value).reduce(max), ), ), animate: true, ), ), Expanded( child: ListView.builder( // reverse: true, controller: _scrollController, itemCount: logs.length, itemBuilder: (context, index) { return Text(logs[index]); }, ), ), ], ), ), ) @@ -367,7 +436,8 @@ class _MyHomePageState extends State<MyHomePage> { autovalidateMode: AutovalidateMode.disabled, onEditingComplete: () {}, decoration: const InputDecoration( labelText: 'Размер увеличения ставки после каждой игры', labelStyle: TextStyle( fontSize: 20, fontWeight: FontWeight.w400, @@ -393,7 +463,6 @@ class _MyHomePageState extends State<MyHomePage> { }, ), ), ], ) ], -
alectogeek revised this gist
Dec 5, 2021 . 1 changed file with 2 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -31,7 +31,7 @@ class MyHomePage extends StatefulWidget { } class _MyHomePageState extends State<MyHomePage> { int casinoBalance = 100000000000; int userBalance = 100000; int bid = 10; int bidIncrease = 0; @@ -41,7 +41,7 @@ class _MyHomePageState extends State<MyHomePage> { final ScrollController _scrollController = ScrollController(); TextEditingController _bidEditingController = TextEditingController(text: '10'); TextEditingController _userBalanceEditingController = TextEditingController(text: '100000'); TextEditingController _casinoBalanceEditingController = TextEditingController(text: '100000000000'); void runGame() { int sessionDifference = 0; -
alectogeek revised this gist
Dec 5, 2021 . 1 changed file with 102 additions and 98 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -39,7 +39,9 @@ class _MyHomePageState extends State<MyHomePage> { List<String> logs = []; final ScrollController _scrollController = ScrollController(); TextEditingController _bidEditingController = TextEditingController(text: '10'); TextEditingController _userBalanceEditingController = TextEditingController(text: '100000'); TextEditingController _casinoBalanceEditingController = TextEditingController(text: '100000'); void runGame() { int sessionDifference = 0; @@ -60,15 +62,20 @@ class _MyHomePageState extends State<MyHomePage> { } actualBid += bidIncrease; } _userBalanceEditingController.text = userBalance.toString(); _casinoBalanceEditingController.text = casinoBalance.toString(); if (sessionDifference >= 0) { logs.add('Игрок выиграл: +$sessionDifference, игр: $playTimes'); } else { logs.add('Игрок проиграл: $sessionDifference, игр: $playTimes'); } setState(() { bid = actualBid; _bidEditingController.text = actualBid.toString(); }); Future<void>.delayed(Duration(milliseconds: 50)).then((value) { @@ -114,9 +121,50 @@ class _MyHomePageState extends State<MyHomePage> { ) ], ), child: Container( height: 50, width: 250, child: TextFormField( controller: _casinoBalanceEditingController, // initialValue: casinoBalance.toString(), style: TextStyle( fontSize: 22, fontWeight: FontWeight.w400, height: 1.41, color: Color(0xFF14151F), decoration: TextDecoration.none, ), autovalidateMode: AutovalidateMode.disabled, onEditingComplete: () {}, decoration: const InputDecoration( labelText: 'Баланс казино', labelStyle: TextStyle( fontSize: 20, fontWeight: FontWeight.w400, height: 1.41, color: Color(0xFF9698A9), decoration: TextDecoration.none, ), isDense: true, alignLabelWithHint: true, border: UnderlineInputBorder( borderSide: BorderSide( color: Color(0xFFECF0F3), width: 1), borderRadius: BorderRadius.zero), ), textCapitalization: TextCapitalization.words, onChanged: (value) { if (int.tryParse(value) != null) { casinoBalance = int.tryParse(value)!; } }, validator: (value) { return null; }, ), ), ), const SizedBox(height: 10), Container( padding: const EdgeInsets.all(20), decoration: BoxDecoration( @@ -130,7 +178,48 @@ class _MyHomePageState extends State<MyHomePage> { ) ], ), child: Container( height: 50, width: 250, child: TextFormField( controller: _userBalanceEditingController, // initialValue: userBalance.toString(), style: TextStyle( fontSize: 22, fontWeight: FontWeight.w400, height: 1.41, color: Color(0xFF14151F), decoration: TextDecoration.none, ), autovalidateMode: AutovalidateMode.disabled, onEditingComplete: () {}, decoration: const InputDecoration( labelText: 'Баланс игрока', labelStyle: TextStyle( fontSize: 20, fontWeight: FontWeight.w400, height: 1.41, color: Color(0xFF9698A9), decoration: TextDecoration.none, ), isDense: true, alignLabelWithHint: true, border: UnderlineInputBorder( borderSide: BorderSide( color: Color(0xFFECF0F3), width: 1), borderRadius: BorderRadius.zero), ), textCapitalization: TextCapitalization.words, onChanged: (value) { if (int.tryParse(value) != null) { userBalance = int.tryParse(value)!; } }, validator: (value) { return null; }, ), ), ), ], ), @@ -175,95 +264,6 @@ class _MyHomePageState extends State<MyHomePage> { children: [ Column( children: [ Container( height: 50, width: 250, @@ -310,7 +310,7 @@ class _MyHomePageState extends State<MyHomePage> { height: 50, width: 250, child: TextFormField( controller: _bidEditingController, style: TextStyle( fontSize: 22, fontWeight: FontWeight.w400, @@ -347,7 +347,11 @@ class _MyHomePageState extends State<MyHomePage> { }, ), ), ], ), const SizedBox(width: 40), Column( children: [ Container( height: 50, width: 250, -
alectogeek revised this gist
Dec 5, 2021 . 1 changed file with 95 additions and 11 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -46,18 +46,16 @@ class _MyHomePageState extends State<MyHomePage> { int actualBid = bid; for (int i = 0; i < playTimes; i++) { final bool didWin = Random().nextInt(2) == 1; if (didWin) { setState(() { userBalance = userBalance + actualBid; casinoBalance = casinoBalance - actualBid; sessionDifference+=actualBid; }); } else { userBalance = userBalance - actualBid; casinoBalance = casinoBalance + actualBid; sessionDifference-=actualBid; } actualBid += bidIncrease; @@ -177,6 +175,95 @@ class _MyHomePageState extends State<MyHomePage> { children: [ Column( children: [ Container( height: 50, width: 250, child: TextFormField( initialValue: userBalance.toString(), style: TextStyle( fontSize: 22, fontWeight: FontWeight.w400, height: 1.41, color: Color(0xFF14151F), decoration: TextDecoration.none, ), autovalidateMode: AutovalidateMode.disabled, onEditingComplete: () {}, decoration: const InputDecoration( labelText: 'Баланс игрока', labelStyle: TextStyle( fontSize: 20, fontWeight: FontWeight.w400, height: 1.41, color: Color(0xFF9698A9), decoration: TextDecoration.none, ), isDense: true, alignLabelWithHint: true, border: UnderlineInputBorder( borderSide: BorderSide( color: Color(0xFFECF0F3), width: 1), borderRadius: BorderRadius.zero), ), textCapitalization: TextCapitalization.words, onChanged: (value) { if (int.tryParse(value) != null) { userBalance = int.tryParse(value)!; } }, validator: (value) { return null; }, ), ), SizedBox(height: 20), Container( height: 50, width: 250, child: TextFormField( initialValue: casinoBalance.toString(), style: TextStyle( fontSize: 22, fontWeight: FontWeight.w400, height: 1.41, color: Color(0xFF14151F), decoration: TextDecoration.none, ), autovalidateMode: AutovalidateMode.disabled, onEditingComplete: () {}, decoration: const InputDecoration( labelText: 'Баланс казино', labelStyle: TextStyle( fontSize: 20, fontWeight: FontWeight.w400, height: 1.41, color: Color(0xFF9698A9), decoration: TextDecoration.none, ), isDense: true, alignLabelWithHint: true, border: UnderlineInputBorder( borderSide: BorderSide( color: Color(0xFFECF0F3), width: 1), borderRadius: BorderRadius.zero), ), textCapitalization: TextCapitalization.words, onChanged: (value) { if (int.tryParse(value) != null) { casinoBalance = int.tryParse(value)!; } }, validator: (value) { return null; }, ), ), ], ), const SizedBox(width: 40), Column( children: [ Container( height: 50, width: 250, @@ -260,11 +347,7 @@ class _MyHomePageState extends State<MyHomePage> { }, ), ), SizedBox(height: 20), Container( height: 50, width: 250, @@ -306,6 +389,7 @@ class _MyHomePageState extends State<MyHomePage> { }, ), ), ], ) ], @@ -321,7 +405,7 @@ class _MyHomePageState extends State<MyHomePage> { runGame(); }, tooltip: 'Increment', child: Text('Play'), ), ); } -
alectogeek revised this gist
Dec 5, 2021 . 1 changed file with 309 additions and 15 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,34 +1,328 @@ import 'dart:math'; import 'package:flutter/material.dart'; void main() { runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter Demo', theme: ThemeData( primarySwatch: Colors.blue, ), home: const MyHomePage(title: 'Dice'), ); } } class MyHomePage extends StatefulWidget { const MyHomePage({Key? key, required this.title}) : super(key: key); final String title; @override State<MyHomePage> createState() => _MyHomePageState(); } class _MyHomePageState extends State<MyHomePage> { int casinoBalance = 100000; int userBalance = 100000; int bid = 10; int bidIncrease = 0; int playTimes = 1; List<String> logs = []; final ScrollController _scrollController = ScrollController(); TextEditingController _textEditingController = TextEditingController(text: '10'); void runGame() { int sessionDifference = 0; int actualBid = bid; for (int i = 0; i < playTimes; i++) { setState(() { userBalance -= actualBid; casinoBalance += actualBid; }); final bool didWin = Random().nextInt(2) == 1; if (didWin) { setState(() { userBalance = userBalance + 2 * actualBid; casinoBalance = casinoBalance - actualBid; sessionDifference+=actualBid; }); } else { sessionDifference-=actualBid; } actualBid += bidIncrease; } if (sessionDifference >= 0) { logs.add('Игрок выиграл: +$sessionDifference'); } else { logs.add('Игрок проиграл: $sessionDifference'); } setState(() { bid = actualBid; _textEditingController.text = actualBid.toString(); }); Future<void>.delayed(Duration(milliseconds: 50)).then((value) { WidgetsBinding.instance!.addPostFrameCallback((timeStamp) { _scrollController.jumpTo(_scrollController.position.maxScrollExtent); }); }); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text(widget.title), ), body: SafeArea( child: GestureDetector( onTap: () { FocusScope.of(context).unfocus(); }, child: Column( children: [ Expanded( child: Row( children: [ Expanded( child: Column( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center, mainAxisSize: MainAxisSize.min, children: <Widget>[ const SizedBox(height: 20), Container( padding: const EdgeInsets.all(20), decoration: BoxDecoration( color: Colors.white, boxShadow: [ BoxShadow( offset: const Offset(0, 16), color: const Color(0xFF0A0A5C).withOpacity(0.08), blurRadius: 40, spreadRadius: -12, ) ], ), child: Text('Баланс казино: ${userBalance}'), ), const SizedBox(height: 50), Container( padding: const EdgeInsets.all(20), decoration: BoxDecoration( color: Colors.white, boxShadow: [ BoxShadow( offset: const Offset(0, 16), color: const Color(0xFF0A0A5C).withOpacity(0.08), blurRadius: 40, spreadRadius: -12, ) ], ), child: Text('Баланс участника: ${casinoBalance}'), ), ], ), ), Container( height: double.maxFinite, width: 1, color: Colors.grey, ), Expanded( child: Container( margin: const EdgeInsets.only(top: 10, left: 10), child: ListView.builder( // reverse: true, controller: _scrollController, itemCount: logs.length, itemBuilder: (context, index) { return Text(logs[index]); }, ), ), ) ], ), ), Expanded( child: Container( margin: const EdgeInsets.all(20), padding: const EdgeInsets.all(20), decoration: BoxDecoration( color: Colors.white, boxShadow: [ BoxShadow( offset: const Offset(0, 16), color: const Color(0xFF0A0A5C).withOpacity(0.08), blurRadius: 40, spreadRadius: -12, ) ], ), child: Row( children: [ Column( children: [ Container( height: 50, width: 250, child: TextFormField( initialValue: '1', style: TextStyle( fontSize: 22, fontWeight: FontWeight.w400, height: 1.41, color: Color(0xFF14151F), decoration: TextDecoration.none, ), autovalidateMode: AutovalidateMode.disabled, onEditingComplete: () {}, decoration: const InputDecoration( labelText: 'Количество игр', labelStyle: TextStyle( fontSize: 20, fontWeight: FontWeight.w400, height: 1.41, color: Color(0xFF9698A9), decoration: TextDecoration.none, ), isDense: true, alignLabelWithHint: true, border: UnderlineInputBorder( borderSide: BorderSide( color: Color(0xFFECF0F3), width: 1), borderRadius: BorderRadius.zero), ), textCapitalization: TextCapitalization.words, onChanged: (value) { if (int.tryParse(value) != null) { playTimes = int.tryParse(value)!; } }, validator: (value) { return null; }, ), ), SizedBox(height: 20), Container( height: 50, width: 250, child: TextFormField( controller: _textEditingController, style: TextStyle( fontSize: 22, fontWeight: FontWeight.w400, height: 1.41, color: Color(0xFF14151F), decoration: TextDecoration.none, ), autovalidateMode: AutovalidateMode.disabled, onEditingComplete: () {}, decoration: const InputDecoration( labelText: 'Ставка', labelStyle: TextStyle( fontSize: 20, fontWeight: FontWeight.w400, height: 1.41, color: Color(0xFF9698A9), decoration: TextDecoration.none, ), isDense: true, alignLabelWithHint: true, border: UnderlineInputBorder( borderSide: BorderSide( color: Color(0xFFECF0F3), width: 1), borderRadius: BorderRadius.zero), ), textCapitalization: TextCapitalization.words, onChanged: (value) { if (int.tryParse(value) != null) { bid = int.tryParse(value)!; } }, validator: (value) { return null; }, ), ), ], ), const SizedBox(width: 40), Column( children: [ Container( height: 50, width: 250, child: TextFormField( initialValue: '0', style: TextStyle( fontSize: 22, fontWeight: FontWeight.w400, height: 1.41, color: Color(0xFF14151F), decoration: TextDecoration.none, ), autovalidateMode: AutovalidateMode.disabled, onEditingComplete: () {}, decoration: const InputDecoration( labelText: 'Размер увеличения ставки после каждой игры', labelStyle: TextStyle( fontSize: 20, fontWeight: FontWeight.w400, height: 1.41, color: Color(0xFF9698A9), decoration: TextDecoration.none, ), isDense: true, alignLabelWithHint: true, border: UnderlineInputBorder( borderSide: BorderSide( color: Color(0xFFECF0F3), width: 1), borderRadius: BorderRadius.zero), ), textCapitalization: TextCapitalization.words, onChanged: (value) { if (int.tryParse(value) != null) { bidIncrease = int.tryParse(value)!; } }, validator: (value) { return null; }, ), ), ], ) ], ), ), ), ], ), ), ), floatingActionButton: FloatingActionButton( onPressed: () { runGame(); }, tooltip: 'Increment', child: const Icon(Icons.add), ), ); } } -
alectogeek renamed this gist
Dec 5, 2021 . 1 changed file with 0 additions and 0 deletions.There are no files selected for viewing
File renamed without changes. -
alectogeek created this gist
Dec 5, 2021 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,34 @@ import 'package:flutter/material.dart'; const Color darkBlue = Color.fromARGB(255, 18, 32, 47); void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( theme: ThemeData.dark().copyWith( scaffoldBackgroundColor: darkBlue, ), debugShowCheckedModeBanner: false, home: Scaffold( body: Center( child: MyWidget(), ), ), ); } } class MyWidget extends StatelessWidget { @override Widget build(BuildContext context) { return Text( 'Сделаю вот тут тогда?', style: Theme.of(context).textTheme.headline4, ); } }