1.0.0 • Published 1 month ago

kafirchain-tetris v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 month ago

Tetri0n

Tetri0n is a blockchain re-imagining of the Tetris game that we all love & have played at one point in time in our lives.

This game was inspired by react-tetris and of course modded it to work well with the blockchain.

Play It 😃🎮

To enjoy Tetri0n and compete in royale mode, simply do this,

  1. Simply go to the dApp
  2. Connect to your preffered web3 provider.
  3. Stake more than $5 dollars of Ropsten ETH.
  4. Create or Join an existing room of other players and start playing.
  5. Finally, bring your A game and be the last man/woman standing in a room to get the 💵💵 🤑🤑 😆

How Tetri0n works

Tetri0n works in a very simple manner, like this

  1. A player can choose to play in practice mode/not logged in where they won't have to stake any ETH or compete with other players.
  2. Once a player logs in, they can choose to join pre-existing rooms or create a new room by choosing the difficulty params & staking some ropsten ETH.
  3. If they choose to create a new room, the backend smart contract uses the chainlink VRF to generate a random unique id for the room so as to avoid overwritting any previous rooms..
    • This vid explains the chainlink integration in detail
  4. Once other players have joined the room, the last person standing wins the collectively staked crypto loot at the end of their gaming session.

Contracts

The game's backend/smart contracts are currently deployed in ropsten in the following address

Future Roadmap

I intend to continue working on this game post-hackathon and implement the following features II was not able to do because of time constraints

  1. Ability to store user's score in practice mode to the smart contract as well.
  2. Upgrade the backend to support migrations and contract upgradeability.
  3. Finally deploy it in mainnet after a thorough audit of the smart contracts and start shilling the game to other Ethereum gamers 🤩

Thanks

abbrevabstract-leveldownacceptsacornacorn-dynamic-importaes-jsajvajv-keywordsalign-textalphanum-sortansi-htmlansi-regexansi-stylesanymatchargparsearr-diffarr-flattenarray-find-indexarray-flattenarray-uniquearrifyasapasn1asn1.jsassertassert-plusasyncasync-eachasync-eventemitterasync-limiterasynckitauthereumautoprefixerawait-semaphoreaws-sign2aws4babel-code-framebabel-corebabel-generatorbabel-helper-bindify-decoratorsbabel-helper-builder-binary-assignment-operator-visitorbabel-helper-call-delegatebabel-helper-define-mapbabel-helper-explode-assignable-expressionbabel-helper-explode-classbabel-helper-function-namebabel-helper-get-function-aritybabel-helper-hoist-variablesbabel-helper-optimise-call-expressionbabel-helper-regexbabel-helper-remap-async-to-generatorbabel-helper-replace-supersbabel-helper-vue-jsx-merge-propsbabel-helpersbabel-loaderbabel-messagesbabel-plugin-check-es2015-constantsbabel-plugin-styled-componentsbabel-plugin-syntax-async-functionsbabel-plugin-syntax-async-generatorsbabel-plugin-syntax-class-propertiesbabel-plugin-syntax-decoratorsbabel-plugin-syntax-dynamic-importbabel-plugin-syntax-exponentiation-operatorbabel-plugin-syntax-jsxbabel-plugin-syntax-object-rest-spreadbabel-plugin-syntax-trailing-function-commasbabel-plugin-transform-async-generator-functionsbabel-plugin-transform-async-to-generatorbabel-plugin-transform-class-propertiesbabel-plugin-transform-decoratorsbabel-plugin-transform-es2015-arrow-functionsbabel-plugin-transform-es2015-block-scoped-functionsbabel-plugin-transform-es2015-block-scopingbabel-plugin-transform-es2015-classesbabel-plugin-transform-es2015-computed-propertiesbabel-plugin-transform-es2015-destructuringbabel-plugin-transform-es2015-duplicate-keysbabel-plugin-transform-es2015-for-ofbabel-plugin-transform-es2015-function-namebabel-plugin-transform-es2015-literalsbabel-plugin-transform-es2015-modules-amdbabel-plugin-transform-es2015-modules-commonjsbabel-plugin-transform-es2015-modules-systemjsbabel-plugin-transform-es2015-modules-umdbabel-plugin-transform-es2015-object-superbabel-plugin-transform-es2015-parametersbabel-plugin-transform-es2015-shorthand-propertiesbabel-plugin-transform-es2015-spreadbabel-plugin-transform-es2015-sticky-regexbabel-plugin-transform-es2015-template-literalsbabel-plugin-transform-es2015-typeof-symbolbabel-plugin-transform-es2015-unicode-regexbabel-plugin-transform-exponentiation-operatorbabel-plugin-transform-object-rest-spreadbabel-plugin-transform-regeneratorbabel-plugin-transform-runtimebabel-plugin-transform-strict-modebabel-plugin-transform-vue-jsxbabel-preset-envbabel-preset-es2015babel-preset-stage-2babel-preset-stage-3babel-registerbabel-runtimebabel-templatebabel-traversebabel-typesbabylonbackoffbalanced-matchbase-xbase64-jsbcrypt-pbkdfbig.jsbignumber.jsbinary-extensionsbindingsbip66blakejsbluebirdbn.jsboolbaseboombrace-expansionbracesbrorandbrowserify-aesbrowserify-cipherbrowserify-desbrowserify-rsabrowserify-signbrowserify-zlibbrowserslistbs58bs58checkbtoabufferbuffer-to-arraybufferbuffer-xorbuiltin-modulesbuiltin-status-codescamel-casecamelcasecamelcase-keyscamelizecaniuse-apicaniuse-dbcaniuse-litecaselesscenter-alignchalkcheckpoint-storechokidarcipher-baseclapclean-csscli-cursorcli-spinnerscliuiclonecocoacode-point-atcolorcolor-convertcolor-namecolor-stringcolormincolorscombined-streamcommandercommondirconcat-mapconfig-chainconnect-history-api-fallbackconsole-browserifyconsolidateconstants-browserifycontent-dispositioncontent-typeconvert-source-mapcookiecookie-signaturecookiejarcopy-webpack-plugincore-jscore-util-iscosmiconfigcreate-ecdhcreate-hashcreate-hmaccross-fetchcryptilescrypto-browserifycrypto-jscss-color-keywordscss-color-namescss-loadercss-selectcss-selector-tokenizercss-to-react-nativecss-whatcssesccssnanocssocurrently-unhandledddashdashdate-nowde-indentdebugdecamelizedecamelize-keysdecode-uri-componentdecompress-responsedeepmergedeferred-leveldowndefineddelayed-streamdepddes.jsdestroydetect-browserdetect-indentdiffie-hellmandom-converterdom-serializerdom-walkdomain-browserdomelementtypedomhandlerdomutilsdrbg.jsduplexerecc-jsbneditorconfigee-firstejselectron-to-chromiumellipticemojis-listencodeurlencodingend-of-streamenhanced-resolveentitieserrnoerror-exerror-stack-parseres5-extes6-iteratores6-promisees6-symbolescaladeescape-htmlescape-string-regexpesprimaesutilsetageth-block-trackereth-json-rpc-errorseth-json-rpc-filterseth-json-rpc-infuraeth-json-rpc-middlewareeth-libeth-queryeth-sig-utilethereum-bloom-filtersethereum-checksum-addressethereum-commonethereum-cryptographyethereum-private-key-to-addressethereum-private-key-to-public-keyethereum-public-key-to-addressethereumjs-abiethereumjs-accountethereumjs-blockethereumjs-commonethereumjs-txethereumjs-utilethereumjs-vmethersethjs-unitethjs-utileventemitter3eventseventsource-polyfillevp_bytestokeyexpand-bracketsexpand-rangeexpressextextendextglobextract-text-webpack-pluginextsprintffake-merkle-patricia-treefast-deep-equalfast-json-stable-stringifyfast-safe-stringifyfastparsefetch-ponyfillfile-loaderfile-uri-to-pathfilename-regexfilesizefill-rangefinalhandlerfind-cache-dirfind-upflattenfor-infor-ownforever-agentform-dataforwardedfreshfriendly-errors-webpack-pluginfs-extrafs.realpathfunction-bindfunctional-red-black-treegensyncget-caller-filegetpassglobglob-baseglob-parentglobalglobalsgraceful-fsgraceful-readlinkgzip-sizehar-schemahar-validatorhashas-ansihas-flaghash-basehash-sumhash.jshawkhehmac-drbghoekhoist-non-react-staticshome-or-tmphosted-git-infohtml-comment-regexhtml-entitieshtml-minifierhtml-webpack-pluginhtmlparser2http-errorshttp-httpshttp-proxyhttp-proxy-middlewarehttp-signaturehttps-browserifyiconv-liteicss-replace-symbolsicss-utilsieee754image-sizeimmediateindent-stringindexes-ofindexofinflightinheritsiniinterpretinvariantinvert-kvipaddr.jsis-absolute-urlis-arrayishis-binary-pathis-bufferis-builtin-moduleis-directoryis-dotfileis-equal-shallowis-extendableis-extglobis-finiteis-fnis-fullwidth-code-pointis-functionis-globis-hex-prefixedis-numberis-plain-objis-posix-bracketis-primitiveis-streamis-svgis-typedarrayis-utf8isarrayisobjectisstreamjodid25519js-base64js-beautifyjs-sha3js-tokensjs-yamljsbnjsescjson-loaderjson-parse-better-errorsjson-rpc-enginejson-rpc-middleware-streamjson-rpc-random-idjson-schemajson-schema-traversejson-stable-stringifyjson-stringify-safejson5jsonfilejsonifyjsprimkeccakkeccak256kind-ofklawlazy-cachelcidlessless-loaderlevel-codeclevel-errorslevel-iterator-streamlevel-wslevelupload-json-fileloader-runnerloader-utilslocate-pathlodashlodash.camelcaselodash.flatmaplodash.memoizelodash.uniqlog-symbolsloglevellongestloose-envifyloud-rejectionlower-caselru-cacheltgtmacaddressmap-objmath-expression-evaluatormd5.jsmedia-typermemdownmemory-cachememory-fsmeowmerge-descriptorsmerkle-patricia-treemethodsmicromatchmiller-rabinmimemime-dbmime-typesmimic-fnmimic-responsemin-documentminimalistic-assertminimalistic-crypto-utilsminimatchminimistminimist-optionsmkdirpmomentmsnanncnamenegotiatornext-tickno-casenode-addon-apinode-dirnode-fetchnode-gyp-buildnode-libs-browsernode-releasesnoptnormalize-hexnormalize-package-datanormalize-pathnormalize-rangenormalize-urlnth-checknum2fractionnumber-is-nannumber-to-bnoauth-signobj-multiplexobject-assignobject-keysobject.omitoboeobs-storeon-finishedonceonetimeopeneropnoptimize-css-assets-webpack-pluginoraos-browserifyos-homediros-localeos-tmpdirp-limitp-locatep-trypakoparam-caseparse-asn1parse-globparse-headersparse-jsonparseurlpath-browserifypath-existspath-is-absolutepath-parsepath-to-regexppath-typepbkdf2penpalperformance-nowpicocolorspifypinkiepinkie-promisepkg-dirpost-message-streampostcsspostcss-calcpostcss-colorminpostcss-convert-valuespostcss-discard-commentspostcss-discard-duplicatespostcss-discard-emptypostcss-discard-overriddenpostcss-discard-unusedpostcss-filter-pluginspostcss-load-configpostcss-load-optionspostcss-load-pluginspostcss-merge-identspostcss-merge-longhandpostcss-merge-rulespostcss-message-helperspostcss-minify-font-valuespostcss-minify-gradientspostcss-minify-paramspostcss-minify-selectorspostcss-modules-extract-importspostcss-modules-local-by-defaultpostcss-modules-scopepostcss-modules-valuespostcss-normalize-charsetpostcss-normalize-urlpostcss-ordered-valuespostcss-reduce-identspostcss-reduce-initialpostcss-reduce-transformspostcss-selector-parserpostcss-svgopostcss-unique-selectorspostcss-value-parserpostcss-zindexprecondprepend-httppreservepretty-errorprivateprocessprocess-nextick-argspromisepromise-to-callbackprop-typesproto-listproxy-addrprrpseudomappslpublic-encryptpumppunycodeqqsquery-stringquerystringquerystring-es3quick-lrurandomaticrandombytesrandomhexrange-parserreactreact-domreact-isreactive-propertiesread-pkgread-pkg-upreadable-streamreaddirprechoirredentreduce-css-calcreduce-function-callregenerateregenerator-runtimeregenerator-transformregex-cacheregexpu-coreregjsgenregjsparserrelateurlremove-trailing-separatorrenderkidrepeat-elementrepeat-stringrepeatingrequestrequire-directoryrequire-from-stringrequire-main-filenamerequires-portresolverestore-cursorright-alignrimrafripemd160rlprustbn.jssafe-buffersafe-event-emittersafer-buffersaxschedulerscrypt-jssecp256k1semaphoresemversendserve-staticset-blockingset-immediate-shimsetimmediatesetprototypeofsha.jsshallowequalshelljssigmundsignal-exitsimple-concatsimple-getslashsntpsort-keyssource-list-mapsource-mapsource-map-supportspdx-correctspdx-expression-parsespdx-license-idssprintf-jssshpkstackframestatusesstorestream-browserifystream-httpstrict-uri-encodestring-lengthstring-widthstringstreamstring_decoderstrip-ansistrip-bomstrip-hex-prefixstrip-indentstyled-componentssupports-colorsvgotapablethrough2timed-outtimers-browserifyto-arraybufferto-fast-propertiesto-hextoposorttough-cookietrim-newlinestrim-righttslibtty-browserifytunnel-agenttweetnacltypetype-istypedarray-to-bufferuglify-jsuglify-to-browserifyultronunderscoreuniquniqiduniqsunpipeupper-caseuri-jsurlurl-loaderurl-set-queryutf8utilutil-deprecateutilautils-mergeuuiduuidv4validate-npm-package-licensevaryvendorsverrorvm-browserifyvuevue-hot-reload-apivue-loadervue-style-loadervue-template-compilervue-template-es2015-compilervuexwatchpackweb3web3-coreweb3-core-helpersweb3-core-methodweb3-core-promieventweb3-core-requestmanagerweb3-core-subscriptionsweb3-eth-abiweb3-eth-contractweb3-eth-ibanweb3-provider-engineweb3-providers-httpweb3-providers-ipcweb3-providers-wsweb3-utilsweb3modalwebpackwebpack-bundle-analyzerwebpack-dev-middlewarewebpack-hot-middlewarewebpack-mergewebpack-sourceswebsocketwhatwg-fetchwhet.extendwhich-modulewindow-sizewordwrapwrap-ansiwrappywsxhrxhr-requestxhr-request-promisexhr2-cookiesxml-char-classesxmlhttprequestxtendy18nyaetiyallistyargsyargs-parser
1.0.0

1 month ago